From 935b9cf92bebb9e57346a8b41d9b39364ed5bb2b Mon Sep 17 00:00:00 2001 From: Admin Git Date: Sun, 4 Oct 2026 23:47:21 +0200 Subject: [PATCH] V5.0.0 // MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -> Refonte du système de GESTION DES ROULEMENTS de matériels roulants -> Cartographie Infra + Widget --- migrations/create_infrastructure_reseau.sql | 54 + package-lock.json | 7 + package.json | 2 + public/index.html | 25 +- .../signaux/Electrique/Av_R_BAPR_BM.svg.webp | Bin 0 -> 11248 bytes public/signaux/Electrique/CV_A_BAL.svg.webp | Bin 0 -> 5774 bytes .../signaux/Electrique/Carre_C_BAL.svg.webp | Bin 0 -> 6600 bytes .../Electrique/Disque_BAPR_BM.svg.webp | Bin 0 -> 11390 bytes public/signaux/Electrique/FvCli_A_BAL_F.gif | Bin 0 -> 9239 bytes public/signaux/Electrique/JCli_A_BAL_F.gif | Bin 0 -> 8638 bytes public/signaux/Electrique/MM_A_BAL.gif | Bin 0 -> 15444 bytes public/signaux/Electrique/M_A_BAL.svg.webp | Bin 0 -> 5374 bytes public/signaux/Electrique/M_Sol.svg.webp | Bin 0 -> 14230 bytes .../signaux/Electrique/R30_F_BAL_F.svg.webp | Bin 0 -> 7728 bytes public/signaux/Electrique/R60_F_BAL_F.gif | Bin 0 -> 11548 bytes public/signaux/Electrique/RR30_H_BAL.svg.webp | Bin 0 -> 10716 bytes public/signaux/Electrique/RR60_H_BAL.gif | Bin 0 -> 14481 bytes .../Electrique/Semaphore_A_BAL_F.svg.webp | Bin 0 -> 5310 bytes .../Electrique/Semaphore_A_BM.svg.webp | Bin 0 -> 5532 bytes .../Electrique/Semaphore_C_BAL.svg.webp | Bin 0 -> 6776 bytes .../Electrique/Semaphore_Cli_A_BAL_F.gif | Bin 0 -> 8765 bytes .../Electrique/Signal_Carre_reduit.svg.webp | Bin 0 -> 7606 bytes public/signaux/Electrique/VL_A_BAL_F.svg.webp | Bin 0 -> 5644 bytes public/signaux/Guidon_d'Arrêt.svg.webp | Bin 0 -> 1466 bytes .../AvertissementMecanique.svg.webp | Bin 0 -> 4062 bytes .../2017-fr.wp-orange-source.svg.png | Bin 0 -> 3127 bytes .../Av_R_BAPR_BM.svg.png | Bin 0 -> 5993 bytes .../AvertissementMecanique.svg.png | Bin 0 -> 902 bytes .../Badge-cga.png | Bin 0 -> 13396 bytes .../Badge-daf.png | Bin 0 -> 23333 bytes .../Badge-endowment.png | Bin 0 -> 24916 bytes .../Badge-monthly.png | Bin 0 -> 27349 bytes .../Badge-one-time.png | Bin 0 -> 23190 bytes .../Badge-workplace-giving.png | Bin 0 -> 17153 bytes .../Bahn_aus_Zusatzzeichen_1024-15.svg.png | Bin 0 -> 854 bytes .../CV_A_BAL.svg.png | Bin 0 -> 3859 bytes .../CarreMecanique.svg.png | Bin 0 -> 372 bytes .../CarreVM.svg.png | Bin 0 -> 402 bytes .../Carre_C_BAL.svg.png | Bin 0 -> 4552 bytes .../Chevron_haut.svg.png | Bin 0 -> 929 bytes .../DisqueMecanique.svg.png | Bin 0 -> 8196 bytes .../Disque_BAPR_BM.svg.png | Bin 0 -> 6111 bytes .../FIN_CAT.svg.png | Bin 0 -> 1345 bytes .../Flag_of_France_(1974–2020).svg.png | Bin 0 -> 376 bytes .../FvCli_A_BAL_F.gif | Bin 0 -> 3349 bytes .../Gabarit.PNG | Bin 0 -> 257 bytes .../GuidonArretM.PNG | Bin 0 -> 216 bytes .../Guidon_d'Arrêt.svg.png | Bin 0 -> 453 bytes .../Info_Simple.svg.png | Bin 0 -> 724 bytes .../JCli_A_BAL_F.gif | Bin 0 -> 2722 bytes .../MM_A_BAL.gif | Bin 0 -> 2896 bytes .../M_A_BAL.svg.png | Bin 0 -> 3843 bytes .../M_Sol.svg.png | Bin 0 -> 1557 bytes .../Pancarte_sectionnement_REV.svg.png | Bin 0 -> 1825 bytes .../R30_F_BAL_F.svg.png | Bin 0 -> 4729 bytes .../R60_F_BAL_F.gif | Bin 0 -> 3475 bytes .../RR30_H_BAL.svg.png | Bin 0 -> 6323 bytes .../RR60_H_BAL.gif | Bin 0 -> 4183 bytes .../RalentissementM.svg.png | Bin 0 -> 5250 bytes .../RappelRalentissementM.svg.png | Bin 0 -> 5421 bytes ...lisation_ferroviaire-_Pancarte__S_.svg.png | Bin 0 -> 2303 bytes ...re_Pancarte__Début_Coupez_Courant_.svg.png | Bin 0 -> 1011 bytes ...aire_Pancarte__Fin_Coupez_Courant_.svg.png | Bin 0 -> 946 bytes ...rroviaire_Pancarte__Sectionnement_.svg.png | Bin 0 -> 1868 bytes ...ion_ferroviaire_Pancarte_d'annonce.svg.png | Bin 0 -> 1729 bytes .../SemaphoreM.PNG | Bin 0 -> 197 bytes .../Semaphore_A_BAL_F.svg.png | Bin 0 -> 3515 bytes .../Semaphore_A_BM.svg.png | Bin 0 -> 3853 bytes .../Semaphore_C_BAL.svg.png | Bin 0 -> 4569 bytes .../Semaphore_Cli_A_BAL_F.gif | Bin 0 -> 2726 bytes .../Signal_12V.svg.png | Bin 0 -> 1339 bytes .../Signal_Carre_reduit.svg.png | Bin 0 -> 4543 bytes .../Signal_sncf_avertissement.jpg | Bin 0 -> 25420 bytes .../Signal_sncf_carre.jpg | Bin 0 -> 18637 bytes .../Signal_sncf_voielibre.jpg | Bin 0 -> 25889 bytes ...aux_mécaniques_Saint-Denis-près-Martel.jpg | Bin 0 -> 19355 bytes .../Stop_sign_station_crossing.JPG | Bin 0 -> 6531 bytes .../TIV_Distance_80.svg.png | Bin 0 -> 1695 bytes .../TIV_Distance_Crocodile_40.svg.png | Bin 0 -> 1603 bytes .../Tableau_D.svg.png | Bin 0 -> 1116 bytes .../Tableau_G.svg.png | Bin 0 -> 1628 bytes .../Tableau_Imp.svg.png | Bin 0 -> 1284 bytes .../Tableau_LM.svg.png | Bin 0 -> 1108 bytes .../Tableau_P.png | Bin 0 -> 3000 bytes .../Tableau_R.svg.png | Bin 0 -> 1096 bytes .../Tableau_TGV1.svg.png | Bin 0 -> 1256 bytes .../Tableau_TIP.svg.png | Bin 0 -> 1132 bytes .../Tableau_TT.svg.png | Bin 0 -> 669 bytes .../Tableau_Z.svg.png | Bin 0 -> 1002 bytes ...leau_d'entrée_de_contresens_(TECS).svg.png | Bin 0 -> 967 bytes ...eau_de_sortie_de_contresens_(TSCS).svg.png | Bin 0 -> 954 bytes .../VL_A_BAL_F.svg.png | Bin 0 -> 3524 bytes .../load(1).php | 23 + .../load(2).php | 1 + .../load.php | 1 + .../mediawiki_compact.svg | 30 + .../wikimedia.svg | 1 + .../wikipedia-tagline-fr.svg | 1 + .../wikipedia-wordmark-fr.svg | 1 + .../wikipedia.png | Bin 0 -> 13444 bytes public/signaux/Mécaniques/CarreVM.svg.webp | Bin 0 -> 466 bytes .../Mécaniques/DisqueMecanique.svg.webp | Bin 0 -> 40698 bytes public/signaux/Mécaniques/GuidonArretM.png | Bin 0 -> 216 bytes .../Mécaniques/RappelRalentissementM.svg.webp | Bin 0 -> 18136 bytes public/signaux/Mécaniques/SemaphoreM.png | Bin 0 -> 197 bytes .../signaux/Pancartes/Chevron_haut.svg.webp | Bin 0 -> 4368 bytes public/signaux/Pancartes/FIN_CAT.svg.webp | Bin 0 -> 10714 bytes public/signaux/Pancartes/Gabarit.png | Bin 0 -> 257 bytes .../Pancarte_sectionnement_REV.svg.webp | Bin 0 -> 7410 bytes ...isation_ferroviaire-_Pancarte__S_.svg.webp | Bin 0 -> 6902 bytes ...e_Pancarte__Début_Coupez_Courant_.svg.webp | Bin 0 -> 3276 bytes ...ire_Pancarte__Fin_Coupez_Courant_.svg.webp | Bin 0 -> 3000 bytes ...roviaire_Pancarte__Sectionnement_.svg.webp | Bin 0 -> 17502 bytes ...on_ferroviaire_Pancarte_d'annonce.svg.webp | Bin 0 -> 15882 bytes public/signaux/Pancartes/Signal_12V.svg.webp | Bin 0 -> 6434 bytes public/signaux/Pancartes/Tableau_D.svg.webp | Bin 0 -> 5626 bytes public/signaux/Pancartes/Tableau_G.svg.webp | Bin 0 -> 8800 bytes public/signaux/Pancartes/Tableau_Imp.svg.webp | Bin 0 -> 5792 bytes public/signaux/Pancartes/Tableau_LM.svg.webp | Bin 0 -> 6742 bytes public/signaux/Pancartes/Tableau_P.png | Bin 0 -> 28604 bytes public/signaux/Pancartes/Tableau_R.svg.webp | Bin 0 -> 5270 bytes .../signaux/Pancartes/Tableau_TGV1.svg.webp | Bin 0 -> 5178 bytes public/signaux/Pancartes/Tableau_TIP.svg.webp | Bin 0 -> 4294 bytes public/signaux/Pancartes/Tableau_TT.svg.webp | Bin 0 -> 532 bytes public/signaux/Pancartes/Tableau_Z.svg.webp | Bin 0 -> 4372 bytes ...eau_d'entrée_de_contresens_(TECS).svg.webp | Bin 0 -> 2430 bytes ...au_de_sortie_de_contresens_(TSCS).svg.webp | Bin 0 -> 2262 bytes public/signaux/RalentissementM.svg.webp | Bin 0 -> 18844 bytes public/signaux/TIV/TIV_Distance_80.svg.webp | Bin 0 -> 11666 bytes .../TIV/TIV_Distance_Crocodile_40.svg.webp | Bin 0 -> 8652 bytes public/wcs/index.esm.js | 2 + public/wcs/index.esm.js.map | 1 + public/wcs/p-0017d766.js | 2 + public/wcs/p-0017d766.js.map | 1 + public/wcs/p-0326f834.entry.js | 2 + public/wcs/p-0326f834.entry.js.map | 1 + public/wcs/p-0424e545.entry.js | 2 + public/wcs/p-0424e545.entry.js.map | 1 + public/wcs/p-0758d22e.entry.js | 2 + public/wcs/p-0758d22e.entry.js.map | 1 + public/wcs/p-0b8157e7.entry.js | 2 + public/wcs/p-0b8157e7.entry.js.map | 1 + public/wcs/p-18fa39f4.entry.js | 2 + public/wcs/p-18fa39f4.entry.js.map | 1 + public/wcs/p-1ba616c2.entry.js | 2 + public/wcs/p-1ba616c2.entry.js.map | 1 + public/wcs/p-1e7ea63c.entry.js | 2 + public/wcs/p-1e7ea63c.entry.js.map | 1 + public/wcs/p-2221bf0c.entry.js | 16 + public/wcs/p-2221bf0c.entry.js.map | 1 + public/wcs/p-22620c69.entry.js | 2 + public/wcs/p-22620c69.entry.js.map | 1 + public/wcs/p-2329af04.entry.js | 2 + public/wcs/p-2329af04.entry.js.map | 1 + public/wcs/p-27b438c0.entry.js | 2 + public/wcs/p-27b438c0.entry.js.map | 1 + public/wcs/p-32e583ea.js | 3 + public/wcs/p-32e583ea.js.map | 1 + public/wcs/p-352e1f99.entry.js | 2 + public/wcs/p-352e1f99.entry.js.map | 1 + public/wcs/p-367946fe.entry.js | 2 + public/wcs/p-367946fe.entry.js.map | 1 + public/wcs/p-3823f54e.entry.js | 2 + public/wcs/p-3823f54e.entry.js.map | 1 + public/wcs/p-3a18535f.entry.js | 2 + public/wcs/p-3a18535f.entry.js.map | 1 + public/wcs/p-3abf8a42.js | 2 + public/wcs/p-3abf8a42.js.map | 1 + public/wcs/p-41b946b2.entry.js | 2 + public/wcs/p-41b946b2.entry.js.map | 1 + public/wcs/p-439804b0.entry.js | 2 + public/wcs/p-439804b0.entry.js.map | 1 + public/wcs/p-450942b1.entry.js | 156 + public/wcs/p-450942b1.entry.js.map | 1 + public/wcs/p-496115a5.entry.js | 2 + public/wcs/p-496115a5.entry.js.map | 1 + public/wcs/p-4ae08567.entry.js | 2 + public/wcs/p-4ae08567.entry.js.map | 1 + public/wcs/p-4e2d6227.entry.js | 2 + public/wcs/p-4e2d6227.entry.js.map | 1 + public/wcs/p-5202b323.entry.js | 2 + public/wcs/p-5202b323.entry.js.map | 1 + public/wcs/p-52d77e1f.js | 2 + public/wcs/p-52d77e1f.js.map | 1 + public/wcs/p-53a395a9.entry.js | 2 + public/wcs/p-53a395a9.entry.js.map | 1 + public/wcs/p-5607246c.entry.js | 2 + public/wcs/p-5607246c.entry.js.map | 1 + public/wcs/p-580b3142.entry.js | 2 + public/wcs/p-580b3142.entry.js.map | 1 + public/wcs/p-5da0534f.entry.js | 2 + public/wcs/p-5da0534f.entry.js.map | 1 + public/wcs/p-5e8fff73.entry.js | 2 + public/wcs/p-5e8fff73.entry.js.map | 1 + public/wcs/p-61592f91.entry.js | 2 + public/wcs/p-61592f91.entry.js.map | 1 + public/wcs/p-637ec45a.entry.js | 2 + public/wcs/p-637ec45a.entry.js.map | 1 + public/wcs/p-6aededc6.entry.js | 2 + public/wcs/p-6aededc6.entry.js.map | 1 + public/wcs/p-781a956e.entry.js | 2 + public/wcs/p-781a956e.entry.js.map | 1 + public/wcs/p-7de847e0.entry.js | 2 + public/wcs/p-7de847e0.entry.js.map | 1 + public/wcs/p-8152d360.entry.js | 2 + public/wcs/p-8152d360.entry.js.map | 1 + public/wcs/p-8332a7e3.entry.js | 2 + public/wcs/p-8332a7e3.entry.js.map | 1 + public/wcs/p-84e22272.js | 2 + public/wcs/p-84e22272.js.map | 1 + public/wcs/p-850fa9c9.entry.js | 2 + public/wcs/p-850fa9c9.entry.js.map | 1 + public/wcs/p-86ec9ead.entry.js | 2 + public/wcs/p-86ec9ead.entry.js.map | 1 + public/wcs/p-89b8c724.js | 2 + public/wcs/p-89b8c724.js.map | 1 + public/wcs/p-98a8b806.entry.js | 2 + public/wcs/p-98a8b806.entry.js.map | 1 + public/wcs/p-990698a7.entry.js | 2 + public/wcs/p-990698a7.entry.js.map | 1 + public/wcs/p-9c73744c.entry.js | 2 + public/wcs/p-9c73744c.entry.js.map | 1 + public/wcs/p-9fd3366c.entry.js | 2 + public/wcs/p-9fd3366c.entry.js.map | 1 + public/wcs/p-a07381f2.entry.js | 2 + public/wcs/p-a07381f2.entry.js.map | 1 + public/wcs/p-a0f32ead.js | 2 + public/wcs/p-a0f32ead.js.map | 1 + public/wcs/p-a0f6ef30.entry.js | 2 + public/wcs/p-a0f6ef30.entry.js.map | 1 + public/wcs/p-a7468a3a.js | 2 + public/wcs/p-a7468a3a.js.map | 1 + public/wcs/p-aadf37e7.entry.js | 2 + public/wcs/p-aadf37e7.entry.js.map | 1 + public/wcs/p-abd8d5a0.entry.js | 2 + public/wcs/p-abd8d5a0.entry.js.map | 1 + public/wcs/p-ad286030.entry.js | 2 + public/wcs/p-ad286030.entry.js.map | 1 + public/wcs/p-ad5192cd.entry.js | 2 + public/wcs/p-ad5192cd.entry.js.map | 1 + public/wcs/p-b0a6eec6.entry.js | 2 + public/wcs/p-b0a6eec6.entry.js.map | 1 + public/wcs/p-b28b2fba.entry.js | 2 + public/wcs/p-b28b2fba.entry.js.map | 1 + public/wcs/p-bc009574.entry.js | 2 + public/wcs/p-bc009574.entry.js.map | 1 + public/wcs/p-c211a5d1.entry.js | 2 + public/wcs/p-c211a5d1.entry.js.map | 1 + public/wcs/p-c261eaf9.entry.js | 2 + public/wcs/p-c261eaf9.entry.js.map | 1 + public/wcs/p-c5bad0b8.js | 2 + public/wcs/p-c5bad0b8.js.map | 1 + public/wcs/p-c6f8c45c.entry.js | 2 + public/wcs/p-c6f8c45c.entry.js.map | 1 + public/wcs/p-c7812760.entry.js | 2 + public/wcs/p-c7812760.entry.js.map | 1 + public/wcs/p-c84ae00d.entry.js | 2 + public/wcs/p-c84ae00d.entry.js.map | 1 + public/wcs/p-cad10435.entry.js | 2 + public/wcs/p-cad10435.entry.js.map | 1 + public/wcs/p-cbbca016.entry.js | 2 + public/wcs/p-cbbca016.entry.js.map | 1 + public/wcs/p-cbda74f6.entry.js | 2 + public/wcs/p-cbda74f6.entry.js.map | 1 + public/wcs/p-db7ba599.entry.js | 7 + public/wcs/p-db7ba599.entry.js.map | 1 + public/wcs/p-dfb52a1c.entry.js | 2 + public/wcs/p-dfb52a1c.entry.js.map | 1 + public/wcs/p-dff8641e.entry.js | 2 + public/wcs/p-dff8641e.entry.js.map | 1 + public/wcs/p-e1255160.js | 2 + public/wcs/p-e1255160.js.map | 1 + public/wcs/p-e1fb3625.js | 2 + public/wcs/p-e1fb3625.js.map | 1 + public/wcs/p-e26c19e5.entry.js | 2 + public/wcs/p-e26c19e5.entry.js.map | 1 + public/wcs/p-e56b9ce2.entry.js | 2 + public/wcs/p-e56b9ce2.entry.js.map | 1 + public/wcs/p-ed3b0709.entry.js | 2 + public/wcs/p-ed3b0709.entry.js.map | 1 + public/wcs/p-f2f7595e.entry.js | 2 + public/wcs/p-f2f7595e.entry.js.map | 1 + public/wcs/p-f929b66f.entry.js | 2 + public/wcs/p-f929b66f.entry.js.map | 1 + public/wcs/p-fb2751c2.js | 2 + public/wcs/p-fb2751c2.js.map | 1 + public/wcs/p-fbd68522.entry.js | 2 + public/wcs/p-fbd68522.entry.js.map | 1 + public/wcs/p-fdeae83e.entry.js | 2 + public/wcs/p-fdeae83e.entry.js.map | 1 + public/wcs/p-fe303f58.entry.js | 2 + public/wcs/p-fe303f58.entry.js.map | 1 + public/wcs/p-ff826ebe.js | 2 + public/wcs/p-ff826ebe.js.map | 1 + public/wcs/wcs.css | 1 + public/wcs/wcs.esm.js | 2 + public/wcs/wcs.esm.js.map | 1 + src/App.js | 19 +- src/api/gares/index.js | 60 +- src/api/infrastructure.js | 2678 ++++++++ src/components/header/AppHeader.js | 6 +- src/components/nav-panel/NavPanel.js | 6 + src/index.js | 12 + src/pages/horaires/Horaires.css | 592 ++ src/pages/horaires/Horaires.js | 623 +- src/pages/infrastructure/Infrastructure.css | 1885 ++++++ src/pages/infrastructure/Infrastructure.js | 5391 +++++++++++++++++ .../infrastructure/InfrastructureCatalog.js | 640 ++ .../infrastructure/InfrastructureIcons.js | 546 ++ .../infrastructure/InfrastructureWidget.css | 301 + .../infrastructure/InfrastructureWidget.js | 498 ++ src/pages/infrastructure/SqlMigrationModal.js | 129 + src/pages/router/PanelRouter.js | 4 + src/utils/userUtils.js | 27 +- 314 files changed, 13752 insertions(+), 235 deletions(-) create mode 100644 migrations/create_infrastructure_reseau.sql create mode 100644 public/signaux/Electrique/Av_R_BAPR_BM.svg.webp create mode 100644 public/signaux/Electrique/CV_A_BAL.svg.webp create mode 100644 public/signaux/Electrique/Carre_C_BAL.svg.webp create mode 100644 public/signaux/Electrique/Disque_BAPR_BM.svg.webp create mode 100644 public/signaux/Electrique/FvCli_A_BAL_F.gif create mode 100644 public/signaux/Electrique/JCli_A_BAL_F.gif create mode 100644 public/signaux/Electrique/MM_A_BAL.gif create mode 100644 public/signaux/Electrique/M_A_BAL.svg.webp create mode 100644 public/signaux/Electrique/M_Sol.svg.webp create mode 100644 public/signaux/Electrique/R30_F_BAL_F.svg.webp create mode 100644 public/signaux/Electrique/R60_F_BAL_F.gif create mode 100644 public/signaux/Electrique/RR30_H_BAL.svg.webp create mode 100644 public/signaux/Electrique/RR60_H_BAL.gif create mode 100644 public/signaux/Electrique/Semaphore_A_BAL_F.svg.webp create mode 100644 public/signaux/Electrique/Semaphore_A_BM.svg.webp create mode 100644 public/signaux/Electrique/Semaphore_C_BAL.svg.webp create mode 100644 public/signaux/Electrique/Semaphore_Cli_A_BAL_F.gif create mode 100644 public/signaux/Electrique/Signal_Carre_reduit.svg.webp create mode 100644 public/signaux/Electrique/VL_A_BAL_F.svg.webp create mode 100644 public/signaux/Guidon_d'Arrêt.svg.webp create mode 100644 public/signaux/Mécaniques/AvertissementMecanique.svg.webp create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/2017-fr.wp-orange-source.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Av_R_BAPR_BM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/AvertissementMecanique.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-cga.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-daf.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-endowment.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-monthly.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-one-time.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Badge-workplace-giving.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Bahn_aus_Zusatzzeichen_1024-15.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/CV_A_BAL.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/CarreMecanique.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/CarreVM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Carre_C_BAL.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Chevron_haut.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/DisqueMecanique.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Disque_BAPR_BM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/FIN_CAT.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Flag_of_France_(1974–2020).svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/FvCli_A_BAL_F.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Gabarit.PNG create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/GuidonArretM.PNG create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Guidon_d'Arrêt.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Info_Simple.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/JCli_A_BAL_F.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/MM_A_BAL.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/M_A_BAL.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/M_Sol.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Pancarte_sectionnement_REV.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/R30_F_BAL_F.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/R60_F_BAL_F.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/RR30_H_BAL.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/RR60_H_BAL.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/RalentissementM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/RappelRalentissementM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Schéma_de_signalisation_ferroviaire-_Pancarte__S_.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Schéma_de_signalisation_ferroviaire_Pancarte__Début_Coupez_Courant_.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Schéma_de_signalisation_ferroviaire_Pancarte__Fin_Coupez_Courant_.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Schéma_de_signalisation_ferroviaire_Pancarte__Sectionnement_.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Schéma_de_signalisation_ferroviaire_Pancarte_d'annonce.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/SemaphoreM.PNG create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Semaphore_A_BAL_F.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Semaphore_A_BM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Semaphore_C_BAL.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Semaphore_Cli_A_BAL_F.gif create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signal_12V.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signal_Carre_reduit.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signal_sncf_avertissement.jpg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signal_sncf_carre.jpg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signal_sncf_voielibre.jpg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Signaux_mécaniques_Saint-Denis-près-Martel.jpg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Stop_sign_station_crossing.JPG create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/TIV_Distance_80.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/TIV_Distance_Crocodile_40.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_D.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_G.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_Imp.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_LM.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_P.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_R.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_TGV1.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_TIP.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_TT.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_Z.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_d'entrée_de_contresens_(TECS).svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/Tableau_de_sortie_de_contresens_(TSCS).svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/VL_A_BAL_F.svg.png create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/load(1).php create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/load(2).php create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/load.php create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/mediawiki_compact.svg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/wikimedia.svg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/wikipedia-tagline-fr.svg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/wikipedia-wordmark-fr.svg create mode 100644 public/signaux/Mécaniques/CarreMecanique - Signalisation ferroviaire en France — Wikipédia_files/wikipedia.png create mode 100644 public/signaux/Mécaniques/CarreVM.svg.webp create mode 100644 public/signaux/Mécaniques/DisqueMecanique.svg.webp create mode 100644 public/signaux/Mécaniques/GuidonArretM.png create mode 100644 public/signaux/Mécaniques/RappelRalentissementM.svg.webp create mode 100644 public/signaux/Mécaniques/SemaphoreM.png create mode 100644 public/signaux/Pancartes/Chevron_haut.svg.webp create mode 100644 public/signaux/Pancartes/FIN_CAT.svg.webp create mode 100644 public/signaux/Pancartes/Gabarit.png create mode 100644 public/signaux/Pancartes/Pancarte_sectionnement_REV.svg.webp create mode 100644 public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire-_Pancarte__S_.svg.webp create mode 100644 public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte__Début_Coupez_Courant_.svg.webp create mode 100644 public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte__Fin_Coupez_Courant_.svg.webp create mode 100644 public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte__Sectionnement_.svg.webp create mode 100644 public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte_d'annonce.svg.webp create mode 100644 public/signaux/Pancartes/Signal_12V.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_D.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_G.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_Imp.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_LM.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_P.png create mode 100644 public/signaux/Pancartes/Tableau_R.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_TGV1.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_TIP.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_TT.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_Z.svg.webp create mode 100644 public/signaux/Pancartes/Tableau_d'entrée_de_contresens_(TECS).svg.webp create mode 100644 public/signaux/Pancartes/Tableau_de_sortie_de_contresens_(TSCS).svg.webp create mode 100644 public/signaux/RalentissementM.svg.webp create mode 100644 public/signaux/TIV/TIV_Distance_80.svg.webp create mode 100644 public/signaux/TIV/TIV_Distance_Crocodile_40.svg.webp create mode 100644 public/wcs/index.esm.js create mode 100644 public/wcs/index.esm.js.map create mode 100644 public/wcs/p-0017d766.js create mode 100644 public/wcs/p-0017d766.js.map create mode 100644 public/wcs/p-0326f834.entry.js create mode 100644 public/wcs/p-0326f834.entry.js.map create mode 100644 public/wcs/p-0424e545.entry.js create mode 100644 public/wcs/p-0424e545.entry.js.map create mode 100644 public/wcs/p-0758d22e.entry.js create mode 100644 public/wcs/p-0758d22e.entry.js.map create mode 100644 public/wcs/p-0b8157e7.entry.js create mode 100644 public/wcs/p-0b8157e7.entry.js.map create mode 100644 public/wcs/p-18fa39f4.entry.js create mode 100644 public/wcs/p-18fa39f4.entry.js.map create mode 100644 public/wcs/p-1ba616c2.entry.js create mode 100644 public/wcs/p-1ba616c2.entry.js.map create mode 100644 public/wcs/p-1e7ea63c.entry.js create mode 100644 public/wcs/p-1e7ea63c.entry.js.map create mode 100644 public/wcs/p-2221bf0c.entry.js create mode 100644 public/wcs/p-2221bf0c.entry.js.map create mode 100644 public/wcs/p-22620c69.entry.js create mode 100644 public/wcs/p-22620c69.entry.js.map create mode 100644 public/wcs/p-2329af04.entry.js create mode 100644 public/wcs/p-2329af04.entry.js.map create mode 100644 public/wcs/p-27b438c0.entry.js create mode 100644 public/wcs/p-27b438c0.entry.js.map create mode 100644 public/wcs/p-32e583ea.js create mode 100644 public/wcs/p-32e583ea.js.map create mode 100644 public/wcs/p-352e1f99.entry.js create mode 100644 public/wcs/p-352e1f99.entry.js.map create mode 100644 public/wcs/p-367946fe.entry.js create mode 100644 public/wcs/p-367946fe.entry.js.map create mode 100644 public/wcs/p-3823f54e.entry.js create mode 100644 public/wcs/p-3823f54e.entry.js.map create mode 100644 public/wcs/p-3a18535f.entry.js create mode 100644 public/wcs/p-3a18535f.entry.js.map create mode 100644 public/wcs/p-3abf8a42.js create mode 100644 public/wcs/p-3abf8a42.js.map create mode 100644 public/wcs/p-41b946b2.entry.js create mode 100644 public/wcs/p-41b946b2.entry.js.map create mode 100644 public/wcs/p-439804b0.entry.js create mode 100644 public/wcs/p-439804b0.entry.js.map create mode 100644 public/wcs/p-450942b1.entry.js create mode 100644 public/wcs/p-450942b1.entry.js.map create mode 100644 public/wcs/p-496115a5.entry.js create mode 100644 public/wcs/p-496115a5.entry.js.map create mode 100644 public/wcs/p-4ae08567.entry.js create mode 100644 public/wcs/p-4ae08567.entry.js.map create mode 100644 public/wcs/p-4e2d6227.entry.js create mode 100644 public/wcs/p-4e2d6227.entry.js.map create mode 100644 public/wcs/p-5202b323.entry.js create mode 100644 public/wcs/p-5202b323.entry.js.map create mode 100644 public/wcs/p-52d77e1f.js create mode 100644 public/wcs/p-52d77e1f.js.map create mode 100644 public/wcs/p-53a395a9.entry.js create mode 100644 public/wcs/p-53a395a9.entry.js.map create mode 100644 public/wcs/p-5607246c.entry.js create mode 100644 public/wcs/p-5607246c.entry.js.map create mode 100644 public/wcs/p-580b3142.entry.js create mode 100644 public/wcs/p-580b3142.entry.js.map create mode 100644 public/wcs/p-5da0534f.entry.js create mode 100644 public/wcs/p-5da0534f.entry.js.map create mode 100644 public/wcs/p-5e8fff73.entry.js create mode 100644 public/wcs/p-5e8fff73.entry.js.map create mode 100644 public/wcs/p-61592f91.entry.js create mode 100644 public/wcs/p-61592f91.entry.js.map create mode 100644 public/wcs/p-637ec45a.entry.js create mode 100644 public/wcs/p-637ec45a.entry.js.map create mode 100644 public/wcs/p-6aededc6.entry.js create mode 100644 public/wcs/p-6aededc6.entry.js.map create mode 100644 public/wcs/p-781a956e.entry.js create mode 100644 public/wcs/p-781a956e.entry.js.map create mode 100644 public/wcs/p-7de847e0.entry.js create mode 100644 public/wcs/p-7de847e0.entry.js.map create mode 100644 public/wcs/p-8152d360.entry.js create mode 100644 public/wcs/p-8152d360.entry.js.map create mode 100644 public/wcs/p-8332a7e3.entry.js create mode 100644 public/wcs/p-8332a7e3.entry.js.map create mode 100644 public/wcs/p-84e22272.js create mode 100644 public/wcs/p-84e22272.js.map create mode 100644 public/wcs/p-850fa9c9.entry.js create mode 100644 public/wcs/p-850fa9c9.entry.js.map create mode 100644 public/wcs/p-86ec9ead.entry.js create mode 100644 public/wcs/p-86ec9ead.entry.js.map create mode 100644 public/wcs/p-89b8c724.js create mode 100644 public/wcs/p-89b8c724.js.map create mode 100644 public/wcs/p-98a8b806.entry.js create mode 100644 public/wcs/p-98a8b806.entry.js.map create mode 100644 public/wcs/p-990698a7.entry.js create mode 100644 public/wcs/p-990698a7.entry.js.map create mode 100644 public/wcs/p-9c73744c.entry.js create mode 100644 public/wcs/p-9c73744c.entry.js.map create mode 100644 public/wcs/p-9fd3366c.entry.js create mode 100644 public/wcs/p-9fd3366c.entry.js.map create mode 100644 public/wcs/p-a07381f2.entry.js create mode 100644 public/wcs/p-a07381f2.entry.js.map create mode 100644 public/wcs/p-a0f32ead.js create mode 100644 public/wcs/p-a0f32ead.js.map create mode 100644 public/wcs/p-a0f6ef30.entry.js create mode 100644 public/wcs/p-a0f6ef30.entry.js.map create mode 100644 public/wcs/p-a7468a3a.js create mode 100644 public/wcs/p-a7468a3a.js.map create mode 100644 public/wcs/p-aadf37e7.entry.js create mode 100644 public/wcs/p-aadf37e7.entry.js.map create mode 100644 public/wcs/p-abd8d5a0.entry.js create mode 100644 public/wcs/p-abd8d5a0.entry.js.map create mode 100644 public/wcs/p-ad286030.entry.js create mode 100644 public/wcs/p-ad286030.entry.js.map create mode 100644 public/wcs/p-ad5192cd.entry.js create mode 100644 public/wcs/p-ad5192cd.entry.js.map create mode 100644 public/wcs/p-b0a6eec6.entry.js create mode 100644 public/wcs/p-b0a6eec6.entry.js.map create mode 100644 public/wcs/p-b28b2fba.entry.js create mode 100644 public/wcs/p-b28b2fba.entry.js.map create mode 100644 public/wcs/p-bc009574.entry.js create mode 100644 public/wcs/p-bc009574.entry.js.map create mode 100644 public/wcs/p-c211a5d1.entry.js create mode 100644 public/wcs/p-c211a5d1.entry.js.map create mode 100644 public/wcs/p-c261eaf9.entry.js create mode 100644 public/wcs/p-c261eaf9.entry.js.map create mode 100644 public/wcs/p-c5bad0b8.js create mode 100644 public/wcs/p-c5bad0b8.js.map create mode 100644 public/wcs/p-c6f8c45c.entry.js create mode 100644 public/wcs/p-c6f8c45c.entry.js.map create mode 100644 public/wcs/p-c7812760.entry.js create mode 100644 public/wcs/p-c7812760.entry.js.map create mode 100644 public/wcs/p-c84ae00d.entry.js create mode 100644 public/wcs/p-c84ae00d.entry.js.map create mode 100644 public/wcs/p-cad10435.entry.js create mode 100644 public/wcs/p-cad10435.entry.js.map create mode 100644 public/wcs/p-cbbca016.entry.js create mode 100644 public/wcs/p-cbbca016.entry.js.map create mode 100644 public/wcs/p-cbda74f6.entry.js create mode 100644 public/wcs/p-cbda74f6.entry.js.map create mode 100644 public/wcs/p-db7ba599.entry.js create mode 100644 public/wcs/p-db7ba599.entry.js.map create mode 100644 public/wcs/p-dfb52a1c.entry.js create mode 100644 public/wcs/p-dfb52a1c.entry.js.map create mode 100644 public/wcs/p-dff8641e.entry.js create mode 100644 public/wcs/p-dff8641e.entry.js.map create mode 100644 public/wcs/p-e1255160.js create mode 100644 public/wcs/p-e1255160.js.map create mode 100644 public/wcs/p-e1fb3625.js create mode 100644 public/wcs/p-e1fb3625.js.map create mode 100644 public/wcs/p-e26c19e5.entry.js create mode 100644 public/wcs/p-e26c19e5.entry.js.map create mode 100644 public/wcs/p-e56b9ce2.entry.js create mode 100644 public/wcs/p-e56b9ce2.entry.js.map create mode 100644 public/wcs/p-ed3b0709.entry.js create mode 100644 public/wcs/p-ed3b0709.entry.js.map create mode 100644 public/wcs/p-f2f7595e.entry.js create mode 100644 public/wcs/p-f2f7595e.entry.js.map create mode 100644 public/wcs/p-f929b66f.entry.js create mode 100644 public/wcs/p-f929b66f.entry.js.map create mode 100644 public/wcs/p-fb2751c2.js create mode 100644 public/wcs/p-fb2751c2.js.map create mode 100644 public/wcs/p-fbd68522.entry.js create mode 100644 public/wcs/p-fbd68522.entry.js.map create mode 100644 public/wcs/p-fdeae83e.entry.js create mode 100644 public/wcs/p-fdeae83e.entry.js.map create mode 100644 public/wcs/p-fe303f58.entry.js create mode 100644 public/wcs/p-fe303f58.entry.js.map create mode 100644 public/wcs/p-ff826ebe.js create mode 100644 public/wcs/p-ff826ebe.js.map create mode 100644 public/wcs/wcs.css create mode 100644 public/wcs/wcs.esm.js create mode 100644 public/wcs/wcs.esm.js.map create mode 100644 src/api/infrastructure.js create mode 100644 src/pages/infrastructure/Infrastructure.css create mode 100644 src/pages/infrastructure/Infrastructure.js create mode 100644 src/pages/infrastructure/InfrastructureCatalog.js create mode 100644 src/pages/infrastructure/InfrastructureIcons.js create mode 100644 src/pages/infrastructure/InfrastructureWidget.css create mode 100644 src/pages/infrastructure/InfrastructureWidget.js create mode 100644 src/pages/infrastructure/SqlMigrationModal.js diff --git a/migrations/create_infrastructure_reseau.sql b/migrations/create_infrastructure_reseau.sql new file mode 100644 index 0000000..262dcdb --- /dev/null +++ b/migrations/create_infrastructure_reseau.sql @@ -0,0 +1,54 @@ +-- ============================================================================ +-- Migration : Infrastructure du réseau ferroviaire (Ferrovia Panel) +-- ============================================================================ + +-- 1. Table principale pour l'infrastructure +CREATE TABLE IF NOT EXISTS "public"."infrastructure_reseau" ( + "id" uuid DEFAULT gen_random_uuid() NOT NULL PRIMARY KEY, + "version" varchar(20) DEFAULT '1.0' NOT NULL, + "nom_reseau" varchar(255) DEFAULT 'Réseau Ferroviaire Principal', + "region" varchar(100), + "rails" jsonb DEFAULT '[]'::jsonb NOT NULL, + "signaux" jsonb DEFAULT '[]'::jsonb NOT NULL, + "pancartes" jsonb DEFAULT '[]'::jsonb NOT NULL, + "config" jsonb DEFAULT '{}'::jsonb NOT NULL, + "created_at" timestamptz NOT NULL DEFAULT now(), + "updated_at" timestamptz NOT NULL DEFAULT now() +); + +-- Index pour recherche rapide +CREATE INDEX IF NOT EXISTS "idx_infra_reseau_region" ON "public"."infrastructure_reseau" ("region"); + +-- 2. Ajout des colonnes latitude & longitude dans la table gares si nécessaire +DO $$ +BEGIN + IF NOT EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_schema = 'public' AND table_name = 'gares' AND column_name = 'latitude' + ) THEN + ALTER TABLE "public"."gares" ADD COLUMN "latitude" double precision; + END IF; + + IF NOT EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_schema = 'public' AND table_name = 'gares' AND column_name = 'longitude' + ) THEN + ALTER TABLE "public"."gares" ADD COLUMN "longitude" double precision; + END IF; +END $$; + +-- 3. RLS (Row-Level Security) +ALTER TABLE "public"."infrastructure_reseau" ENABLE ROW LEVEL SECURITY; + +CREATE POLICY "Lecture ouverte infrastructure_reseau" + ON "public"."infrastructure_reseau" + FOR SELECT + TO authenticated, anon + USING (true); + +CREATE POLICY "Écriture ouverte infrastructure_reseau" + ON "public"."infrastructure_reseau" + FOR ALL + TO authenticated, anon + USING (true) + WITH CHECK (true); diff --git a/package-lock.json b/package-lock.json index dc63870..ea2d62d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "bcryptjs": "^3.0.3", "jspdf": "^2.5.2", "jszip": "^3.10.2", + "leaflet": "^1.9.4", "react": "^19.2.4", "react-dom": "^19.2.4", "react-scripts": "5.0.1", @@ -12725,6 +12726,12 @@ "shell-quote": "^1.8.3" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", diff --git a/package.json b/package.json index bd60113..72d8bc8 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "bcryptjs": "^3.0.3", "jspdf": "^2.5.2", "jszip": "^3.10.2", + "leaflet": "^1.9.4", "react": "^19.2.4", "react-dom": "^19.2.4", "react-scripts": "5.0.1", @@ -22,6 +23,7 @@ "xlsx": "^0.18.5" }, "scripts": { + "prebuild": "node -e \"const fs=require('fs'); if(fs.existsSync('node_modules/wcs-core/dist/wcs')){ fs.cpSync('node_modules/wcs-core/dist/wcs','public/wcs',{recursive:true}); }\"", "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", diff --git a/public/index.html b/public/index.html index 7805429..df4f1a3 100644 --- a/public/index.html +++ b/public/index.html @@ -37,9 +37,32 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> + + + + + + + + + + + + Admin - Gestion des régions - +
lTT$r9NxlRXUU8I7+pDp}ed?r+- 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 literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte_d'annonce.svg.webp b/public/signaux/Pancartes/Schéma_de_signalisation_ferroviaire_Pancarte_d'annonce.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..66c916d1b24642edcafd5b5a6cc111599b0f7f7b GIT binary patch literal 15882 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 sezg_yw%7Ci`j4i6yP^ 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 literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_D.svg.webp b/public/signaux/Pancartes/Tableau_D.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..15dcfb28f7e730f80fa4f08120bb102d5eaf8e78 GIT binary patch literal 5626 zcmb_gX*iVe*QV_IHq6+ju}{XtpioQ(V?CR-Xy%3#pg zhKOug+eAd!d#CUJ_j=#!z24u4=lY%d+|RksbIy6b9D8##dK19H;$(ul;CMmDYMFUI z^_R^^_)_{p(>3WUe>+BNj^t2=A36BKhh>D}T%QUc_&HqB;e}oQrpgJp{5Mzp+`Ci1 zZ?kV)Pm9bxbU)=}lb!P)&aT(CZfFhCo`_8><0+!L^@aedS5Io?Qfrj>$Qi1wJdSkN zU8>5`yH`BTl8M+E_N!M;UcFK|tg;kP<{a^IC;X+BOLevUeQaWNV)G@S?ee=CDsO02 z#`4K9)gVAU+-mr-o0?+;p#E8{xT?DjliU4H*=mdeOng=^UZw8jB#)^KRs7U*++#?QvOlF*CVlm)Un0 z6Wr8ftO3ku!)$JD_q9HrWM=fN?mAPPP?Z5-{N>KLcx_4(+T5?Z)mnn!x%1%UOWn`; zp#q9BIGam@x{q`pgT6T|=W8DPib{56nE^WU12M;Yb9p4VT+HPY3j-MH9F8NY=lM8d zSQQNAlj2#mtkU^?s=2aEv@Sd+0M5VUr?_u`k2+&_1pm$>50d}>{LjXG^Ic8(NA5Mx;nrNs;QyZY|Kpj~ z`P3QgWhL{6keRqfd2b#%H#0<8Ub#EwbUEq>stgWaDl!tB!1dfe<8swz?2;q)7Ok9? zXUS;zv8OtyR}r*R==!4dR_tz$XxCVeFZ~SqQ@FE+&p&f5*x+*MFjJ zSj9Mu>8^V8rdL9ByWT}RY!f@`njn z+I?H&A^4KoT-;$fF{mTPfeu#Qw|l);xN17kmu$_Xsd3uIIB;%noHl zOrNd7onA84)((vAOaI0XR@`TlSW5$U?S4eYt(s~#gZ3F`^|gPK^*VvS$v5mD9+oTl zc_a1qF07hf%hNf(Nxl^tK9R1JPzN4U)mQmVeihQVY8u@+kzRS@#6ClkDZXCKvTx^_ zUvN-vfMG&;=faq*qQRK0HJjYS@`3w@<(FH|?lUHF_2Ac;zN@A|*QQoYO_2e=$@4t} zG4KDBOr&$%@I!vngYDZ*}JjoF&~l3vJrSXZF8&-k>6L+X8@O{7Ou zcgKYFt*x4#N)T-$pq28D+`!DI&iAS&{p~-Xu`9sF(E#(9CiS)~Pj}QGX z?}-LeR!x67Hx%~?U|EB14<63&L-c>Z{MT;3n7-NJ@$;f#sfEGUuV3$@P$(V>C4YhA zjLwq}H)z+WAvt|cO-qV%<)N#U-%WJvO7{G?Bfcs<+bLP!Gq&}N_d8S%o_n+ndQmop zwYFj1^TCYp=gUIFA1o>$UwFJovu&Ssy|4a0Y#g)2-_?JAU>7v_?OI#jdWVn4fOZxK z-$YlK#3_1~(>2YEtvs#{meVQlaMlkxEv!BUw_Jw*9w|GN;;ILV89($WhJVHRgIz=7 z=AY8#xejNd($)h>KE-^wdGcGY{Fj4rb0AMKH&LvB9dagH5I}NqYRDT-RzbWs+a`Er$}3lvl$tl%GXL^yQWUME417xX6Z0$d0%vA_ErT(-FE1#^-?k>w*341QnHd-?Jp47`z))cY z(cfFDB*K+RZod9W>j5f-GA(eO8!C-DHWOzzYN;qJ_hNIpTu}y+CbT~;qCQG56P9~i z!>jp0<`-9R{_|5_x7dwQT|qG^Ip5W}HzwFTT(T@u-WRZ)`jv_2-nha}fDQSf+@QpXBL0fATsSeW*UrU_{G~$QE$-a1vw@6*JIp`#L%Zs%@@wK8%+9-K_g_5$ z5Q&Ue`D#+nQvpaDQ827VHN6(f&>}dRAw|vV99!g~`PW@Wgw@RR(O`75B>xeNT3B$Cfb z>$IDEO>8@@bIamD4gttlUX&OC<Y*c!a5z6`5i5tx@tjkfj?`|d-*r?xO zmJdIz3IW%-ksL?q#r+IM zg*{)7S+CCpKInt~7#%dk=l7t7Pw88Kz8)PxpKl=q?TI_hIu9U2{QU=J=*u2~4fDW( zEIh+T+9-xKTPBlWdfZn-L7tXm`G~V8<1@`9Et3$+u>v-yJ-CZe>dQ!_Oe@iyx#5yV z2tC%(dp!mXWY$@2>|#NHD=T}xE)H^o;Fr#NIbgzFDaU;!f0lJ(&`i%3|D`%SMr;$Y5qs~%(dacsie>|d~ zrFU+fiL*h5FIF8k=1(JcEJ(gZ%(93-??RkTvIG(5J>!?RoRg-7VV`X^3#EvrB_Mjj za*#h-8YXjvM(-2}#DUu=<3^2ZaP;N?k3ErNq`>aPqXmcHP79+TdP$D zQuM??2Pj<5O*WcJ2`2i^XesQ+dV&yEvW^dlJ=s7Aq_nZnYjZtr0*R0@k4eBlIjf~* zZYC#Duml7apsS4#{Nk56{b?UPHKs6VZf7ki`i={>X#nwVVdO5Zu?MF`v;&aRJwaz_ z%gY$r{vxyDBlt-GT}Tx6#zGUFjFZt?6!*Ads`;^FB-OWHh*+Z~4cFx8TWo-F{^Wh!9z>Ii43I60z*Ew-hBK&2c=)63H=FB9!R5~qm5acNR?9Y<_x zEn%Dj%fuLd$*h9OAtuQ@m;!OGJ`>DV~=6brr0=VS_VbS8>HH;n21|tm9Qmh zAhDGVggh#)2exPuyx|SHN>$9oSrIG^h<381J=o&$U~@lEY`i6exY0+^@&bu2j-=zN zxk;7(_+P1rh*Ww$hIW9j7(i?;W)YGlX~331>ck>Y8YXOU5JnK_Nlm~o>CS%ked_(>rAk; z$*Q~At)1wzb6nJxIk9O~kA1c}aTg#U@;ri_xbcIcg#-QS!u7!x)Bbhlh@ZsXz{d-} z4kIhVZ(?Yx_?sNWIwh=<7wC3RsStfa4}Q%YUA&NMju^i~$D;VKo#In;08Y!FX_E0h!#_wmpn z1Om@gHV`Gf@&x6*RXjzHL}O)Baqr(M7T`)2MhHG#s?|!WeLp*Kr6|P5MTF76d1IE~ zKnl)|p(QVFUVwR*{cC|a{+=>u{YCAXqZv8^`|)2DCt2t_HrVz!Tw_6S>uv1tx_%xpUQsImRagWE@8XGdtk}Uk=D>_3_^{;!n?pc2vGEz6 zzMoWF63p8l+x`$oNU&7Ss^jPmuT+pfPC6@|<=L@Z;EYzqPMe`iK%`>|1>O#NjfseUphtS41 z@&|H_@~3g!v~jVIKhMY5ZQZNgRhpMD5t|B&vFnq_+vR>Uk>|C)dEoUS_4#_>7n3it zZ?8bN7SaIIZlh_o(gOJhj<*<29nm*EC2)Z06yu2bqSQe}?$#Z=$t&$vm8vf>^%-d) z@zje%EG4%7sq3lx*e&}=cUOu@3aIcC@cPC*Uc1N!o|k4*H4Cmqt_LLxd8Xwi0QN|g zfO#(t|Mdu8I|z!kuuLdT4_VAo#vzi%DeES@rr7p$T1;#{Wo`lR+UdDa5XwJss0FZ4 z-qa{}E37*bNj=#fB%E4TC0ONb|0wPtg$k7pPOX1#P?i!@u6{<$f^mB{HI&nWQC7Gx z?ZlPXnuiH)x^zP9+7xueRm`An(nMvXDJo3vr>WR?98X@kOqFx%TDFyfOCV2#QRPM zH#HMfN&+K(Xa@%P+dN@4=Q0!gH5)HkV#KYFf8j7mpVBqtAH(rz;MZrK*1Gm#I|7E` z)FL70P*Yn6N{=nE5S1lKok?IzIC9(;2>R*gS+wy`Gf*$9N^)fR2WEj?;aN2#x&ShR z^o=jV$X!>QQJa-Wzs~U8y7a=z80& z*vcc#0SO0NBAX4#TAL3Y%zB5Cxp(^j7BO+(d3SfMAV{#kGBTbhx;bjzJ9LKW0-MD| zxtsJ3Z6+MRF8106+HF3}uYY!dJy|$MjNF;RW^TRW?F)Nbt z(>)G`l=S9D8AaTQ2h|q6LwqxRLuoYLKVS7O%^SF;i?2P*aHH5dfaeWXf+RLYm6pm< zGm5Oab}^41AG9?yUEZzuB3i_}fuamG+Cnd3Kk{tCzVj+I`m`rtO;p)tYR_jX7hhDK zF1)5W!${cg-@cTv4||i3FIq9AM#ET9(OH|RqRp_esh9Yog5Tn6zpCz{qN6&ypl+Gt zGqx1lxjN0hm)#Oh{aMeu zy(?oIOm!-L&+n4BJJELa-e~*5>T80|cG?i$UHasEzx*aIHitsV$!?YMvlX5Ko(9k4 zGQD8$r9fP#vCeJ|u_#vPMuqA9_4*NN+1fR%=1zE+@2>B<;F+ABdUcbOEPVrTCg z;G@%J21P8Zrft}JVvDLXfSTL57UDOrX$Ml~v`F_vg_$!t&U&O(ww(-jBwwCRotIa3-`WK?QfU5EpM7X2IU_h^e z6mYQ$AoeZTW$q-&>2s%q9ar4^W{Ex+B@68#i-e_O6k z7p`!g(C3nQ!JsB21DF@?1zC)|#1HUpG*wTx zKV4=-n9CXtkLV^jz|08CF6!l>Az1XSXTT5IZ*PoQHbpjc`mg(rQkkt8dGGPFT;R$0s7B*1z`wQIjWC;$Ke literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_G.svg.webp b/public/signaux/Pancartes/Tableau_G.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..6479da7a4896c199302fd73aee12ea225ba4e58d GIT binary patch literal 8800 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 g$duYryxI6y=|Gs$$y}x*hv{lzL74UrYOP8UO$Q literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_LM.svg.webp b/public/signaux/Pancartes/Tableau_LM.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..d57531befffb8feb1b641c99d37039f29c55ec4e GIT binary patch literal 6742 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 S-+GVdek^=VSRDF$I^n<31RK8q literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_TGV1.svg.webp b/public/signaux/Pancartes/Tableau_TGV1.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b40ac18ec3a58340d6a9662adf6a6086e5113f2 GIT binary patch literal 5178 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 literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_Z.svg.webp b/public/signaux/Pancartes/Tableau_Z.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..caacad10ca66780c9ae6696a6b6efe11e6173196 GIT binary patch literal 4372 zcmcJTeKb^g1IOuwQr26Ngj$uiElEtVD0ypSaSg2|d2DNvxTb_wjkiLQu#L1$jJK=q zMD2FNP)q1#tDUTu(SuP#ER9gf$S~&l-MMO?^PKbivFAL`Iro?|=WzV)e7MG}AWPW`#{>o>{!lrTr!rgdo~u@QvAT~PodLnU{k7BS>lJ4%YSx`=(gO|I_~DYH>A5N z0*i>PGS2%YGvrF=gRS6w_gCHiwnncKsxVI6<^tK3vqQ24n?k$YH51(3gl{9FvWz5- zirk@u*}(+Wuku&rP$e?f?`H&$b)=6HX22EOB7Y&?{KwD9kxJACI@&h%?S?Pc9k!5U z$v*!5YnD_|Y`(E($Z_`7|L5|!-|G8AT5w(9i{P($q3pAy6(d$d7OvC3+dc_pUuUg& ztyOx>rQZBRN{hp<3E$st{?K$zTyr-m$6?3jNAB!mW0PGa!&CYtjE5t^x0^ZGIWhX! zvi0g)4VAV&+l0nYb}&_U1befkgu$WezSfc{4;+HEBR6*)e7hd}4~K`LY$_G}4=>-+ zD*sut5{6{vekfblZN*4bh>;N^nev-EyH&@8pU-$x{(O=t+S4PXy_$qLUOG*@jS+=V z)3Rq#`X%e#kdDYimbSesYH(>OX?R8#kwh7CJ1_MxMdJt^8#s8aeUttvmfu0N{m)@~ z{F`Oz2|k>(vId@QyfZr6VF=rNZ-q!=)(OH#kC3gkPO*AA$Vipo^!TByGgnRdT1$kq zft$XZ?$idJ((Ep@?ztjtGrkDfOI0A<;iQuz?x+pE991th;YVHXrG;4da_n3id2!P1 zXndzOY!hsVNdB=#@aC41S>=ZG@#vsMKW;OtgzW|8Lr2KbvbEfRyk=8=WNj1g;b;+s zy&;KJ@wEq%iYmbV7fK-3jfNlU)~ub~i5gr{Aq{`9L?nkDxt)J(V2U!py&>RyyO+ZL zJ!Hh@W#SSibNs-s#)UNPNN-NU(nOZ3Bm-hxRe^1$O_05;L{?9$6G9tnSXjDvfhl>S z|4VMblsQu*)}UiA93hV3vC}M1$KB|QAaHAUbI1`MeaTj17VfDOQH?bn>oYdx=a=-- z?CVP?^&%ybUUeSCs9gb9iN4BRSw>IVTX%U??%sMu*#F}qB<>%Z1?A&cnWAQfkk(WM zahmfQc^C7Gpr&Ks!1)Noy4jQx@lI1#N>TGX#fqNEhNKmag7CNN$rB@FZs(N)%&_%J zq&t-<pIP{DsA&y6$;@to#Vf!9+*)9#JGix`l&FDZiaSyexR7KXe-`So z)Py^RPmm`vZqTuJCrtUuOL}Q}Hr{B&u6?1(H*oP(oRW)Yl)Z>F{2qwMGnNn!wvLWz zur_P%b~S2W5L48E(y?z0eK_^vQ!Ld^aExzNNYtZeA>Mr}wXm{^HF@ zEn|V8{CO5rq^#dd(-Qk|CUx%dHXbg7x_`_Lewh6Id9r=A672tB0a6>aOi=!GkZ{F; zNpHC;{0k7^iu>RG{29b10z{iJQ&ep)r0uNsCO{OF5g>5o1Sxx7G%qNUbMU*ni}1vd z1$m+ZaClQfa6sf7o`m~n7gM~xN@V5MlTlb-i8L(LLL~c@xt-^lm|+p~;20O9+{?eJ zNy`1Qm!j>y8NIXzUJzl4crP@*1y};MkXs_04~(#3ac(N-GX*j#r!ZqWM&T`lBh>g$*R8UN7BQ(uC+^4>Dc{xQ~vx5 zy|jFXGD`i3B1!L73dE>e23PfO0lqmv$3*^Sl~cB%HQRB?gsudVQ6*1Q&(g6SAgLn# z8VSi*ay$7zGEY6dkDW+fhQxj6ASi#MO^zPk#0?lTH04ingfy*5Uryy>Zs&k1(ANH; zTH76)-H?L4OG)N&$%Gfi?FcU%Ibp(ARuR(7n<3zZYj#_$@mSIql)u#gvE~6_f?P9t$ypwMQSc!s;F`fH#9I&)N(*ob;z0DV z4?5U!k9XDpp~Rj~W<}33A?YnWLHO?*$rD9R+|Kt_l(0+5A2T2jHN!Udc$%_eirVf} zAel3ev`U$f%#;upZUl@RLryqNLx+D{Z_fN`ti>6n9~FG0beh++jO_+{c0 zLcPM>@#AWZ6RD495}x{Xdlr&dKW9M|o`iF;$ztg*27ht5LU0&}A~^hV2V@e?;Tg{1 z_MX&|vP^OXRhi^5!-9GoHQmG@g4(@~u|j z2d1kKvdOC>WMjdU%Z30Etpz~Xce(g#fSP(01rB`En^Uir$eNhV0sWu}+ekMdm(xM5 zMixR?Y>B?Lru@MB77@a+Sp|3C!jXPK$8h0v&Et0Bkx11Xxxu(LheE}$Xb#0`0>wZ5 z2^6>5z$ffv7om&)NskgYpwEygN_tGko>ZIgBTwApDMc1j*cM4F-Zobx^|b;Va~KHc z*oLmy40Yf}ysDoBA(Vt+Wzz6CNE?4p)ekk~RgH(f&CAnb;qnD&Hrd|N5cZ#0hDaW5 z=LXyyGv&u#Cl&*42}Ev*+lB`VLEI3QI0yAO%!50otOyjAb10rRyaJN_93&<>6Q4}Ccb1CY$1`C|MC z6qUw0pHP6sAV(odB2a+9k)r^qkE1vl{uc_M9UKL&9UR3kb10q=DE_p&K8He6HitrT zi9j*5oIue^pqOstP|^0<2|9K>6|̍{d+9z?Dhx3jR`gg;0Y(y%ND4Ynl)gH2$D zcq(Ke7z}? zozh1nu(lvvu%BFMqe!AgUnKKhWQb+k`2E-96_JwV&FOZ#$Fof!6BQ9|j!3pE3c@>e z@zr#)VGX|CYAZpOI-2sOTD>%V$5KlD=ocityXg?4YyoUDxB_G;kYz*#B~0qtult2b zK^a92bVP2wD>~b%19uD_Bu}J(jyPuobJy|MG1h4Wu~R~+R!w6?Po0Ap_47gOz~ss*1-PnjX>OO8 z)NenE02|v^uY@mt)FHaM&5bF_0}FPijW0({8*HH~#h|O-ugyDp!aR3xwE?^wXkB@I z1JCS5A*KE`sEH3ch-BYlL3oFcne}dEI(D6Pt-b7UPEbuYo~M^pNaiPg0;9>0SPUK^ zbZqf7Xf<%&fce1hM(-`FHP%K^MCns>3~Y72qf#TU_T)Ec9d#i|?@pRLq433kO|DLe zS`PAmq8$vv-X>xYe#7?Wuw#>0sy$AqgSP^S8h05)@0Ty5)cN2e?%B%?_A*N z{rCk)T5Cs4x1T_wzBz#VJ$`5ze5eT6qLGKU6`oHseuODrID(?U^Jx{aLh$?t`ShM_ ztiE=q*~G_v+<Ufwv(%Ix+)ag}+9(DpZhzwPu3@&sF`MjdP+6Qnj` zE3q}F^@X$pF+QBig~Vv6s$Uc77t0R-g&hWBhs_k7&!J=I4IxfYOp1KEIZzgnSW)Ld zVgDB8C&0zi69?`LtcFVqz-q{cq-Dy)YKQ`U|H%!1mbk~e5eB4lV@G^>t6VxbiulWr zv=T?5#uWWK3LqUE#UbnEpHV#egu-1gEj9U@0R4+T}M#}qy90aZK;64ewWsx28wHSM1?KymR% zGU*sDoh$QzbW$KGSWe}WU~Dcy=vewRh%)e)R3X1Lr~Pk(C3d-SCpQ)|;>WT=+12J6 zBNx)wv|b&c^=lXp_Rn*k4%a&$%AT}a-F3A}A;%#iVdsk@;m;~uZ#SRMIU}CBWnRoM zFmo>Ty5v-FlqTvh>KeSa)_MA5+x!-X=G@h-#=94u`EaOKX^O|#wne+epaW|tCsy?I=ywjqjM){5q3qb}>Lb3a?WJB~gMKg4K>wG{Gh6bX*xe1wOFKSp zD0}zPMfMK7{I9Qdjkl)${!=@6(2pMu=VUSk#~hZ2Jo)e65q$c};H3w0!RV-mEI~)w LESr&a8!G$@Q2Q1? literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_d'entrée_de_contresens_(TECS).svg.webp b/public/signaux/Pancartes/Tableau_d'entrée_de_contresens_(TECS).svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..04124ed04c0a638dfbafececc697837e9da73c82 GIT binary patch literal 2430 zcmcJRdr(qoAIB}zQc1fUceOGL%h0@J7cD4kwM4T_#eyzgsl1K4wUIaUguWHBbu4GS zQc_`>im02?o1$h&?zp2?nv^DPXIITw1u}&aVGp=7JNy6p&OCpdGjry-e9q_l`#r&a zK0cRB3=BvIy#kL1?mircJiE3DWd@_$5{G_SISjsK^$mNV?e`ZvTm17ru4=3+*1bo* zMrb%dj{1oA`-Oe{&fStHSx#qi2Kkh{vhkzQ1qnm^1lHuc=ezm!*AtvLop1RGLztmU zj%ZD^M>Q>A9>hln_8qezIJ8ORT{NE4G{oL;AO`&pL82jg(Mpo*0Oz3xL zf;4V!9V?>R8Z44DD$Q%E;YjzF?tRMmH1Wsk1|A$jA9y{Q;67@;V-D3)-Gsc2Ik?YE zZC8`h#63d|yu6*3SbtgXM5tL$UsKkZ(t+0#)UKWRIfRMO^!V6NOYPkdZ|hI1TjD2o zoh12T%c#_h!nBq%QzuT6ZpM^R8#At!WSn`oF-<&$Yv6rCQPX|dt`nhKYhNIfA&Y%+ zWmq{^xL>m6s66uE- zYf<<~X0vj6F$lqJQ%j}G@=}?-1?|{DJVEi8|9&dd(|+AORR-rbn{-*Ano<*CV`)L8 zx#To!CqF26iP$BJWaNx|ctmC_#ROPB+;{j}A+|~2ttc$CL*KsfHX5U8UL=P;`XG}E zv4eXLDjJn`UbnBmZwpe>-Q-Z{V+W0BwhsD)5{>6A;&PPV0$|!V_n$YCzb}P7|1?MT zV-#nx<3Sx1kQAuCafE>`jDmxh+Q=0GN|Lik9MX<;)c7f=78|Qh=WO&Osud1$h$_Zt zM$PM>youFiWY<_JQZ`{@eR_)t6c&?|uLk4_uT3S$SU zD~sjOmvM|HJFyPhP+Wn`iIT?5?G=TepffHR>!{0&pW$W)f@w!Kb2+dK2v-`Q-^GDI4f{?;mIDJX$6}dn^(H~z zrwT!i%GS6YcWJm>?}zS;s~F5`>9o;;9w~Gf+TO*4JSN zXwO?9+c~*l9J7t6?(Sy5{%bz17HRQ|CG}%#M4rJ$NO~+Ew&3XxTkpHbg4H>(a%fMq zgXT4a{KuDn8`s?jfUyqf`O7})0L94X?BqXNkLbZ6$deMh|FAvEc6G?qVp2N0wgTFe zcrxLpQ((GF4td+{fTUn`rL`RL>%?g06Orr~$654=>Yy$#NIg2ruwYq#-5~-!3?%g$ zEE0fch*cXK#gg2V`ob`Fus&6(h*r8(ZMemmJ-z+19{JH;FH~`t4tZp<4*7!rmM3&- zxSh4nXe-yNaXkEiUXAlr`zMi9JwIIb>kt6aOa+v#^Gxu8p@7pwADpg4lL@RX4jMSB z;|>+2&4)cFOk{6TS@0tysd+m^Bk!_yH(ZyniR#u{a>!`hLG$wXg5_VAz^@#!Edh!x z6+)c-`Ufg8Rxi0;jSzJs6 zzR}Id>E(%|0j)41rBm<&5Kc5g3dSAxZx1)bV@ru0Nug+B%$oGEGJN-@Gl?tUr@t2Two3 zawg~Kavsu9NW<9-aXNOVxn$Tc+2R^7iI1r01CS9jxQ|`>#}rr;m81kdPBo^S-N)gxZF$cT1ku(0t} Z1`}1JzsuB${<*b)qk*w+V-#AZ;a?(DA&vk5 literal 0 HcmV?d00001 diff --git a/public/signaux/Pancartes/Tableau_de_sortie_de_contresens_(TSCS).svg.webp b/public/signaux/Pancartes/Tableau_de_sortie_de_contresens_(TSCS).svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..3ce4cd6f45a9c1261e506375cb64c4e15985641e GIT binary patch literal 2262 zcmb`JeNYo;9>?QQ8y&DKqDH-&Ehmy|Pc(p#MkVFq>!?uCI0)(mwE-erfbe37tH!w~ z!T=45njk@g#ZC!@Py+fgn*zFNPvbw6v(1*?Sf)*PnMZ$d;i|eJbyg1^UUu4 zKHrz!!~6E^=~zM_9NoPmC^(1~@C@uJ>gQ90(IW0Z%2J!!??Ptk($r&#x>hJD{X;i-Qjh?aVEwk_6QV{x?Bp3QmI7Umbx2Q}RY-)kN5|II4C_SNs$4=RrO zED3#c$u=wgWli?o_Uk@-t75+{Q7fEp{{JuZ$O>L;a#fC?^`M(x(^iDEY83`eq)M+b zK0w2z?cNl@!<)!lGaK_>C6-G3dKy&c4LViHY^#dRxPu7Fvysr6PL-3(+A(+CSA2@U zIFZ8i!mbaD*GMSm>Ll(O!+|o*SxT&ePqE3ySg#u0#@xj|i4_0O5-1z*qwbDTN(r{T zPO>}Qpz+KJXHB0zfK5+uz~da-55SyZ*3-#}e1p;BFWh|BW2J#*8Y<+8l6Zq}Uc)}y zH+HBaYKS>$LAj^apN3Bks{2iS5h$bgs&U@uAM_T(7ad@tOR;T=)=dh7h%wbTS1&<2 zXQi}sNiC64vM2Y1Bpg0zj5XHxw9z>UfihtL5At>~mZa@%ckuA&Aw#~2P_6%J^Mn;; z3fu+i!`3^YNi*}9gw+i)QkQz)6d1U*lIp>`_5`}ez#tfk$f!I z_g$*slG4V>-n&jow8W;(jCf+Md=(8~TlDnHZZbeebQnsVxk$p~gDl?aO+4stoc+0{ zyfuCevtf$X^i2lQtD}u`A2wjFTb!e|0HO}<6fl%e98^nRVJ?1(G6u=K;Q3+LRlPsg zqa^|QRPACme1|edMvU{(Dai817yV8y&NBoTVK-Ul%ZK_;kj!Rhlo7E*cJmNMDBiz7 z7CwlR4dPz~WR=90@)zXZa3yi4f9g#9Moiwik7xC2qPL_LDnebvQlj)@HC0e^7wJR` zX#P$~Q2cd3wvXP>@6CN8zlC(#6tt2x%&Ki?_v8LFF~1^Zg^5|1v(VdqyoWB&aAbrfd{W6nb<-(hZ_*15Kgz zjkxU3*|!i+lZq;M`~c}RU8V{1C*e;XS5lde8~hr+A5yf6mgz-Ry-jnE@{z3Um61(i zbWyM*Dtoa2Wrz!n^#ff%ccx6JO@y+-O0}NXeuOjT9tGZsMqwYidxy@=fa`9z%T^%! z@#s3DB_?e~5DR3_17z!nvjqXbvliGX*{wrUsu!I@8t0mi;D{>7u$Mg=-08TTn7l8P zck%b*Fq^!C8$3S=pR}s`*^Et?e8P=4I5i2IVpiDE5{7O7v=OyL(cqbE(yLHPipwv=~EI0c^!Ps7o^wuZ>~+iHkORq1xLi>8Y!*OJ$x z&$6(7Q`a7pk(~{KsK>JryvN|s{{DEb{=@*CgY1;)&eamP?&GbdBtd^KIAS*~{qD)Svc`$JeIj<%q10j=}F=nCUrjF4dKB0Em&MVp~UL3K8gRmYGC zb%{Xu9P0C3DTwFWQmUX#i3G)#(?Bob;jpuPr;f@7{X{G+Po3Ef*n(_Su$9QA#aH@G zwSUFr1AtM~6l~(IFy}K34yL1L09zi&MmHHW7qsqklDYX5@X>+jiuL36`dC1#OVvZK4@$fg zSNSXPaM)X}^68)OmTSLEb0p#6z-^l-ED5|5i^4s9n>%#(^>#*ER#iYL^}S^5C1^3( zay*H4M0T>F!szUYCkA^q1a&HVHtZ$mP_p^uH@y+p5P37xa${W|aU6}OWQAE+8FS+- zAG(FbZtNagJT^bVs#K4%Ol5ouP!{nT&O{EyiV^2s#ahRV4^1jgQj@AB;4(OAn_wkg zFtJQA@!+Hq@p_$ybj?Z;=fL{p+;7s(8%iP`;q0UZd0w9ex~BY zzfggK(mJ+V2UHyXb5+Z}T2csejPv>^ezxpju?=SCj-I%Ak=Oq2_M~=5$k%kkkHWHEWZ$Q)BmjD0& literal 0 HcmV?d00001 diff --git a/public/signaux/RalentissementM.svg.webp b/public/signaux/RalentissementM.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..03aeae4566f2e6db9b74041737d773e412da0a64 GIT binary patch literal 18844 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 TVoLwbas`!>v&mgdDU$#IfWKS9 literal 0 HcmV?d00001 diff --git a/public/signaux/TIV/TIV_Distance_80.svg.webp b/public/signaux/TIV/TIV_Distance_80.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..a8cb2f35f6e144d343298c41961ebf9dc310c258 GIT binary patch literal 11666 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 E7mCGCoB#j- literal 0 HcmV?d00001 diff --git a/public/signaux/TIV/TIV_Distance_Crocodile_40.svg.webp b/public/signaux/TIV/TIV_Distance_Crocodile_40.svg.webp new file mode 100644 index 0000000000000000000000000000000000000000..1ef1d304b887688a0800b362bdf30818b05965f1 GIT binary patch literal 8652 zcmV;-Av4}mNk&G*ApihZMM6+kP&iDtApig`|HMBLC()z-=Q% z>GJO3z$3y`jx>_)b{cI-JEPq|ySetf*?d2w2Evf1z@7<{WGu`6e(A-Y{3>Q|2CF-| zlbkl#a+9&VXtwd6&FzL}h7Q3m!kZaOSvRYHQ6eS|F%gN0%}$i>%FklHx2(qq-N?3O zSBL^34=fVFBp31>U3iR=zTQ21uSFdrfZ?C&yHz{Q{%`D^9U&xWA-KD{yE{~ZyM!uIAy6Tu znz{>8H(cs1PEtcFxCgfoPsnEPHJ<17my9{?J=b3m{r3e)k|jx!Y#}q(`_=D9gu9!Y zyZOgM|M!j8xa>o_Z@lWo^vPsxpS0Batd-WMEwnx_XYLR)_ehz$gv@<1=1viFuY|c>;B++t~WI0W+oF`XK6f0*+l~aYvxiaNsk#e>~IbEQfFHa_jlNr)viZGcY zOD2huS(0R$AekpeCW?`nQe>(SnJYski;&q8WV!&EFFz89j||cyh49EBJCcZwERrLQ z;K(C45{ZpWQX`en$R#t9iHvL#Bb~s=CodAJl!{)#ZIl|PK9t->VHVv+5#B-(-##&* zbz(%@WQZ~uqe}*P^5*e#Q2CI*hANt&jAE#x7YeC` zN?M_mQmCa9im8NZ8ljv*sHYDKs)LH!prkUWsSAp#f~uOJtRkqZ2MVi!%37eb5~!^M zimQO?8lb!asBixOSU&`|4}#^xVD~^+Jrp(%hQ-5S?|@i4B(@HUrNd(9z*spnHV%%3 z!(-n7SvN$s4U%QUWY<7hHB>eYmPNy5&wyDoWVQ^NCBtUNz*#YLHVmEx!)Lz$S}%mQ z3!>%1XtzLGEtED3rp3Z(uYg)Bq_zsGrNU~bz*;G^HVUqV!fT%ZTPMV}39@CvY?nY= zCDb+vwnf5ikAPbv?oVz_Zcx!O-w&3V3!P(n^!?yybZv&3s z0-Qhp0Hhy*>_d=z3~~=b>QTr%42j1f??9v-iL67BbS!cXM#|C1I2;MbBj13e8_U`WjB*Q7YEjB8 zOo_!QuRx_0sjNbkRIG9eR!Y&zC|n7}E1!U+6R~VUmQ2iY30f*q%Oq@x#4V4&r4hL- zLYGABatK}u(aRuw3B)gd0HzPY>_M13408u!>QKxajETcBZ$PFE$*e({G%RxlX3Ega z7@P^iGhcwF3(;&rnk-Cn1!}5L%@nMO!ZlC8rU}_BL7OCOa|CXR(9ICM3Bor&0LNNz zcx#!ticRp+KU=L(ZM#CR^Z{tZ&H7(FEbaMXdq#{?w;?m!Kj@ z=>ae741g(U{#v1r;I0=3#!wNaO`_=sgN?1X5;ICIP9I@Us7r~T-7!sC}6E->+N?C4P$l^?LEfSe}Nhcvx@}o_jrO<@` ztF9gr8*jgLK>&3uvrI@L^Yv;ZJT;Tk^)KVc8b3iHh{Lm@$$-Qp98kZAT`duM*xr{+ ziFepe?Q8g%W*(+cL&^{`DxEhgU%@U!hZs_Nl5y$$weAJ{JcIX9NMTbOGBVwMRlR(j zjtnInj3;B$=O4|h_gSW=(m(86LKqnwU&2MjYu8a<$RK+`F)}JsYri){aBKi6k=}>YuG?3b8$ls~{G>=yBgK*mw60paJt2XgYLF_ay;lc+fGFoW@i*G&?A+2(?{tq;$gGQMfi`mO<^i;-q&H9eqpla%vtY&{l+#<{5ue-@cF6mp6PDeuaDuGCo zbbTxGLRzN~Vs8Q$g`HR90(*vc?MlHoV?Ek^%%0bA=MEEylv zw-oVk!fRs$p~)kxZzbC8!Rwz=gePw+T!*+H!F8@G0TTAL!euCh;L2)7kP^F3;UdI6 z;417xpi=3K!ZqkeLdzLLu+kz&;R?j<;d+LEWrU+}0a{OJ{TPM}C9}fi$7zn%;Zg*R z_j`?t4}V2qWj7*lDRW%o+7oC1R&WTxOS3$UD-VB2U@atonZz0w9)B&cwuK=?pQ&7S z_#MLPN+p6Q=7`Ewr=SW}&QJoG)`cq99DbRwdVyf(VOF{1l@NgP2N8A+?eW7TK`Nz>x_LKa>#Pzf)~58Jvx}my}?0q@3o4Dn5A8w`u>&f#B!u{xoqw zw4u7Q?gfRvB&61niE1VM-(N(Un<dYNSa9?&MpZQj=L@NS!n2-u5f4 z<|4`7R_2IK*T0P9l!q$OoMRm?x>EvuGufQq=@r($i11T{R9;zAG~dZZm?PayQ8NIb zhGdk6>V0F*f@h(QXSsJB1E?VUC_!b&P3}sp6mTfil??f+I3p+^S7V{tLq=$LK*YgN z_c!DJ8%={yK6oxcHOmO2@>xWJX8g~AXBa~DxKIo#e>oG}ACz+jJi-l7*TGOb_-=w~ ztqHg0ND_4x6iOO#<6{h^<8%a8!wq;uqb0%~2fwNTUms@>g@Y#%R9EExFIk_s1KUlj zEMCcc6m{c>5342ef9*0Bmw)8{$_nozvC4^(E{R2E znRI1u;wTwBl(1S(!rj9{GmnI4E90mbyFA(m|Evl-`=tu@5pFgEsTbUbu)0w~_*422 z{P)_Wio##GE(b}uNFlI(7XEnZzp>zK^pfcO#Yl<;cSmc!Z13y+V%O7a45e25K>E=9 zz-mTIe^hAM50y8Ju~Z6fhgP;v^aHD3X5l#``Y2gT2EY`GwS?9;B-skx&wl()22&=2 z&Ea}b_lGdQ(NOkTc|ubp_zQxorR1|ZWW*iDZubb*pW)PqKz+FKe1g5sMr5pDr5!vK zf|n6osgl2Q`Gz4+6e5D;<~ZXi5QR1IdPA^}^*;stD;Q9D;I{~`iE`C9=AK(F$4Y)G zu868bL1n-MA8PqJ0FMvdhauGlev$CX3lpoJW6%RcM+*K8F_ng#@__wLV!Z_6PQud| zQ(@pmq!pE)WpKo0lWdf06N9P?8Kn_Rl6#N|Y!auA;5*GhRTX#vAvO-fe`R}4@EK`? zRTQqoLe@d5%8psiioNmOaK=><8f-(J)bq<+0NV4gpvdV=AV0UkoA z-6{1IoiXta)563aG7`Qju+szEAfd*xfvGFhWCmCRxDUbBTd0Rj)J3QS43-$;{&Do9bB9}yUa{Jrs zmgr7xJeb@P<(X}#$2HNO*SI&iChF7L4suWQCpGToq5!~Y-;s-g0HZl_U%~{hjY7a@ zyqd(i!$vXCwx2s_QSqN`6a;`n@xn?!xW`6O(6p~RXi<2YmBIjZil1cX$!w)KXxZN# zw8-<1odQ8){D$O{OlPM^uvmU&xl%0^3J&9B!SCi!wp1)AET^1Y8*CK}0^=mPYY?aQ+Y$xM4iM5BK2phb_ey+XoU zJVWq{t8l?$G0~%D@cHv$U5v+d%;QM^jM^CZ}M zD+Y>|GRq29KWN2BkrF47U>~v-L&ZtgN(ffD(2lWUB%Vity~K7579m}f{O0v5k!i_j z(Gfo&`%SuP$#AhzTBKl+7i<|XF5>AV*i5!%z^Le0xM1F+){Gbt@i-FfF1BXKcxb;@ zvfu0(GimzLgBDRQwr9{tXpcv-A1xX+3gSVcuT~kyqG4m8Ur4eq*`jg7Kkg}6&6_q2 z9Q^r~HhhkLwI_!|<;uF-?N zKtsvGPg^#8pvRw(WE0r3@xwfSZPE7GHh_r7?~C3bwrvCfub`@E+pQZyxZ~GEuN_-A zhG>@?C)zsu1`+G{Ink>hv~L()>+>)A9NaR?h_;OFTU%nUVUFv$>~%jsEBJfP`iA75 z3pp&5ePy;3xZJ+-iSi>C&u5ppPRy>A5bZ^_Zxp-ALl1HGi0GBbv~V2b>|(TN^Vz~- z47B@2FY>&NqZnvuk)q9D8wWAcriq^Spp|17X~%q`-N{xCVW^EI(SEaY1Ve4VSF|2% z=K#jq9VFThmX2Sn?e>V)%&~O%f^8s)_61uydcl?|{IWds+d6pB)>F1O+19a(wvDn^ zCdb;L3%3rkJ;~ONT)2HLd(l_z9k_6FTF5qw?H#vxTOs_aSvYO+u*F-Tp={&W;!z8@ zk4d(@HV;}E{NzE4Xdv4>W)b%u$+pevAuES(JZKTMWvfRlfB-?bhexSlGEmHa=7-|1F#obhr?RK_*nBwlJPq<%Q0F(l6toUm%*98D6 z@b-I!``!(}DDrL>zNU^F08uR<`2+a*jNJf)LT`ZZRrR|90EJ#E3HJuO0{FyU58=w> zxC8LS-p?dl61xNF1YZZ?qOZ6F-~`_W@mEPGy9C$-pVLCPu;Xq4G|{)5gd59l0W#4S zXeixY*8rIC`$+l*uxo%z`1xx|x5YhxCH~%(zP9Whpb~!tRis<(B7l+ruSj3*fQx`h z0_4U?x0qc7NHX9V>5I#E6A;OO%reqF&u#)BDe$=X4b8)rBw_;J&j@nYHAY$P*;;!|Jqu_ z>etsG*1pE}u<~^_hjp*DHLQBQjbY7eZVM}3cT-sJ+FQbE*WVD#l*+w<0c%4^4ybs2Uf? zU2~~VTnEPqIO~gaWZZUAFFEL!a9l=cLx7Hr)2^#f3r*Bl>T4~Db97vGeTABX<1B=X zg*iSByTMXFZFEc|^{F^cML9z5x{*>pQS3}S`^sX^z6!`Oa;JrO+iFWXFy2?!i!hFo ztL{k>niDWi#K3zH$H`Imu2d^woPOms2uI3Ix0+D=j_t+1v1kE~m6L9V*!O3Lak70< z9lAa{us7#bIm<3_d1+1>ZT_d#pGU0PtZorF}IS$W($N* zOQBR`W9OFpORji>+^i1N3EA(q2S8)$gnO1mr(Zzy>Gy6$ zqAkNSsxG+SNp>FB`-3Cl6r6E&zy&MH=2|Guay^nbyguR+5731)PiZ~oFGJax{CJo)I&Nw^wd#@F@6V@Z1IT@-lv9Csn< z9>g-juD4YrKF!jl3EWQN?SL}IjuAQMDghcVs`H||A7#52Fhznq&tiOk4o7$fd*TT6zd|Ft5% zpTU-7h*T6~?rsa#B101QNfB}u$B-dfp%`^%8^1!vWXRbf`=vd|n0yLi+?{P1F=R|i zEp>|I;If{NB4fnez%cTzHolJxO0y#P0`$fvWKf>OF!rvtqh2y89XH+LYlx)_nUsi& z5Jun8#v{nA^hvpOUvAkpfXvEt2;=W)+v_32(r$U-EqOw%uQVXT;yZz02Hb2sjEqaU zx&PmLw=ei{Tof6XNeJe^&9>V^2B!8SoAdwA-)Hmo;Ak>1VMhSWf^T2se;>c7Zuh;n zBmIB=9-D(JpSZmy8JckbCfB)*y5(J|R&2b5x%+8u>?D&D*R<1skqJ{rbZ=TYf((xL zp#D?g!M8p7AOGl3f}b(^&xMQakPp3x@Pd6_*^;FcsW+@Dn46IH6DdjA4l)`a;jz5!>QbPy=Tm&#=9a>@_eoL zoVnEab(H4mJ!>vC=XQ+R7OFjO4mHlG3GtyuPO3d~4mJKG3gBp66%@!?Xqc)!tl7TsyQJqniBw4O(I z8m|unZARJ2URC->WX`J5+h3IWc&#W_zbGw7sMy2Q0 znZ|j2AUwqSCZ%WBna25j0sPT^ReJaBOye6vwO3}R(z|eH8W#>%{@7CgR(dz?cNWD6 z&DA)j^sd~Q#(|l7YkF4c-MKT3Ia%$aE6P%Om+nsE4}2<{>{oiX?oQ+N#T1t4D7|ZU zr}6f(+KT*$mEOI()A&RaT~+*5>s`D%jdMn5s#TiSyLopSJ4qfjjnCJ5SMN?^UJ|^Qv;%h+E5w&q22u zU()4i8hWN&(|i)T)tI+7)I+mW)_fK^*4Uq{!~yz7Cl#tb4IOLD#|LU)NE)j?4_#}_ z>l>J^%@)>uB0ASN_(=tmRb3oZekMBCm~)e3O;tL%fR&$$?ltD~Gb2nCGw(WUKNlTr z%x7j5Gw!EmU1aqqql=CCa$>YuKXr-qpN&p7=1UKkG{tQT(;2{Ybh9z%EH>gk3G2U} z#|Y-5_fPMn#0!7Ua^5~)I}Bk$I@_3!JQycerFkcrG0aGJ8*^ae1d(5Zi5#->CZm{= z9zXSy{&qWQcdXU%y$og;bJFR?%xQ~AB$NJZ6S7FTHzs;vD(% zp&qyFI^_g=5-QiugZ&XHAv%;}?DL$94YCfEwu15`-p` z(dGJ~l(mcBOnyEw@xJ>L6O)tQUa~Ir$bUa*1Y~2=nQs8+CdTB1n4JjI6JUPgOHg)B6UIJE{5cVki7`f7eM~vM_~9Ej2?x-<1lt4hK|L^(HJ-$<3?oI zn2Z{gLE|!JWQL5*h|w7^KI27bxEPHVrNQDfR-}fC)kx7AC|=`4Y?zph6173%Hb&%z zh}{U$8z6q;LvVN)jt<4a;W#!Vhlb_I&>R?^<3e;;n2rk7LE$ELI0`)=QJ_h86fc*&29{~P4zXf!B8|d^_(BbW% zvs*$(w}nn_4ISJbI=4l1Y@6uRR?(sDBF!x$$!#OWts}whBfTvoxosr1tt7GSB&{ta zscj{tttFxDC7mrMnQbPOttOG}CXFp8iESr^ttWx)Cw(m_d2J|lttfHrC~Yk%X>BQG zttnycDP1ipS#2s+ttwINDorgbNo^}dtt&z8D?KeNIc+R8tt>I^EG;c9DQzt!tt}z# zEgdZ`8Eq~Vtu7JmE)6X&32iS0tuF!XFZ?Yq_-!!stuXNIFzhWc=xs6Ntuf&3G2AUO z*ljY@tuoN(SHJmLrm~A$c ztu~PDHjFJdh;287tv7(}H+(HPcx^aztvGP)IBYFBXl*%UtvO)rIb1C|SZz8~tvXQc zI!rA)NNqbrtvf*NJ3K8sIBh&MtvoR8JS;6eC~Z9?tvw*^Jsd4Q7;Qcjtv(R#J`62C z2yH(Etv>+mzxoxR@-?99RiNT^pxTw7(zT$<)u6)lpt=>IvNfTqRiUDFp_-MUlC`0V z)uDp*p?Vdfay6oARia{bqFR-rQnjK=)uKZ6qB<3$GBu+rRih$xqZ*Z?61AfW)uRIS zqxco1@HM39Rixl`q}Y|D(6yw<)uh1nq_`EOur;NqRi&VHrI?kakhP_V)un*-rFa#l za5biARisBsmkVKu2yRjEOBsWFwQA+@Oy)u{pXspBhD!dIxiAx!id zmFT6VjK!sd<)wTDrgSByY(=JIWu{z(rc|Y-OvR=|<)%CZr!*y}EJddzWv3j4rxc~9 z48^Ae<)`@tsOcrB*+rnZ>Ay<*0cDsc9vtSw*QyWvMxZsVSwY8O5my z<*D-vRHv7y&Ms1&T&6m=P<3jl>da!*iRG&E3Rb6;tj;Q0om93ur*L&j>FSK))d}UR z`wLiim$2?FV%=HBy04IRS1IeBV%8nytj`y;KHW<5*_N75w$^;E#pYA3HlJy^`9$l@ z*IRJD+KThFmYlD&=Dgpc^KProdo4TfwC=oa-T8x;?K>~qbKY*#d9z*Tt+t&v+IL>I e@w{l~dD_{n.addEventListener("focusout",(r=>{const c=r.relatedTarget;if(!o(n,c)){const n=r.composedPath();if(s(n,t)){n.filter(e(t))[0].close()}}}))}))}function o(n,t){return n.contains(t)}function e(n){return t=>t.nodeName===n}function s(n,t){return n.map((n=>n.nodeName)).indexOf(t)!==-1}function r(t){const o=n("--wcs-phone-breakpoint-max-width")||"575px";const e=parseInt(o,10);return new ResizeObserver((n=>{const o=n[0].contentRect;const s=o.right-o.width;const r=o.left;if(o.width<=e-(r+s)){t.currentActiveSizing="mobile"}else{t.currentActiveSizing="desktop"}}))}export{r as c,t as r}; +//# sourceMappingURL=p-0017d766.js.map \ No newline at end of file diff --git a/public/wcs/p-0017d766.js.map b/public/wcs/p-0017d766.js.map new file mode 100644 index 0000000..586bfa3 --- /dev/null +++ b/public/wcs/p-0017d766.js.map @@ -0,0 +1 @@ +{"version":3,"names":["registerCloseHandlerForFocusOutEventOn","navigableItems","nodeNameToClose","forEach","navigableItem","addEventListener","evt","relatedTargetElement","relatedTarget","isElementChildOfNavigableItem","eventComposedPath","composedPath","isEventThrownFromChildOfNodeNameToClose","filter","eventTargetNodeNameEquals","close","element","contains","nodeName","x","map","indexOf","comNavDidLoadWithResizeObserver","comNavElement","smallBreakpoint","getCssRootPropertyValue","smallBreakpointValue","parseInt","ResizeObserver","entry","cr","contentRect","paddingRight","right","width","paddingLeft","left","currentActiveSizing"],"sources":["src/components/com-nav/com-nav-utils.ts"],"sourcesContent":["import { getCssRootPropertyValue } from \"../../utils/helpers\";\nimport { ComNav } from \"./com-nav\";\nimport { ComNavSubmenu } from \"../com-nav-submenu/com-nav-submenu\";\nimport { ComNavCategory } from \"../com-nav-category/com-nav-category\";\n\n/**\n * This function add event handlers on the navigableItems list. The handlers call the function close() on the nodeName.\n *\n * T: type class of the nodeNameToClose param (must have a close function)\n *\n * @param navigableItems items on which focusout event listeners must be added\n * @param nodeNameToClose nodeName of the element we want to close in the event path\n */\nexport function registerCloseHandlerForFocusOutEventOn any}>(navigableItems: NodeListOf, nodeNameToClose: string): void {\n navigableItems.forEach(navigableItem => {\n navigableItem.addEventListener(\"focusout\", (evt: FocusEvent) => {\n const relatedTargetElement = evt.relatedTarget as HTMLElement;\n if (!isElementChildOfNavigableItem(navigableItem, relatedTargetElement)) {\n const eventComposedPath = (evt as Event).composedPath();\n if (isEventThrownFromChildOfNodeNameToClose(eventComposedPath, nodeNameToClose)) {\n (eventComposedPath.filter(eventTargetNodeNameEquals(nodeNameToClose))[0] as unknown as T).close();\n }\n }\n })\n });\n}\n\nfunction isElementChildOfNavigableItem(navigableItem: Element, element: Element) {\n return navigableItem.contains(element);\n}\n\nfunction eventTargetNodeNameEquals(nodeName: string) {\n return x => (x as HTMLElement).nodeName === nodeName;\n}\n\nfunction isEventThrownFromChildOfNodeNameToClose(eventComposedPath: EventTarget[], nodeName: string) {\n return eventComposedPath.map(x => (x as HTMLElement).nodeName).indexOf(nodeName) !== -1;\n}\n\nexport function comNavDidLoadWithResizeObserver(comNavElement: ComNav | ComNavSubmenu | ComNavCategory): ResizeObserver {\n const smallBreakpoint = getCssRootPropertyValue('--wcs-phone-breakpoint-max-width') || '575px';\n const smallBreakpointValue = parseInt(smallBreakpoint, 10);\n\n return new ResizeObserver(entry => {\n const cr = entry[0].contentRect;\n const paddingRight = cr.right - cr.width;\n const paddingLeft = cr.left;\n if (cr.width <= smallBreakpointValue - (paddingLeft + paddingRight)) {\n comNavElement.currentActiveSizing = 'mobile';\n } else {\n comNavElement.currentActiveSizing = 'desktop';\n }\n });\n}\n"],"mappings":"6CAagBA,EAAqEC,EAAqCC,GACtHD,EAAeE,SAAQC,IACnBA,EAAcC,iBAAiB,YAAaC,IACxC,MAAMC,EAAuBD,EAAIE,cACjC,IAAKC,EAA8BL,EAAeG,GAAuB,CACrE,MAAMG,EAAqBJ,EAAcK,eACzC,GAAIC,EAAwCF,EAAmBR,GAAkB,CAC5EQ,EAAkBG,OAAOC,EAA0BZ,IAAkB,GAAoBa,O,KAGpG,GAEV,CAEA,SAASN,EAA8BL,EAAwBY,GAC3D,OAAOZ,EAAca,SAASD,EAClC,CAEA,SAASF,EAA0BI,GAC/B,OAAOC,GAAMA,EAAkBD,WAAaA,CAChD,CAEA,SAASN,EAAwCF,EAAkCQ,GAC/E,OAAOR,EAAkBU,KAAID,GAAMA,EAAkBD,WAAUG,QAAQH,MAAe,CAC1F,C,SAEgBI,EAAgCC,GAC5C,MAAMC,EAAkBC,EAAwB,qCAAuC,QACvF,MAAMC,EAAuBC,SAASH,EAAiB,IAEvD,OAAO,IAAII,gBAAeC,IACtB,MAAMC,EAAKD,EAAM,GAAGE,YACpB,MAAMC,EAAeF,EAAGG,MAAQH,EAAGI,MACnC,MAAMC,EAAcL,EAAGM,KACvB,GAAIN,EAAGI,OAASR,GAAwBS,EAAcH,GAAe,CACjET,EAAcc,oBAAsB,Q,KACjC,CACHd,EAAcc,oBAAsB,S,IAGhD,Q"} \ No newline at end of file diff --git a/public/wcs/p-0326f834.entry.js b/public/wcs/p-0326f834.entry.js new file mode 100644 index 0000000..b0acacb --- /dev/null +++ b/public/wcs/p-0326f834.entry.js @@ -0,0 +1,2 @@ +import{r as e,f as s,h as t,H as a,g as i}from"./p-32e583ea.js";import{i as n,a as r,s as o}from"./p-52d77e1f.js";import{E as c,I as d,N as l}from"./p-3abf8a42.js";const h=':host{--wcs-breadcrumb-icon-color:var(--wcs-semantic-color-foreground-brand);--wcs-breadcrumb-icon-font-size:0.5rem;--wcs-breadcrumb-gap:var(--wcs-semantic-spacing-base)}nav.wcs-breadcrumb-container slot[name=hidden-items]{display:none}nav.wcs-breadcrumb-container.show-hidden-items slot[name=hidden-items]{display:contents}nav.wcs-breadcrumb-container div[role=list]{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none}nav.wcs-breadcrumb-container div[role=list] ::slotted(wcs-breadcrumb-item){margin-right:var(--wcs-breadcrumb-gap)}nav.wcs-breadcrumb-container div[role=list] ::slotted(wcs-breadcrumb-item:last-child){margin-right:0}nav.wcs-breadcrumb-container div[role=list] .item-not-slotted{display:flex;align-items:center;margin-right:var(--wcs-breadcrumb-gap)}nav.wcs-breadcrumb-container div[role=list] .item-not-slotted wcs-button[size=s]{--wcs-button-min-width:24px;--wcs-button-height:20px;--wcs-button-border-radius:2px;transform:translateY(2px)}nav.wcs-breadcrumb-container div[role=list] .item-not-slotted .item-icon{margin-left:calc(var(--wcs-breadcrumb-gap) - 1px);font-family:"icons";font-size:var(--wcs-breadcrumb-icon-font-size);color:var(--wcs-breadcrumb-icon-color);transform:translateY(1px)}';const m=h;const b=[];const f=class{constructor(s){e(this,s);this.inheritedAttributes={};this.maxItems=undefined;this.itemsBeforeCollapse=1;this.itemsAfterCollapse=2;this.ariaLabelExpandButton=c;this.showHiddenItems=false}handleCollapsePropsChange(){this.updateCollapsedViewMode()}handleAriaLabelExpandBtnChange(e){var s;(s=this.expandBtnEl)===null||s===void 0?void 0:s.setAriaAttribute("aria-label",e)}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},n(this.el)),r(this.el,b));this.updateCollapsedViewMode()}componentDidLoad(){var e;(e=this.expandBtnEl)===null||e===void 0?void 0:e.setAriaAttribute("aria-label",this.ariaLabelExpandButton)}async setAriaAttribute(e,s){o(this.navEl,e,s)}getBreadcrumbItems(){return Array.from(this.el.querySelectorAll("wcs-breadcrumb-item"))}shouldCollapseItems(){return!!this.maxItems&&this.getBreadcrumbItems().length>this.maxItems&&this.itemsBeforeCollapse+this.itemsAfterCollapse<=this.maxItems}updateCollapsedViewMode(){if(this.shouldCollapseItems()){this.assignSlotNamesForCollapsedViewMode()}else{this.assignSlotNamesForNonCollapsedViewMode()}}assignSlotNamesForCollapsedViewMode(){const e=this.getBreadcrumbItems();const s=this.itemsBeforeCollapse-1;const t=e.length-this.itemsAfterCollapse;e.forEach(((a,i)=>{if(i<=s){a.slot="items-before-expand-btn";a.last=false}else if(i>s&&i{s.slot="non-collapsed";s.last=t===e.length-1}))}handleSlotChange(){this.updateCollapsedViewMode();this.showHiddenItems=false;s(this)}handleOnExpandBtnClick(){this.showHiddenItems=true;requestAnimationFrame((()=>this.setFocusToFirstHiddenItem()))}setFocusToFirstHiddenItem(){const e=this.getBreadcrumbItems();const s=this.itemsBeforeCollapse;const t=e[s];const a=t.shadowRoot.querySelector("slot");const i=a.assignedElements()[0];i===null||i===void 0?void 0:i.focus()}renderExpandAllButton(){const e=this.itemsAfterCollapse===0;return t("div",{role:"listitem",class:"item-not-slotted"},t("wcs-button",{mode:"clear",shape:"square",size:"s",onClick:this.handleOnExpandBtnClick.bind(this),ref:e=>this.expandBtnEl=e},t("wcs-mat-icon",{icon:"more_horiz"})),!e&&t("span",{class:"item-icon","aria-hidden":"true"},d))}render(){const e=this.shouldCollapseItems()&&!this.showHiddenItems;return t(a,{key:"1707e6c3ee0cc621c75f85f927b543dea1af4342"},t("nav",Object.assign({key:"b326c58b86feed5092f8a6c5d46c3cf2dd06a783",class:`wcs-breadcrumb-container${this.showHiddenItems?" show-hidden-items":""}`,"aria-label":l},this.inheritedAttributes,{ref:e=>this.navEl=e}),t("div",{key:"9a4395f63e0895bca1918d7236a01dd9d0437f26",role:"list"},t("slot",{key:"b74aa1fc77ddfc892f0ba79bceffceab10e49c1f",onSlotchange:this.handleSlotChange.bind(this)}),t("slot",{key:"c616f6281282a7088073ceb131f12f93d1126c8b",name:"non-collapsed"}),t("slot",{key:"0db22f440bc3956219c343e4dac60bfe09581d73",name:"items-before-expand-btn"}),t("slot",{key:"a29809c5122d539d11c1e53e591ed4342c338810",name:"hidden-items"}),e&&this.renderExpandAllButton(),t("slot",{key:"aa906ec3b5805f78136b39e5d56937cdca7a7f38",name:"items-after-expand-btn"}))))}get el(){return i(this)}static get watchers(){return{maxItems:["handleCollapsePropsChange"],itemsBeforeCollapse:["handleCollapsePropsChange"],itemsAfterCollapse:["handleCollapsePropsChange"],ariaLabelExpandButton:["handleAriaLabelExpandBtnChange"]}}};f.style=m;export{f as wcs_breadcrumb}; +//# sourceMappingURL=p-0326f834.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-0326f834.entry.js.map b/public/wcs/p-0326f834.entry.js.map new file mode 100644 index 0000000..3c0634a --- /dev/null +++ b/public/wcs/p-0326f834.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["breadcrumbCss","WcsBreadcrumbStyle0","BREADCRUMB_INHERITED_ATTRS","Breadcrumb","this","inheritedAttributes","EXPAND_BTN_ARIA_LABEL_DEFAULT","handleCollapsePropsChange","updateCollapsedViewMode","handleAriaLabelExpandBtnChange","newValue","_a","expandBtnEl","setAriaAttribute","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","componentDidLoad","ariaLabelExpandButton","attr","value","setOrRemoveAttribute","navEl","getBreadcrumbItems","Array","from","querySelectorAll","shouldCollapseItems","maxItems","length","itemsBeforeCollapse","itemsAfterCollapse","assignSlotNamesForCollapsedViewMode","assignSlotNamesForNonCollapsedViewMode","breadcrumbItems","itemBeforeExpandBtnIndex","itemAfterExpandBtnIndex","forEach","breadcrumbItem","index","slot","last","handleSlotChange","showHiddenItems","forceUpdate","handleOnExpandBtnClick","requestAnimationFrame","setFocusToFirstHiddenItem","firstHiddenItemIndex","firstHiddenItem","firstHiddenItemSlot","shadowRoot","querySelector","breadcrumbItemLinkToFocus","assignedElements","focus","renderExpandAllButton","expandBtnIsLastItem","h","role","class","mode","shape","size","onClick","bind","ref","icon","ICONS_FONT_CHEVRON_UNICODE","render","showExpandBtn","Host","key","NAV_ARIA_LABEL_DEFAULT","onSlotchange","name"],"sources":["src/components/breadcrumb/breadcrumb.scss?tag=wcs-breadcrumb&encapsulation=shadow","src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":[":host {\n --wcs-breadcrumb-icon-color: var(--wcs-semantic-color-foreground-brand);\n --wcs-breadcrumb-icon-font-size: 0.5rem;\n --wcs-breadcrumb-gap: var(--wcs-semantic-spacing-base);\n}\n\nnav.wcs-breadcrumb-container {\n slot[name=\"hidden-items\"] {\n display: none;\n }\n &.show-hidden-items {\n slot[name=\"hidden-items\"] {\n display: contents;\n }\n }\n\n div[role=\"list\"] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n margin: 0;\n padding: 0;\n list-style: none;\n\n ::slotted(wcs-breadcrumb-item) {\n margin-right: var(--wcs-breadcrumb-gap);\n }\n\n ::slotted(wcs-breadcrumb-item:last-child) {\n margin-right: 0;\n }\n\n .item-not-slotted {\n display: flex;\n align-items: center;\n margin-right: var(--wcs-breadcrumb-gap);\n\n wcs-button[size=\"s\"] {\n --wcs-button-min-width: 24px;\n --wcs-button-height: 20px;\n --wcs-button-border-radius: 2px;\n transform: translateY(2px);\n }\n\n .item-icon {\n margin-left: calc(var(--wcs-breadcrumb-gap) - 1px);\n font-family: \"icons\";\n font-size: var(--wcs-breadcrumb-icon-font-size);\n color: var(--wcs-breadcrumb-icon-color);\n transform: translateY(1px);\n }\n }\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element, forceUpdate,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\n\nimport { inheritAttributes, inheritAriaAttributes, setOrRemoveAttribute } from '../../utils/helpers';\nimport { AriaAttributeName, MutableAriaAttribute } from '../../utils/mutable-aria-attribute';\nimport {\n ICONS_FONT_CHEVRON_UNICODE,\n NAV_ARIA_LABEL_DEFAULT,\n EXPAND_BTN_ARIA_LABEL_DEFAULT\n} from './breadcrumb-constants';\n\nconst BREADCRUMB_INHERITED_ATTRS = [];\n\n/**\n * A breadcrumb trail consists of a list of links to the parent pages of the current page in hierarchical order. \n * It helps users find their place within a website or web application. Breadcrumbs are often placed horizontally before a page's main content.\n *\n * ## Accessibility guidelines 💡\n * > - If the last item is a link to the current page, you must set the `aria-current` attribute to `page` on `wcs-breadcrumb-item`.\n * > - If the element representing the current page is not a link, `aria-current` is optional.\n * > - You can set the attribute `aria-label` on `wcs-breadcrumb`, it will be passed to the native `nav` element located inside its shadow DOM. \n * > You can find the `aria-label` default value in the table below. If your application is in English, you can set it to `Breadcrumb`.\n * > - You can do the same thing for the `aria-label` of the expand button when the breadcrumb is collapsed. You can find its default value\n * > in the table below too. \n * > - If you need to **dynamically change the `aria-label` attribute of `wcs-breadcrumb` after the first render**, you can use the \n * > `setAriaAttribute` JS method (example below). For the expand button however, you can update the prop `ariaLabelExpandButton`. \n * > Note: we're working on updating the component automatically when attributes change. \n *\n * > ```javascript\n * > const wcsButton = document.querySelector('wcs-button');\n * > await wcsButton.setAriaAttribute('aria-label', 'new label');\n * > ```\n * \n * @cssprop --wcs-breadcrumb-icon-color - Icon color\n * @cssprop --wcs-breadcrumb-icon-font-size - Icon font size\n * @cssprop --wcs-breadcrumb-gap - Gap between breadcrumb items\n */\n@Component({\n tag: 'wcs-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb implements ComponentInterface, MutableAriaAttribute {\n @Element() private el: HTMLElement;\n private navEl?: HTMLElement;\n private expandBtnEl: HTMLWcsButtonElement;\n\n private inheritedAttributes: { [k: string]: any } = {};\n\n /**\n * If the number of breadcrumb items exceeds this maximum,\n * the breadcrumb will collapse and show an expand button. \n * If this prop is `undefined`, breadcrumb items will never collapse.\n */\n @Prop() maxItems?: number;\n /**\n * The number of breadcrumb items to show before the expand button.\n * If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,\n * the breadcrumb will not be collapsed.\n */\n @Prop() itemsBeforeCollapse: number = 1;\n /**\n * The number of breadcrumb items to show after the expand button.\n * If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,\n * the breadcrumb will not be collapsed.\n */\n @Prop() itemsAfterCollapse: number = 2;\n /** Set `aria-label` for the expand button when the breadcrumb is collapsed. */\n @Prop() ariaLabelExpandButton?: string = EXPAND_BTN_ARIA_LABEL_DEFAULT;\n\n /**\n * Show breadcrumb items that are inside the hidden-items slot.\n */\n @State() private showHiddenItems: boolean = false;\n\n @Watch('maxItems')\n @Watch('itemsBeforeCollapse')\n @Watch('itemsAfterCollapse')\n handleCollapsePropsChange() {\n this.updateCollapsedViewMode();\n }\n\n @Watch('ariaLabelExpandButton')\n handleAriaLabelExpandBtnChange(newValue: string) {\n this.expandBtnEl?.setAriaAttribute('aria-label', newValue);\n }\n\n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, BREADCRUMB_INHERITED_ATTRS),\n };\n this.updateCollapsedViewMode();\n }\n\n componentDidLoad(): void {\n this.expandBtnEl?.setAriaAttribute('aria-label', this.ariaLabelExpandButton);\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.navEl, attr, value);\n }\n\n private getBreadcrumbItems(): HTMLWcsBreadcrumbItemElement[] {\n return Array.from(this.el.querySelectorAll('wcs-breadcrumb-item'));\n }\n\n private shouldCollapseItems(): boolean {\n return (\n !!this.maxItems &&\n this.getBreadcrumbItems().length > this.maxItems &&\n this.itemsBeforeCollapse + this.itemsAfterCollapse <= this.maxItems\n );\n }\n\n private updateCollapsedViewMode(): void {\n if (this.shouldCollapseItems()) {\n this.assignSlotNamesForCollapsedViewMode();\n } else {\n this.assignSlotNamesForNonCollapsedViewMode();\n }\n }\n\n /**\n * Setting slot names on breadcrumb items allows to leverage JSX in the render method.\n */\n private assignSlotNamesForCollapsedViewMode(): void {\n const breadcrumbItems = this.getBreadcrumbItems();\n const itemBeforeExpandBtnIndex = this.itemsBeforeCollapse - 1;\n const itemAfterExpandBtnIndex = breadcrumbItems.length - this.itemsAfterCollapse;\n\n breadcrumbItems.forEach((breadcrumbItem, index) => {\n if (index <= itemBeforeExpandBtnIndex) {\n breadcrumbItem.slot = 'items-before-expand-btn';\n breadcrumbItem.last = false;\n } else if (index > itemBeforeExpandBtnIndex && index < itemAfterExpandBtnIndex) {\n breadcrumbItem.slot = 'hidden-items';\n breadcrumbItem.last = false;\n } else {\n breadcrumbItem.slot = 'items-after-expand-btn';\n breadcrumbItem.last = index === breadcrumbItems.length - 1;\n }\n });\n }\n \n private assignSlotNamesForNonCollapsedViewMode(): void {\n const breadcrumbItems = this.getBreadcrumbItems();\n breadcrumbItems.forEach((breadcrumbItem, index) => {\n breadcrumbItem.slot = 'non-collapsed';\n breadcrumbItem.last = index === breadcrumbItems.length - 1;\n });\n }\n\n private handleSlotChange(): void {\n this.updateCollapsedViewMode();\n this.showHiddenItems = false;\n forceUpdate(this);\n }\n\n private handleOnExpandBtnClick(): void {\n // We leave the breadcrumb items in the hidden-items slot, without passing them to\n // the non-collapsed slot, so that we know which items to hide again later if needed.\n // For future implementations, the expand button could show or hide hidden items on click,\n // with a wcs-dropdown for example.\n this.showHiddenItems = true;\n // We wait for the first hidden item to be visible in the DOM again\n // to be able to focus it.\n requestAnimationFrame(() => this.setFocusToFirstHiddenItem());\n }\n\n /**\n * Avoid losing focus after clicking the expand button.\n * We need to give focus back to the first breadcrumb item link that was hidden before.\n */\n private setFocusToFirstHiddenItem(): void {\n const breadcrumbItems = this.getBreadcrumbItems();\n const firstHiddenItemIndex = this.itemsBeforeCollapse;\n const firstHiddenItem = breadcrumbItems[firstHiddenItemIndex];\n const firstHiddenItemSlot =\n firstHiddenItem.shadowRoot.querySelector('slot') as HTMLSlotElement;\n const breadcrumbItemLinkToFocus =\n firstHiddenItemSlot.assignedElements()[0] as HTMLAnchorElement;\n breadcrumbItemLinkToFocus?.focus();\n }\n\n private renderExpandAllButton() {\n const expandBtnIsLastItem = this.itemsAfterCollapse === 0;\n return (\n
\n this.expandBtnEl = el}\n >\n \n \n {!expandBtnIsLastItem && (\n \n {ICONS_FONT_CHEVRON_UNICODE}\n \n )}\n
\n );\n }\n\n render() {\n const showExpandBtn = this.shouldCollapseItems() && !this.showHiddenItems;\n return (\n \n this.navEl = el}\n >\n {/*\n * We use aria roles here instead of an
    tag\n * so that the list can be browsed correctly on Firefox with screen readers.\n * There seems to be an issue with Firefox and the Shadow DOM.\n */}\n
    \n {/* Only the main slot shoud be used by consumers. */}\n \n {/* Non collapsed view mode */}\n \n {/* Collapsed view mode */}\n \n \n {showExpandBtn && this.renderExpandAllButton()}\n \n
    \n \n \n );\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/wcs/p-0424e545.entry.js b/public/wcs/p-0424e545.entry.js new file mode 100644 index 0000000..ea158dc --- /dev/null +++ b/public/wcs/p-0424e545.entry.js @@ -0,0 +1,2 @@ +import{r as c,h as a,H as L}from"./p-32e583ea.js";const i=":host{--wcs-galactic-background-color:var(--wcs-semantic-color-background-surface-inverse);--wcs-galactic-text-color:var(--wcs-semantic-color-text-inverse);--wcs-galactic-height:var(--wcs-semantic-size-s);--wcs-galactic-font-size:var(--wcs-semantic-font-size-label-2);--wcs-galactic-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-galactic-max-width:var(--wcs-com-content-max-width);--wcs-galactic-padding-horizontal:calc(2 * var(--wcs-semantic-spacing-base));--wcs-galactic-logo-height:var(--wcs-semantic-size-s);--wcs-galactic-logo-margin-right:calc(2 * var(--wcs-semantic-spacing-base));--wcs-semantic-color-foreground-action-tertiary-default:var(--wcs-galactic-text-color);display:block;background-color:var(--wcs-galactic-background-color)}.container{height:var(--wcs-galactic-height);align-items:center;justify-content:space-between;color:var(--wcs-galactic-text-color);font-size:var(--wcs-galactic-font-size);font-weight:var(--wcs-galactic-font-weight);display:flex;max-width:var(--wcs-galactic-max-width);padding:0 var(--wcs-galactic-padding-horizontal);margin:0 auto}.container #sncf-logo{height:var(--wcs-galactic-logo-height);margin-right:var(--wcs-galactic-logo-margin-right)}.container .logo-container{display:flex;align-items:center}.actions-container{display:flex;align-items:center}";const s=i;const t=class{constructor(a){c(this,a);this.text=undefined;this.show=false}render(){return a(L,{key:"bcede9aa03d2014887eeaa4d5728d57c32a69de2"},a("div",{key:"2d031655b20b592b77e2227a195f15535071c069",class:"container"},a("div",{key:"1d3a345c56925946f5b39ad9edaad7ee927343cc",class:"logo-container"},a("img",{key:"3f7e9a0a7df3a954d21e328da562189771baf8a8",src:w,id:"sncf-logo",alt:"SNCF"}),a("span",{key:"68c00801e7f2564930d6a5f77fc6f45511a321cf"},this.text)),a("div",{key:"3724b08dca457a9be21ecb84925ed3fea4e49f95",class:"actions-container"},a("slot",{key:"572f4ca9036c737a579f2c58ec113cada4dd421c"}))))}};const w="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy"+"c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5"+"rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHX0dSQURJRU5UIiBncmFkaW"+"VudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIxNiIgeDI9IjMxLjk1OTMiIHkyPSIxNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0e"+"WxlPSJzdG9wLWNvbG9yOiM4MzJGNzAiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4yNDcyIiBzdHlsZT0ic3RvcC1jb2xvcjojQUMyODdDIi8+DQoJCTxz"+"dG9wICBvZmZzZXQ9IjAuODE0NiIgc3R5bGU9InN0b3AtY29sb3I6I0RGMjUzMCIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2x"+"vcjojREYyNTMwIi8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR19HUkFESUVOVCkiIGQ9Ik0wLjYsNy43QzAuMiw3Lj"+"csMCw3LjgsMCw4LjJ2MTUuN2MwLDAuMywwLjIsMC41LDAuNSwwLjVoMjhjMC4zLDAsMC41LDAsMC42LTAuNGMwLDAsMi44LTguOSwyLjktOSBjMC4xL"+"TAuMywwLTAuNS0wLjMtMC43QzIyLjYsOC41LDguOSw3LjYsMi44LDcuNkMxLjksNy42LDEuMSw3LjYsMC42LDcuN3oiLz4NCgk8cGF0aCBmaWxsPSIj"+"RkZGRkZGIiBkPSJNNi40LDE3LjdjLTEtMC41LTEuNy0wLjgtMS42LTEuM0M1LDE1LjgsNi4xLDE1LjYsNywxNS42YzAuNSwwLDAuOCwwLjEsMS4yLDA"+"uMmwwLjMtMS4xIGMtMC41LTAuMS0wLjgtMC4xLTEuNC0wLjFjLTEuOSwwLTMuNiwwLjUtNCwxLjZjLTAuNSwxLjMsMC45LDIsMi4yLDIuNmMxLDAuNS"+"wxLjgsMC45LDEuNSwxLjVjLTAuMiwwLjUtMC45LDAuNy0yLDAuNyBjLTAuOSwwLTItMC4zLTIuOS0wLjdsLTAuNSwxLjFjMC42LDAuMywyLDAuNywzL"+"jEsMC43YzIuMSwwLDMuNS0wLjUsNC4xLTEuN0M5LjMsMTkuMSw3LjcsMTguMyw2LjQsMTcuN3oiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJN"+"OS4zLDE5LjZDOS4zLDE5LjcsOS4zLDE5LjcsOS4zLDE5LjZjMC4xLDAsMC4xLDAsMC4xLDBjMCwwLDEtMy4yLDEtMy4yYzEuMSwxLjUsMi4xLDMuNSw"+"yLjcsNS42aDEuNyBsMC45LTIuN2MwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMC4xLDBjMC4zLDEuNywxLjksMi44LDQuMywyLjhjMS41LDAsMi45LTAuNC"+"wzLjItMC42bDAuOS0yLjhoMy40bDAuMy0xLjFoLTMuNGwwLjYtMS44aDQuMSBsMC40LTEuMWgtNS43bC0xLjksNi4xYy0wLjQsMC4xLTAuOSwwLjItM"+"S41LDAuMmMtMS4xLDAtMi4xLTAuMy0yLjYtMC45Yy0wLjQtMC41LTAuNS0xLTAuNC0xLjdjMC4yLTEuNiwxLjgtMi42LDMuOC0yLjYgYzAuNCwwLDAu"+"OSwwLDEuMywwLjFsMC40LTEuMmMtMC41LTAuMS0xLjEtMC4xLTEuNy0wLjFjLTEuOCwwLTMuNCwwLjYtNC40LDEuN2MwLDAtMC4xLDAtMC4xLDBjMCw"+"wLTAuMSwwLDAsMGwwLjUtMS42aC0xLjUgTDE0LDE5LjhjLTAuNS0xLjUtMS42LTMuNS0yLjktNS4xSDkuNWwtMS4yLDMuN0M4LjksMTguOCw5LjEsMT"+"kuMiw5LjMsMTkuNnoiLz4NCjwvc3ZnPg0K";t.style=s;export{t as wcs_galactic}; +//# sourceMappingURL=p-0424e545.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-0424e545.entry.js.map b/public/wcs/p-0424e545.entry.js.map new file mode 100644 index 0000000..03599a2 --- /dev/null +++ b/public/wcs/p-0424e545.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["galacticCss","WcsGalacticStyle0","Galactic","render","h","Host","key","class","src","SNCF_BASE64_SVG_LOGO","id","alt","this","text"],"sources":["src/components/galactic/galactic.scss?tag=wcs-galactic&encapsulation=shadow","src/components/galactic/galactic.tsx"],"sourcesContent":["\n:host {\n --wcs-galactic-background-color: var(--wcs-semantic-color-background-surface-inverse);\n --wcs-galactic-text-color: var(--wcs-semantic-color-text-inverse);\n --wcs-galactic-height: var(--wcs-semantic-size-s);\n --wcs-galactic-font-size: var(--wcs-semantic-font-size-label-2);\n --wcs-galactic-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-galactic-max-width: var(--wcs-com-content-max-width);\n --wcs-galactic-padding-horizontal: calc(2 * var(--wcs-semantic-spacing-base));\n --wcs-galactic-logo-height: var(--wcs-semantic-size-s);\n --wcs-galactic-logo-margin-right: calc(2 * var(--wcs-semantic-spacing-base));\n\n /* To enforce contrast color on dropdown / buttons added in the galactic slot */\n --wcs-semantic-color-foreground-action-tertiary-default: var(--wcs-galactic-text-color);\n\n display: block;\n background-color: var(--wcs-galactic-background-color);\n}\n\n.container {\n height: var(--wcs-galactic-height);\n align-items: center;\n justify-content: space-between;\n color: var(--wcs-galactic-text-color);\n font-size: var(--wcs-galactic-font-size);\n font-weight: var(--wcs-galactic-font-weight);\n display: flex;\n max-width: var(--wcs-galactic-max-width);\n padding: 0 var(--wcs-galactic-padding-horizontal);\n margin: 0 auto;\n\n #sncf-logo {\n height: var(--wcs-galactic-logo-height);\n margin-right: var(--wcs-galactic-logo-margin-right);\n }\n\n .logo-container {\n display: flex;\n align-items: center;\n }\n}\n\n.actions-container {\n display: flex;\n align-items: center;\n}\n","import { Component, ComponentInterface, Host, h, Prop, State } from '@stencil/core';\n\n/**\n * *Part of communication design system*\n * This component replaces the vertical navbar for sites and applications that use the communication design system\n * \n * @slot Main container slot\n * \n * @cssprop --wcs-galactic-background-color - Background color of the bar\n * @cssprop --wcs-galactic-height - Height of the bar\n * @cssprop --wcs-galactic-text-color - Text color of the bar\n * @cssprop --wcs-galactic-font-size - Font size of the text in the bar\n * @cssprop --wcs-galactic-font-weight - Font weight of the text in the bar\n * @cssprop --wcs-galactic-max-width - Maximum width of the bar\n * @cssprop --wcs-galactic-padding-horizontal - Horizontal padding of the bar\n * @cssprop --wcs-galactic-logo-height - Height of the SNCF logo\n * @cssprop --wcs-galactic-logo-margin-right - Margin right of the SNCF logo\n */\n@Component({\n tag: 'wcs-galactic',\n styleUrl: 'galactic.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n /** Text to display in the bar */\n @Prop() text: string;\n @State() show: boolean = false;\n\n\n render(): any {\n return (\n
    \n
    \n \n {this.text}\n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\n\nconst SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +\n 'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +\n 'rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHX0dSQURJRU5UIiBncmFkaW' +\n 'VudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIxNiIgeDI9IjMxLjk1OTMiIHkyPSIxNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0e' +\n 'WxlPSJzdG9wLWNvbG9yOiM4MzJGNzAiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4yNDcyIiBzdHlsZT0ic3RvcC1jb2xvcjojQUMyODdDIi8+DQoJCTxz' +\n 'dG9wICBvZmZzZXQ9IjAuODE0NiIgc3R5bGU9InN0b3AtY29sb3I6I0RGMjUzMCIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2x' +\n 'vcjojREYyNTMwIi8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR19HUkFESUVOVCkiIGQ9Ik0wLjYsNy43QzAuMiw3Lj' +\n 'csMCw3LjgsMCw4LjJ2MTUuN2MwLDAuMywwLjIsMC41LDAuNSwwLjVoMjhjMC4zLDAsMC41LDAsMC42LTAuNGMwLDAsMi44LTguOSwyLjktOSBjMC4xL' +\n 'TAuMywwLTAuNS0wLjMtMC43QzIyLjYsOC41LDguOSw3LjYsMi44LDcuNkMxLjksNy42LDEuMSw3LjYsMC42LDcuN3oiLz4NCgk8cGF0aCBmaWxsPSIj' +\n 'RkZGRkZGIiBkPSJNNi40LDE3LjdjLTEtMC41LTEuNy0wLjgtMS42LTEuM0M1LDE1LjgsNi4xLDE1LjYsNywxNS42YzAuNSwwLDAuOCwwLjEsMS4yLDA' +\n 'uMmwwLjMtMS4xIGMtMC41LTAuMS0wLjgtMC4xLTEuNC0wLjFjLTEuOSwwLTMuNiwwLjUtNCwxLjZjLTAuNSwxLjMsMC45LDIsMi4yLDIuNmMxLDAuNS' +\n 'wxLjgsMC45LDEuNSwxLjVjLTAuMiwwLjUtMC45LDAuNy0yLDAuNyBjLTAuOSwwLTItMC4zLTIuOS0wLjdsLTAuNSwxLjFjMC42LDAuMywyLDAuNywzL' +\n 'jEsMC43YzIuMSwwLDMuNS0wLjUsNC4xLTEuN0M5LjMsMTkuMSw3LjcsMTguMyw2LjQsMTcuN3oiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJN' +\n 'OS4zLDE5LjZDOS4zLDE5LjcsOS4zLDE5LjcsOS4zLDE5LjZjMC4xLDAsMC4xLDAsMC4xLDBjMCwwLDEtMy4yLDEtMy4yYzEuMSwxLjUsMi4xLDMuNSw' +\n 'yLjcsNS42aDEuNyBsMC45LTIuN2MwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMC4xLDBjMC4zLDEuNywxLjksMi44LDQuMywyLjhjMS41LDAsMi45LTAuNC' +\n 'wzLjItMC42bDAuOS0yLjhoMy40bDAuMy0xLjFoLTMuNGwwLjYtMS44aDQuMSBsMC40LTEuMWgtNS43bC0xLjksNi4xYy0wLjQsMC4xLTAuOSwwLjItM' +\n 'S41LDAuMmMtMS4xLDAtMi4xLTAuMy0yLjYtMC45Yy0wLjQtMC41LTAuNS0xLTAuNC0xLjdjMC4yLTEuNiwxLjgtMi42LDMuOC0yLjYgYzAuNCwwLDAu' +\n 'OSwwLDEuMywwLjFsMC40LTEuMmMtMC41LTAuMS0xLjEtMC4xLTEuNy0wLjFjLTEuOCwwLTMuNCwwLjYtNC40LDEuN2MwLDAtMC4xLDAtMC4xLDBjMCw' +\n 'wLTAuMSwwLDAsMGwwLjUtMS42aC0xLjUgTDE0LDE5LjhjLTAuNS0xLjUtMS42LTMuNS0yLjktNS4xSDkuNWwtMS4yLDMuN0M4LjksMTguOCw5LjEsMT' +\n 'kuMiw5LjMsMTkuNnoiLz4NCjwvc3ZnPg0K';\n"],"mappings":"kDAAA,MAAMA,EAAc,8xCACpB,MAAAC,EAAeD,E,MCsBFE,EAAQ,M,uDAGQ,K,CAGzB,MAAAC,GACI,OAAQC,EAACC,EAAI,CAAAC,IAAA,4CACLF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,aACPH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,kBACPH,EAAA,OAAAE,IAAA,2CACIE,IAAKC,EACLC,GAAG,YACHC,IAAI,SACRP,EAAA,QAAAE,IAAA,4CAAOM,KAAKC,OAEhBT,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBACPH,EAAA,QAAAE,IAAA,+C,GASxB,MAAMG,EAAuB,6FACzB,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,sHACA,qC"} \ No newline at end of file diff --git a/public/wcs/p-0758d22e.entry.js b/public/wcs/p-0758d22e.entry.js new file mode 100644 index 0000000..790873a --- /dev/null +++ b/public/wcs/p-0758d22e.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as o,H as t}from"./p-32e583ea.js";const c=":host{--wcs-footer-background-color:var(--wcs-semantic-color-background-surface-inverse);--wcs-footer-text-color:var(--wcs-semantic-color-text-inverse);--wcs-footer-link-text-color:var(--wcs-semantic-color-text-inverse);--wcs-footer-link-text-color-hover:var(--wcs-semantic-color-text-inverse);--wcs-footer-link-font-size:var(--wcs-semantic-font-size-label-2);--wcs-footer-link-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-footer-link-gap:calc(4 * var(--wcs-semantic-spacing-base));--wcs-footer-gap:var(--wcs-semantic-spacing-large);--wcs-footer-end-gap:var(--wcs-semantic-spacing-large);--wcs-footer-max-width:var(--wcs-semantic-breakpoint-desktop, var(--wcs-com-content-max-width));--wcs-footer-padding:calc(3 * var(--wcs-semantic-spacing-base));display:block;width:100%;background-color:var(--wcs-footer-background-color);color:var(--wcs-footer-text-color)}:host .end{margin-top:var(--wcs-footer-gap);gap:var(--wcs-footer-end-gap);width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline}:host .end .end-left,:host .end .end-right{display:flex;flex-wrap:wrap;column-gap:var(--wcs-footer-link-gap)}@media only screen and (max-width: 1024px){:host .end .end-left,:host .end .end-right{flex-direction:column}}:host .end slot[name=end-left]::slotted(a){color:var(--wcs-footer-link-text-color, var(--wcs-footer-text-color));font-size:14px;font-weight:500;text-decoration:none}:host .end slot[name=end-left]::slotted(a:hover){color:var(--wcs-footer-link-text-color-hover)}:host .container{margin:0 auto;display:flex;flex-direction:column;max-width:var(--wcs-footer-max-width);padding:var(--wcs-footer-padding)}";const a=c;const r=class{constructor(o){e(this,o)}render(){return o(t,{key:"6fe975235d6de2793e55e8d10860649b5684c093"},o("footer",{key:"80b0ff721eedab3e4cc00fd2484a638718fc8b13",role:"contentinfo"},o("div",{key:"f7d676d79f4d8780736e3a28e3e4b2aa1f0786e1",class:"container"},o("div",{key:"e1f9ea823133d972d3eb2bc8e7eaa18558448a73"},o("slot",{key:"d7177b9e98ac24ad39008669de01899e71c27079"})),o("div",{key:"849ceafdd459f24b672e1f68edf86ffd4fcce733",class:"end"},o("div",{key:"7077861e872bbb50e7e5de0c968fe2222e9bf7d7",class:"end-left"},o("slot",{key:"dded653e62bf683e0514c51b06e55ccb44f70c54",name:"end-left"})),o("div",{key:"ec25d2a5f84cb477eaa6a63de4df6ce6e9db07c5",class:"end-right"},o("slot",{key:"4201096294b44a29f74112c2acaa2163f9ecfcb9",name:"end-right"}))))))}};r.style=a;export{r as wcs_footer}; +//# sourceMappingURL=p-0758d22e.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-0758d22e.entry.js.map b/public/wcs/p-0758d22e.entry.js.map new file mode 100644 index 0000000..78d3a27 --- /dev/null +++ b/public/wcs/p-0758d22e.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["footerCss","WcsFooterStyle0","Footer","render","h","Host","key","role","class","name"],"sources":["src/components/footer/footer.scss?tag=wcs-footer&encapsulation=shadow","src/components/footer/footer.tsx"],"sourcesContent":[":host {\n --wcs-footer-background-color: var(--wcs-semantic-color-background-surface-inverse);\n --wcs-footer-text-color: var(--wcs-semantic-color-text-inverse);\n --wcs-footer-link-text-color: var(--wcs-semantic-color-text-inverse);\n --wcs-footer-link-text-color-hover: var(--wcs-semantic-color-text-inverse);\n --wcs-footer-link-font-size: var(--wcs-semantic-font-size-label-2);\n --wcs-footer-link-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-footer-link-gap: calc(4 * var(--wcs-semantic-spacing-base));\n\n --wcs-footer-gap: var(--wcs-semantic-spacing-large);\n --wcs-footer-end-gap: var(--wcs-semantic-spacing-large);\n --wcs-footer-max-width: var(--wcs-semantic-breakpoint-desktop, var(--wcs-com-content-max-width));\n --wcs-footer-padding: calc(3 * var(--wcs-semantic-spacing-base));\n\n display: block;\n width: 100%;\n background-color: var(--wcs-footer-background-color);\n color: var(--wcs-footer-text-color);\n\n .end {\n margin-top: var(--wcs-footer-gap);\n gap: var(--wcs-footer-end-gap);\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: baseline;\n\n .end-left, .end-right {\n display: flex;\n flex-wrap: wrap;\n column-gap: var(--wcs-footer-link-gap);\n }\n\n @media only screen and (max-width:1024px) {\n .end-left, .end-right {\n flex-direction: column;\n }\n }\n\n slot[name=end-left]::slotted(a) {\n color: var(--wcs-footer-link-text-color, var(--wcs-footer-text-color));\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n }\n\n slot[name=end-left]::slotted(a:hover) {\n color: var(--wcs-footer-link-text-color-hover);\n }\n\n }\n\n .container {\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n max-width: var(--wcs-footer-max-width);\n padding: var(--wcs-footer-padding);\n }\n\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n/**\n * The footer component has been designed to leave as much customization as possible to the developer. The footers are often specific to the application developed.\n * \n * @cssprop --wcs-footer-background-color - Background color of the footer\n * @cssprop --wcs-footer-text-color - Text color of the footer\n * @cssprop --wcs-footer-link-text-color - Text color of the links in the footer\n * @cssprop --wcs-footer-link-text-color-hover - Text color of the links in the footer when hovered\n * @cssprop --wcs-footer-link-font-size - Font size of the links in the footer\n * @cssprop --wcs-footer-link-font-weight - Font weight of the links in the footer\n * @cssprop --wcs-footer-link-gap - Gap between the links in the footer\n * @cssprop --wcs-footer-gap - Vertical gap between the content and the two end slots\n * @cssprop --wcs-footer-end-gap - Horizontal gap between the right and left end slots\n * @cssprop --wcs-footer-max-width - Max width of the footer for responsive purposes \n * @cssprop --wcs-footer-padding - Padding all around the content of the footer\n * \n * @slot Main container slot\n * @slot end-left Bottom-left part of the footer\n * @slot end-right Bottom-right part of the footer\n */\n@Component({\n tag: 'wcs-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer implements ComponentInterface {\n render(): any {\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n )\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAY,unDAClB,MAAAC,EAAeD,E,MCyBFE,EAAM,M,yBACf,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,4CACDF,EAAA,UAAAE,IAAA,2CAAQC,KAAK,eACTH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACPJ,EAAA,OAAAE,IAAA,4CACIF,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKE,MAAM,OACPJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,YACPJ,EAAA,QAAAE,IAAA,2CAAMG,KAAK,cAEfL,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACPJ,EAAA,QAAAE,IAAA,2CAAMG,KAAK,kB"} \ No newline at end of file diff --git a/public/wcs/p-0b8157e7.entry.js b/public/wcs/p-0b8157e7.entry.js new file mode 100644 index 0000000..7623e93 --- /dev/null +++ b/public/wcs/p-0b8157e7.entry.js @@ -0,0 +1,2 @@ +export{G as wcs_grid_pagination}from"./p-c5bad0b8.js";import"./p-32e583ea.js";import"./p-52d77e1f.js"; +//# sourceMappingURL=p-0b8157e7.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-0b8157e7.entry.js.map b/public/wcs/p-0b8157e7.entry.js.map new file mode 100644 index 0000000..3e517f1 --- /dev/null +++ b/public/wcs/p-0b8157e7.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":[],"sources":[],"mappings":""} \ No newline at end of file diff --git a/public/wcs/p-18fa39f4.entry.js b/public/wcs/p-18fa39f4.entry.js new file mode 100644 index 0000000..a8bbcc5 --- /dev/null +++ b/public/wcs/p-18fa39f4.entry.js @@ -0,0 +1,2 @@ +import{h as r,r as t,c as e,H as s,g as o}from"./p-32e583ea.js";import{i,a,s as n,c as d,d as h}from"./p-52d77e1f.js";const c=({state:t})=>r("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none"},r("g",{class:(t==="none"?"":t)+" arrow-group"},r("path",{class:"arrow",fill:"#333333",d:"M10.0973 5.34619C9.79269 5.67941 9.29832 5.67941 8.99348 5.34619L6.78316 2.92128L6.78316 11.144C6.78316 11.6168 6.43368 12 6.00289 12C5.57187 12 5.22261 11.6168 5.22261 11.144L5.22261 2.92128L3.01219 5.34619C2.70802 5.67941 2.21341 5.67941 1.90881 5.34619C1.75655 5.17859 1.68005 4.95932 1.68005 4.73997C1.68005 4.52061 1.75655 4.30192 1.90881 4.13433L5.45122 0.250846C5.75597 -0.0836145 6.24977 -0.0836145 6.55454 0.250846L10.0973 4.13433C10.4017 4.46883 10.4017 5.01168 10.0973 5.34619Z"})));const l=":host{display:contents}:host th{color:var(--wcs-grid-header-text-color);background-color:var(--wcs-grid-header-background-color-default);border-bottom:var(--wcs-grid-header-border-bottom);border-left:var(--wcs-grid-header-border-left);border-radius:var(--wcs-grid-header-border-radius);padding:var(--wcs-grid-header-padding-vertical) var(--wcs-grid-header-padding-horizontal);text-align:left;align-content:center;transition:background-color var(--wcs-grid-header-transition-duration) ease-in-out;}:host th .grid-column-th-content{-webkit-appearance:none;appearance:none;background:none;border:none;outline:none;margin:0;padding:0;font-size:var(--wcs-grid-header-font-size);line-height:var(--wcs-grid-header-line-height);color:var(--wcs-grid-header-text-color);cursor:inherit;display:inline-flex;border-collapse:separate;font-family:inherit;text-align:left;align-items:center;gap:var(--wcs-semantic-spacing-base)}:host th .grid-column-th-content span{font-weight:var(--wcs-grid-header-font-weight)}:host th[aria-sort]:hover{background-color:var(--wcs-grid-header-background-color-hover)}:host th[aria-sort]:active{background-color:var(--wcs-grid-header-background-color-press)}:host th[aria-sort=ascending],:host th[aria-sort=descending]{--wcs-grid-header-sort-arrow-color:var(--wcs-grid-header-sort-arrow-color-default)}:host th[aria-sort=none]:hover{--wcs-grid-header-sort-arrow-color:var(--wcs-grid-header-sort-arrow-color-hover)}:host th:focus-visible,:host th:has(:focus-visible){outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-grid-outline-color);outline-offset:0;border-radius:0.1rem}@supports not selector(&:has(:focus-visible)){:host th:focus-within{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-grid-outline-color);outline-offset:0;border-radius:0.1rem}}:host .pointer{cursor:pointer}:host([hidden]){display:none !important}";const g=l;const u=".arrow-group{transform-origin:50% 50%;transition:transform var(--wcs-semantic-motion-duration-feedback-base, 150ms) ease-in-out}.arrow{fill:var(--wcs-grid-header-sort-arrow-color, transparent)}.desc{transform:rotate(180deg)}";const f=u;const w=["tabindex","title"];const b=class{constructor(r){t(this,r);this.wcsSortChange=e(this,"wcsSortChange",7);this.wcsHiddenChange=e(this,"wcsHiddenChange",7);this.inheritedAttributes={};this.path=undefined;this.name=undefined;this.sort=false;this.sortFn=undefined;this.formatter=undefined;this.sortOrder="none";this.width=undefined;this.customCells=false;this.hidden=false;this.cursorPosition=undefined;this.columnPosition=undefined}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},i(this.el)),a(this.el,w))}async setAriaAttribute(r,t){n(this.nativeTh,r,t)}parseMyObjectProp(r){this.wcsHiddenChange.emit(r)}sortOrderChange(r){this.emitSortConfig()}emitSortConfig(){if(!this.sort)return;this.wcsSortChange.emit({column:this.el,order:this.sortOrder,sortFn:this.sortFn})}getSortOrderForAriaSort(r){switch(r){case"asc":return"ascending";case"desc":return"descending";case"none":default:return"none"}}getTabIndex(){var r,t;return((r=this.cursorPosition)===null||r===void 0?void 0:r.col)===this.columnPosition&&((t=this.cursorPosition)===null||t===void 0?void 0:t.row)===0?0:-1}getTagName(){return this.sort?"button":"div"}delegateFocusToButton(){if(this.sort){this.buttonOrDiv.focus()}}render(){const t=this.getTagName();return r(s,{key:"e2c93e817abc5a61d6285f32779d915ff7368710",slot:"grid-column"},r("th",Object.assign({key:"c23695b8680146e66e75ea958dc9dd9cac6056ac",style:{width:this.width},class:this.sort?"pointer":"",tabIndex:this.sort?-1:this.getTabIndex(),scope:"col",onClick:this.onSortClick.bind(this),onKeyDown:this.handleSortKeyDown.bind(this),onFocus:this.delegateFocusToButton.bind(this),"aria-sort":this.sort?this.getSortOrderForAriaSort(this.sortOrder):null,ref:r=>this.nativeTh=r},this.inheritedAttributes),r(t,{key:"e936f0bd861b2d243071d45ccb4fa6bf8448f7a6",class:"grid-column-th-content",ref:r=>this.buttonOrDiv=r,tabIndex:this.sort?this.getTabIndex():-1},r("span",{key:"33e9e0238aa5cea93bff5f0522e30b7cfa787283"},this.name),this.sort?r("div",{class:"sort-arrow-container"},r(c,{state:this.sortOrder})):"")))}onSortClick(){if(!this.sort)return;this.sortOrder=this.sortOrder==="none"||this.sortOrder==="desc"?"asc":"desc"}handleSortKeyDown(r){if(d(r)||h(r)){r.preventDefault();this.onSortClick()}}get el(){return o(this)}static get watchers(){return{hidden:["parseMyObjectProp"],sortOrder:["sortOrderChange"]}}};b.style=g+f;export{b as wcs_grid_column}; +//# sourceMappingURL=p-18fa39f4.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-18fa39f4.entry.js.map b/public/wcs/p-18fa39f4.entry.js.map new file mode 100644 index 0000000..2cbc43a --- /dev/null +++ b/public/wcs/p-18fa39f4.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["GridSortArrow","state","h","xmlns","width","height","viewBox","fill","class","d","gridColumnCss","WcsGridColumnStyle0","gridSortArrowCss","WcsGridColumnStyle1","GRID_COLUMN_INHERITED_ATTRS","GridColumn","this","inheritedAttributes","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","setAriaAttribute","attr","value","setOrRemoveAttribute","nativeTh","parseMyObjectProp","newValue","wcsHiddenChange","emit","sortOrderChange","_","emitSortConfig","sort","wcsSortChange","column","order","sortOrder","sortFn","getSortOrderForAriaSort","getTabIndex","_a","cursorPosition","col","columnPosition","_b","row","getTagName","delegateFocusToButton","buttonOrDiv","focus","render","ButtonOrDiv","Host","key","slot","style","tabIndex","scope","onClick","onSortClick","bind","onKeyDown","handleSortKeyDown","onFocus","ref","name","_event","isSpaceKey","isEnterKey","preventDefault"],"sources":["src/components/grid-column/grid-sort-arrow.tsx","src/components/grid-column/grid-column.scss?tag=wcs-grid-column&encapsulation=shadow","src/components/grid-column/grid-sort-arrow.scss?tag=wcs-grid-column&encapsulation=shadow","src/components/grid-column/grid-column.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsSortOrder } from '../grid/grid-interface';\n\ninterface GridSortArrowProps {\n state: WcsSortOrder;\n}\n\nexport const GridSortArrow: FunctionalComponent = ({state}) => (\n \n \n \n \n \n\n);\n","@import '../../style/focus-outline.scss';\n\n:host {\n\n /* All css variables are in grid.scss.\n Any variable can be overridden here for a single grid-column by using the correct selector in CSS */\n\n display: contents;\n\n th {\n color: var(--wcs-grid-header-text-color);\n background-color: var(--wcs-grid-header-background-color-default);\n border-bottom: var(--wcs-grid-header-border-bottom);\n border-left: var(--wcs-grid-header-border-left);\n border-radius: var(--wcs-grid-header-border-radius);\n padding: var(--wcs-grid-header-padding-vertical) var(--wcs-grid-header-padding-horizontal);\n text-align: left;\n align-content: center;\n transition: background-color var(--wcs-grid-header-transition-duration) ease-in-out;\n\n .grid-column-th-content {\n // The following lines aim to avoid displaying the native button style of the agent\n -webkit-appearance: none;\n appearance: none;\n background: none;\n border: none;\n outline: none;\n margin: 0;\n padding: 0;\n font-size: var(--wcs-grid-header-font-size);\n line-height: var(--wcs-grid-header-line-height);\n color: var(--wcs-grid-header-text-color);\n cursor: inherit;\n display: inline-flex;\n border-collapse: separate;\n font-family: inherit;\n text-align: left;\n align-items: center;\n gap: var(--wcs-semantic-spacing-base);\n\n span {\n font-weight: var(--wcs-grid-header-font-weight);\n }\n }\n\n /* Hovered grid header */\n &[aria-sort]:hover {\n background-color: var(--wcs-grid-header-background-color-hover);\n }\n\n /* Pressed grid header */\n &[aria-sort]:active {\n background-color: var(--wcs-grid-header-background-color-press);\n }\n\n /* Grid header with asc or desc sort-config */\n &[aria-sort=ascending],\n &[aria-sort=descending] {\n --wcs-grid-header-sort-arrow-color: var(--wcs-grid-header-sort-arrow-color-default);\n }\n\n /* Hovered grid header, not sorted yet */\n &[aria-sort=none]:hover {\n --wcs-grid-header-sort-arrow-color: var(--wcs-grid-header-sort-arrow-color-hover);\n }\n\n // XXX: This code works in Firefox as well, but there is a browser-side rendering bug that prevents it from displaying correctly.\n // We decided to wait for Firefox to fix the bug instead adding a dirty fix here\n &:focus-visible, &:has(:focus-visible) {\n @include focus-outline($outline-color: var(--wcs-grid-outline-color), $outline-offset: 0);\n }\n\n @supports not selector(&:has(:focus-visible)) {\n &:focus-within {\n @include focus-outline($outline-color: var(--wcs-grid-outline-color), $outline-offset: 0);\n }\n }\n }\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n",".arrow-group {\n transform-origin: 50% 50%;\n transition: transform var(--wcs-semantic-motion-duration-feedback-base, 150ms) ease-in-out;\n}\n\n.arrow {\n fill: var(--wcs-grid-header-sort-arrow-color, transparent);\n}\n\n.desc {\n transform: rotate(180deg);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host, Method,\n Prop,\n Watch\n} from '@stencil/core';\nimport {\n WcsCellFormatter,\n WcsGridColumnSortChangeEventDetails,\n WcsSortFn,\n WcsSortOrder\n} from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\nimport {\n inheritAriaAttributes,\n inheritAttributes,\n isEnterKey,\n isSpaceKey,\n setOrRemoveAttribute\n} from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst GRID_COLUMN_INHERITED_ATTRS = ['tabindex', 'title'];\n\n/**\n * The grid column is a subcomponent of `wcs-grid` that represents a column of the table.\n * \n * @csspart [path]-column - CSS part for each column for styling. e.g: first_name-column, email-column\n */\n@Component({\n tag: 'wcs-grid-column',\n styleUrls: ['grid-column.scss', 'grid-sort-arrow.scss'],\n shadow: true\n})\nexport class GridColumn implements ComponentInterface, MutableAriaAttribute {\n @Element() private el: HTMLWcsGridColumnElement;\n private nativeTh!: HTMLTableHeaderCellElement;\n private buttonOrDiv: HTMLButtonElement | HTMLDivElement;\n private inheritedAttributes: { [k: string]: any } = {};\n /**\n * Represents the name of the field from the `data` object (e.g: first_name, last_name, email, ...)\n */\n @Prop() path: string;\n /**\n * The name of the column displayed on the table (e.g: First Name, Last Name, Email, ...)\n */\n @Prop() name: string;\n /**\n * Make the column sortable.\n */\n @Prop({ reflect: true }) sort: boolean = false;\n /**\n * Customizable sort function to change the comparison of values.\n */\n @Prop() sortFn: WcsSortFn;\n /**\n * Customizable formatter function to render the cell differently.\n */\n @Prop() formatter: WcsCellFormatter;\n /**\n * Defines if the column sort is ascending or descending. \n * `none` = the column is not sorted.\n */\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column `` element width.\n */\n @Prop() width: string;\n /**\n * Set to true if using a `wcs-custom-cell` linked to it.\n */\n @Prop({ reflect: true }) customCells: boolean = false;\n /**\n * Flag to hide the column.\n */\n @Prop({ reflect: true }) hidden: boolean = false;\n /**\n * Event emitted when the sort of the column is changed.\n */\n @Event() wcsSortChange!: EventEmitter;\n /**\n * Event emitted if the column is dynamically switching visibility.\n */\n @Event() wcsHiddenChange!: EventEmitter;\n\n /**\n * This property mustn't be set by hand, it is set by the wcs-grid component to move the focus between grid columns\n * using keyboard.\n * @internal\n */\n @Prop() public cursorPosition: {col: number, row: number};\n\n /**\n * This property mustn't be set by hand, it is set by the wcs-grid component to register the column index in a\n * grid in order to move the focus between the grid columns.\n * @internal\n */\n @Prop() public columnPosition: number;\n \n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, GRID_COLUMN_INHERITED_ATTRS),\n };\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeTh, attr, value);\n }\n\n @Watch('hidden')\n parseMyObjectProp(newValue: boolean) {\n this.wcsHiddenChange.emit(newValue);\n }\n\n @Watch('sortOrder')\n sortOrderChange(_: WcsSortOrder) {\n this.emitSortConfig();\n }\n\n emitSortConfig() {\n if (!this.sort) return;\n this.wcsSortChange.emit({\n column: this.el,\n order: this.sortOrder,\n sortFn: this.sortFn\n });\n }\n\n getSortOrderForAriaSort(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n case 'none':\n default:\n return 'none';\n }\n }\n \n private getTabIndex() {\n return this.cursorPosition?.col === this.columnPosition\n && this.cursorPosition?.row === 0 ? 0 : -1;\n }\n\n private getTagName() {\n return this.sort ? 'button' : 'div';\n }\n \n private delegateFocusToButton() {\n if (this.sort) {\n this.buttonOrDiv.focus();\n }\n }\n\n render(): any {\n const ButtonOrDiv = this.getTagName();\n return (\n (this.nativeTh = el)}\n {...this.inheritedAttributes}\n >\n this.buttonOrDiv = el}\n tabIndex={this.sort ? this.getTabIndex() : -1}>\n {this.name}\n {\n this.sort ?
    : ''\n }\n
    \n \n
    )\n }\n\n private onSortClick() {\n if (!this.sort) return;\n \n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n \n private handleSortKeyDown(_event: KeyboardEvent) {\n if (isSpaceKey(_event) || isEnterKey(_event)) {\n _event.preventDefault();\n this.onSortClick();\n }\n }\n}\n"],"mappings":"sHAOO,MAAMA,EAAyD,EAAEC,WACpEC,EAAA,qBAAiB,OAAOC,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACvGL,EAAA,KAAGM,OAAQP,IAAU,OAAS,GAAKA,GAAS,gBACxCC,EAAA,QAAMM,MAAM,QACND,KAAK,UACLE,EAAE,+eCZpB,MAAMC,EAAgB,80DACtB,MAAAC,EAAeD,ECDf,MAAME,EAAmB,mOACzB,MAAAC,EAAeD,EC0Bf,MAAME,EAA8B,CAAC,WAAY,S,MAYpCC,EAAU,M,uHAIXC,KAAAC,oBAA4C,G,kDAYX,M,8DAaQ,O,sCAQD,M,YAIL,M,4DAwB3C,iBAAAC,GACIF,KAAKC,oBAAmBE,OAAAC,OAAAD,OAAAC,OAAA,GACjBC,EAAsBL,KAAKM,KAC3BC,EAAkBP,KAAKM,GAAIR,G,CAKtC,sBAAMU,CAAiBC,EAAyBC,GAC5CC,EAAqBX,KAAKY,SAAUH,EAAMC,E,CAI9C,iBAAAG,CAAkBC,GACdd,KAAKe,gBAAgBC,KAAKF,E,CAI9B,eAAAG,CAAgBC,GACZlB,KAAKmB,gB,CAGT,cAAAA,GACI,IAAKnB,KAAKoB,KAAM,OAChBpB,KAAKqB,cAAcL,KAAK,CACpBM,OAAQtB,KAAKM,GACbiB,MAAOvB,KAAKwB,UACZC,OAAQzB,KAAKyB,Q,CAIrB,uBAAAC,CAAwBF,GACpB,OAAQA,GACJ,IAAK,MACD,MAAO,YACX,IAAK,OACD,MAAO,aACX,IAAK,OACL,QACI,MAAO,O,CAIX,WAAAG,G,QACJ,QAAOC,EAAA5B,KAAK6B,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,OAAQ9B,KAAK+B,kBACtCC,EAAAhC,KAAK6B,kBAAc,MAAAG,SAAA,SAAAA,EAAEC,OAAQ,EAAI,GAAK,C,CAGrC,UAAAC,GACJ,OAAOlC,KAAKoB,KAAO,SAAW,K,CAG1B,qBAAAe,GACJ,GAAInC,KAAKoB,KAAM,CACXpB,KAAKoC,YAAYC,O,EAIzB,MAAAC,GACI,MAAMC,EAAcvC,KAAKkC,aACzB,OAAQhD,EAACsD,EAAI,CAAAC,IAAA,2CAACC,KAAK,eACfxD,EAAA,KAAAiB,OAAAC,OAAA,CAAAqC,IAAA,2CAAIE,MAAO,CAACvD,MAAOY,KAAKZ,OACpBI,MAAOQ,KAAKoB,KAAO,UAAY,GAC/BwB,SAAU5C,KAAKoB,MAAQ,EAAIpB,KAAK2B,cAChCkB,MAAM,MACNC,QAAS9C,KAAK+C,YAAYC,KAAKhD,MAC/BiD,UAAWjD,KAAKkD,kBAAkBF,KAAKhD,MACvCmD,QAASnD,KAAKmC,sBAAsBa,KAAKhD,MAAK,YACnCA,KAAKoB,KAAOpB,KAAK0B,wBAAwB1B,KAAKwB,WAAa,KACtE4B,IAAM9C,GAAQN,KAAKY,SAAWN,GAC1BN,KAAKC,qBAETf,EAACqD,EAAW,CAAAE,IAAA,2CAACjD,MAAM,yBACX4D,IAAM9C,GAA2CN,KAAKoC,YAAc9B,EACpEsC,SAAU5C,KAAKoB,KAAOpB,KAAK2B,eAAiB,GAChDzC,EAAA,QAAAuD,IAAA,4CAAOzC,KAAKqD,MAERrD,KAAKoB,KAAOlC,EAAA,OAAKM,MAAM,wBAAuBN,EAACF,EAAa,CAACC,MAAOe,KAAKwB,aAAqB,K,CAO1G,WAAAuB,GACJ,IAAK/C,KAAKoB,KAAM,OAGhBpB,KAAKwB,UAAYxB,KAAKwB,YAAc,QAAUxB,KAAKwB,YAAc,OAAS,MAAQ,M,CAG9E,iBAAA0B,CAAkBI,GACtB,GAAIC,EAAWD,IAAWE,EAAWF,GAAS,CAC1CA,EAAOG,iBACPzD,KAAK+C,a"} \ No newline at end of file diff --git a/public/wcs/p-1ba616c2.entry.js b/public/wcs/p-1ba616c2.entry.js new file mode 100644 index 0000000..2a66f12 --- /dev/null +++ b/public/wcs/p-1ba616c2.entry.js @@ -0,0 +1,2 @@ +import{r as t,c as s,h as e,H as i,g as a}from"./p-32e583ea.js";import{i as n,a as r,p as o,s as c,e as u,f as h,h as d,j as l}from"./p-52d77e1f.js";const f="@keyframes spin-animation-up{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(30px);transform-origin:center;opacity:1}}@keyframes spin-animation-down{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(-30px);transform-origin:center;opacity:1}}:host{--wcs-counter-border-radius:var(--wcs-semantic-border-radius-full);--wcs-counter-value-color-default:var(--wcs-semantic-color-text-primary);--wcs-counter-value-color-disabled:var(--wcs-semantic-color-text-tertiary);--wcs-counter-font-weight:var(--wcs-semantic-font-weight-heavy);--wcs-counter-height-m:var(--wcs-semantic-size-m);--wcs-counter-height-l:var(--wcs-semantic-size-l);--wcs-counter-font-size-m:var(--wcs-semantic-font-size-m);--wcs-counter-font-size-l:var(--wcs-semantic-font-size-l);--wcs-counter-padding-m:var(--wcs-semantic-spacing-small);--wcs-counter-padding-l:var(--wcs-semantic-spacing-base);--wcs-counter-background-color:var(--wcs-semantic-color-background-surface-secondary);--wcs-counter-gap-size-m:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-counter-gap-size-l:calc(2 * var(--wcs-semantic-spacing-base));--wcs-counter-outline-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-counter-transition-duration:var(--wcs-semantic-motion-duration-feedback-base);--wcs-counter-padding:var(--wcs-counter-padding-m);--wcs-counter-height:var(--wcs-counter-height-m);--wcs-counter-font-size:var(--wcs-counter-font-size-m);--wcs-counter-gap:var(--wcs-counter-gap-size-m);display:flex}:host .counter{box-sizing:border-box;height:var(--wcs-counter-height);font-family:var(--wcs-font-sans-serif);font-size:var(--wcs-counter-font-size);font-weight:var(--wcs-counter-font-weight);color:var(--wcs-counter-value-color-default);display:flex;align-items:center;padding:var(--wcs-counter-padding);width:fit-content;overflow:hidden;border-radius:var(--wcs-counter-border-radius);background-color:var(--wcs-counter-background-color);background-clip:padding-box;gap:var(--wcs-counter-gap)}:host .counter:focus-within{outline:none}:host .counter:has(.current-value:focus-visible){outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-counter-outline-color-focus);outline-offset:0;border-radius:var(--wcs-counter-border-radius)}@supports not selector(&:has(.current-value:focus-visible)){:host .counter:focus-within{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-counter-outline-color-focus);outline-offset:0;border-radius:var(--wcs-counter-border-radius)}}:host .counter-container{height:var(--wcs-counter-height);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}:host .outliers{position:absolute}:host #outlier-down{top:calc(var(--wcs-counter-height) / 2 * -1)}:host #outlier-up{bottom:calc(var(--wcs-counter-height) / 2 * -1)}:host .current-value{outline:none}:host .animate-up{animation:spin-animation-up var(--wcs-counter-transition-duration) ease-in-out}:host .animate-down{animation:spin-animation-down var(--wcs-counter-transition-duration) ease-in-out}:host [hidden]{opacity:0}:host([size=m]){--wcs-counter-padding:var(--wcs-counter-padding-m);--wcs-counter-height:var(--wcs-counter-height-m);--wcs-counter-font-size:var(--wcs-counter-font-size-m);--wcs-counter-gap:var(--wcs-counter-gap-size-m)}:host([size=l]){--wcs-counter-padding:var(--wcs-counter-padding-l);--wcs-counter-height:var(--wcs-counter-height-l);--wcs-counter-font-size:var(--wcs-counter-font-size-l);--wcs-counter-gap:var(--wcs-counter-gap-size-l)}:host([disabled]){cursor:not-allowed}:host([disabled]) .counter{color:var(--wcs-counter-value-color-disabled)}";const w=f;const m=["tabindex","title"];const v=class{constructor(e){t(this,e);this.wcsChange=s(this,"wcsChange",7);this.wcsBlur=s(this,"wcsBlur",7);this.inheritedAttributes={};this.ANIMATION_DURATION=150;this.animateRunning=false;this.handleDecrement=()=>{if(this.disabled)return;if(this.min===undefined||this.value>this.min){this.animateRunning=true;this.value-=this.step;this.notifyChange();this.animate("up")}};this.handleIncrement=()=>{if(this.disabled)return;if(this.max===undefined||this.value{this.animateRunning=true;const s=Array.from(this.counterContainer.children).filter((t=>t.classList.contains("outliers")));this.counterContainer.classList.add("animate-"+t);s.forEach((t=>{t.hidden=false}));setTimeout((()=>{this.counterContainer.classList.remove("animate-"+t);s.forEach((t=>{t.hidden=true}));this.displayedValue=this.value;this.animateRunning=false}),this.ANIMATION_DURATION-20)};this.size="m";this.label=undefined;this.disabled=false;this.min=undefined;this.max=undefined;this.step=1;this.value=undefined;this.displayedValue=undefined}componentWillLoad(){this.handleValueChange();this.inheritedAttributes=Object.assign(Object.assign({},n(this.el)),r(this.el,m))}componentDidRender(){var t,s;this.ANIMATION_DURATION=(s=o((t=window.getComputedStyle(this.el).getPropertyValue("--wcs-counter-transition-duration"))!==null&&t!==void 0?t:"150ms"))!==null&&s!==void 0?s:150}async setAriaAttribute(t,s){c(this.spinButton,t,s)}valueChange(t,s){if(s===t)return;this.handleValueChange()}handleValueChange(){this.setMinimumIfValueIsUndefinedOrNull();this.ensureValueIsNotOutOfMinMax();this.updateDisplayValueIfNoAnimationRunning()}updateDisplayValueIfNoAnimationRunning(){if(!this.animateRunning){this.displayedValue=this.value}}ensureValueIsNotOutOfMinMax(){if(this.max!==undefined&&this.value>this.max){this.value=this.max}else if(this.min!==undefined&&this.valuethis.handleDecrement(),onBlur:t=>this.wcsBlur.emit(t),disabled:this.disabled||this.value===this.min},e("wcs-mat-icon",{key:"5003db6a007f8ede51d567a76ea18160fdb60949",icon:"remove",size:"s"})),e("div",{key:"ae3b0ca61a95fe908583df73748b7e7d19242fd0",class:"counter-container",ref:t=>this.counterContainer=t},e("span",{key:"499a0d0ff7f38fcae6664b118991aeb39f5d6034",id:"outlier-down",class:"outliers",hidden:true,"aria-hidden":"true"},this.displayedValue-this.step),e("span",Object.assign({key:"62cab421b796106f0b2957e4d8445266bd6ba754",tabindex:this.disabled?-1:0,role:"spinbutton",ref:t=>this.spinButton=t,class:"current-value",onBlur:t=>this.wcsBlur.emit(t),onKeyDown:t=>this.onKeyDown(t),"aria-disabled":this.disabled?"true":null,"aria-valuenow":this.value,"aria-valuetext":this.value,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-label":this.label},this.inheritedAttributes),this.displayedValue),e("span",{key:"339b6949d2b64262085f7bda19897f9533166cb4",id:"outlier-up",class:"outliers",hidden:true,"aria-hidden":"true"},this.displayedValue+this.step)),e("wcs-button",{key:"ee77cee6c9d08225c1844d1c4703ea6868c054da",class:"wcs-primary",shape:"round",size:"s",tabindex:-1,onClick:()=>this.handleIncrement(),onBlur:t=>this.wcsBlur.emit(t),disabled:this.disabled||this.value===this.max},e("wcs-mat-icon",{key:"b1b6cc395186ee871801d47ad2b9b62791f64b29",icon:"add",size:"s"}))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{value:["valueChange"]}}};v.style=w;export{v as wcs_counter}; +//# sourceMappingURL=p-1ba616c2.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-1ba616c2.entry.js.map b/public/wcs/p-1ba616c2.entry.js.map new file mode 100644 index 0000000..ca496ca --- /dev/null +++ b/public/wcs/p-1ba616c2.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["counterCss","WcsCounterStyle0","COUNTER_INHERITED_ATTRS","Counter","this","inheritedAttributes","ANIMATION_DURATION","animateRunning","handleDecrement","disabled","min","undefined","value","step","notifyChange","animate","handleIncrement","max","direction","outliers","Array","from","counterContainer","children","filter","span","classList","contains","add","forEach","hidden","setTimeout","remove","displayedValue","componentWillLoad","handleValueChange","Object","assign","inheritAriaAttributes","el","inheritAttributes","componentDidRender","_b","parseCssTimeValueToMilliseconds","_a","window","getComputedStyle","getPropertyValue","setAriaAttribute","attr","setOrRemoveAttribute","spinButton","valueChange","newVal","oldVal","setMinimumIfValueIsUndefinedOrNull","ensureValueIsNotOutOfMinMax","updateDisplayValueIfNoAnimationRunning","onKeyDown","_event","isKeyup","preventDefault","isKeydown","isHomeKey","isEndKey","wcsChange","emit","render","h","Host","key","class","shape","size","tabindex","onClick","onBlur","event","wcsBlur","icon","ref","input","id","role","label"],"sources":["src/components/counter/counter.scss?tag=wcs-counter&encapsulation=shadow","src/components/counter/counter.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n\n@keyframes spin-animation-up {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n@keyframes spin-animation-down {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(-30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n:host {\n --wcs-counter-border-radius: var(--wcs-semantic-border-radius-full);\n\n --wcs-counter-value-color-default: var(--wcs-semantic-color-text-primary);\n --wcs-counter-value-color-disabled: var(--wcs-semantic-color-text-tertiary);\n --wcs-counter-font-weight: var(--wcs-semantic-font-weight-heavy);\n\n --wcs-counter-height-m: var(--wcs-semantic-size-m);\n --wcs-counter-height-l: var(--wcs-semantic-size-l);\n --wcs-counter-font-size-m: var(--wcs-semantic-font-size-m);\n --wcs-counter-font-size-l: var(--wcs-semantic-font-size-l);\n --wcs-counter-padding-m: var(--wcs-semantic-spacing-small);\n --wcs-counter-padding-l: var(--wcs-semantic-spacing-base);\n\n --wcs-counter-background-color: var(--wcs-semantic-color-background-surface-secondary);\n --wcs-counter-gap-size-m: calc(1.5 * var(--wcs-semantic-spacing-base));\n --wcs-counter-gap-size-l: calc(2 * var(--wcs-semantic-spacing-base));\n --wcs-counter-outline-color-focus: var(--wcs-semantic-color-border-focus-base);\n\n --wcs-counter-transition-duration: var(--wcs-semantic-motion-duration-feedback-base);\n\n // Default\n --wcs-counter-padding: var(--wcs-counter-padding-m);\n --wcs-counter-height: var(--wcs-counter-height-m);\n --wcs-counter-font-size: var(--wcs-counter-font-size-m);\n --wcs-counter-gap: var(--wcs-counter-gap-size-m);\n\n display: flex;\n\n\n .counter {\n box-sizing: border-box;\n height: var(--wcs-counter-height);\n font-family: var(--wcs-font-sans-serif);\n font-size: var(--wcs-counter-font-size);\n font-weight: var(--wcs-counter-font-weight);\n color: var(--wcs-counter-value-color-default);\n display: flex;\n align-items: center;\n padding: var(--wcs-counter-padding);\n width: fit-content;\n overflow: hidden;\n border-radius: var(--wcs-counter-border-radius);\n background-color: var(--wcs-counter-background-color);\n background-clip: padding-box;\n gap: var(--wcs-counter-gap);\n\n &:focus-within {\n outline: none;\n }\n\n &:has(.current-value:focus-visible) {\n @include focus-outline($outline-color: var(--wcs-counter-outline-color-focus), $border-radius: var(--wcs-counter-border-radius), $outline-offset: 0);\n }\n\n @supports not selector(&:has(.current-value:focus-visible)){\n &:focus-within {\n @include focus-outline($outline-color: var(--wcs-counter-outline-color-focus), $border-radius: var(--wcs-counter-border-radius), $outline-offset: 0);\n }\n }\n }\n\n .counter-container {\n height: var(--wcs-counter-height);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n\n .outliers {\n position: absolute;\n }\n\n #outlier-down {\n top: calc((var(--wcs-counter-height) / 2) * -1);\n }\n\n #outlier-up {\n bottom: calc((var(--wcs-counter-height) / 2) * -1);\n }\n\n .current-value {\n outline: none;\n }\n\n .animate-up {\n animation: spin-animation-up var(--wcs-counter-transition-duration) ease-in-out;\n }\n\n .animate-down {\n animation: spin-animation-down var(--wcs-counter-transition-duration) ease-in-out;\n }\n\n [hidden] {\n opacity: 0;\n }\n}\n\n:host([size='m']) { // Default\n --wcs-counter-padding: var(--wcs-counter-padding-m);\n --wcs-counter-height: var(--wcs-counter-height-m);\n --wcs-counter-font-size: var(--wcs-counter-font-size-m);\n --wcs-counter-gap: var(--wcs-counter-gap-size-m);\n}\n\n:host([size='l']) {\n --wcs-counter-padding: var(--wcs-counter-padding-l);\n --wcs-counter-height: var(--wcs-counter-height-l);\n --wcs-counter-font-size: var(--wcs-counter-font-size-l);\n --wcs-counter-gap: var(--wcs-counter-gap-size-l);\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n\n .counter {\n color: var(--wcs-counter-value-color-disabled);\n }\n}\n","import {\n Component,\n ComponentInterface, Element,\n Event,\n EventEmitter,\n h,\n Host, Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport {\n inheritAriaAttributes,\n inheritAttributes,\n isEndKey,\n isHomeKey,\n isKeydown,\n isKeyup,\n parseCssTimeValueToMilliseconds,\n setOrRemoveAttribute\n} from '../../utils/helpers';\nimport { CounterChangeEventDetail, WcsCounterSize } from './counter-interface';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst COUNTER_INHERITED_ATTRS = ['tabindex', 'title'];\n\n\n/**\n * Counter component, meant to be used for small range of values (e.g : 0 - 5).
    \n * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)\n * \n * @cssprop --wcs-counter-border-radius - Border radius of the counter\n * \n * @cssprop --wcs-counter-value-color-default - Default color of the value \n * @cssprop --wcs-counter-value-color-disabled - Color of the text when the counter is disabled\n * @cssprop --wcs-counter-font-weight - Font weight of the value\n * \n * @cssprop --wcs-counter-height-m - Height medium of the counter\n * @cssprop --wcs-counter-height-l - Height large of the counter\n * @cssprop --wcs-counter-font-size-m - Font size medium of the counter\n * @cssprop --wcs-counter-font-size-l - Font size large of the counter\n * @cssprop --wcs-counter-padding-m - Padding medium of the counter\n * @cssprop --wcs-counter-padding-l - Padding large of the counter\n * \n * @cssprop --wcs-counter-background-color - Background color of the counter\n * @cssprop --wcs-counter-gap - Gap between the buttons and the label\n * @cssprop --wcs-counter-gap-size-m - Gap between the buttons and the label when the size is M\n * @cssprop --wcs-counter-gap-size-l - Gap between the buttons and the label when the size is L\n * @cssprop --wcs-counter-outline-color-focus - Color of the focus outline\n *\n * @cssprop --wcs-counter-transition-duration - Duration of the animation\n * \n */\n@Component({\n tag: 'wcs-counter',\n styleUrl: 'counter.scss',\n shadow: {\n delegatesFocus: true\n },\n})\nexport class Counter implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private spinButton!: HTMLSpanElement;\n private counterContainer!: HTMLDivElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /**\n * Default animation duration, in milliseconds\n * @private\n */\n private ANIMATION_DURATION = 150;\n\n /**\n * Specify the size (height) of the counter.\n */\n @Prop({reflect: true}) size: WcsCounterSize = 'm';\n\n /**\n * The label of the counter.
    \n * e.g. Number of passengers, train carriages, railroad tracks...\n */\n @Prop({mutable: false}) label!: string;\n\n /**\n * Specify whether the counter is disabled or not.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The minimum value of the counter.\n * If the value of the min attribute isn't set, then the element has no minimum value.\n */\n @Prop({mutable: true}) min?: number;\n\n /**\n * The maximum value of the counter.\n * If the value of the max attribute isn't set, then the element has no maximum value.\n */\n @Prop({mutable: true}) max?: number;\n\n /**\n * Defines by how much the counter will be incremented or decremented.\n */\n @Prop({mutable: true}) step: number = 1;\n\n /**\n * Emitted when the value of the counter has changed.\n */\n @Event() wcsChange!: EventEmitter;\n\n /**\n * The current value of the counter.\n */\n @Prop({mutable: true}) value!: number;\n\n /**\n * Only for animation and display purpose\n */\n @State() private displayedValue: number;\n\n private animateRunning: boolean = false;\n\n /**\n * Emitted when the counter loses focus.\n */\n @Event() wcsBlur!: EventEmitter;\n\n componentWillLoad() {\n this.handleValueChange();\n\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, COUNTER_INHERITED_ATTRS),\n };\n }\n \n componentDidRender() {\n this.ANIMATION_DURATION = parseCssTimeValueToMilliseconds(window.getComputedStyle(this.el).getPropertyValue('--wcs-counter-transition-duration') ?? '150ms') ?? 150;\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.spinButton, attr, value);\n }\n \n /**\n * Current value change => handle event and interval\n */\n @Watch('value')\n valueChange(newVal: any, oldVal: any) {\n if(oldVal === newVal) return;\n\n this.handleValueChange();\n }\n\n private handleValueChange() {\n this.setMinimumIfValueIsUndefinedOrNull();\n this.ensureValueIsNotOutOfMinMax();\n this.updateDisplayValueIfNoAnimationRunning();\n }\n\n private updateDisplayValueIfNoAnimationRunning() {\n if (!this.animateRunning) {\n this.displayedValue = this.value;\n }\n }\n\n private ensureValueIsNotOutOfMinMax() {\n if (this.max !== undefined && this.value > this.max) {\n this.value = this.max;\n } else if (this.min !== undefined && this.value < this.min) {\n this.value = this.min;\n }\n }\n\n private setMinimumIfValueIsUndefinedOrNull() {\n if (this.value === undefined || this.value === null) {\n this.value = this.min ?? 0;\n }\n }\n\n onKeyDown(_event: KeyboardEvent) {\n if (this.disabled) return; \n \n if (isKeyup(_event)) {\n _event.preventDefault();\n this.handleIncrement()\n }\n if (isKeydown(_event)) {\n _event.preventDefault();\n this.handleDecrement()\n }\n if (isHomeKey(_event)) {\n _event.preventDefault();\n if (this.min != null) {\n this.value = this.min;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n if (isEndKey(_event)) {\n _event.preventDefault();\n if (this.max != null) {\n this.value = this.max;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n }\n\n private notifyChange() {\n this.wcsChange.emit({\n value: this.value\n });\n }\n \n private handleDecrement = () => {\n if (this.disabled) return;\n if (this.min === undefined || this.value > this.min) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value -= this.step;\n this.notifyChange();\n this.animate('up');\n }\n };\n\n private handleIncrement = () => {\n if (this.disabled) return;\n if (this.max === undefined || this.value < this.max) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value += this.step;\n this.notifyChange();\n this.animate('down');\n }\n };\n\n private animate = (direction: 'up' | 'down'): void => {\n // In case someone call animate function, we want ensured that animateRunning is set to true to prevent other \n // method to mutate the displayedValue.\n this.animateRunning = true; \n\n const outliers = Array.from(this.counterContainer.children)\n .filter((span: HTMLSpanElement) => span.classList.contains('outliers'));\n\n this.counterContainer.classList.add('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.hidden = false;\n });\n setTimeout(() => {\n this.counterContainer.classList.remove('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.hidden = true;\n });\n this.displayedValue = this.value;\n\n this.animateRunning = false;\n }, this.ANIMATION_DURATION - 20);\n }\n\n render() {\n return (\n \n
    \n this.handleDecrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.disabled || this.value === this.min}>\n \n \n
    this.counterContainer = input}>\n {this.displayedValue - this.step}\n this.spinButton = el}\n class=\"current-value\"\n onBlur={(event) => this.wcsBlur.emit(event)}\n onKeyDown={(event) => this.onKeyDown(event)}\n aria-disabled={this.disabled ? 'true' : null}\n aria-valuenow={this.value}\n aria-valuetext={this.value}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-label={this.label}\n {...this.inheritedAttributes}>{this.displayedValue}\n {this.displayedValue + this.step}\n
    \n this.handleIncrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.disabled || this.value === this.max}>\n \n \n
    \n
    \n );\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/wcs/p-1e7ea63c.entry.js b/public/wcs/p-1e7ea63c.entry.js new file mode 100644 index 0000000..aa645c7 --- /dev/null +++ b/public/wcs/p-1e7ea63c.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as t,g as a,H as r}from"./p-32e583ea.js";import{i as s,a as c,s as o}from"./p-52d77e1f.js";const i=":host{--wcs-header-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-header-gap:var(--wcs-semantic-spacing-large);--wcs-header-height:calc(8 * var(--wcs-semantic-size-base));--wcs-header-logo-height:calc(4 * var(--wcs-semantic-size-base));--wcs-header-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-header-border-bottom:solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);--wcs-header-title-color:var(--wcs-semantic-color-text-primary);--wcs-header-title-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-header-title-font-size:var(--wcs-semantic-font-size-label-1)}header{border-bottom:var(--wcs-header-border-bottom);display:flex;align-items:center;box-sizing:border-box;z-index:1;background:var(--wcs-header-background-color);padding:0 var(--wcs-header-padding-horizontal);height:var(--wcs-header-height);gap:var(--wcs-header-gap)}::slotted(img){height:var(--wcs-header-logo-height)}::slotted(h1),::slotted(a){color:var(--wcs-header-title-color);margin:0;font-weight:var(--wcs-header-title-font-weight);font-size:var(--wcs-header-title-font-size);text-decoration:none}::slotted([slot=center]){flex:1;display:flex;justify-content:center;align-items:center}::slotted([slot=actions]){margin-left:auto}";const n=i;const d=[];const h=class{constructor(t){e(this,t);this.inheritedAttributes={}}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},s(this.el)),c(this.el,d))}async setAriaAttribute(e,t){o(this.nativeHeader,e,t)}hostData(){return{slot:"header"}}__stencil_render(){return t("header",Object.assign({key:"110c72f1b40917efdaa2c864c61a8ee99e35ce38",role:"banner",ref:e=>this.nativeHeader=e},this.inheritedAttributes),t("slot",{key:"8a593fc8e96ea73573fae78d9107897dee680c87",name:"logo"}),t("slot",{key:"1fefec6eee8652ac531c450f15d70cf7ab8ba1c9",name:"title"}),t("slot",{key:"ef151920a52804693a99501ee62688036e7bcda8",name:"center"}),t("slot",{key:"9d817dd99f3edb3dbe4b5a4bced020c42b64a903",name:"actions"}))}get el(){return a(this)}render(){return t(r,this.hostData(),this.__stencil_render())}};h.style=n;export{h as wcs_header}; +//# sourceMappingURL=p-1e7ea63c.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-1e7ea63c.entry.js.map b/public/wcs/p-1e7ea63c.entry.js.map new file mode 100644 index 0000000..19704e1 --- /dev/null +++ b/public/wcs/p-1e7ea63c.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["headerCss","WcsHeaderStyle0","HEADER_INHERITED_ATTRS","Header","constructor","hostRef","this","inheritedAttributes","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","setAriaAttribute","attr","value","setOrRemoveAttribute","nativeHeader","hostData","slot","__stencil_render","h","key","role","ref","name"],"sources":["src/components/header/header.scss?tag=wcs-header&encapsulation=shadow","src/components/header/header.tsx"],"sourcesContent":[":host {\n --wcs-header-background-color: var(--wcs-semantic-color-background-surface-primary);\n\n --wcs-header-gap: var(--wcs-semantic-spacing-large);\n --wcs-header-height: calc(8 * var(--wcs-semantic-size-base));\n --wcs-header-logo-height: calc(4 * var(--wcs-semantic-size-base));\n --wcs-header-padding-horizontal: var(--wcs-semantic-spacing-large);\n\n --wcs-header-border-bottom: solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);\n --wcs-header-title-color: var(--wcs-semantic-color-text-primary);\n --wcs-header-title-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-header-title-font-size: var(--wcs-semantic-font-size-label-1);\n}\n\nheader {\n border-bottom: var(--wcs-header-border-bottom);\n display: flex;\n align-items: center;\n box-sizing: border-box;\n z-index: 1;\n background: var(--wcs-header-background-color);\n padding: 0 var(--wcs-header-padding-horizontal);\n height: var(--wcs-header-height);\n gap: var(--wcs-header-gap);\n}\n\n::slotted(img) {\n height: var(--wcs-header-logo-height);\n}\n\n::slotted(h1), ::slotted(a) {\n color: var(--wcs-header-title-color);\n margin: 0;\n font-weight: var(--wcs-header-title-font-weight);\n font-size: var(--wcs-header-title-font-size);\n text-decoration: none;\n}\n\n::slotted([slot=\"center\"]) {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n\n::slotted([slot=actions]) {\n margin-left: auto;\n}\n","import { Component, ComponentInterface, Element, h, Method } from '@stencil/core';\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\nimport { AriaAttributeName } from \"../../utils/mutable-aria-attribute\";\n\nconst HEADER_INHERITED_ATTRS = [];\n\n/**\n * The header component is an element that appears across the top of all pages on a website or application; it contains the logo, the site name and main actions.\n * \n * @slot logo SNCF Logo\n * @slot title Title of your application\n * @slot center Content to display in the center of the header, useful for a search bar\n * @slot actions Actions such as buttons, dropdown or any useful information to always display on your application\n * \n * @cssprop --wcs-header-background-color - Background color of the header\n * \n * @cssprop --wcs-header-gap - Gap between elements in the header\n * @cssprop --wcs-header-height - Height of the header\n * @cssprop --wcs-header-logo-height - Height of the logo\n * @cssprop --wcs-header-padding-horizontal - Horizontal padding of the header\n * \n * @cssprop --wcs-header-title-color - Color of the title\n * @cssprop --wcs-header-title-font-weight - Font weight of the title\n * @cssprop --wcs-header-title-font-size - Font size of the title\n * \n */\n@Component({\n tag: 'wcs-header',\n styleUrl: 'header.scss',\n shadow: true\n})\nexport class Header implements ComponentInterface {\n @Element() private el!: HTMLElement;\n private nativeHeader!: HTMLElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, HEADER_INHERITED_ATTRS),\n };\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeHeader, attr, value);\n }\n \n hostData() {\n return {\n 'slot': 'header'\n };\n }\n\n render() {\n return (\n
    (this.nativeHeader = el)} {...this.inheritedAttributes}>\n \n \n \n \n
    \n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAY,uwCAClB,MAAAC,EAAeD,ECGf,MAAME,EAAyB,G,MA2BlBC,EAAM,MALnB,WAAAC,CAAAC,G,UAQYC,KAAAC,oBAA4C,E,CAEpD,iBAAAC,GACIF,KAAKC,oBAAmBE,OAAAC,OAAAD,OAAAC,OAAA,GACjBC,EAAsBL,KAAKM,KAC3BC,EAAkBP,KAAKM,GAAIV,G,CAKtC,sBAAMY,CAAiBC,EAAyBC,GAC5CC,EAAqBX,KAAKY,aAAcH,EAAMC,E,CAGlD,QAAAG,GACI,MAAO,CACHC,KAAQ,S,CAIhB,gBAAAC,GACI,OACIC,EAAA,SAAAb,OAAAC,OAAA,CAAAa,IAAA,2CAAQC,KAAK,SAASC,IAAMb,GAAQN,KAAKY,aAAeN,GAASN,KAAKC,qBAClEe,EAAA,QAAAC,IAAA,2CAAMG,KAAK,SACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,UACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,WACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,Y"} \ No newline at end of file diff --git a/public/wcs/p-2221bf0c.entry.js b/public/wcs/p-2221bf0c.entry.js new file mode 100644 index 0000000..5996af0 --- /dev/null +++ b/public/wcs/p-2221bf0c.entry.js @@ -0,0 +1,16 @@ +import{h as t,r as e,c as r,H as i,g as n}from"./p-32e583ea.js";import{S as s}from"./p-84e22272.js";import{A as o,B as c,t as a,i as l,a as u,s as f,C as h,d,c as v}from"./p-52d77e1f.js";import{k as p}from"./p-89b8c724.js";import{i as w}from"./p-fb2751c2.js";import{w as b}from"./p-ff826ebe.js";import{c as y}from"./p-e1fb3625.js"; +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var g=function(){g=Object.assign||function t(e){for(var r,i=1,n=arguments.length;i=t.length)t=void 0;return{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(t,e){var r=typeof Symbol==="function"&&t[Symbol.iterator];if(!r)return t;var i=r.call(t),n,s=[],o;try{while((e===void 0||e-- >0)&&!(n=i.next()).done)s.push(n.value)}catch(t){o={error:t}}finally{try{if(n&&!n.done&&(r=i["return"]))r.call(i)}finally{if(o)throw o.error}}return s}function O(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i0){var e=n.shift();r=t.transition(r,e,a);i.forEach((function(t){return t.next(r)}))}s=false};var c=se({id:e.id,send:function(t){n.push(t);o()},getSnapshot:function(){return r},subscribe:function(t,e,n){var s=zt(t,e,n);i.add(s);s.next(r);return{unsubscribe:function(){i.delete(s)}}}});var a={parent:e.parent,self:c,id:e.id||"anonymous",observers:i};r=t.start?t.start(a):r;return c}var Te={sync:false,autoForward:false};var Fe;(function(t){t[t["NotStarted"]=0]="NotStarted";t[t["Running"]=1]="Running";t[t["Stopped"]=2]="Stopped"})(Fe||(Fe={}));var Re=function(){function t(e,r){if(r===void 0){r=t.defaultOptions}var i=this;this.machine=e;this.delayedEventsMap={};this.listeners=new Set;this.contextListeners=new Set;this.stopListeners=new Set;this.doneListeners=new Set;this.eventListeners=new Set;this.sendListeners=new Set;this.initialized=false;this.status=Fe.NotStarted;this.children=new Map;this.forwardTo=new Set;this._outgoingQueue=[];this.init=this.start;this.send=function(t,e){if(wt(t)){i.batch(t);return i.state}var r=_t(St(t,e));if(i.status===Fe.Stopped){return i.state}if(i.status!==Fe.Running&&!i.options.deferEvents){throw new Error('Event "'.concat(r.name,'" was sent to uninitialized service "').concat(i.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\nEvent: ').concat(JSON.stringify(r.data)))}i.scheduler.schedule((function(){i.forward(r);var t=i._nextState(r);i.update(t,r)}));return i._state};this.sendTo=function(t,e,r){var n=i.parent&&(e===_.Parent||i.parent.id===e);var s=n?i.parent:yt(e)?e===_.Internal?i:i.children.get(e)||je.get(e):Ot(e)?e:undefined;if(!s){if(!n){throw new Error("Unable to send event to child '".concat(e,"' from service '").concat(i.id,"'."))}return}if("machine"in s){if(i.status!==Fe.Stopped||i.parent!==s||i.state.done){var o=g(g({},t),{name:t.name===P?"".concat(Qt(i.id)):t.name,origin:i.sessionId});if(!r&&i.machine.config.predictableActionArguments){i._outgoingQueue.push([s,o])}else{s.send(o)}}}else{if(!r&&i.machine.config.predictableActionArguments){i._outgoingQueue.push([s,t.data])}else{s.send(t.data)}}};this._exec=function(t,e,r,n){if(n===void 0){n=i.machine.options.actions}var s=t.exec||Rt(t.type,n);var o=bt(s)?s:s?s.exec:t.exec;if(o){try{return o(e,r.data,!i.machine.config.predictableActionArguments?{action:t,state:i.state,_event:r}:{action:t,_event:r})}catch(t){if(i.parent){i.parent.send({type:"xstate.error",data:t})}throw t}}switch(t.type){case A:{var c=t;i.defer(c);break}case C:var a=t;if(typeof a.delay==="number"){i.defer(a);return}else{if(a.to){i.sendTo(a._event,a.to,r===Ft)}else{i.send(a._event)}}break;case z:i.cancel(t.sendId);break;case E:{if(i.status!==Fe.Running){return}var l=t.activity;if(!i.machine.config.predictableActionArguments&&!i.state.activities[l.id||l.type]){break}if(l.type===S.Invoke){var u=Ct(l.src);var f=i.machine.options.services?i.machine.options.services[u.type]:undefined;var h=l.id,d=l.data;var v="autoForward"in l?l.autoForward:!!l.forward;if(!f){return}var p=d?ct(d,e,r):undefined;if(typeof f==="string"){return}var w=bt(f)?f(e,r.data,{data:p,src:u,meta:l.meta}):f;if(!w){return}var b=void 0;if(xt(w)){w=p?w.withContext(p):w;b={autoForward:v}}i.spawn(w,h,b)}else{i.spawnActivity(l)}break}case j:{i.stopChild(t.activity.id);break}case F:var y=t,g=y.label,m=y.value;if(g){i.logger(g,m)}else{i.logger(m)}break}};var n=g(g({},t.defaultOptions),r);var s=n.clock,o=n.logger,c=n.parent,a=n.id;var l=a!==undefined?a:e.id;this.id=l;this.logger=o;this.clock=s;this.parent=c;this.options=n;this.scheduler=new Se({deferEvents:this.options.deferEvents});this.sessionId=je.bookId()}Object.defineProperty(t.prototype,"initialState",{get:function(){var t=this;if(this._initialState){return this._initialState}return Zt(this,(function(){t._initialState=t.machine.initialState;return t._initialState}))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:false,configurable:true});t.prototype.execute=function(t,e){var r,i;try{for(var n=k(t.actions),s=n.next();!s.done;s=n.next()){var o=s.value;this.exec(o,t,e)}}catch(t){r={error:t}}finally{try{if(s&&!s.done&&(i=n.return))i.call(n)}finally{if(r)throw r.error}}};t.prototype.update=function(t,e){var r,i,n,s,o,c,a,l;var u=this;t._sessionid=this.sessionId;this._state=t;if((!this.machine.config.predictableActionArguments||e===Ft)&&this.options.execute){this.execute(this.state)}else{var f=void 0;while(f=this._outgoingQueue.shift()){f[0].send(f[1])}}this.children.forEach((function(t){u.state.children[t.id]=t}));if(this.devTools){this.devTools.send(e.data,t)}if(t.event){try{for(var h=k(this.eventListeners),d=h.next();!d.done;d=h.next()){var v=d.value;v(t.event)}}catch(t){r={error:t}}finally{try{if(d&&!d.done&&(i=h.return))i.call(h)}finally{if(r)throw r.error}}}try{for(var p=k(this.listeners),w=p.next();!w.done;w=p.next()){var v=w.value;v(t,t.event)}}catch(t){n={error:t}}finally{try{if(w&&!w.done&&(s=p.return))s.call(p)}finally{if(n)throw n.error}}try{for(var b=k(this.contextListeners),y=b.next();!y.done;y=b.next()){var g=y.value;g(this.state.context,this.state.history?this.state.history.context:undefined)}}catch(t){o={error:t}}finally{try{if(y&&!y.done&&(c=b.return))c.call(b)}finally{if(o)throw o.error}}if(this.state.done){var m=t.configuration.find((function(t){return t.type==="final"&&t.parent===u.machine}));var x=m&&m.doneData?ct(m.doneData,t.context,e):undefined;this._doneEvent=Gt(this.id,x);try{for(var O=k(this.doneListeners),S=O.next();!S.done;S=O.next()){var v=S.value;v(this._doneEvent)}}catch(t){a={error:t}}finally{try{if(S&&!S.done&&(l=O.return))l.call(O)}finally{if(a)throw a.error}}this._stop();this._stopChildren();je.free(this.sessionId)}};t.prototype.onTransition=function(t){this.listeners.add(t);if(this.status===Fe.Running){t(this.state,this.state.event)}return this};t.prototype.subscribe=function(t,e,r){var i=this;var n=zt(t,e,r);this.listeners.add(n.next);if(this.status!==Fe.NotStarted){n.next(this.state)}var s=function(){i.doneListeners.delete(s);i.stopListeners.delete(s);n.complete()};if(this.status===Fe.Stopped){n.complete()}else{this.onDone(s);this.onStop(s)}return{unsubscribe:function(){i.listeners.delete(n.next);i.doneListeners.delete(s);i.stopListeners.delete(s)}}};t.prototype.onEvent=function(t){this.eventListeners.add(t);return this};t.prototype.onSend=function(t){this.sendListeners.add(t);return this};t.prototype.onChange=function(t){this.contextListeners.add(t);return this};t.prototype.onStop=function(t){this.stopListeners.add(t);return this};t.prototype.onDone=function(t){if(this.status===Fe.Stopped&&this._doneEvent){t(this._doneEvent)}else{this.doneListeners.add(t)}return this};t.prototype.off=function(t){this.listeners.delete(t);this.eventListeners.delete(t);this.sendListeners.delete(t);this.stopListeners.delete(t);this.doneListeners.delete(t);this.contextListeners.delete(t);return this};t.prototype.start=function(t){var e=this;if(this.status===Fe.Running){return this}this.machine._init();je.register(this.sessionId,this);this.initialized=true;this.status=Fe.Running;var r=t===undefined?this.initialState:Zt(this,(function(){return me(t)?e.machine.resolveState(t):e.machine.resolveState(xe.from(t,e.machine.context))}));if(this.options.devTools){this.attachDev()}this.scheduler.initialize((function(){e.update(r,Ft)}));return this};t.prototype._stopChildren=function(){this.children.forEach((function(t){if(bt(t.stop)){t.stop()}}));this.children.clear()};t.prototype._stop=function(){var t,e,r,i,n,s,o,c,a,l;try{for(var u=k(this.listeners),f=u.next();!f.done;f=u.next()){var h=f.value;this.listeners.delete(h)}}catch(e){t={error:e}}finally{try{if(f&&!f.done&&(e=u.return))e.call(u)}finally{if(t)throw t.error}}try{for(var d=k(this.stopListeners),v=d.next();!v.done;v=d.next()){var h=v.value;h();this.stopListeners.delete(h)}}catch(t){r={error:t}}finally{try{if(v&&!v.done&&(i=d.return))i.call(d)}finally{if(r)throw r.error}}try{for(var p=k(this.contextListeners),w=p.next();!w.done;w=p.next()){var h=w.value;this.contextListeners.delete(h)}}catch(t){n={error:t}}finally{try{if(w&&!w.done&&(s=p.return))s.call(p)}finally{if(n)throw n.error}}try{for(var b=k(this.doneListeners),y=b.next();!y.done;y=b.next()){var h=y.value;this.doneListeners.delete(h)}}catch(t){o={error:t}}finally{try{if(y&&!y.done&&(c=b.return))c.call(b)}finally{if(o)throw o.error}}if(!this.initialized){return this}this.initialized=false;this.status=Fe.Stopped;this._initialState=undefined;try{for(var g=k(Object.keys(this.delayedEventsMap)),m=g.next();!m.done;m=g.next()){var x=m.value;this.clock.clearTimeout(this.delayedEventsMap[x])}}catch(t){a={error:t}}finally{try{if(m&&!m.done&&(l=g.return))l.call(g)}finally{if(a)throw a.error}}this.scheduler.clear();this.scheduler=new Se({deferEvents:this.options.deferEvents})};t.prototype.stop=function(){var t=this;var e=this.scheduler;this._stop();e.schedule((function(){var e;if((e=t._state)===null||e===void 0?void 0:e.done){return}var r=_t({type:"xstate.stop"});var i=Zt(t,(function(){var e=nt(O([],x(t.state.configuration),false).sort((function(t,e){return e.order-t.order})).map((function(e){return Lt(e.onExit,t.machine.options.actions)})));var i=x(Yt(t.machine,t.state,t.state.context,r,[{type:"exit",actions:e}],t.machine.config.predictableActionArguments?t._exec:undefined,t.machine.config.predictableActionArguments||t.machine.config.preserveActionOrder),2),n=i[0],s=i[1];var o=new xe({value:t.state.value,context:s,_event:r,_sessionid:t.sessionId,historyValue:undefined,history:t.state,actions:n.filter((function(t){return!Tt(t)})),activities:{},events:[],configuration:[],transitions:[],children:{},done:t.state.done,tags:t.state.tags,machine:t.machine});o.changed=true;return o}));t.update(i,r);t._stopChildren();je.free(t.sessionId)}));return this};t.prototype.batch=function(t){var e=this;if(this.status===Fe.NotStarted&&this.options.deferEvents);else if(this.status!==Fe.Running){throw new Error("".concat(t.length,' event(s) were sent to uninitialized service "').concat(this.machine.id,'". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.'))}if(!t.length){return}var r=!!this.machine.config.predictableActionArguments&&this._exec;this.scheduler.schedule((function(){var i,n;var s=e.state;var o=false;var c=[];var a=function(t){var i=_t(t);e.forward(i);s=Zt(e,(function(){return e.machine.transition(s,i,undefined,r||undefined)}));c.push.apply(c,O([],x(e.machine.config.predictableActionArguments?s.actions:s.actions.map((function(t){return ke(t,s)}))),false));o=o||!!s.changed};try{for(var l=k(t),u=l.next();!u.done;u=l.next()){var f=u.value;a(f)}}catch(t){i={error:t}}finally{try{if(u&&!u.done&&(n=l.return))n.call(l)}finally{if(i)throw i.error}}s.changed=o;s.actions=c;e.update(s,_t(t[t.length-1]))}))};t.prototype.sender=function(t){return this.send.bind(this,t)};t.prototype._nextState=function(t,e){var r=this;if(e===void 0){e=!!this.machine.config.predictableActionArguments&&this._exec}var i=_t(t);if(i.name.indexOf(L)===0&&!this.state.nextEvents.some((function(t){return t.indexOf(L)===0}))){throw i.data.data}var n=Zt(this,(function(){return r.machine.transition(r.state,i,undefined,e||undefined)}));return n};t.prototype.nextState=function(t){return this._nextState(t,false)};t.prototype.forward=function(t){var e,r;try{for(var i=k(this.forwardTo),n=i.next();!n.done;n=i.next()){var s=n.value;var o=this.children.get(s);if(!o){throw new Error("Unable to forward event '".concat(t,"' from interpreter '").concat(this.id,"' to nonexistant child '").concat(s,"'."))}o.send(t)}}catch(t){e={error:t}}finally{try{if(n&&!n.done&&(r=i.return))r.call(i)}finally{if(e)throw e.error}}};t.prototype.defer=function(t){var e=this;var r=this.clock.setTimeout((function(){if("to"in t&&t.to){e.sendTo(t._event,t.to,true)}else{e.send(t._event)}}),t.delay);if(t.id){this.delayedEventsMap[t.id]=r}};t.prototype.cancel=function(t){this.clock.clearTimeout(this.delayedEventsMap[t]);delete this.delayedEventsMap[t]};t.prototype.exec=function(t,e,r){if(r===void 0){r=this.machine.options.actions}this._exec(t,e.context,e._event,r)};t.prototype.removeChild=function(t){var e;this.children.delete(t);this.forwardTo.delete(t);(e=this.state)===null||e===void 0?true:delete e.children[t]};t.prototype.stopChild=function(t){var e=this.children.get(t);if(!e){return}this.removeChild(t);if(bt(e.stop)){e.stop()}};t.prototype.spawn=function(t,e,r){if(this.status!==Fe.Running){return re(t,e)}if(lt(t)){return this.spawnPromise(Promise.resolve(t),e)}else if(bt(t)){return this.spawnCallback(t,e)}else if(ne(t)){return this.spawnActor(t,e)}else if(mt(t)){return this.spawnObservable(t,e)}else if(xt(t)){return this.spawnMachine(t,g(g({},r),{id:e}))}else if(ut(t)){return this.spawnBehavior(t,e)}else{throw new Error('Unable to spawn entity "'.concat(e,'" of type "').concat(typeof t,'".'))}};t.prototype.spawnMachine=function(e,r){var i=this;if(r===void 0){r={}}var n=new t(e,g(g({},this.options),{parent:this,id:r.id||e.id}));var s=g(g({},Te),r);if(s.sync){n.onTransition((function(t){i.send(I,{state:t,id:n.id})}))}var o=n;this.children.set(n.id,o);if(s.autoForward){this.forwardTo.add(n.id)}n.onDone((function(t){i.removeChild(n.id);i.send(_t(t,{origin:n.id}))})).start();return o};t.prototype.spawnBehavior=function(t,e){var r=qe(t,{id:e,parent:this});this.children.set(e,r);return r};t.prototype.spawnPromise=function(t,e){var r;var i=this;var n=false;var s;t.then((function(t){if(!n){s=t;i.removeChild(e);i.send(_t(Gt(e,t),{origin:e}))}}),(function(t){if(!n){i.removeChild(e);var r=Qt(e,t);try{i.send(_t(r,{origin:e}))}catch(t){if(i.devTools){i.devTools.send(r,i.state)}if(i.machine.strict){i.stop()}}}}));var o=(r={id:e,send:function(){return void 0},subscribe:function(e,r,i){var n=zt(e,r,i);var s=false;t.then((function(t){if(s){return}n.next(t);if(s){return}n.complete()}),(function(t){if(s){return}n.error(t)}));return{unsubscribe:function(){return s=true}}},stop:function(){n=true},toJSON:function(){return{id:e}},getSnapshot:function(){return s}},r[kt]=function(){return this},r);this.children.set(e,o);return o};t.prototype.spawnCallback=function(t,e){var r;var i=this;var n=false;var s=new Set;var o=new Set;var c;var a=function(t){c=t;o.forEach((function(e){return e(t)}));if(n){return}i.send(_t(t,{origin:e}))};var l;try{l=t(a,(function(t){s.add(t)}))}catch(t){this.send(Qt(e,t))}if(lt(l)){return this.spawnPromise(l,e)}var u=(r={id:e,send:function(t){return s.forEach((function(e){return e(t)}))},subscribe:function(t){var e=zt(t);o.add(e.next);return{unsubscribe:function(){o.delete(e.next)}}},stop:function(){n=true;if(bt(l)){l()}},toJSON:function(){return{id:e}},getSnapshot:function(){return c}},r[kt]=function(){return this},r);this.children.set(e,u);return u};t.prototype.spawnObservable=function(t,e){var r;var i=this;var n;var s=t.subscribe((function(t){n=t;i.send(_t(t,{origin:e}))}),(function(t){i.removeChild(e);i.send(_t(Qt(e,t),{origin:e}))}),(function(){i.removeChild(e);i.send(_t(Gt(e),{origin:e}))}));var o=(r={id:e,send:function(){return void 0},subscribe:function(e,r,i){return t.subscribe(e,r,i)},stop:function(){return s.unsubscribe()},getSnapshot:function(){return n},toJSON:function(){return{id:e}}},r[kt]=function(){return this},r);this.children.set(e,o);return o};t.prototype.spawnActor=function(t,e){this.children.set(e,t);return t};t.prototype.spawnActivity=function(t){var e=this.machine.options&&this.machine.options.activities?this.machine.options.activities[t.type]:undefined;if(!e){return}var r=e(this.state.context,t);this.spawnEffect(t.id,r)};t.prototype.spawnEffect=function(t,e){var r;this.children.set(t,(r={id:t,send:function(){return void 0},subscribe:function(){return{unsubscribe:function(){return void 0}}},stop:e||undefined,getSnapshot:function(){return undefined},toJSON:function(){return{id:t}}},r[kt]=function(){return this},r))};t.prototype.attachDev=function(){var t=Ae();if(this.options.devTools&&t){if(t.__REDUX_DEVTOOLS_EXTENSION__){var e=typeof this.options.devTools==="object"?this.options.devTools:undefined;this.devTools=t.__REDUX_DEVTOOLS_EXTENSION__.connect(g(g({name:this.id,autoPause:true,stateSanitizer:function(t){return{value:t.value,context:t.context,actions:t.actions}}},e),{features:g({jump:false,skip:false},e?e.features:undefined)}),this.machine);this.devTools.init(this.state)}ze(this)}};t.prototype.toJSON=function(){return{id:this.id}};t.prototype[kt]=function(){return this};t.prototype.getSnapshot=function(){if(this.status===Fe.NotStarted){return this.initialState}return this._state};t.defaultOptions={execute:true,deferEvents:true,clock:{setTimeout:function(t,e){return setTimeout(t,e)},clearTimeout:function(t){return clearTimeout(t)}},logger:console.log.bind(console),devTools:false};t.interpret=Ne;return t}();function Ne(t,e){var r=new Re(t,e);return r}function Le(t){if(typeof t==="string"){var e={type:t};e.toString=function(){return t};return e}return t}function Pe(t){return g(g({type:N},t),{toJSON:function(){var e=m(t,["onDone","onError"]);return g(g({},e),{type:N,src:Le(t.src)})}})}var Ie="";var We="#";var Me="*";var Be={};var He=function(t){return t[0]===We};var De=function(){return{actions:{},guards:{},services:{},activities:{},delays:{}}};var Ue=function(t,e,r){r.slice(0,-1).some((function(t){return!("cond"in t)&&!("in"in t)&&(yt(t.target)||xt(t.target))}))};var Ve=function(){function t(e,r,i,n){if(i===void 0){i="context"in e?e.context:undefined}var s=this;var o;this.config=e;this._context=i;this.order=-1;this.__xstatenode=true;this.__cache={events:undefined,relativeValue:new Map,initialStateValue:undefined,initialState:undefined,on:undefined,transitions:undefined,candidates:{},delayedTransitions:undefined};this.idMap={};this.tags=[];this.options=Object.assign(De(),r);this.parent=n===null||n===void 0?void 0:n.parent;this.key=this.config.key||(n===null||n===void 0?void 0:n.key)||this.config.id||"(machine)";this.machine=this.parent?this.parent.machine:this;this.path=this.parent?this.parent.path.concat(this.key):[];this.delimiter=this.config.delimiter||(this.parent?this.parent.delimiter:B);this.id=this.config.id||O([this.machine.key],x(this.path),false).join(this.delimiter);this.version=this.parent?this.parent.version:this.config.version;this.type=this.config.type||(this.config.parallel?"parallel":this.config.states&&Object.keys(this.config.states).length?"compound":this.config.history?"history":"atomic");this.schema=this.parent?this.machine.schema:(o=this.config.schema)!==null&&o!==void 0?o:{};this.description=this.config.description;this.initial=this.config.initial;this.states=this.config.states?Z(this.config.states,(function(e,r){var i;var n=new t(e,{},undefined,{parent:s,key:r});Object.assign(s.idMap,g((i={},i[n.id]=n,i),n.idMap));return n})):Be;var c=0;function a(t){var e,r;t.order=c++;try{for(var i=k(ce(t)),n=i.next();!n.done;n=i.next()){var s=n.value;a(s)}}catch(t){e={error:t}}finally{try{if(n&&!n.done&&(r=i.return))r.call(i)}finally{if(e)throw e.error}}}a(this);this.history=this.config.history===true?"shallow":this.config.history||false;this._transient=!!this.config.always||(!this.config.on?false:Array.isArray(this.config.on)?this.config.on.some((function(t){var e=t.event;return e===Ie})):Ie in this.config.on);this.strict=!!this.config.strict;this.onEntry=ot(this.config.entry||this.config.onEntry).map((function(t){return Nt(t)}));this.onExit=ot(this.config.exit||this.config.onExit).map((function(t){return Nt(t)}));this.meta=this.config.meta;this.doneData=this.type==="final"?this.config.data:undefined;this.invoke=ot(this.config.invoke).map((function(t,e){var r,i;if(xt(t)){var n=qt(s.id,e);s.machine.options.services=g((r={},r[n]=t,r),s.machine.options.services);return Pe({src:n,id:n})}else if(yt(t.src)){var n=t.id||qt(s.id,e);return Pe(g(g({},t),{id:n,src:t.src}))}else if(xt(t.src)||bt(t.src)){var n=t.id||qt(s.id,e);s.machine.options.services=g((i={},i[n]=t.src,i),s.machine.options.services);return Pe(g(g({id:n},t),{src:n}))}else{var o=t.src;return Pe(g(g({id:qt(s.id,e)},t),{src:o}))}}));this.activities=ot(this.config.activities).concat(this.invoke).map((function(t){return Pt(t)}));this.transition=this.transition.bind(this);this.tags=ot(this.config.tags)}t.prototype._init=function(){if(this.__cache.transitions){return}le(this).forEach((function(t){return t.on}))};t.prototype.withConfig=function(e,r){var i=this.options,n=i.actions,s=i.activities,o=i.guards,c=i.services,a=i.delays;return new t(this.config,{actions:g(g({},n),e.actions),activities:g(g({},s),e.activities),guards:g(g({},o),e.guards),services:g(g({},c),e.services),delays:g(g({},a),e.delays)},r!==null&&r!==void 0?r:this.context)};t.prototype.withContext=function(e){return new t(this.config,this.options,e)};Object.defineProperty(t.prototype,"context",{get:function(){return bt(this._context)?this._context():this._context},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"definition",{get:function(){return{id:this.id,key:this.key,version:this.version,context:this.context,type:this.type,initial:this.initial,history:this.history,states:Z(this.states,(function(t){return t.definition})),on:this.on,transitions:this.transitions,entry:this.onEntry,exit:this.onExit,activities:this.activities||[],meta:this.meta,order:this.order||-1,data:this.doneData,invoke:this.invoke,description:this.description,tags:this.tags}},enumerable:false,configurable:true});t.prototype.toJSON=function(){return this.definition};Object.defineProperty(t.prototype,"on",{get:function(){if(this.__cache.on){return this.__cache.on}var t=this.transitions;return this.__cache.on=t.reduce((function(t,e){t[e.eventType]=t[e.eventType]||[];t[e.eventType].push(e);return t}),{})},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"after",{get:function(){return this.__cache.delayedTransitions||(this.__cache.delayedTransitions=this.getDelayedTransitions(),this.__cache.delayedTransitions)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"transitions",{get:function(){return this.__cache.transitions||(this.__cache.transitions=this.formatTransitions(),this.__cache.transitions)},enumerable:false,configurable:true});t.prototype.getCandidates=function(t){if(this.__cache.candidates[t]){return this.__cache.candidates[t]}var e=t===Ie;var r=this.transitions.filter((function(r){var i=r.eventType===t;return e?i:i||r.eventType===Me}));this.__cache.candidates[t]=r;return r};t.prototype.getDelayedTransitions=function(){var t=this;var e=this.config.after;if(!e){return[]}var r=function(e,r){var i=bt(e)?"".concat(t.id,":delay[").concat(r,"]"):e;var n=Jt(i,t.id);t.onEntry.push(Mt(n,{delay:e}));t.onExit.push(Dt(n));return n};var i=wt(e)?e.map((function(t,e){var i=r(t.delay,e);return g(g({},t),{event:i})})):nt(Object.keys(e).map((function(t,i){var n=e[t];var s=yt(n)?{target:n}:n;var o=!isNaN(+t)?+t:t;var c=r(o,i);return ot(s).map((function(t){return g(g({},t),{event:c,delay:o})}))})));return i.map((function(e){var r=e.delay;return g(g({},t.formatTransition(e)),{delay:r})}))};t.prototype.getStateNodes=function(t){var e;var r=this;if(!t){return[]}var i=t instanceof xe?t.value:X(t,this.delimiter);if(yt(i)){var n=this.getStateNode(i).initial;return n!==undefined?this.getStateNodes((e={},e[i]=n,e)):[this,this.states[i]]}var s=Object.keys(i);var o=[this];o.push.apply(o,O([],x(nt(s.map((function(t){return r.getStateNode(t).getStateNodes(i[t])})))),false));return o};t.prototype.handles=function(t){var e=$(t);return this.events.includes(e)};t.prototype.resolveState=function(t){var e=t instanceof xe?t:xe.create(t);var r=Array.from(ue([],this.getStateNodes(e.value)));return new xe(g(g({},e),{value:this.resolve(e.value),configuration:r,done:we(r,this),tags:ye(r),machine:this.machine}))};t.prototype.transitionLeafNode=function(t,e,r){var i=this.getStateNode(t);var n=i.next(e,r);if(!n||!n.transitions.length){return this.next(e,r)}return n};t.prototype.transitionCompoundNode=function(t,e,r){var i=Object.keys(t);var n=this.getStateNode(i[0]);var s=n._transition(t[i[0]],e,r);if(!s||!s.transitions.length){return this.next(e,r)}return s};t.prototype.transitionParallelNode=function(t,e,r){var i,n;var s={};try{for(var o=k(Object.keys(t)),c=o.next();!c.done;c=o.next()){var a=c.value;var l=t[a];if(!l){continue}var u=this.getStateNode(a);var f=u._transition(l,e,r);if(f){s[a]=f}}}catch(t){i={error:t}}finally{try{if(c&&!c.done&&(n=o.return))n.call(o)}finally{if(i)throw i.error}}var h=Object.keys(s).map((function(t){return s[t]}));var d=nt(h.map((function(t){return t.transitions})));var v=h.some((function(t){return t.transitions.length>0}));if(!v){return this.next(e,r)}var p=nt(Object.keys(s).map((function(t){return s[t].configuration})));return{transitions:d,exitSet:nt(h.map((function(t){return t.exitSet}))),configuration:p,source:e,actions:nt(Object.keys(s).map((function(t){return s[t].actions})))}};t.prototype._transition=function(t,e,r){if(yt(t)){return this.transitionLeafNode(t,e,r)}if(Object.keys(t).length===1){return this.transitionCompoundNode(t,e,r)}return this.transitionParallelNode(t,e,r)};t.prototype.getTransitionData=function(t,e){return this._transition(t.value,t,_t(e))};t.prototype.next=function(t,e){var r,i;var n=this;var s=e.name;var o=[];var c=[];var a;try{for(var l=k(this.getCandidates(s)),u=l.next();!u.done;u=l.next()){var f=u.value;var h=f.cond,d=f.in;var v=t.context;var p=d?yt(d)&&He(d)?t.matches(X(this.getStateNodeById(d).path,this.delimiter)):J(X(d,this.delimiter),et(this.path.slice(0,-2))(t.value)):true;var w=false;try{w=!h||At(this.machine,h,v,e,t)}catch(t){throw new Error("Unable to evaluate guard '".concat(h.name||h.type,"' in transition for event '").concat(s,"' in state node '").concat(this.id,"':\n").concat(t.message))}if(w&&p){if(f.target!==undefined){c=f.target}o.push.apply(o,O([],x(f.actions),false));a=f;break}}}catch(t){r={error:t}}finally{try{if(u&&!u.done&&(i=l.return))i.call(l)}finally{if(r)throw r.error}}if(!a){return undefined}if(!c.length){return{transitions:[a],exitSet:[],configuration:t.value?[this]:[],source:t,actions:o}}var b=nt(c.map((function(e){return n.getRelativeStateNodes(e,t.historyValue)})));var y=!!a.internal;return{transitions:[a],exitSet:y?[]:nt(c.map((function(t){return n.getPotentiallyReenteringNodes(t)}))),configuration:b,source:t,actions:o}};t.prototype.getPotentiallyReenteringNodes=function(t){if(this.order0;var h=f?t.configuration:e?e.configuration:[];var d=we(h,this);var v=f?de(this.machine,u):undefined;var p=e?e.historyValue?e.historyValue:t.source?this.machine.historyValue(e.value):undefined:undefined;var w=this.getActions(new Set(h),d,t,r,n,e,i);var b=e?g({},e.activities):{};try{for(var y=k(w),m=y.next();!m.done;m=y.next()){var O=m.value;try{for(var S=(c=void 0,k(O.actions)),_=S.next();!_.done;_=S.next()){var A=_.value;if(A.type===E){b[A.activity.id||A.activity.type]=A}else if(A.type===j){b[A.activity.id||A.activity.type]=false}}}catch(t){c={error:t}}finally{try{if(_&&!_.done&&(a=S.return))a.call(S)}finally{if(c)throw c.error}}}}catch(t){s={error:t}}finally{try{if(m&&!m.done&&(o=y.return))o.call(y)}finally{if(s)throw s.error}}var C=x(Yt(this,e,r,n,w,i,this.machine.config.predictableActionArguments||this.machine.config.preserveActionOrder),2),z=C[0],T=C[1];var F=x(ft(z,Tt),2),R=F[0],L=F[1];var P=z.filter((function(t){var e;return t.type===E&&((e=t.activity)===null||e===void 0?void 0:e.type)===N}));var W=P.reduce((function(t,e){t[e.activity.id]=ee(e.activity,l.machine,T,n);return t}),e?g({},e.children):{});var M=new xe({value:v||e.value,context:T,_event:n,_sessionid:e?e._sessionid:null,historyValue:v?p?dt(p,v):undefined:e?e.historyValue:undefined,history:!v||t.source?e:undefined,actions:v?L:[],activities:v?b:e?e.activities:{},events:[],configuration:h,transitions:t.transitions,children:W,done:d,tags:ye(h),machine:this});var B=r!==T;M.changed=n.name===I||B;var H=M.history;if(H){delete H.history}var D=!d&&(this._transient||u.some((function(t){return t._transient})));if(!f&&(!D||n.name===Ie)){return M}var U=M;if(!d){if(D){U=this.resolveRaisedTransition(U,{type:q},n,i)}while(R.length){var V=R.shift();U=this.resolveRaisedTransition(U,V._event,n,i)}}var K=U.changed||(H?!!U.actions.length||B||typeof H.value!==typeof U.value||!ge(U.value,H.value):undefined);U.changed=K;U.history=H;return U};t.prototype.getStateNode=function(t){if(He(t)){return this.machine.getStateNodeById(t)}if(!this.states){throw new Error("Unable to retrieve child state '".concat(t,"' from '").concat(this.id,"'; no child states exist."))}var e=this.states[t];if(!e){throw new Error("Child state '".concat(t,"' does not exist on '").concat(this.id,"'"))}return e};t.prototype.getStateNodeById=function(t){var e=He(t)?t.slice(We.length):t;if(e===this.id){return this}var r=this.machine.idMap[e];if(!r){throw new Error("Child state node '#".concat(e,"' does not exist on machine '").concat(this.id,"'"))}return r};t.prototype.getStateNodeByPath=function(t){if(typeof t==="string"&&He(t)){try{return this.getStateNodeById(t.slice(1))}catch(t){}}var e=G(t,this.delimiter).slice();var r=this;while(e.length){var i=e.shift();if(!i.length){break}r=r.getStateNode(i)}return r};t.prototype.resolve=function(t){var e;var r=this;if(!t){return this.initialStateValue||Be}switch(this.type){case"parallel":return Z(this.initialStateValue,(function(e,i){return e?r.getStateNode(i).resolve(t[i]||e):Be}));case"compound":if(yt(t)){var i=this.getStateNode(t);if(i.type==="parallel"||i.type==="compound"){return e={},e[t]=i.initialStateValue,e}return t}if(!Object.keys(t).length){return this.initialStateValue||{}}return Z(t,(function(t,e){return t?r.getStateNode(e).resolve(t):Be}));default:return t||Be}};t.prototype.getResolvedPath=function(t){if(He(t)){var e=this.machine.idMap[t.slice(We.length)];if(!e){throw new Error("Unable to find state node '".concat(t,"'"))}return e.path}return G(t,this.delimiter)};Object.defineProperty(t.prototype,"initialStateValue",{get:function(){var t;if(this.__cache.initialStateValue){return this.__cache.initialStateValue}var e;if(this.type==="parallel"){e=tt(this.states,(function(t){return t.initialStateValue||Be}),(function(t){return!(t.type==="history")}))}else if(this.initial!==undefined){if(!this.states[this.initial]){throw new Error("Initial state '".concat(this.initial,"' not found on '").concat(this.key,"'"))}e=oe(this.states[this.initial])?this.initial:(t={},t[this.initial]=this.states[this.initial].initialStateValue,t)}else{e={}}this.__cache.initialStateValue=e;return this.__cache.initialStateValue},enumerable:false,configurable:true});t.prototype.getInitialState=function(t,e){this._init();var r=this.getStateNodes(t);return this.resolveTransition({configuration:r,exitSet:[],transitions:[],source:undefined,actions:[]},undefined,e!==null&&e!==void 0?e:this.machine.context,undefined)};Object.defineProperty(t.prototype,"initialState",{get:function(){var t=this.initialStateValue;if(!t){throw new Error("Cannot retrieve initial state from simple state '".concat(this.id,"'."))}return this.getInitialState(t)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"target",{get:function(){var t;if(this.type==="history"){var e=this.config;if(yt(e.target)){t=He(e.target)?Y(this.machine.getStateNodeById(e.target).path.slice(this.path.length-1)):e.target}else{t=e.target}}return t},enumerable:false,configurable:true});t.prototype.getRelativeStateNodes=function(t,e,r){if(r===void 0){r=true}return r?t.type==="history"?t.resolveHistory(e):t.initialStateNodes:[t]};Object.defineProperty(t.prototype,"initialStateNodes",{get:function(){var t=this;if(oe(this)){return[this]}if(this.type==="compound"&&!this.initial){if(!V){pt(false,"Compound state node '".concat(this.id,"' has no initial state."))}return[this]}var e=it(this.initialStateValue);return nt(e.map((function(e){return t.getFromRelativePath(e)})))},enumerable:false,configurable:true});t.prototype.getFromRelativePath=function(t){if(!t.length){return[this]}var e=x(t),r=e[0],i=e.slice(1);if(!this.states){throw new Error("Cannot retrieve subPath '".concat(r,"' from node with no states"))}var n=this.getStateNode(r);if(n.type==="history"){return n.resolveHistory()}if(!this.states[r]){throw new Error("Child state '".concat(r,"' does not exist on '").concat(this.id,"'"))}return this.states[r].getFromRelativePath(i)};t.prototype.historyValue=function(t){if(!Object.keys(this.states).length){return undefined}return{current:t||this.initialStateValue,states:tt(this.states,(function(e,r){if(!t){return e.historyValue()}var i=yt(t)?undefined:t[r];return e.historyValue(i||e.initialStateValue)}),(function(t){return!t.history}))}};t.prototype.resolveHistory=function(t){var e=this;if(this.type!=="history"){return[this]}var r=this.parent;if(!t){var i=this.target;return i?nt(it(i).map((function(t){return r.getFromRelativePath(t)}))):r.initialStateNodes}var n=rt(r.path,"states")(t).current;if(yt(n)){return[r.getStateNode(n)]}return nt(it(n).map((function(t){return e.history==="deep"?r.getFromRelativePath(t):[r.states[t[0]]]})))};Object.defineProperty(t.prototype,"stateIds",{get:function(){var t=this;var e=nt(Object.keys(this.states).map((function(e){return t.states[e].stateIds})));return[this.id].concat(e)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"events",{get:function(){var t,e,r,i;if(this.__cache.events){return this.__cache.events}var n=this.states;var s=new Set(this.ownEvents);if(n){try{for(var o=k(Object.keys(n)),c=o.next();!c.done;c=o.next()){var a=c.value;var l=n[a];if(l.states){try{for(var u=(r=void 0,k(l.events)),f=u.next();!f.done;f=u.next()){var h=f.value;s.add("".concat(h))}}catch(t){r={error:t}}finally{try{if(f&&!f.done&&(i=u.return))i.call(u)}finally{if(r)throw r.error}}}}}catch(e){t={error:e}}finally{try{if(c&&!c.done&&(e=o.return))e.call(o)}finally{if(t)throw t.error}}}return this.__cache.events=Array.from(s)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"ownEvents",{get:function(){var t=new Set(this.transitions.filter((function(t){return!(!t.target&&!t.actions.length&&t.internal)})).map((function(t){return t.eventType})));return Array.from(t)},enumerable:false,configurable:true});t.prototype.resolveTarget=function(t){var e=this;if(t===undefined){return undefined}return t.map((function(t){if(!yt(t)){return t}var r=t[0]===e.delimiter;if(r&&!e.parent){return e.getStateNodeByPath(t.slice(1))}var i=r?e.key+t:t;if(e.parent){try{var n=e.parent.getStateNodeByPath(i);return n}catch(t){throw new Error("Invalid transition definition for state node '".concat(e.id,"':\n").concat(t.message))}}else{return e.getStateNodeByPath(i)}}))};t.prototype.formatTransition=function(t){var e=this;var r=jt(t.target);var i="internal"in t?t.internal:r?r.some((function(t){return yt(t)&&t[0]===e.delimiter})):true;var n=this.machine.options.guards;var s=this.resolveTarget(r);var o=g(g({},t),{actions:Lt(ot(t.actions)),cond:gt(t.cond,n),target:s,source:this,internal:i,eventType:t.event,toJSON:function(){return g(g({},o),{target:o.target?o.target.map((function(t){return"#".concat(t.id)})):undefined,source:"#".concat(e.id)})}});return o};t.prototype.formatTransitions=function(){var t,e;var r=this;var i;if(!this.config.on){i=[]}else if(Array.isArray(this.config.on)){i=this.config.on}else{var n=this.config.on,s=Me,o=n[s],c=o===void 0?[]:o,a=m(n,[typeof s==="symbol"?s:s+""]);i=nt(Object.keys(a).map((function(t){if(!V&&t===Ie){pt(false,"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. "+'Please check the `on` configuration for "#'.concat(r.id,'".'))}var e=Et(t,a[t]);if(!V){Ue(r,t,e)}return e})).concat(Et(Me,c)))}var l=this.config.always?Et("",this.config.always):[];var u=this.config.onDone?Et(String($t(this.id)),this.config.onDone):[];if(!V){pt(!(this.config.onDone&&!this.parent),'Root nodes cannot have an ".onDone" transition. Please check the config of "'.concat(this.id,'".'))}var f=nt(this.invoke.map((function(t){var e=[];if(t.onDone){e.push.apply(e,O([],x(Et(String(Gt(t.id)),t.onDone)),false))}if(t.onError){e.push.apply(e,O([],x(Et(String(Qt(t.id)),t.onError)),false))}return e})));var h=this.after;var d=nt(O(O(O(O([],x(u),false),x(f),false),x(i),false),x(l),false).map((function(t){return ot(t).map((function(t){return r.formatTransition(t)}))})));try{for(var v=k(h),p=v.next();!p.done;p=v.next()){var w=p.value;d.push(w)}}catch(e){t={error:e}}finally{try{if(p&&!p.done&&(e=v.return))e.call(v)}finally{if(t)throw t.error}}return d};return t}();function Ke(t,e,r){if(r===void 0){r=t.context}return new Ve(t,e,r)}const Je=(t,e)=>t.textContent.toLowerCase().startsWith(e.toLowerCase());const $e=["m","l"];function Ge(t){return $e.includes(t)}const Qe=({disabled:e,option:r,onRemove:i})=>{const n={};if(r.chipColor){n["color"]=r.chipColor}if(r.chipBackgroundColor){n["background-color"]=r.chipBackgroundColor}return t("label",{class:"wcs-select-chip",style:n,onClick:t=>t.stopImmediatePropagation()},t("div",null,r.displayText),e?null:t("div",{onClick:()=>i(r)},t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"12",viewBox:"0 0 20 12",class:"chip"},t("path",{d:"M2,0 6,4 10,0 12,2 8,6 12,10 10,12 6,8 2,12 0,10 4,6 0,2 2,0",fill:r.chipColor,transform:"translate(8 0)"}))))};function Xe(t,e,r){const i=p(t);if(i==="UNKNOWN"){return[]}switch(e){case"closed":switch(i){case"MAJ+TAB":switch(r){case"unique":case"multiple":return[];case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"MoveFocus",target:"previous"}]}break;case"DOWN_ARROW":switch(r){case"unique":return[{kind:"SelectOption",target:"next"}];case"autocomplete_multiple":case"autocomplete_unique":return[{kind:"OpenSelect"},{kind:"HighlightOption",target:"first"}];case"multiple":return[{kind:"OpenSelect"},{kind:"FocusOption",target:"first"}]}break;case"RIGHT_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[];case"unique":return[{kind:"SelectOption",target:"next"}];case"multiple":return[{kind:"OpenSelect"},{kind:"FocusOption",target:"first"}]}break;case"UP_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"OpenSelect"},{kind:"HighlightOption",target:"last"}];case"multiple":break;case"unique":return[{kind:"SelectOption",target:"previous"}]}break;case"LEFT_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[];case"unique":return[{kind:"SelectOption",target:"previous"}]}break;case"ALT+DOWN_ARROW":case"ALT+UP_ARROW":switch(r){case"unique":return[{kind:"OpenSelect"},{kind:"FocusOption",target:"first"}];case"autocomplete_unique":case"autocomplete_multiple":case"multiple":return[{kind:"OpenSelect"}]}break;case"SPACE":case"ENTER":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[];case"unique":case"multiple":return[{kind:"OpenSelect"},{kind:"FocusOption",target:"lastFocused"}]}break;case"ESCAPE":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"ClearAutocompleteInput"}];case"unique":case"multiple":return[]}break;case"PAGE_UP":switch(r){case"autocomplete_unique":return[];case"autocomplete_multiple":return[];case"unique":return[{kind:"SelectOption",target:"first"}];case"multiple":return[]}break;case"PAGE_DOWN":switch(r){case"autocomplete_unique":return[];case"autocomplete_multiple":return[];case"unique":return[{kind:"SelectOption",target:"last"}];case"multiple":return[]}break}break;case"opened":switch(i){case"ESCAPE":switch(r){case"unique":case"multiple":case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"CloseSelect",shouldBlur:false}]}break;case"ALT+UP_ARROW":switch(r){case"unique":case"multiple":return[{kind:"CloseSelect",shouldBlur:false}];case"autocomplete_unique":case"autocomplete_multiple":return[]}break;case"TAB":switch(r){case"autocomplete_unique":return[{kind:"SelectOption",target:"lastHighlighted"},{kind:"CloseSelect",shouldBlur:false}];case"autocomplete_multiple":return[{kind:"CloseSelect",shouldBlur:false}];case"unique":case"multiple":return[{kind:"CloseSelect",shouldBlur:true}]}break;case"MAJ+TAB":switch(r){case"autocomplete_unique":return[{kind:"SelectOption",target:"lastHighlighted"},{kind:"CloseSelect",shouldBlur:false},{kind:"MoveFocus",target:"previous"}];case"autocomplete_multiple":return[{kind:"CloseSelect",shouldBlur:false},{kind:"MoveFocus",target:"previous"}];case"unique":case"multiple":return[{kind:"CloseSelect",shouldBlur:true}]}break;case"UP_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"HighlightOption",target:"previous"}];case"unique":case"multiple":return[{kind:"FocusOption",target:"previous"}]}break;case"LEFT_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[];case"unique":case"multiple":return[{kind:"FocusOption",target:"previous"}]}break;case"DOWN_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"HighlightOption",target:"next"}];case"unique":case"multiple":return[{kind:"FocusOption",target:"next"}]}break;case"RIGHT_ARROW":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[];case"unique":case"multiple":return[{kind:"FocusOption",target:"next"}]}break;case"PAGE_UP":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"HighlightOption",target:"first"}];case"unique":case"multiple":return[{kind:"FocusOption",target:"first"}]}break;case"PAGE_DOWN":switch(r){case"autocomplete_unique":case"autocomplete_multiple":return[{kind:"HighlightOption",target:"last"}];case"unique":case"multiple":return[{kind:"FocusOption",target:"last"}]}break;case"ENTER":switch(r){case"autocomplete_unique":return[{kind:"SelectOption",target:"lastHighlighted"}];case"autocomplete_multiple":return[{kind:"SelectOption",target:"lastHighlighted"}]}break}break;default:throw Error("Unknown error")}return[]}const Ye=':host{--wcs-select-ligther-percentage:40;--wcs-select-control-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-value-color:var(--wcs-semantic-color-text-primary);--wcs-select-value-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-select-placeholder-color:var(--wcs-semantic-color-text-tertiary);--wcs-select-placeholder-font-weight:var(--wcs-semantic-font-weight-roman);--wcs-select-placeholder-font-style:var(--wcs-semantic-font-style-control-placeholder);--wcs-select-options-padding:var(--wcs-semantic-spacing-base-150);--wcs-select-control-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-default);--wcs-select-control-arrow-color:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-select-control-arrow-color-disabled:var(--wcs-semantic-color-foreground-disabled);--wcs-select-control-chips-gap:var(--wcs-semantic-spacing-small);--wcs-select-control-border-color-default:var(--wcs-semantic-color-border-primary);--wcs-select-control-border-color-disabled:var(--wcs-semantic-color-border-disabled);--wcs-select-control-border-color-focus:var(--wcs-semantic-color-border-control-focus);--wcs-select-control-border-color-error:var(--wcs-semantic-color-border-critical);--wcs-select-control-border-style-default:solid;--wcs-select-control-border-style-error:solid;--wcs-select-control-border-style-focus:var(--wcs-semantic-border-style-focus-control);--wcs-select-control-border-width-default:var(--wcs-semantic-border-width-default);--wcs-select-control-border-width-focus:var(--wcs-semantic-border-width-large);--wcs-select-control-padding-horizontal-m:var(--wcs-semantic-spacing-large);--wcs-select-control-padding-horizontal-l:var(--wcs-semantic-spacing-large);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-select-control-height-m:var(--wcs-semantic-size-m);--wcs-select-control-height-l:var(--wcs-semantic-size-l);--wcs-internal-select-chip-size:var(--wcs-semantic-size-s);--wcs-select-control-font-size:var(--wcs-select-control-font-size-m, 1rem);--wcs-select-control-font-size-m:var(--wcs-semantic-font-size-m);--wcs-select-control-font-size-l:var(--wcs-semantic-font-size-l);--wcs-select-overlay-max-height:360px;--wcs-select-overlay-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-select-overlay-border-width:var(--wcs-semantic-border-width-default);--wcs-select-overlay-border-color:var(--wcs-semantic-color-border-secondary);--wcs-select-overlay-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-chip-color-default:var(--wcs-semantic-color-foreground-action-primary-default);--wcs-select-control-chip-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-control-chip-background-color-default:var(--wcs-semantic-color-background-action-primary-default);--wcs-select-control-chip-background-color-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-select-control-chip-padding-vertical:var(--wcs-semantic-spacing-small);--wcs-select-control-chip-padding-horizontal:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-select-control-chip-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-chip-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-autocomplete-padding-vertical-m:var(--wcs-semantic-spacing-small);--wcs-select-control-autocomplete-padding-vertical-l:var(--wcs-semantic-spacing-small);--wcs-select-internal-noresult-padding-horizontal:var(--wcs-semantic-spacing-base);display:block;min-height:var(--wcs-select-control-height);position:relative;outline:none;user-select:none;box-sizing:border-box}:host svg{flex-shrink:0}:host .wcs-select-control{min-height:var(--wcs-select-control-height);outline:var(--wcs-select-control-border-width-default) var(--wcs-select-control-border-style-default) var(--wcs-select-control-border-color-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1)}:host .arrow{fill:var(--wcs-select-control-arrow-color)}:host .chip{fill:var(--wcs-select-control-chip-color-default);opacity:calc((100 - var(--wcs-select-ligther-percentage)) / 100)}:host .chip:hover{opacity:100}.wcs-select-control{box-sizing:border-box;display:flex;align-items:center;background-color:var(--wcs-select-control-background-color);border-radius:var(--wcs-select-control-border-radius);outline:var(--wcs-select-control-border-color-default) solid var(--wcs-select-control-border-width-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1);font-size:var(--wcs-select-control-font-size, 1rem);line-height:var(--wcs-select-control-line-height);cursor:pointer;padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}label{cursor:pointer;transition:color 125ms ease-in;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label.wcs-select-placeholder{color:var(--wcs-select-placeholder-color);font-style:var(--wcs-select-placeholder-font-style);font-weight:var(--wcs-select-placeholder-font-weight)}label.wcs-select-value{color:var(--wcs-select-value-color);font-style:normal;font-weight:var(--wcs-select-value-font-weight)}label::after{content:"";padding:1px}.wcs-select-value-container{max-width:calc(100% - (24px + var(--wcs-semantic-spacing-base)));padding-right:8px;display:flex;flex-direction:row;gap:var(--wcs-select-control-chips-gap);align-items:center;flex-wrap:wrap}.wcs-select-chip{box-sizing:border-box;height:var(--wcs-internal-select-chip-size);line-height:var(--wcs-select-control-chip-line-height);color:var(--wcs-select-control-chip-color-default);background-color:var(--wcs-select-control-chip-background-color-default);border-radius:var(--wcs-select-control-chip-border-radius);display:flex;align-items:center;padding:var(--wcs-select-control-chip-padding-vertical) var(--wcs-select-control-chip-padding-horizontal);overflow:initial;z-index:1}.wcs-select-options{display:none;position:absolute;z-index:999999999;border:solid var(--wcs-select-overlay-border-width) var(--wcs-select-overlay-border-color);border-radius:var(--wcs-select-overlay-border-radius);max-height:var(--wcs-select-overlay-max-height);overflow-y:auto;width:calc(100% - (2 * var(--wcs-select-overlay-border-width) + 2 * var(--wcs-select-options-padding)));padding:var(--wcs-select-options-padding);background-color:var(--wcs-select-overlay-background-color)}:host(.expanded){outline-width:var(--wcs-select-control-border-width-focus)}:host(.expanded) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host(.expanded) .wcs-select-options{display:block}:host([aria-invalid=true]) .wcs-select-control,:host([autocomplete]):has(input[aria-invalid=true]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-error);outline-color:var(--wcs-select-control-border-color-error)}:host(:not(.expanded):focus-visible){outline-width:var(--wcs-select-control-border-width-focus)}:host(:not(.expanded):focus-visible) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host([disabled]){cursor:not-allowed;--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-disabled)}:host([disabled]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-default);outline-color:var(--wcs-select-control-border-color-disabled)}:host([disabled]) .wcs-select-control,:host([disabled]) label{cursor:default;pointer-events:none}:host([disabled]) label{color:var(--wcs-select-text-color-disabled)}:host([disabled]) .arrow{fill:var(--wcs-select-control-arrow-color-disabled)}:host([disabled]) .wcs-select-chip{color:var(--wcs-select-control-chip-color-disabled);background-color:var(--wcs-select-control-chip-background-color-disabled)}:host([disabled]) .chip{fill:var(--wcs-select-control-chip-color-disabled)}:host([size=m]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-m);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-m)}:host([size=m]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}:host([size=m]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-m) * 2)}:host([size=m]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-m);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-m)}:host([size=l]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-l);--wcs-select-control-height:var(--wcs-select-control-height-l);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-l)}:host([size=l]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-l);padding-right:calc(var(--wcs-select-control-padding-horizontal-l) - 4px)}:host([size=l]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-l) * 2)}:host([size=l]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-l);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-l)}:host([chips]) .wcs-select-control{flex-wrap:wrap}:host([chips]) .wcs-select-value-container{margin-top:4px;margin-bottom:4px}:host([autocomplete]) .wcs-select-value-container{margin:0;width:100%}:host([autocomplete]) input{font:unset;background-color:transparent;outline:none;border:none;padding:unset;color:var(--wcs-select-value-color);font-weight:var(--wcs-select-value-font-weight) !important;font-size:var(--wcs-select-control-font-size);line-height:inherit}:host([autocomplete]) input::placeholder{color:var(--wcs-select-placeholder-color);opacity:1;font-weight:var(--wcs-select-placeholder-font-weight);font-style:var(--wcs-select-placeholder-font-style)}:host([autocomplete]:focus-within) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}.autocomplete-field{width:0;min-width:50px;flex-grow:1}.noresult-container{padding-left:var(--wcs-select-internal-noresult-padding-horizontal);padding-right:var(--wcs-select-internal-noresult-padding-horizontal);display:flex;flex-direction:row;align-items:center;height:var(--wcs-select-control-height)}';const Ze=Ye;const tr={key:"select",initial:"closed",states:{closed:{entry:["close"],on:{CLICK:"opened",OPEN:"opened",OPTION_SELECTED:{actions:["selectOption"]}}},opened:{entry:["open"],on:{CLICK:"closed",CLOSE:"closed",OPTION_SELECTED:{actions:["selectOption"]}}}}};const er=["tabindex","title"];const rr=class{constructor(t){e(this,t);this.wcsChange=r(this,"wcsChange",7);this.wcsFocus=r(this,"wcsFocus",7);this.wcsBlur=r(this,"wcsBlur",7);this.wcsFilterChange=r(this,"wcsFilterChange",7);this.inheritedAttributes={};this.selectId=`wcs-select-${ir++}`;this.optionsId=o("OPTIONS");this.expanded=false;this.size="m";this.displayText=undefined;this.focused=undefined;this.value=undefined;this.placeholder=undefined;this.disabled=false;this.required=false;this.multiple=false;this.autocomplete=false;this.serverMode=false;this.filterFn=undefined;this.chips=false;this.name=undefined;this.compareWith=(t,e)=>b(t,e);this.showNoResultFoundLabel=false;this.autocompleteValue=undefined;this.overlayDirection="bottom"}async open(){this.stateService.send("OPEN")}async close(){this.stateService.send("CLOSE")}onValueChangeHandler(t){this.updateSelectedValue(t)}updateSelectedValue(t,e=true,r=true){var i;if(!t&&e){this.reset()}if(this.multiple){if(!Array.isArray(t)){t=[t]}this.lastModifiedOptionElement=t.length>0?(i=Array.from(this.options).find((e=>this.compareWith(e.value,t[t.length-1]))))!==null&&i!==void 0?i:null:null;if(this.serverMode){const e=c(this.values.map((t=>t.value)),t,this.compareWith);e.added.forEach((t=>{const e=Array.from(this.options).find((e=>this.compareWith(e.value,t)));if(e){this.values.push({value:e.value,displayText:e.innerText,chipColor:e.chipColor,chipBackgroundColor:e.chipBackgroundColor});e.selected=true}}));e.kept.forEach((t=>{const e=Array.from(this.options).find((e=>this.compareWith(e.value,t)));if(e){e.selected=true}}));e.removed.forEach((t=>{this.values=this.values.filter((e=>!this.compareWith(e.value,t)));const e=Array.from(this.options).find((e=>this.compareWith(e.value,t)));if(e){e.selected=false}}))}else{this.values=[];this.options.forEach((e=>{const r=t?t.findIndex((t=>this.compareWith(e.value,t)))!==-1:false;if(r){this.values.push({value:e.value,displayText:e.innerText,chipColor:e.chipColor,chipBackgroundColor:e.chipBackgroundColor})}e.selected=r}))}this.displayText=this.values.length!==0?this.values.map((t=>t.displayText)).join(", "):undefined}else{let e=false;this.options.forEach((i=>{const n=this.compareWith(i.value,t);if(n){e=true;this.displayText=i.innerText;this.lastModifiedOptionElement=i;if(this.autocomplete){this.setAutocompleteValue(i.innerText,false,false,r)}}i.selected=n}));if(this.serverMode&&!e){this.setAutocompleteValue("",false,false,r);this.displayText=""}}}reset(){this.values=[];this.displayText=undefined;if(this.autocomplete){this.setAutocompleteValue("",true)}this.options.forEach((t=>{t.selected=false}))}componentDidLoad(){this.optionsEl=this.el.shadowRoot.querySelector(".wcs-select-options");this.controlEl=this.el.shadowRoot.querySelector(".wcs-select-control");const t=Ke(tr,this.initMachineOptions());this.stateService=Ne(t);if(this.multiple){this.values=[]}this.stateService.start();if(this.optionsEl.querySelector("slot")===null){this.replaceOptions_firefoxBefore63();this.listenDomUpdate_firefoxBefore63()}if(this.value!==undefined){this.updateSelectedValue(this.value)}this.popper=this.createPopperInstance();this.labelElement=a(this.el);if(this.labelElement){this.labelElement.id=this.selectId+"-lbl"}}createPopperInstance(){return y(this.controlEl,this.optionsEl,{placement:"bottom",modifiers:[{name:"offset",options:{offset:[0,4]}}]})}emitChange(t){this.wcsChange.emit({value:t})}replaceOptions_firefoxBefore63(){Array.from(this.el.querySelectorAll("wcs-select-option")).forEach((t=>{if(t.parentNode===this.el){this.el.removeChild(t);this.optionsEl.appendChild(t)}}))}listenDomUpdate_firefoxBefore63(){const t=new MutationObserver((t=>{for(const e of t){if(e.type==="childList"){this.replaceOptions_firefoxBefore63()}}}));t.observe(this.el,{childList:true})}componentWillRender(){if(this.multiple){this.options.forEach((t=>t.multiple=true))}}componentWillLoad(){if(!Ge(this.size)){console.warn(`Invalid size value for wcs-select : "${this.size}". Must be one of "${$e.join(", ")}"`);this.size="m"}if(this.autocomplete){this.inheritedAttributes=Object.assign(Object.assign({},l(this.el)),u(this.el,er))}}async setAriaAttribute(t,e){if(this.autocomplete===false){f(this.el,t,e)}else{f(this.autocompleteInput,t,e)}}get options(){var t;const e=(t=this.el)===null||t===void 0?void 0:t.querySelectorAll("wcs-select-option");if(e&&e.length!==0){return e}return[]}get notDisabledOptions(){var t;const e=(t=this.el)===null||t===void 0?void 0:t.querySelectorAll("wcs-select-option:not([disabled]):not([aria-hidden])");if(e&&e.length!==0){return e}return[]}initMachineOptions(){return{actions:{open:()=>{var t;if(!this.disabled){this.expanded=true;this.focused=false;if(this.multiple===false&&this.autocomplete&&this.hasValue===false){if(this.autocompleteValue&&this.autocompleteValue!==""){this.setAutocompleteValue(this.autocompleteValue)}}this.clearHighlightOnLastHighlightedOption();if(this.notDisabledOptions.length>0){this.lastFocusedOptionElement=(t=this.lastModifiedOptionElement)!==null&&t!==void 0?t:this.notDisabledOptions[0];requestAnimationFrame((()=>{var t,e;this.autocomplete?(t=this.autocompleteInput)===null||t===void 0?void 0:t.focus():(e=this.lastFocusedOptionElement)===null||e===void 0?void 0:e.focus()}))}}},close:(t,e)=>{var r,i;if(e.type==="CLOSE"){this.clearHighlightOnLastHighlightedOption();if((r=e.value)===null||r===void 0?void 0:r.shouldBlur){this.focused=false}else{if(this.autocomplete&&((i=e.value)===null||i===void 0?void 0:i.fromKeyboard)){this.focusAutocompleteInput()}else{this.el.focus()}this.focused=true}if(this.autocomplete&&this.displayText&&this.multiple===false){this.setAutocompleteValue(this.displayText)}}this.expanded=false},selectOption:(t,e)=>{if(e.type==="OPTION_SELECTED"){if(this.multiple){this.handleOptionSelectedOnMultiple(e.value.option)}else{this.handleOptionSelectedOnSingle(e.value.option);this.stateService.send("CLOSE",{value:{fromKeyboard:e.value.fromKeyboard}})}if(this.autocomplete){if(this.multiple){requestAnimationFrame((()=>{this.autocompleteInput.focus()}))}else{this.setAutocompleteValue(e.value.option.displayText)}}this.emitChange(this.value)}}},guards:{enabled:()=>!this.disabled}}}handleOptionSelectedOnMultiple(t){const e=this.values.findIndex((e=>this.compareWith(e.value,t.value)));if(e===-1){this.value=[...this.values.map((t=>t.value)),t.value]}else{this.value=this.values.filter((e=>!this.compareWith(e.value,t.value))).map((t=>t.value))}}handleOptionSelectedOnSingle(t){this.value=t.value}disconnectedCallback(){var t;(t=this.stateService)===null||t===void 0?void 0:t.stop()}get hasValue(){return this.displayText!==undefined}onMouseUp(t){const e=h(t.target)&&(t.offsetX>t.target.clientWidth||t.offsetY>t.target.clientHeight||t.offsetY<0);const r=t.composedPath().filter((t=>{const e=t;return e.nodeName==="svg"&&e.classList.contains("chip")})).length>0;if(!e&&!r){this.stateService.send("CLICK")}}onWindowClickEvent(t){const e=t.composedPath().filter((t=>t.nodeName==="WCS-SELECT"))[0];const r=e===this.el;if(this.expanded&&!r){this.stateService.send({type:"CLOSE",value:{shouldBlur:true,fromKeyboard:false}})}}onKeyDown(t){const e=this.stateService.getSnapshot().matches("closed")?"closed":"opened";let r;if(this.autocomplete){r=this.multiple?"autocomplete_multiple":"autocomplete_unique"}else{r=this.multiple?"multiple":"unique"}const i=Xe(t,e,r);if(i.length!=0&&i.filter((t=>t.kind==="MoveFocus")).length===0){t.preventDefault()}for(const e of i){this.doActionFromKeyboardEventAssociatedAction(e,t)}}doActionFromKeyboardEventAssociatedAction(t,e){var r,i;switch(t.kind){case"CloseSelect":this.stateService.send({type:"CLOSE",value:{shouldBlur:t.shouldBlur,fromKeyboard:true}});break;case"OpenSelect":this.stateService.send("OPEN");break;case"SelectOption":switch(t.target){case"next":this.selectClosestOption("next");break;case"previous":this.selectClosestOption("previous");break;case"first":this.selectFirstOption();break;case"last":this.selectLastOption();break;case"lastHighlighted":{const t=Array.from(this.notDisabledOptions).indexOf(this.lastHighlightedOptionElement);if(t!==-1){this.lastModifiedOptionElement=this.lastHighlightedOptionElement;this.selectOption(t,true)}break}}break;case"ClearAutocompleteInput":this.setAutocompleteValue("",false,false);break;case"ClearHighlight":this.clearHighlightOnLastHighlightedOption();break;case"HighlightOption":switch(t.target){case"next":this.highlightClosestOption("next");break;case"previous":this.highlightClosestOption("previous");break;case"first":this.highlightFirstOption();break;case"last":this.highlightLastOption();break}break;case"FocusOption":switch(t.target){case"next":this.focusClosestOption("next");break;case"previous":this.focusClosestOption("previous");break;case"first":this.focusFirstOption();break;case"last":this.focusLastOption();break;case"lastFocused":if(this.lastFocusedOptionElement!=null){this.focusOption(Array.from(this.notDisabledOptions).indexOf(this.lastFocusedOptionElement))}break}break;case"MoveFocus":switch(t.target){case"previous":{let t=(r=this.el.previousElementSibling)!==null&&r!==void 0?r:this.el.parentElement;while(t){if(w(t))break;t=(i=t.previousElementSibling)!==null&&i!==void 0?i:t.parentElement}if(t){e.preventDefault();t.focus()}break}}break;default:throw new Error("Internal error")}}getClosestActiveOptionIndexForState(t,e){let r;switch(e){case"focused":r=this.lastFocusedOptionElement;break;case"modified":r=this.lastModifiedOptionElement;break;case"highlighted":r=this.lastHighlightedOptionElement;break;default:r=null}let i=Array.from(this.notDisabledOptions).indexOf(r);const n=0;const s=this.notDisabledOptions.length-1;if(t==="next"&&in){i--}else{if(!this.autocomplete)return"nothing";if(t==="next"&&i>=s){i=0}if(t==="previous"&&i===n){i=s}}return i}selectOption(t,e=false){const r=this.notDisabledOptions[t];if(!r)return;this.sendOptionSelectedToStateMachine({source:r,value:r.value,displayText:r.innerText},e)}selectClosestOption(t){const e=this.getClosestActiveOptionIndexForState(t,"modified");if(e==="nothing")return;this.selectOption(e,true)}selectFirstOption(){if(this.notDisabledOptions.length<1){return}this.selectOption(0,true)}selectLastOption(){if(this.notDisabledOptions.length<1){return}this.selectOption(this.notDisabledOptions.length-1,true)}focusOption(t){var e;this.lastFocusedOptionElement=this.notDisabledOptions[t];(e=this.lastFocusedOptionElement)===null||e===void 0?void 0:e.focus();this.el.setAttribute("aria-activedescendant",this.lastFocusedOptionElement.id)}focusClosestOption(t){const e=this.getClosestActiveOptionIndexForState(t,"focused");if(e==="nothing")return;this.focusOption(e)}focusFirstOption(){this.focusOption(0)}focusLastOption(){this.focusOption(this.notDisabledOptions.length-1)}selectedOptionChanged(t){this.sendOptionSelectedToStateMachine(t.detail)}sendOptionSelectedToStateMachine(t,e=false){this.stateService.send({type:"OPTION_SELECTED",value:{option:t,fromKeyboard:e}})}onSlotchange(){if(!this.serverMode||this.autocomplete&&this.displayText===this.autocompleteValue){this.updateSelectedValue(this.value,false,false)}else{this.syncOptionsElementsStateWithCurrentSelectedValue()}if(this.autocomplete&&this.serverMode){this.showNoResultFoundLabel=this.options.length<1}if(this.multiple){this.options.forEach((t=>t.multiple=true))}}syncOptionsElementsStateWithCurrentSelectedValue(){this.options.forEach((t=>{const e=this.compareWith(t.value,this.value);t.selected=e}))}removeChip(t){this.options.forEach((e=>{if(e.value===t.value){this.sendOptionSelectedToStateMachine(Object.assign(Object.assign({},t),{source:e}))}}))}highlightOption(t){this.clearHighlightOnLastHighlightedOption();this.lastHighlightedOptionElement=this.notDisabledOptions[t];if(this.lastHighlightedOptionElement){this.lastHighlightedOptionElement.highlighted=true;this.autocompleteInput.setAttribute("aria-activedescendant",this.lastHighlightedOptionElement.id);requestAnimationFrame((()=>{this.lastHighlightedOptionElement.scrollIntoView({block:"nearest",inline:"nearest"})}))}}highlightFirstOption(){this.highlightOption(0)}highlightLastOption(){this.highlightOption(this.notDisabledOptions.length-1)}highlightClosestOption(t){const e=this.getClosestActiveOptionIndexForState(t,"highlighted");if(e==="nothing")return;this.highlightOption(e)}clearHighlightOnLastHighlightedOption(){if(this.lastHighlightedOptionElement){this.lastHighlightedOptionElement.highlighted=false;this.lastHighlightedOptionElement=null}}onAutocompleteInputEvent(t){var e;const r=(e=this.autocompleteInput.value)!==null&&e!==void 0?e:"";this.setAutocompleteValue(r,false,true);t.stopPropagation()}setAutocompleteValue(t,e=false,r=false,i=true){var n,s;this.clearHighlightOnLastHighlightedOption();const o=this.lastModifiedOptionElement==null||((n=this.lastModifiedOptionElement)===null||n===void 0?void 0:n.textContent)!==this.autocompleteValue;if(!this.expanded&&o&&!e&&r){this.open()}if(!this.serverMode){if(t.length){const[e,r]=[[],[]];const i=(s=this.filterFn)!==null&&s!==void 0?s:Je;this.options.forEach((n=>(i(n,t)?e:r).push(n)));this.showNoResultFoundLabel=e.length===0;e.forEach((t=>{t.hidden=false;t.removeAttribute("aria-hidden")}));r.forEach((t=>{t.hidden=true;t.setAttribute("aria-hidden","true")}))}else{this.showNoResultFoundLabel=false;this.options.forEach((t=>{t.hidden=false;t.removeAttribute("aria-hidden")}))}}const c=t!==null&&t!==void 0?t:"";const a=this.autocompleteValue!==c;if(a){this.autocompleteValue=c}if(i&&a){this.wcsFilterChange.emit({value:t})}}onFocus(t){if(this.autocomplete){this.focusAutocompleteInput()}this.wcsFocus.emit(t)}focusAutocompleteInput(){var t;(t=this.autocompleteInput)===null||t===void 0?void 0:t.focus()}onBlur(t){const e=t.relatedTarget;if(this.el.contains(e)){return}this.wcsBlur.emit(t)}componentDidRender(){var t;(t=this.popper)===null||t===void 0?void 0:t.update()}focusedAttributes(){return!this.disabled?{tabIndex:0}:{}}render(){var e;const r=`${this.labelElement?this.labelElement.innerText:""} ${this.hasValue?this.displayText:""}`.trimEnd();const n="no-result-container";return t(i,Object.assign({key:"5da08e1418d8e8a2f65295a86a4868357ac676cb",class:this.expanded?"expanded ":"",overlayDirection:this.overlayDirection},this.focusedAttributes(),{role:!this.autocomplete?"combobox":null,"aria-haspopup":!this.autocomplete?"listbox":null,"aria-owns":!this.autocomplete?this.optionsId:null,"aria-controls":!this.autocomplete?this.optionsId:null,"aria-disabled":!this.autocomplete?this.disabled?"true":null:null,"aria-required":!this.autocomplete?this.required?"true":"false":null,"aria-expanded":!this.autocomplete?this.expanded?"true":"false":null,"aria-multiselectable":!this.autocomplete?this.multiple?"true":"false":null,"aria-label":!this.autocomplete?r:null}),t("div",{key:"64bb5c04992a0ecf451a6ea5114bcb631f936555",class:"wcs-select-control"},t("div",{key:"9279627148ef9bf1e8113df1dd97ab9d721f2f06",class:"wcs-select-value-container"},this.hasValue?this.chips?this.values.map((e=>t(Qe,{disabled:this.disabled,option:e,onRemove:this.removeChip.bind(this)}))):(!this.autocomplete||this.autocomplete&&this.multiple)&&t("label",{class:"wcs-select-value"},this.displayText):!this.autocomplete&&t("label",{class:"wcs-select-placeholder"},this.placeholder),this.autocomplete&&t("input",Object.assign({key:"97732eba53ac636b9f9e231ad6c86903599dd21b",class:"autocomplete-field",value:this.autocompleteValue,role:"combobox","aria-haspopup":"listbox","aria-label":r,"aria-describedby":n,"aria-disabled":this.disabled?"true":null,"aria-expanded":this.expanded?"true":"false","aria-controls":this.optionsId,"aria-owns":this.optionsId,"aria-multiselectable":this.multiple?"true":"false","aria-autocomplete":"list",autocomplete:"off",disabled:this.disabled,required:this.required,placeholder:((e=this.values)===null||e===void 0?void 0:e.length)?null:this.placeholder,onInput:t=>this.onAutocompleteInputEvent(t),ref:t=>this.autocompleteInput=t},this.inheritedAttributes))),t(s,{key:"4546d670d107ad9bb496844ef6b4d2b1e7d333c4",up:this.expanded})),t("div",{key:"75eda1298dab81575144d561120290d804d84cce",class:"wcs-select-options",id:this.optionsId,role:"listbox"},t("slot",{key:"4de8ebd148df28d68c4163026562669ebfbc37b3",name:"options",onSlotchange:this.onSlotchange.bind(this)}),this.autocomplete&&this.showNoResultFoundLabel&&t("div",{key:"6ebeb7af554a9f3799658e7e3d58f0c1ac25f9f2",role:"alert",id:n,class:"noresult-container"},t("slot",{key:"2c34abe1a89dc797f80944809457710e66d0336d",name:"filter-no-result"},t("span",{key:"6e51c2870b926c593dbd53d87a99ef1beb989343"},"Aucun résultat")))))}get el(){return n(this)}static get watchers(){return{value:["onValueChangeHandler"]}}};let ir=0;rr.style=Ze;const nr="wcs-select-option{--wcs-select-option-height:var(--wcs-semantic-size-m);--wcs-select-option-padding-horizontal:var(--wcs-semantic-spacing-base);--wcs-select-option-padding-vertical:0;--wcs-select-option-text-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-select-option-text-font-size:var(--wcs-semantic-font-size-base);--wcs-select-option-text-color-default:var(--wcs-semantic-color-text-primary);--wcs-select-option-text-color-focus:var(--wcs-semantic-color-text-primary);--wcs-select-option-text-color-hover:var(--wcs-semantic-color-text-primary);--wcs-select-option-text-color-selected:var(--wcs-semantic-color-text-primary);--wcs-select-option-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-option-background-color-default:var(--wcs-semantic-color-background-action-secondary-default);--wcs-select-option-background-color-hover:var(--wcs-semantic-color-background-action-secondary-hover);--wcs-select-option-background-color-press:var(--wcs-semantic-color-background-action-secondary-press);--wcs-select-option-background-color-selected:var(--wcs-semantic-color-background-action-secondary-selected-default);--wcs-select-option-background-color-selected-hover:var(--wcs-semantic-color-background-action-secondary-selected-hover);--wcs-select-option-background-color-selected-press:var(--wcs-semantic-color-background-action-secondary-selected-press);--wcs-select-option-background-color-selected-disabled:var(--wcs-semantic-color-background-action-secondary-selected-disabled);--wcs-select-option-background-color-focus:var(--wcs-semantic-color-background-action-secondary-focus);--wcs-select-option-border-style-focus:var(--wcs-semantic-border-style-focus-base);--wcs-select-option-border-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-select-option-border-width-focus:var(--wcs-semantic-border-width-large);--wcs-select-option-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-option-checkbox-color:var(--wcs-semantic-color-background-control-indicator-selected);--wcs-select-option-gap:var(--wcs-semantic-spacing-base);--wcs-select-option-transition-duration:var(--wcs-semantic-motion-duration-feedback-base);display:flex;flex-direction:row;align-items:center;gap:var(--wcs-select-option-gap);padding:var(--wcs-select-option-padding-vertical) var(--wcs-select-option-padding-horizontal);height:var(--wcs-select-option-height);cursor:pointer;user-select:none;font-weight:var(--wcs-select-option-text-font-weight);font-size:var(--wcs-select-option-text-font-size);color:var(--wcs-select-option-text-color-default);background-color:var(--wcs-select-option-background-color-default);transition-duration:var(--wcs-select-option-transition-duration);transition-property:background-color, color;transition-timing-function:ease;border-radius:var(--wcs-select-option-border-radius);overflow:hidden;white-space:nowrap}wcs-select-option:focus-visible{outline:var(--wcs-select-option-border-style-focus) var(--wcs-select-option-border-width-focus) var(--wcs-select-option-border-color-focus);outline-offset:calc(-1 * var(--wcs-select-option-border-width-focus))}wcs-select-option:focus{color:var(--wcs-select-option-text-color-focus);background-color:var(--wcs-select-option-background-color-focus)}wcs-select-option:hover{color:var(--wcs-select-option-text-color-hover);background-color:var(--wcs-select-option-background-color-hover)}wcs-select-option:active{background-color:var(--wcs-select-option-background-color-press)}wcs-select-option[disabled]{cursor:not-allowed;pointer-events:none;color:var(--wcs-select-option-text-color-disabled)}wcs-select-option[hidden]{display:none}wcs-select-option[selected]{color:var(--wcs-select-option-text-color-selected);background-color:var(--wcs-select-option-background-color-selected)}wcs-select-option[selected]:hover{background-color:var(--wcs-select-option-background-color-selected-hover)}wcs-select-option[selected]:active{background-color:var(--wcs-select-option-background-color-selected-press)}wcs-select-option[selected][disabled]{color:var(--wcs-select-option-text-color-disabled);background-color:var(--wcs-select-option-background-color-selected-disabled)}wcs-select-option[multiple] wcs-checkbox{pointer-events:none}wcs-select-option[multiple]:hover wcs-checkbox{--wcs-checkbox-border-color:var(--wcs-select-option-checkbox-color)}wcs-select-option[highlighted]{outline:var(--wcs-select-option-border-style-focus) var(--wcs-select-option-border-width-focus) var(--wcs-select-option-border-color-focus);outline-offset:calc(-1 * var(--wcs-select-option-border-width-focus))}wcs-select-option[highlighted] wcs-checkbox{--wcs-checkbox-border-color:var(--wcs-select-option-checkbox-color)}";const sr=nr;const or=class{constructor(t){e(this,t);this.wcsSelectOptionClick=r(this,"wcsSelectOptionClick",7);this.disabled=false;this.selected=false;this.highlighted=false;this.value=undefined;this.chipColor=undefined;this.chipBackgroundColor=undefined;this.multiple=false}componentWillLoad(){this.selectOptionId=o(this.el.tagName);if(this.value===undefined){this.value=this.el.innerText||""}}chooseOption(t){if(!this.disabled){t.stopPropagation();const e=this.el.innerText;this.wcsSelectOptionClick.emit({source:this.el,value:this.value,displayText:e})}}onMouseUp(t){this.chooseOption(t)}handleKeydown(t){if(d(t)||v(t)){this.chooseOption(t);t.preventDefault();t.stopPropagation()}}render(){return t(i,{key:"18a9f541ccf9757c1b4e9005ecd9ca98f40ced22",id:this.selectOptionId,"aria-selected":this.selected||this.highlighted?"true":"false",slot:"options",role:"option",tabindex:"-1"},this.multiple&&t("wcs-checkbox",{key:"aa89dc61bd7ddabf6efdf1f7b5fc6bc024f91ffd",tabindex:"-1",checked:this.selected,disabled:this.disabled}),t("slot",{key:"fc59a661788d75fd7f172e8ef13f7360c2540552"}))}get el(){return n(this)}};or.style=sr;export{rr as wcs_select,or as wcs_select_option}; +//# sourceMappingURL=p-2221bf0c.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-2221bf0c.entry.js.map b/public/wcs/p-2221bf0c.entry.js.map new file mode 100644 index 0000000..dc5e9d1 --- /dev/null +++ b/public/wcs/p-2221bf0c.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__values","o","Symbol","iterator","m","next","value","done","TypeError","__read","r","ar","push","error","__spreadArray","to","from","pack","l","Array","slice","concat","ActionTypes","SpecialTargets","start","Start","stop","Stop","raise","Raise","send","Send","cancel","Cancel","nullEvent","NullEvent","Assign","log","Log","init","Init","invoke","Invoke","errorPlatform","ErrorPlatform","ErrorCustom","update","Update","choose","Choose","pure","Pure","STATE_DELIMITER","EMPTY_ACTIVITY_MAP","DEFAULT_GUARD_TYPE","TARGETLESS_KEY","IS_PRODUCTION","_a","matchesState","parentStateId","childStateId","delimiter","parentStateValue","toStateValue","childStateValue","isString","keys","every","key","getEventType","event","type","Error","toStatePath","stateId","isArray","toString","split","isStateLike","state","stateValue","pathToStateValue","statePath","marker","mapValues","collection","iteratee","result","collectionKeys","mapFilterValues","predicate","e_1","_b","_c","item","e_1_1","return","path","props","object","e_2","props_1","props_1_1","prop","e_2_1","nestedPath","accessorProp","e_3","props_2","props_2_1","e_3_1","toStatePaths","flatten","map","subStateValue","subPath","array","toArrayStrict","toArray","undefined","mapContext","mapper","context","_event","e_5","isFunction","data","subMapper","e_5_1","isBuiltInEvent","eventType","test","isPromiseLike","Promise","then","isBehavior","transition","partition","items","e_6","truthy","falsy","items_1","items_1_1","e_6_1","updateHistoryStates","hist","states","subHist","current","updateHistoryValue","updateContext","assignActions","updatedContext","reduce","acc","assignAction","e_7","assignment","meta","action","partialUpdate","propAssignment","e_7_1","warn","toGuard","condition","guardMap","name","isObservable","subscribe","symbolObservable","observable","isMachine","isActor","toEventObject","payload","toSCXMLEvent","scxmlEvent","$$type","eventObject","toTransitionConfigArray","configLike","transitions","transitionLike","target","normalizeTarget","evaluateGuard","machine","guard","guards","options","guardMeta","cond","condFn","id","toInvokeSource","src","toObserver","nextHandler","errorHandler","completionHandler","noop","isObserver","self","bind","complete","createInvokeId","stateNodeId","index","isRaisableAction","Internal","delay","initEvent","getActionFunction","actionType","actionFunctionMap","toActionObject","actionObject","exec","toActionObjects","actions","subAction","toActivityDefinition","raise$1","resolveRaise","ctx","delaysMap","resolvedEvent","resolvedDelay","configDelay","send$1","resolveSend","resolvedTarget","resolveLog","expr","sendId","cancel$1","activity","activityDef","actorRef","resolveStop","actorRefOrString","resolvedActorRef","after","delayRef","idSuffix","After","DoneState","doneInvoke","DoneInvoke","pluckAssigns","actionBlocks","actionBlocks_1","actionBlocks_1_1","block","assign$1","splice","resolveActions","currentState","currentContext","predictableExec","preserveActionOrder","preservedContexts","deferredToBlockEnd","handleAction","blockType","raisedAction","delays","sendAction","log$1","resolved","choose$1","chooseAction","matchedActions","conds","find","resolvedActionsFromChoose","resolvedContextFromChoose","pure$1","get","resolvedActionsFromPure","resolvedContext","stop$1","resolvedActionObject","exec_1","contextIndex_1","wrapped","_ctx","args","_i","processBlock","resolvedActions","forEach","provide","service","fn","createNullActor","unsubscribe","getSnapshot","toJSON","createInvocableActor","invokeDefinition","invokeSrc","serviceCreator","services","resolvedData","tempActor","createDeferredActor","entity","deferred","initialState_1","withContext","initialState","isSpawnedActor","toActorRef","actorRefLike","isLeafNode","stateNode","getAllChildren","getChildren","filter","sn","getAllStateNodes","stateNodes","getConfiguration","prevStateNodes","e_4","_d","prevConfiguration","Set","prevAdjList","getAdjList","configuration","configuration_1","configuration_1_1","parent","has","add","adjList","configuration_2","configuration_2_1","initialStateNodes","_e","_f","child","configuration_3","configuration_3_1","e_4_1","getValueFromAdj","baseNode","childStateNodes","childStateNode","csn","Map","configuration_4","configuration_4_1","set","getValue","rootNode","config","iterable","some","member","nextEvents","ownEvents","isInFinalState","getMeta","getTagsFromConfiguration","tags","stateValuesEqual","a","b","aKeys","bKeys","isStateConfig","bindActionToState","boundAction","State","_this","activities","events","_sessionid","historyValue","history","matches","toStrings","children","defineProperty","create","inert","valueKeys","jsonValues","hasTag","tag","can","transitionData","getTransitionData","defaultOptions","deferEvents","Scheduler","processingEvent","queue","initialized","initialize","callback","schedule","process","flushEvents","task","clear","nextCallback","shift","sessionIdIndex","registry","bookId","register","actor","free","delete","getGlobal","globalThis","window","global","getDevTools","__xstate__","registerService","devTools","spawnBehavior","behavior","observers","mailbox","flushing","flush","event_1","actorCtx","observer","handleError","DEFAULT_SPAWN_OPTIONS","sync","autoForward","InterpreterStatus","Interpreter","delayedEventsMap","listeners","contextListeners","stopListeners","doneListeners","eventListeners","sendListeners","status","NotStarted","forwardTo","_outgoingQueue","batch","Stopped","Running","JSON","stringify","scheduler","forward","nextState","_nextState","_state","sendTo","immediate","isParent","Parent","error$1","origin","sessionId","predictableActionArguments","_exec","actionOrExec","err","sendAction_1","defer","invokeSource","source","spawn","spawnActivity","stopChild","label","logger","resolvedOptions","clock","resolvedId","_initialState","enumerable","configurable","execute","actionsConfig","listener","_g","_h","_j","_k","contextListener","finalChildStateNode","doneData","_doneEvent","_l","_m","_stop","_stopChildren","onTransition","nextListenerOrObserver","_","completeListener","completeOnce","onDone","onStop","onEvent","onSend","onChange","off","_init","resolvedState","resolveState","attachDev","e_8","e_9","e_10","e_8_1","_o","e_9_1","_p","_q","clearTimeout","e_10_1","exitActions","sort","order","onExit","newState","changed","e_11","batchChanged","batchedActions","_loop_1","events_1","events_1_1","e_11_1","sender","nextEvent","e_12","e_12_1","timerId","setTimeout","removeChild","childId","spawnPromise","resolve","spawnCallback","spawnActor","spawnObservable","spawnMachine","childService","doneEvent","promise","canceled","response","errorData","errorEvent","strict","unsubscribed","receivers","emitted","receive","callbackStop","newListener","receiver","subscription","implementation","dispose","spawnEffect","__REDUX_DEVTOOLS_EXTENSION__","devToolsOptions","connect","autoPause","stateSanitizer","features","jump","skip","ms","console","interpret","interpreter","simpleSrc","toInvokeDefinition","invokeConfig","invokeDef","NULL_EVENT","STATE_IDENTIFIER","WILDCARD","EMPTY_OBJECT","isStateId","str","createDefaultOptions","validateArrayifiedTransitions","StateNode","_context","_stateInfo","__xstatenode","__cache","relativeValue","initialStateValue","on","candidates","delayedTransitions","idMap","join","version","parallel","schema","description","initial","stateConfig","dfs","_transient","always","onEntry","entry","exit","invokeId","withConfig","definition","getDelayedTransitions","formatTransitions","getCandidates","eventName","transient","sameEventType","afterConfig","mutateEntryExit","configTransition","resolvedTransition","isNaN","delayedTransition","formatTransition","getStateNodes","getStateNode","subStateKeys","subStateNodes","subStateKey","handles","includes","stateFromConfig","transitionLeafNode","transitionCompoundNode","_transition","transitionParallelNode","transitionMap","subStateNode","stateTransitions","enabledTransitions","st","willTransition","exitSet","nextStateNodes","selectedTransition","candidate","stateIn","in","isInState","getStateNodeById","guardPassed","message","allNextStateNodes","getRelativeStateNodes","isInternal","internal","targetNode","getPotentiallyReenteringNodes","nodes","possibleAncestor","getActions","resolvedConfig","isDone","prevState","prevConfig","entrySet","prevConfig_1","prevConfig_1_1","entryStates","exitStates","doneEvents","grandparent","parentNode","entryActions","invokeActions","stopActions","resolvedStateValue","getResolvedPath","stateTransition","resolveTransition","resolveRaisedTransition","originalEvent","currentActions","unshift","resolvedConfiguration","start$1","raisedEvents","nonRaisedActions","didUpdateContext","hasAlwaysTransitions","maybeNextState","raisedEvent","stateKey","resolvedStateId","getStateNodeByPath","arrayStatePath","currentStateNode","stateIdentifier","getInitialState","historyConfig","relativeStateId","resolveHistory","initialStateNodePaths","initialPath","getFromRelativePath","relativePath","childStatePath","relativeStateValue","historyTarget","relativeChildPath","subHistoryValue","subStatePath","childStateIds","stateIds","resolveTarget","_target","isInternalTarget","targetStateNode","transitionConfig","normalizedTarget","onConfig","wildcardConfigs","strictTransitionConfigs_1","transitionConfigArray","eventlessConfig","doneConfig","String","settleTransitions","onError","formattedTransitions","delayedTransitions_1","delayedTransitions_1_1","Machine","initialContext","WcsDefaultSelectFilterFn","optionEl","textContent","toLowerCase","startsWith","WcsSelectSizeValue","isWcsSelectSize","size","SelectChips","disabled","option","onRemove","style","chipColor","chipBackgroundColor","h","class","onClick","stopImmediatePropagation","displayText","xmlns","width","height","viewBox","d","fill","transform","getActionForKeyboardEvent","keyboardShortcut","keyboardShortcutFromKeyboardEvent","kind","shouldBlur","selectCss","WcsSelectStyle0","SELECT_MACHINE_CONFIG","closed","CLICK","OPEN","OPTION_SELECTED","opened","CLOSE","SELECT_INHERITED_ATTRS","Select","inheritedAttributes","selectId","selectIds","optionsId","generateUniqueId","optionValue","selectedValue","isEqual","open","stateService","close","onValueChangeHandler","newValue","updateSelectedValue","resetIfNoValue","shouldEmitFilterChangeEvent","reset","multiple","lastModifiedOptionElement","opt","compareWith","serverMode","compareResult","compareLists","values","v","added","addedOption","innerText","selected","kept","keptOption","removed","removedOption","removedOptionElement","isSelected","findIndex","hasFoundCurrentValueInOptionList","autocomplete","setAutocompleteValue","componentDidLoad","optionsEl","el","shadowRoot","querySelector","controlEl","stateMachine","initMachineOptions","replaceOptions_firefoxBefore63","listenDomUpdate_firefoxBefore63","popper","createPopperInstance","labelElement","findItemLabel","createPopper","placement","modifiers","offset","emitChange","wcsChange","emit","querySelectorAll","appendChild","MutationObserver","mutationsList","mutation","observe","childList","componentWillRender","componentWillLoad","inheritAriaAttributes","inheritAttributes","setAriaAttribute","attr","setOrRemoveAttribute","autocompleteInput","opts","notDisabledOptions","expanded","focused","hasValue","autocompleteValue","clearHighlightOnLastHighlightedOption","lastFocusedOptionElement","requestAnimationFrame","focus","fromKeyboard","focusAutocompleteInput","selectOption","handleOptionSelectedOnMultiple","handleOptionSelectedOnSingle","enabled","disconnectedCallback","onMouseUp","clickOnScroll","isElement","offsetX","clientWidth","offsetY","clientHeight","clickOnRemoveChip","composedPath","x","nodeName","classList","contains","onWindowClickEvent","firstSelectInEventPath","clickOnCurrentSelect","onKeyDown","actionsFromKeyboardEvents","preventDefault","actionFromKeyboardEvent","doActionFromKeyboardEventAssociatedAction","selectClosestOption","selectFirstOption","selectLastOption","indexToSelect","lastHighlightedOptionElement","highlightClosestOption","highlightFirstOption","highlightLastOption","focusClosestOption","focusFirstOption","focusLastOption","focusOption","elementToFocus","previousElementSibling","parentElement","isFocusable","getClosestActiveOptionIndexForState","direction","concernedOption","currentIndex","MIN_INDEX","MAX_INDEX","optionToSelect","sendOptionSelectedToStateMachine","indexToFocus","setAttribute","selectedOptionChanged","detail","onSlotchange","syncOptionsElementsStateWithCurrentSelectedValue","showNoResultFoundLabel","removeChip","highlightOption","indexToHighlight","highlighted","scrollIntoView","inline","onAutocompleteInputEvent","stopPropagation","isReset","fromUserInteraction","newValueIsDifferentFromLastModifiedOption","matchingOptions","optionsToHide","filteringFunction","filterFn","hidden","removeAttribute","newAutocompleteValue","valueHasChanged","wcsFilterChange","onFocus","wcsFocus","onBlur","relatedTarget","wcsBlur","componentDidRender","focusedAttributes","tabIndex","render","ariaLabelValue","trimEnd","noResultContainerId","Host","overlayDirection","role","required","chips","placeholder","onInput","ref","SelectArrow","up","selectOptionCss","WcsSelectOptionStyle0","SelectOption","selectOptionId","tagName","chooseOption","wcsSelectOptionClick","handleKeydown","isEnterKey","isSpaceKey","slot","tabindex","checked"],"sources":["node_modules/xstate/es/_virtual/_tslib.js","node_modules/xstate/es/types.js","node_modules/xstate/es/actionTypes.js","node_modules/xstate/es/constants.js","node_modules/xstate/es/environment.js","node_modules/xstate/es/utils.js","node_modules/xstate/es/actions.js","node_modules/xstate/es/serviceScope.js","node_modules/xstate/es/Actor.js","node_modules/xstate/es/stateUtils.js","node_modules/xstate/es/State.js","node_modules/xstate/es/scheduler.js","node_modules/xstate/es/registry.js","node_modules/xstate/es/devTools.js","node_modules/xstate/es/behaviors.js","node_modules/xstate/es/interpreter.js","node_modules/xstate/es/invokeUtils.js","node_modules/xstate/es/StateNode.js","node_modules/xstate/es/Machine.js","src/components/select/select-interface.ts","src/components/select/select-chips.tsx","src/components/select/select-keyboard-event.ts","src/components/select/select.scss?tag=wcs-select&encapsulation=shadow","src/components/select/select.tsx","src/components/select-option/select-option.scss?tag=wcs-select-option","src/components/select-option/select-option.tsx"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexport { __assign, __read, __rest, __spreadArray, __values };\n","var ActionTypes;\n\n(function (ActionTypes) {\n ActionTypes[\"Start\"] = \"xstate.start\";\n ActionTypes[\"Stop\"] = \"xstate.stop\";\n ActionTypes[\"Raise\"] = \"xstate.raise\";\n ActionTypes[\"Send\"] = \"xstate.send\";\n ActionTypes[\"Cancel\"] = \"xstate.cancel\";\n ActionTypes[\"NullEvent\"] = \"\";\n ActionTypes[\"Assign\"] = \"xstate.assign\";\n ActionTypes[\"After\"] = \"xstate.after\";\n ActionTypes[\"DoneState\"] = \"done.state\";\n ActionTypes[\"DoneInvoke\"] = \"done.invoke\";\n ActionTypes[\"Log\"] = \"xstate.log\";\n ActionTypes[\"Init\"] = \"xstate.init\";\n ActionTypes[\"Invoke\"] = \"xstate.invoke\";\n ActionTypes[\"ErrorExecution\"] = \"error.execution\";\n ActionTypes[\"ErrorCommunication\"] = \"error.communication\";\n ActionTypes[\"ErrorPlatform\"] = \"error.platform\";\n ActionTypes[\"ErrorCustom\"] = \"xstate.error\";\n ActionTypes[\"Update\"] = \"xstate.update\";\n ActionTypes[\"Pure\"] = \"xstate.pure\";\n ActionTypes[\"Choose\"] = \"xstate.choose\";\n})(ActionTypes || (ActionTypes = {}));\n\nvar SpecialTargets;\n\n(function (SpecialTargets) {\n SpecialTargets[\"Parent\"] = \"#_parent\";\n SpecialTargets[\"Internal\"] = \"#_internal\";\n})(SpecialTargets || (SpecialTargets = {}));\n\nexport { ActionTypes, SpecialTargets };\n","import { ActionTypes } from './types.js';\n\nvar start = ActionTypes.Start;\nvar stop = ActionTypes.Stop;\nvar raise = ActionTypes.Raise;\nvar send = ActionTypes.Send;\nvar cancel = ActionTypes.Cancel;\nvar nullEvent = ActionTypes.NullEvent;\nvar assign = ActionTypes.Assign;\nvar after = ActionTypes.After;\nvar doneState = ActionTypes.DoneState;\nvar log = ActionTypes.Log;\nvar init = ActionTypes.Init;\nvar invoke = ActionTypes.Invoke;\nvar errorExecution = ActionTypes.ErrorExecution;\nvar errorPlatform = ActionTypes.ErrorPlatform;\nvar error = ActionTypes.ErrorCustom;\nvar update = ActionTypes.Update;\nvar choose = ActionTypes.Choose;\nvar pure = ActionTypes.Pure;\n\nexport { after, assign, cancel, choose, doneState, error, errorExecution, errorPlatform, init, invoke, log, nullEvent, pure, raise, send, start, stop, update };\n","var STATE_DELIMITER = '.';\nvar EMPTY_ACTIVITY_MAP = {};\nvar DEFAULT_GUARD_TYPE = 'xstate.guard';\nvar TARGETLESS_KEY = '';\n\nexport { DEFAULT_GUARD_TYPE, EMPTY_ACTIVITY_MAP, STATE_DELIMITER, TARGETLESS_KEY };\n","var IS_PRODUCTION = process.env.NODE_ENV === 'production';\n\nexport { IS_PRODUCTION };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets } from './types.js';\nimport { raise, send } from './actionTypes.js';\nimport { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar _a;\nfunction keys(value) {\n return Object.keys(value);\n}\nfunction matchesState(parentStateId, childStateId, delimiter) {\n if (delimiter === void 0) {\n delimiter = STATE_DELIMITER;\n }\n\n var parentStateValue = toStateValue(parentStateId, delimiter);\n var childStateValue = toStateValue(childStateId, delimiter);\n\n if (isString(childStateValue)) {\n if (isString(parentStateValue)) {\n return childStateValue === parentStateValue;\n } // Parent more specific than child\n\n\n return false;\n }\n\n if (isString(parentStateValue)) {\n return parentStateValue in childStateValue;\n }\n\n return Object.keys(parentStateValue).every(function (key) {\n if (!(key in childStateValue)) {\n return false;\n }\n\n return matchesState(parentStateValue[key], childStateValue[key]);\n });\n}\nfunction getEventType(event) {\n try {\n return isString(event) || typeof event === 'number' ? \"\".concat(event) : event.type;\n } catch (e) {\n throw new Error('Events must be strings or objects with a string event.type property.');\n }\n}\nfunction getActionType(action) {\n try {\n return isString(action) || typeof action === 'number' ? \"\".concat(action) : isFunction(action) ? action.name : action.type;\n } catch (e) {\n throw new Error('Actions must be strings or objects with a string action.type property.');\n }\n}\nfunction toStatePath(stateId, delimiter) {\n try {\n if (isArray(stateId)) {\n return stateId;\n }\n\n return stateId.toString().split(delimiter);\n } catch (e) {\n throw new Error(\"'\".concat(stateId, \"' is not a valid state path.\"));\n }\n}\nfunction isStateLike(state) {\n return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;\n}\nfunction toStateValue(stateValue, delimiter) {\n if (isStateLike(stateValue)) {\n return stateValue.value;\n }\n\n if (isArray(stateValue)) {\n return pathToStateValue(stateValue);\n }\n\n if (typeof stateValue !== 'string') {\n return stateValue;\n }\n\n var statePath = toStatePath(stateValue, delimiter);\n return pathToStateValue(statePath);\n}\nfunction pathToStateValue(statePath) {\n if (statePath.length === 1) {\n return statePath[0];\n }\n\n var value = {};\n var marker = value;\n\n for (var i = 0; i < statePath.length - 1; i++) {\n if (i === statePath.length - 2) {\n marker[statePath[i]] = statePath[i + 1];\n } else {\n marker[statePath[i]] = {};\n marker = marker[statePath[i]];\n }\n }\n\n return value;\n}\nfunction mapValues(collection, iteratee) {\n var result = {};\n var collectionKeys = Object.keys(collection);\n\n for (var i = 0; i < collectionKeys.length; i++) {\n var key = collectionKeys[i];\n result[key] = iteratee(collection[key], key, collection, i);\n }\n\n return result;\n}\nfunction mapFilterValues(collection, iteratee, predicate) {\n var e_1, _a;\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var item = collection[key];\n\n if (!predicate(item)) {\n continue;\n }\n\n result[key] = iteratee(item, key, collection);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n/**\r\n * Retrieves a value at the given path.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nvar path = function (props) {\n return function (object) {\n var e_2, _a;\n\n var result = object;\n\n try {\n for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n var prop = props_1_1.value;\n result = result[prop];\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n return result;\n };\n};\n/**\r\n * Retrieves a value at the given path via the nested accessor prop.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nfunction nestedPath(props, accessorProp) {\n return function (object) {\n var e_3, _a;\n\n var result = object;\n\n try {\n for (var props_2 = __values(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {\n var prop = props_2_1.value;\n result = result[accessorProp][prop];\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n return result;\n };\n}\nfunction toStatePaths(stateValue) {\n if (!stateValue) {\n return [[]];\n }\n\n if (isString(stateValue)) {\n return [[stateValue]];\n }\n\n var result = flatten(Object.keys(stateValue).map(function (key) {\n var subStateValue = stateValue[key];\n\n if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {\n return [[key]];\n }\n\n return toStatePaths(stateValue[key]).map(function (subPath) {\n return [key].concat(subPath);\n });\n }));\n return result;\n}\nfunction pathsToStateValue(paths) {\n var e_4, _a;\n\n var result = {};\n\n if (paths && paths.length === 1 && paths[0].length === 1) {\n return paths[0][0];\n }\n\n try {\n for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {\n var currentPath = paths_1_1.value;\n var marker = result; // tslint:disable-next-line:prefer-for-of\n\n for (var i = 0; i < currentPath.length; i++) {\n var subPath = currentPath[i];\n\n if (i === currentPath.length - 2) {\n marker[subPath] = currentPath[i + 1];\n break;\n }\n\n marker[subPath] = marker[subPath] || {};\n marker = marker[subPath];\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return result;\n}\nfunction flatten(array) {\n var _a;\n\n return (_a = []).concat.apply(_a, __spreadArray([], __read(array), false));\n}\nfunction toArrayStrict(value) {\n if (isArray(value)) {\n return value;\n }\n\n return [value];\n}\nfunction toArray(value) {\n if (value === undefined) {\n return [];\n }\n\n return toArrayStrict(value);\n}\nfunction mapContext(mapper, context, _event) {\n var e_5, _a;\n\n if (isFunction(mapper)) {\n return mapper(context, _event.data);\n }\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var subMapper = mapper[key];\n\n if (isFunction(subMapper)) {\n result[key] = subMapper(context, _event.data);\n } else {\n result[key] = subMapper;\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return result;\n}\nfunction isBuiltInEvent(eventType) {\n return /^(done|error)\\./.test(eventType);\n}\nfunction isPromiseLike(value) {\n if (value instanceof Promise) {\n return true;\n } // Check if shape matches the Promise/A+ specification for a \"thenable\".\n\n\n if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {\n return true;\n }\n\n return false;\n}\nfunction isBehavior(value) {\n return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';\n}\nfunction partition(items, predicate) {\n var e_6, _a;\n\n var _b = __read([[], []], 2),\n truthy = _b[0],\n falsy = _b[1];\n\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n\n if (predicate(item)) {\n truthy.push(item);\n } else {\n falsy.push(item);\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n return [truthy, falsy];\n}\nfunction updateHistoryStates(hist, stateValue) {\n return mapValues(hist.states, function (subHist, key) {\n if (!subHist) {\n return undefined;\n }\n\n var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);\n\n if (!subStateValue) {\n return undefined;\n }\n\n return {\n current: subStateValue,\n states: updateHistoryStates(subHist, subStateValue)\n };\n });\n}\nfunction updateHistoryValue(hist, stateValue) {\n return {\n current: stateValue,\n states: updateHistoryStates(hist, stateValue)\n };\n}\nfunction updateContext(context, _event, assignActions, state) {\n if (!IS_PRODUCTION) {\n warn(!!context, 'Attempting to update undefined context');\n }\n\n var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {\n var e_7, _a;\n\n var assignment = assignAction.assignment;\n var meta = {\n state: state,\n action: assignAction,\n _event: _event\n };\n var partialUpdate = {};\n\n if (isFunction(assignment)) {\n partialUpdate = assignment(acc, _event.data, meta);\n } else {\n try {\n for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var propAssignment = assignment[key];\n partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n\n return Object.assign({}, acc, partialUpdate);\n }, context) : context;\n return updatedContext;\n} // tslint:disable-next-line:no-empty\n\nvar warn = function () {};\n\nif (!IS_PRODUCTION) {\n warn = function (condition, message) {\n var error = condition instanceof Error ? condition : undefined;\n\n if (!error && condition) {\n return;\n }\n\n if (console !== undefined) {\n var args = [\"Warning: \".concat(message)];\n\n if (error) {\n args.push(error);\n } // tslint:disable-next-line:no-console\n\n\n console.warn.apply(console, args);\n }\n };\n}\nfunction isArray(value) {\n return Array.isArray(value);\n} // tslint:disable-next-line:ban-types\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction toGuard(condition, guardMap) {\n if (!condition) {\n return undefined;\n }\n\n if (isString(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition,\n predicate: guardMap ? guardMap[condition] : undefined\n };\n }\n\n if (isFunction(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition.name,\n predicate: condition\n };\n }\n\n return condition;\n}\nfunction isObservable(value) {\n try {\n return 'subscribe' in value && isFunction(value.subscribe);\n } catch (e) {\n return false;\n }\n}\nvar symbolObservable = /*#__PURE__*/function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages\n\nvar interopSymbols = (_a = {}, _a[symbolObservable] = function () {\n return this;\n}, _a[Symbol.observable] = function () {\n return this;\n}, _a);\nfunction isMachine(value) {\n return !!value && '__xstatenode' in value;\n}\nfunction isActor(value) {\n return !!value && typeof value.send === 'function';\n}\nvar uniqueId = /*#__PURE__*/function () {\n var currentId = 0;\n return function () {\n currentId++;\n return currentId.toString(16);\n };\n}();\nfunction toEventObject(event, payload // id?: TEvent['type']\n) {\n if (isString(event) || typeof event === 'number') {\n return __assign({\n type: event\n }, payload);\n }\n\n return event;\n}\nfunction toSCXMLEvent(event, scxmlEvent) {\n if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {\n return event;\n }\n\n var eventObject = toEventObject(event);\n return __assign({\n name: eventObject.type,\n data: eventObject,\n $$type: 'scxml',\n type: 'external'\n }, scxmlEvent);\n}\nfunction toTransitionConfigArray(event, configLike) {\n var transitions = toArrayStrict(configLike).map(function (transitionLike) {\n if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {\n return {\n target: transitionLike,\n event: event\n };\n }\n\n return __assign(__assign({}, transitionLike), {\n event: event\n });\n });\n return transitions;\n}\nfunction normalizeTarget(target) {\n if (target === undefined || target === TARGETLESS_KEY) {\n return undefined;\n }\n\n return toArray(target);\n}\nfunction reportUnhandledExceptionOnInvocation(originalError, currentError, id) {\n if (!IS_PRODUCTION) {\n var originalStackTrace = originalError.stack ? \" Stacktrace was '\".concat(originalError.stack, \"'\") : '';\n\n if (originalError === currentError) {\n // tslint:disable-next-line:no-console\n console.error(\"Missing onError handler for invocation '\".concat(id, \"', error was '\").concat(originalError, \"'.\").concat(originalStackTrace));\n } else {\n var stackTrace = currentError.stack ? \" Stacktrace was '\".concat(currentError.stack, \"'\") : ''; // tslint:disable-next-line:no-console\n\n console.error(\"Missing onError handler and/or unhandled exception/promise rejection for invocation '\".concat(id, \"'. \") + \"Original error: '\".concat(originalError, \"'. \").concat(originalStackTrace, \" Current error is '\").concat(currentError, \"'.\").concat(stackTrace));\n }\n }\n}\nfunction evaluateGuard(machine, guard, context, _event, state) {\n var guards = machine.options.guards;\n var guardMeta = {\n state: state,\n cond: guard,\n _event: _event\n }; // TODO: do not hardcode!\n\n if (guard.type === DEFAULT_GUARD_TYPE) {\n return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);\n }\n\n var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];\n\n if (!condFn) {\n throw new Error(\"Guard '\".concat(guard.type, \"' is not implemented on machine '\").concat(machine.id, \"'.\"));\n }\n\n return condFn(context, _event.data, guardMeta);\n}\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n return {\n type: src\n };\n }\n\n return src;\n}\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n var noop = function () {};\n\n var isObserver = typeof nextHandler === 'object';\n var self = isObserver ? nextHandler : null;\n return {\n next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),\n error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),\n complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)\n };\n}\nfunction createInvokeId(stateNodeId, index) {\n return \"\".concat(stateNodeId, \":invocation[\").concat(index, \"]\");\n}\nfunction isRaisableAction(action) {\n return (action.type === raise || action.type === send && action.to === SpecialTargets.Internal) && typeof action.delay !== 'number';\n}\n\nexport { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isRaisableAction, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };\n","import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { init, raise as raise$1, send as send$1, update, log as log$1, cancel as cancel$1, assign as assign$1, error as error$1, stop as stop$1, pure as pure$1, choose as choose$1 } from './actionTypes.js';\nimport * as actionTypes from './actionTypes.js';\nexport { actionTypes };\nimport { toSCXMLEvent, isString, isFunction, toEventObject, getEventType, updateContext, flatten, isArray, toArray, toGuard, evaluateGuard, warn } from './utils.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar initEvent = /*#__PURE__*/toSCXMLEvent({\n type: init\n});\nfunction getActionFunction(actionType, actionFunctionMap) {\n return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;\n}\nfunction toActionObject(action, actionFunctionMap) {\n var actionObject;\n\n if (isString(action) || typeof action === 'number') {\n var exec = getActionFunction(action, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = {\n type: action,\n exec: exec\n };\n } else if (exec) {\n actionObject = exec;\n } else {\n actionObject = {\n type: action,\n exec: undefined\n };\n }\n } else if (isFunction(action)) {\n actionObject = {\n // Convert action to string if unnamed\n type: action.name || action.toString(),\n exec: action\n };\n } else {\n var exec = getActionFunction(action.type, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = __assign(__assign({}, action), {\n exec: exec\n });\n } else if (exec) {\n var actionType = exec.type || action.type;\n actionObject = __assign(__assign(__assign({}, exec), action), {\n type: actionType\n });\n } else {\n actionObject = action;\n }\n }\n\n return actionObject;\n}\nvar toActionObjects = function (action, actionFunctionMap) {\n if (!action) {\n return [];\n }\n\n var actions = isArray(action) ? action : [action];\n return actions.map(function (subAction) {\n return toActionObject(subAction, actionFunctionMap);\n });\n};\nfunction toActivityDefinition(action) {\n var actionObject = toActionObject(action);\n return __assign(__assign({\n id: isString(action) ? action : actionObject.id\n }, actionObject), {\n type: actionObject.type\n });\n}\n/**\r\n * Raises an event. This places the event in the internal event queue, so that\r\n * the event is immediately consumed by the machine in the current step.\r\n *\r\n * @param eventType The event to raise.\r\n */\n\nfunction raise(event, options) {\n return {\n type: raise$1,\n event: typeof event === 'function' ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n id: options === null || options === void 0 ? void 0 : options.id\n };\n}\nfunction resolveRaise(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n };\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n return __assign(__assign({}, action), {\n type: raise$1,\n _event: resolvedEvent,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event. This returns an action that will be read by an interpreter to\r\n * send the event in the next step, after the current step is finished executing.\r\n *\r\n * @deprecated Use the `sendTo(...)` action creator instead.\r\n *\r\n * @param event The event to send.\r\n * @param options Options to pass into the send event:\r\n * - `id` - The unique send event identifier (used with `cancel()`).\r\n * - `delay` - The number of milliseconds to delay the sending of the event.\r\n * - `to` - The target of this event (by default, the machine the event was sent from).\r\n */\n\nfunction send(event, options) {\n return {\n to: options ? options.to : undefined,\n type: send$1,\n event: isFunction(event) ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n // TODO: don't auto-generate IDs here like that\n // there is too big chance of the ID collision\n id: options && options.id !== undefined ? options.id : isFunction(event) ? event.name : getEventType(event)\n };\n}\nfunction resolveSend(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n }; // TODO: helper function for resolving Expr\n\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n var resolvedTarget = isFunction(action.to) ? action.to(ctx, _event.data, meta) : action.to;\n return __assign(__assign({}, action), {\n to: resolvedTarget,\n _event: resolvedEvent,\n event: resolvedEvent.data,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event to this machine's parent.\r\n *\r\n * @param event The event to send to the parent machine.\r\n * @param options Options to pass into the send event.\r\n */\n\nfunction sendParent(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\n/**\r\n * Sends an event to an actor.\r\n *\r\n * @param actor The `ActorRef` to send the event to.\r\n * @param event The event to send, or an expression that evaluates to the event to send\r\n * @param options Send action options\r\n * @returns An XState send action object\r\n */\n\nfunction sendTo(actor, event, options) {\n return send(event, __assign(__assign({}, options), {\n to: actor\n }));\n}\n/**\r\n * Sends an update event to this machine's parent.\r\n */\n\nfunction sendUpdate() {\n return sendParent(update);\n}\n/**\r\n * Sends an event back to the sender of the original event.\r\n *\r\n * @param event The event to send back to the sender\r\n * @param options Options to pass into the send event\r\n */\n\nfunction respond(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: function (_, __, _a) {\n var _event = _a._event;\n return _event.origin; // TODO: handle when _event.origin is undefined\n }\n }));\n}\n\nvar defaultLogExpr = function (context, event) {\n return {\n context: context,\n event: event\n };\n};\n/**\r\n *\r\n * @param expr The expression function to evaluate which will be logged.\r\n * Takes in 2 arguments:\r\n * - `ctx` - the current state context\r\n * - `event` - the event that caused this action to be executed.\r\n * @param label The label to give to the logged expression.\r\n */\n\n\nfunction log(expr, label) {\n if (expr === void 0) {\n expr = defaultLogExpr;\n }\n\n return {\n type: log$1,\n label: label,\n expr: expr\n };\n}\nvar resolveLog = function (action, ctx, _event) {\n return __assign(__assign({}, action), {\n value: isString(action.expr) ? action.expr : action.expr(ctx, _event.data, {\n _event: _event\n })\n });\n};\n/**\r\n * Cancels an in-flight `send(...)` action. A canceled sent action will not\r\n * be executed, nor will its event be sent, unless it has already been sent\r\n * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).\r\n *\r\n * @param sendId The `id` of the `send(...)` action to cancel.\r\n */\n\nvar cancel = function (sendId) {\n return {\n type: cancel$1,\n sendId: sendId\n };\n};\n/**\r\n * Starts an activity.\r\n *\r\n * @param activity The activity to start.\r\n */\n\nfunction start(activity) {\n var activityDef = toActivityDefinition(activity);\n return {\n type: ActionTypes.Start,\n activity: activityDef,\n exec: undefined\n };\n}\n/**\r\n * Stops an activity.\r\n *\r\n * @param actorRef The activity to stop.\r\n */\n\nfunction stop(actorRef) {\n var activity = isFunction(actorRef) ? actorRef : toActivityDefinition(actorRef);\n return {\n type: ActionTypes.Stop,\n activity: activity,\n exec: undefined\n };\n}\nfunction resolveStop(action, context, _event) {\n var actorRefOrString = isFunction(action.activity) ? action.activity(context, _event.data) : action.activity;\n var resolvedActorRef = typeof actorRefOrString === 'string' ? {\n id: actorRefOrString\n } : actorRefOrString;\n var actionObject = {\n type: ActionTypes.Stop,\n activity: resolvedActorRef\n };\n return actionObject;\n}\n/**\r\n * Updates the current context of the machine.\r\n *\r\n * @param assignment An object that represents the partial context to update.\r\n */\n\nvar assign = function (assignment) {\n return {\n type: assign$1,\n assignment: assignment\n };\n};\nfunction isActionObject(action) {\n return typeof action === 'object' && 'type' in action;\n}\n/**\r\n * Returns an event type that represents an implicit event that\r\n * is sent after the specified `delay`.\r\n *\r\n * @param delayRef The delay in milliseconds\r\n * @param id The state node ID where this event is handled\r\n */\n\nfunction after(delayRef, id) {\n var idSuffix = id ? \"#\".concat(id) : '';\n return \"\".concat(ActionTypes.After, \"(\").concat(delayRef, \")\").concat(idSuffix);\n}\n/**\r\n * Returns an event that represents that a final state node\r\n * has been reached in the parent state node.\r\n *\r\n * @param id The final state node's parent state node `id`\r\n * @param data The data to pass into the event\r\n */\n\nfunction done(id, data) {\n var type = \"\".concat(ActionTypes.DoneState, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\n/**\r\n * Returns an event that represents that an invoked service has terminated.\r\n *\r\n * An invoked service is terminated when it has reached a top-level final state node,\r\n * but not when it is canceled.\r\n *\r\n * @param id The final state node ID\r\n * @param data The data to pass into the event\r\n */\n\nfunction doneInvoke(id, data) {\n var type = \"\".concat(ActionTypes.DoneInvoke, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction error(id, data) {\n var type = \"\".concat(ActionTypes.ErrorPlatform, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction pure(getActions) {\n return {\n type: ActionTypes.Pure,\n get: getActions\n };\n}\n/**\r\n * Forwards (sends) an event to a specified service.\r\n *\r\n * @param target The target service to forward the event to.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction forwardTo(target, options) {\n if (!IS_PRODUCTION && (!target || typeof target === 'function')) {\n var originalTarget_1 = target;\n\n target = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, __spreadArray([], __read(args), false)) : originalTarget_1;\n\n if (!resolvedTarget) {\n throw new Error(\"Attempted to forward event to undefined actor. This risks an infinite loop in the sender.\");\n }\n\n return resolvedTarget;\n };\n }\n\n return send(function (_, event) {\n return event;\n }, __assign(__assign({}, options), {\n to: target\n }));\n}\n/**\r\n * Escalates an error by sending it as an event to this machine's parent.\r\n *\r\n * @param errorData The error data to send, or the expression function that\r\n * takes in the `context`, `event`, and `meta`, and returns the error data to send.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction escalate(errorData, options) {\n return sendParent(function (context, event, meta) {\n return {\n type: error$1,\n data: isFunction(errorData) ? errorData(context, event, meta) : errorData\n };\n }, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\nfunction choose(conds) {\n return {\n type: ActionTypes.Choose,\n conds: conds\n };\n}\n\nvar pluckAssigns = function (actionBlocks) {\n var e_1, _a;\n\n var assignActions = [];\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n var i = 0;\n\n while (i < block.actions.length) {\n if (block.actions[i].type === assign$1) {\n assignActions.push(block.actions[i]);\n block.actions.splice(i, 1);\n continue;\n }\n\n i++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return assignActions;\n};\n\nfunction resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {\n if (preserveActionOrder === void 0) {\n preserveActionOrder = false;\n }\n\n var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);\n var updatedContext = assignActions.length ? updateContext(currentContext, _event, assignActions, currentState) : currentContext;\n var preservedContexts = preserveActionOrder ? [currentContext] : undefined;\n var deferredToBlockEnd = [];\n\n function handleAction(blockType, actionObject) {\n var _a;\n\n switch (actionObject.type) {\n case raise$1:\n {\n var raisedAction = resolveRaise(actionObject, updatedContext, _event, machine.options.delays);\n\n if (predictableExec && typeof raisedAction.delay === 'number') {\n predictableExec(raisedAction, updatedContext, _event);\n }\n\n return raisedAction;\n }\n\n case send$1:\n var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init\n\n if (!IS_PRODUCTION) {\n var configuredDelay = actionObject.delay; // warn after resolving as we can create better contextual message here\n\n warn(!isString(configuredDelay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length\n \"No delay reference for delay expression '\".concat(configuredDelay, \"' was found on machine '\").concat(machine.id, \"'\"));\n }\n\n if (predictableExec && sendAction.to !== SpecialTargets.Internal) {\n if (blockType === 'entry') {\n deferredToBlockEnd.push(sendAction);\n } else {\n predictableExec(sendAction, updatedContext, _event);\n }\n }\n\n return sendAction;\n\n case log$1:\n {\n var resolved = resolveLog(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);\n return resolved;\n }\n\n case choose$1:\n {\n var chooseAction = actionObject;\n var matchedActions = (_a = chooseAction.conds.find(function (condition) {\n var guard = toGuard(condition.cond, machine.options.guards);\n return !guard || evaluateGuard(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);\n })) === null || _a === void 0 ? void 0 : _a.actions;\n\n if (!matchedActions) {\n return [];\n }\n\n var _b = __read(resolveActions(machine, currentState, updatedContext, _event, [{\n type: blockType,\n actions: toActionObjects(toArray(matchedActions), machine.options.actions)\n }], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromChoose = _b[0],\n resolvedContextFromChoose = _b[1];\n\n updatedContext = resolvedContextFromChoose;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromChoose;\n }\n\n case pure$1:\n {\n var matchedActions = actionObject.get(updatedContext, _event.data);\n\n if (!matchedActions) {\n return [];\n }\n\n var _c = __read(resolveActions(machine, currentState, updatedContext, _event, [{\n type: blockType,\n actions: toActionObjects(toArray(matchedActions), machine.options.actions)\n }], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromPure = _c[0],\n resolvedContext = _c[1];\n\n updatedContext = resolvedContext;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromPure;\n }\n\n case stop$1:\n {\n var resolved = resolveStop(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);\n return resolved;\n }\n\n case assign$1:\n {\n updatedContext = updateContext(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n break;\n }\n\n default:\n var resolvedActionObject = toActionObject(actionObject, machine.options.actions);\n var exec_1 = resolvedActionObject.exec;\n\n if (predictableExec) {\n predictableExec(resolvedActionObject, updatedContext, _event);\n } else if (exec_1 && preservedContexts) {\n var contextIndex_1 = preservedContexts.length - 1;\n\n var wrapped = __assign(__assign({}, resolvedActionObject), {\n exec: function (_ctx) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n exec_1.apply(void 0, __spreadArray([preservedContexts[contextIndex_1]], __read(args), false));\n }\n });\n\n resolvedActionObject = wrapped;\n }\n\n return resolvedActionObject;\n }\n }\n\n function processBlock(block) {\n var e_2, _a;\n\n var resolvedActions = [];\n\n try {\n for (var _b = __values(block.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n var resolved = handleAction(block.type, action);\n\n if (resolved) {\n resolvedActions = resolvedActions.concat(resolved);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n deferredToBlockEnd.forEach(function (action) {\n predictableExec(action, updatedContext, _event);\n });\n deferredToBlockEnd.length = 0;\n return resolvedActions;\n }\n\n var resolvedActions = flatten(actionBlocks.map(processBlock));\n return [resolvedActions, updatedContext];\n}\n\nexport { after, assign, cancel, choose, done, doneInvoke, error, escalate, forwardTo, getActionFunction, initEvent, isActionObject, log, pure, raise, resolveActions, resolveLog, resolveRaise, resolveSend, resolveStop, respond, send, sendParent, sendTo, sendUpdate, start, stop, toActionObject, toActionObjects, toActivityDefinition };\n","/**\r\n * Maintains a stack of the current service in scope.\r\n * This is used to provide the correct service to spawn().\r\n */\nvar serviceStack = [];\nvar provide = function (service, fn) {\n serviceStack.push(service);\n var result = fn(service);\n serviceStack.pop();\n return result;\n};\nvar consume = function (fn) {\n return fn(serviceStack[serviceStack.length - 1]);\n};\n\nexport { consume, provide };\n","import { __assign } from './_virtual/_tslib.js';\nimport { symbolObservable, toInvokeSource, mapContext, isMachine } from './utils.js';\nimport { provide } from './serviceScope.js';\n\nfunction createNullActor(id) {\n var _a;\n\n return _a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a;\n}\n/**\r\n * Creates a deferred actor that is able to be invoked given the provided\r\n * invocation information in its `.meta` value.\r\n *\r\n * @param invokeDefinition The meta information needed to invoke the actor.\r\n */\n\nfunction createInvocableActor(invokeDefinition, machine, context, _event) {\n var _a;\n\n var invokeSrc = toInvokeSource(invokeDefinition.src);\n var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];\n var resolvedData = invokeDefinition.data ? mapContext(invokeDefinition.data, context, _event) : undefined;\n var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore\n\n tempActor.meta = invokeDefinition;\n return tempActor;\n}\nfunction createDeferredActor(entity, id, data) {\n var tempActor = createNullActor(id); // @ts-ignore\n\n tempActor.deferred = true;\n\n if (isMachine(entity)) {\n // \"mute\" the existing service scope so potential spawned actors within the `.initialState` stay deferred here\n var initialState_1 = tempActor.state = provide(undefined, function () {\n return (data ? entity.withContext(data) : entity).initialState;\n });\n\n tempActor.getSnapshot = function () {\n return initialState_1;\n };\n }\n\n return tempActor;\n}\nfunction isActor(item) {\n try {\n return typeof item.send === 'function';\n } catch (e) {\n return false;\n }\n}\nfunction isSpawnedActor(item) {\n return isActor(item) && 'id' in item;\n} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now\n\nfunction toActorRef(actorRefLike) {\n var _a;\n\n return __assign((_a = {\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n id: 'anonymous',\n getSnapshot: function () {\n return undefined;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a), actorRefLike);\n}\n\nexport { createDeferredActor, createInvocableActor, createNullActor, isActor, isSpawnedActor, toActorRef };\n","import { __values, __spreadArray, __read } from './_virtual/_tslib.js';\nimport { flatten } from './utils.js';\n\nvar isLeafNode = function (stateNode) {\n return stateNode.type === 'atomic' || stateNode.type === 'final';\n};\nfunction getAllChildren(stateNode) {\n return Object.keys(stateNode.states).map(function (key) {\n return stateNode.states[key];\n });\n}\nfunction getChildren(stateNode) {\n return getAllChildren(stateNode).filter(function (sn) {\n return sn.type !== 'history';\n });\n}\nfunction getAllStateNodes(stateNode) {\n var stateNodes = [stateNode];\n\n if (isLeafNode(stateNode)) {\n return stateNodes;\n }\n\n return stateNodes.concat(flatten(getChildren(stateNode).map(getAllStateNodes)));\n}\nfunction getConfiguration(prevStateNodes, stateNodes) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n\n var prevConfiguration = new Set(prevStateNodes);\n var prevAdjList = getAdjList(prevConfiguration);\n var configuration = new Set(stateNodes);\n\n try {\n // add all ancestors\n for (var configuration_1 = __values(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {\n var s = configuration_1_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n var adjList = getAdjList(configuration);\n\n try {\n // add descendants\n for (var configuration_2 = __values(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {\n var s = configuration_2_1.value; // if previously active, add existing child nodes\n\n if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {\n if (prevAdjList.get(s)) {\n prevAdjList.get(s).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n s.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n } else {\n if (s.type === 'parallel') {\n try {\n for (var _e = (e_3 = void 0, __values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var child = _f.value;\n\n if (!configuration.has(child)) {\n configuration.add(child);\n\n if (prevAdjList.get(child)) {\n prevAdjList.get(child).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n child.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_c = _e.return)) _c.call(_e);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n try {\n // add all ancestors\n for (var configuration_3 = __values(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {\n var s = configuration_3_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return configuration;\n}\n\nfunction getValueFromAdj(baseNode, adjList) {\n var childStateNodes = adjList.get(baseNode);\n\n if (!childStateNodes) {\n return {}; // todo: fix?\n }\n\n if (baseNode.type === 'compound') {\n var childStateNode = childStateNodes[0];\n\n if (childStateNode) {\n if (isLeafNode(childStateNode)) {\n return childStateNode.key;\n }\n } else {\n return {};\n }\n }\n\n var stateValue = {};\n childStateNodes.forEach(function (csn) {\n stateValue[csn.key] = getValueFromAdj(csn, adjList);\n });\n return stateValue;\n}\n\nfunction getAdjList(configuration) {\n var e_5, _a;\n\n var adjList = new Map();\n\n try {\n for (var configuration_4 = __values(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {\n var s = configuration_4_1.value;\n\n if (!adjList.has(s)) {\n adjList.set(s, []);\n }\n\n if (s.parent) {\n if (!adjList.has(s.parent)) {\n adjList.set(s.parent, []);\n }\n\n adjList.get(s.parent).push(s);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return adjList;\n}\nfunction getValue(rootNode, configuration) {\n var config = getConfiguration([rootNode], configuration);\n return getValueFromAdj(rootNode, getAdjList(config));\n}\nfunction has(iterable, item) {\n if (Array.isArray(iterable)) {\n return iterable.some(function (member) {\n return member === item;\n });\n }\n\n if (iterable instanceof Set) {\n return iterable.has(item);\n }\n\n return false; // TODO: fix\n}\nfunction nextEvents(configuration) {\n return __spreadArray([], __read(new Set(flatten(__spreadArray([], __read(configuration.map(function (sn) {\n return sn.ownEvents;\n })), false)))), false);\n}\nfunction isInFinalState(configuration, stateNode) {\n if (stateNode.type === 'compound') {\n return getChildren(stateNode).some(function (s) {\n return s.type === 'final' && has(configuration, s);\n });\n }\n\n if (stateNode.type === 'parallel') {\n return getChildren(stateNode).every(function (sn) {\n return isInFinalState(configuration, sn);\n });\n }\n\n return false;\n}\nfunction getMeta(configuration) {\n if (configuration === void 0) {\n configuration = [];\n }\n\n return configuration.reduce(function (acc, stateNode) {\n if (stateNode.meta !== undefined) {\n acc[stateNode.id] = stateNode.meta;\n }\n\n return acc;\n }, {});\n}\nfunction getTagsFromConfiguration(configuration) {\n return new Set(flatten(configuration.map(function (sn) {\n return sn.tags;\n })));\n}\n\nexport { getAdjList, getAllChildren, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };\n","import { __assign, __spreadArray, __read, __rest } from './_virtual/_tslib.js';\nimport { EMPTY_ACTIVITY_MAP } from './constants.js';\nimport { isString, matchesState, warn } from './utils.js';\nimport { getMeta, nextEvents } from './stateUtils.js';\nimport { initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nfunction stateValuesEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined) {\n return false;\n }\n\n if (isString(a) || isString(b)) {\n return a === b;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n return aKeys.length === bKeys.length && aKeys.every(function (key) {\n return stateValuesEqual(a[key], b[key]);\n });\n}\nfunction isStateConfig(state) {\n if (typeof state !== 'object' || state === null) {\n return false;\n }\n\n return 'value' in state && '_event' in state;\n}\n/**\r\n * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.\r\n */\n\nvar isState = isStateConfig;\nfunction bindActionToState(action, state) {\n var exec = action.exec;\n\n var boundAction = __assign(__assign({}, action), {\n exec: exec !== undefined ? function () {\n return exec(state.context, state.event, {\n action: action,\n state: state,\n _event: state._event\n });\n } : undefined\n });\n\n return boundAction;\n}\n\nvar State =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new State instance.\r\n * @param value The state value\r\n * @param context The extended state\r\n * @param historyValue The tree representing historical values of the state nodes\r\n * @param history The previous state\r\n * @param actions An array of action objects to execute as side-effects\r\n * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).\r\n * @param meta\r\n * @param events Internal event queue. Should be empty with run-to-completion semantics.\r\n * @param configuration\r\n */\n function State(config) {\n var _this = this;\n\n var _a;\n\n this.actions = [];\n this.activities = EMPTY_ACTIVITY_MAP;\n this.meta = {};\n this.events = [];\n this.value = config.value;\n this.context = config.context;\n this._event = config._event;\n this._sessionid = config._sessionid;\n this.event = this._event.data;\n this.historyValue = config.historyValue;\n this.history = config.history;\n this.actions = config.actions || [];\n this.activities = config.activities || EMPTY_ACTIVITY_MAP;\n this.meta = getMeta(config.configuration);\n this.events = config.events || [];\n this.matches = this.matches.bind(this);\n this.toStrings = this.toStrings.bind(this);\n this.configuration = config.configuration;\n this.transitions = config.transitions;\n this.children = config.children;\n this.done = !!config.done;\n this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();\n this.machine = config.machine;\n Object.defineProperty(this, 'nextEvents', {\n get: function () {\n return nextEvents(_this.configuration);\n }\n });\n }\n /**\r\n * Creates a new State instance for the given `stateValue` and `context`.\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.from = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (stateValue.context !== context) {\n return new State({\n value: stateValue.value,\n context: context,\n _event: stateValue._event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n actions: [],\n activities: stateValue.activities,\n meta: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n }\n\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: undefined,\n history: undefined,\n actions: [],\n activities: undefined,\n meta: undefined,\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n };\n /**\r\n * Creates a new State instance for the given `config`.\r\n * @param config The state config\r\n */\n\n\n State.create = function (config) {\n return new State(config);\n };\n /**\r\n * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.inert = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (!stateValue.actions.length) {\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue.value,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n activities: stateValue.activities,\n configuration: stateValue.configuration,\n transitions: [],\n children: {}\n });\n }\n\n return State.from(stateValue, context);\n };\n /**\r\n * Returns an array of all the string leaf state node paths.\r\n * @param stateValue\r\n * @param delimiter The character(s) that separate each subpath in the string state node path.\r\n */\n\n\n State.prototype.toStrings = function (stateValue, delimiter) {\n var _this = this;\n\n if (stateValue === void 0) {\n stateValue = this.value;\n }\n\n if (delimiter === void 0) {\n delimiter = '.';\n }\n\n if (isString(stateValue)) {\n return [stateValue];\n }\n\n var valueKeys = Object.keys(stateValue);\n return valueKeys.concat.apply(valueKeys, __spreadArray([], __read(valueKeys.map(function (key) {\n return _this.toStrings(stateValue[key], delimiter).map(function (s) {\n return key + delimiter + s;\n });\n })), false));\n };\n\n State.prototype.toJSON = function () {\n var _a = this;\n _a.configuration;\n _a.transitions;\n var tags = _a.tags;\n _a.machine;\n var jsonValues = __rest(_a, [\"configuration\", \"transitions\", \"tags\", \"machine\"]);\n\n return __assign(__assign({}, jsonValues), {\n tags: Array.from(tags)\n });\n };\n\n State.prototype.matches = function (parentStateValue) {\n return matchesState(parentStateValue, this.value);\n };\n /**\r\n * Whether the current state configuration has a state node with the specified `tag`.\r\n * @param tag\r\n */\n\n\n State.prototype.hasTag = function (tag) {\n return this.tags.has(tag);\n };\n /**\r\n * Determines whether sending the `event` will cause a non-forbidden transition\r\n * to be selected, even if the transitions have no actions nor\r\n * change the state value.\r\n *\r\n * @param event The event to test\r\n * @returns Whether the event will cause a transition\r\n */\n\n\n State.prototype.can = function (event) {\n var _a;\n\n if (IS_PRODUCTION) {\n warn(!!this.machine, \"state.can(...) used outside of a machine-created State object; this will always return false.\");\n }\n\n var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);\n return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden\n transitionData.transitions.some(function (t) {\n return t.target !== undefined || t.actions.length;\n });\n };\n\n return State;\n}();\n\nexport { State, bindActionToState, isState, isStateConfig, stateValuesEqual };\n","import { __assign } from './_virtual/_tslib.js';\n\nvar defaultOptions = {\n deferEvents: false\n};\n\nvar Scheduler =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Scheduler(options) {\n this.processingEvent = false;\n this.queue = [];\n this.initialized = false;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n\n Scheduler.prototype.initialize = function (callback) {\n this.initialized = true;\n\n if (callback) {\n if (!this.options.deferEvents) {\n this.schedule(callback);\n return;\n }\n\n this.process(callback);\n }\n\n this.flushEvents();\n };\n\n Scheduler.prototype.schedule = function (task) {\n if (!this.initialized || this.processingEvent) {\n this.queue.push(task);\n return;\n }\n\n if (this.queue.length !== 0) {\n throw new Error('Event queue should be empty when it is not processing events');\n }\n\n this.process(task);\n this.flushEvents();\n };\n\n Scheduler.prototype.clear = function () {\n this.queue = [];\n };\n\n Scheduler.prototype.flushEvents = function () {\n var nextCallback = this.queue.shift();\n\n while (nextCallback) {\n this.process(nextCallback);\n nextCallback = this.queue.shift();\n }\n };\n\n Scheduler.prototype.process = function (callback) {\n this.processingEvent = true;\n\n try {\n callback();\n } catch (e) {\n // there is no use to keep the future events\n // as the situation is not anymore the same\n this.clear();\n throw e;\n } finally {\n this.processingEvent = false;\n }\n };\n\n return Scheduler;\n}();\n\nexport { Scheduler };\n","var children = /*#__PURE__*/new Map();\nvar sessionIdIndex = 0;\nvar registry = {\n bookId: function () {\n return \"x:\".concat(sessionIdIndex++);\n },\n register: function (id, actor) {\n children.set(id, actor);\n return id;\n },\n get: function (id) {\n return children.get(id);\n },\n free: function (id) {\n children.delete(id);\n }\n};\n\nexport { registry };\n","import { IS_PRODUCTION } from './environment.js';\n\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n if (!IS_PRODUCTION) {\n console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');\n }\n}\n\nfunction getDevTools() {\n var global = getGlobal();\n\n if (global && '__xstate__' in global) {\n return global.__xstate__;\n }\n\n return undefined;\n}\n\nfunction registerService(service) {\n if (!getGlobal()) {\n return;\n }\n\n var devTools = getDevTools();\n\n if (devTools) {\n devTools.register(service);\n }\n}\n\nexport { getGlobal, registerService };\n","import { error, doneInvoke } from './actions.js';\nimport { toActorRef } from './Actor.js';\nimport { toObserver } from './utils.js';\n\n/**\r\n * Returns an actor behavior from a reducer and its initial state.\r\n *\r\n * @param transition The pure reducer that returns the next state given the current state and event.\r\n * @param initialState The initial state of the reducer.\r\n * @returns An actor behavior\r\n */\n\nfunction fromReducer(transition, initialState) {\n return {\n transition: transition,\n initialState: initialState\n };\n}\nfunction fromPromise(promiseFn) {\n var initialState = {\n error: undefined,\n data: undefined,\n status: 'pending'\n };\n return {\n transition: function (state, event, _a) {\n var parent = _a.parent,\n id = _a.id,\n observers = _a.observers;\n\n switch (event.type) {\n case 'fulfill':\n parent === null || parent === void 0 ? void 0 : parent.send(doneInvoke(id, event.data));\n return {\n error: undefined,\n data: event.data,\n status: 'fulfilled'\n };\n\n case 'reject':\n parent === null || parent === void 0 ? void 0 : parent.send(error(id, event.error));\n observers.forEach(function (observer) {\n observer.error(event.error);\n });\n return {\n error: event.error,\n data: undefined,\n status: 'rejected'\n };\n\n default:\n return state;\n }\n },\n initialState: initialState,\n start: function (_a) {\n var self = _a.self;\n promiseFn().then(function (data) {\n self.send({\n type: 'fulfill',\n data: data\n });\n }, function (reason) {\n self.send({\n type: 'reject',\n error: reason\n });\n });\n return initialState;\n }\n };\n}\nfunction spawnBehavior(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var state = behavior.initialState;\n var observers = new Set();\n var mailbox = [];\n var flushing = false;\n\n var flush = function () {\n if (flushing) {\n return;\n }\n\n flushing = true;\n\n while (mailbox.length > 0) {\n var event_1 = mailbox.shift();\n state = behavior.transition(state, event_1, actorCtx);\n observers.forEach(function (observer) {\n return observer.next(state);\n });\n }\n\n flushing = false;\n };\n\n var actor = toActorRef({\n id: options.id,\n send: function (event) {\n mailbox.push(event);\n flush();\n },\n getSnapshot: function () {\n return state;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n observers.add(observer);\n observer.next(state);\n return {\n unsubscribe: function () {\n observers.delete(observer);\n }\n };\n }\n });\n var actorCtx = {\n parent: options.parent,\n self: actor,\n id: options.id || 'anonymous',\n observers: observers\n };\n state = behavior.start ? behavior.start(actorCtx) : state;\n return actor;\n}\n\nexport { fromPromise, fromReducer, spawnBehavior };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { isStateConfig, State, bindActionToState } from './State.js';\nimport { errorPlatform, update, error as error$1, log, stop, start, cancel, send, raise } from './actionTypes.js';\nimport { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isRaisableAction, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';\nimport { Scheduler } from './scheduler.js';\nimport { createDeferredActor, isSpawnedActor } from './Actor.js';\nimport { registry } from './registry.js';\nimport { getGlobal, registerService } from './devTools.js';\nimport { provide, consume } from './serviceScope.js';\nimport { spawnBehavior } from './behaviors.js';\n\nvar DEFAULT_SPAWN_OPTIONS = {\n sync: false,\n autoForward: false\n};\nvar InterpreterStatus;\n\n(function (InterpreterStatus) {\n InterpreterStatus[InterpreterStatus[\"NotStarted\"] = 0] = \"NotStarted\";\n InterpreterStatus[InterpreterStatus[\"Running\"] = 1] = \"Running\";\n InterpreterStatus[InterpreterStatus[\"Stopped\"] = 2] = \"Stopped\";\n})(InterpreterStatus || (InterpreterStatus = {}));\n\nvar Interpreter =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to be interpreted\r\n * @param options Interpreter options\r\n */\n function Interpreter(machine, options) {\n if (options === void 0) {\n options = Interpreter.defaultOptions;\n }\n\n var _this = this;\n\n this.machine = machine;\n this.delayedEventsMap = {};\n this.listeners = new Set();\n this.contextListeners = new Set();\n this.stopListeners = new Set();\n this.doneListeners = new Set();\n this.eventListeners = new Set();\n this.sendListeners = new Set();\n /**\r\n * Whether the service is started.\r\n */\n\n this.initialized = false;\n this.status = InterpreterStatus.NotStarted;\n this.children = new Map();\n this.forwardTo = new Set();\n this._outgoingQueue = [];\n /**\r\n * Alias for Interpreter.prototype.start\r\n */\n\n this.init = this.start;\n /**\r\n * Sends an event to the running interpreter to trigger a transition.\r\n *\r\n * An array of events (batched) can be sent as well, which will send all\r\n * batched events to the running interpreter. The listeners will be\r\n * notified only **once** when all events are processed.\r\n *\r\n * @param event The event(s) to send\r\n */\n\n this.send = function (event, payload) {\n if (isArray(event)) {\n _this.batch(event);\n\n return _this.state;\n }\n\n var _event = toSCXMLEvent(toEventObject(event, payload));\n\n if (_this.status === InterpreterStatus.Stopped) {\n // do nothing\n if (!IS_PRODUCTION) {\n warn(false, \"Event \\\"\".concat(_event.name, \"\\\" was sent to stopped service \\\"\").concat(_this.machine.id, \"\\\". This service has already reached its final state, and will not transition.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n return _this.state;\n }\n\n if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {\n throw new Error(\"Event \\\"\".concat(_event.name, \"\\\" was sent to uninitialized service \\\"\").concat(_this.machine.id // tslint:disable-next-line:max-line-length\n , \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n _this.scheduler.schedule(function () {\n // Forward copy of event to child actors\n _this.forward(_event);\n\n var nextState = _this._nextState(_event);\n\n _this.update(nextState, _event);\n });\n\n return _this._state; // TODO: deprecate (should return void)\n // tslint:disable-next-line:semicolon\n };\n\n this.sendTo = function (event, to, immediate) {\n var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);\n var target = isParent ? _this.parent : isString(to) ? to === SpecialTargets.Internal ? _this : _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;\n\n if (!target) {\n if (!isParent) {\n throw new Error(\"Unable to send event to child '\".concat(to, \"' from service '\").concat(_this.id, \"'.\"));\n } // tslint:disable-next-line:no-console\n\n\n if (!IS_PRODUCTION) {\n warn(false, \"Service '\".concat(_this.id, \"' has no parent: unable to send event \").concat(event.type));\n }\n\n return;\n }\n\n if ('machine' in target) {\n // perhaps those events should be rejected in the parent\n // but atm it doesn't have easy access to all of the information that is required to do it reliably\n if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state\n _this.state.done) {\n // Send SCXML events to machines\n var scxmlEvent = __assign(__assign({}, event), {\n name: event.name === error$1 ? \"\".concat(error(_this.id)) : event.name,\n origin: _this.sessionId\n });\n\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, scxmlEvent]);\n } else {\n target.send(scxmlEvent);\n }\n }\n } else {\n // Send normal events to other targets\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, event.data]);\n } else {\n target.send(event.data);\n }\n }\n };\n\n this._exec = function (action, context, _event, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = _this.machine.options.actions;\n }\n\n var actionOrExec = action.exec || getActionFunction(action.type, actionFunctionMap);\n var exec = isFunction(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;\n\n if (exec) {\n try {\n return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {\n action: action,\n state: _this.state,\n _event: _event\n } : {\n action: action,\n _event: _event\n });\n } catch (err) {\n if (_this.parent) {\n _this.parent.send({\n type: 'xstate.error',\n data: err\n });\n }\n\n throw err;\n }\n }\n\n switch (action.type) {\n case raise:\n {\n // if raise action reached the interpreter then it's a delayed one\n var sendAction_1 = action;\n\n _this.defer(sendAction_1);\n\n break;\n }\n\n case send:\n var sendAction = action;\n\n if (typeof sendAction.delay === 'number') {\n _this.defer(sendAction);\n\n return;\n } else {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, _event === initEvent);\n } else {\n _this.send(sendAction._event);\n }\n }\n\n break;\n\n case cancel:\n _this.cancel(action.sendId);\n\n break;\n\n case start:\n {\n if (_this.status !== InterpreterStatus.Running) {\n return;\n }\n\n var activity = action.activity; // If the activity will be stopped right after it's started\n // (such as in transient states)\n // don't bother starting the activity.\n\n if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state\n !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {\n break;\n } // Invoked services\n\n\n if (activity.type === ActionTypes.Invoke) {\n var invokeSource = toInvokeSource(activity.src);\n var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;\n var id = activity.id,\n data = activity.data;\n\n if (!IS_PRODUCTION) {\n warn(!('forward' in activity), // tslint:disable-next-line:max-line-length\n \"`forward` property is deprecated (found in invocation of '\".concat(activity.src, \"' in in machine '\").concat(_this.machine.id, \"'). \") + \"Please use `autoForward` instead.\");\n }\n\n var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;\n\n if (!serviceCreator) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"No service found for invocation '\".concat(activity.src, \"' in machine '\").concat(_this.machine.id, \"'.\"));\n }\n\n return;\n }\n\n var resolvedData = data ? mapContext(data, context, _event) : undefined;\n\n if (typeof serviceCreator === 'string') {\n // TODO: warn\n return;\n }\n\n var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {\n data: resolvedData,\n src: invokeSource,\n meta: activity.meta\n }) : serviceCreator;\n\n if (!source) {\n // TODO: warn?\n return;\n }\n\n var options = void 0;\n\n if (isMachine(source)) {\n source = resolvedData ? source.withContext(resolvedData) : source;\n options = {\n autoForward: autoForward\n };\n }\n\n _this.spawn(source, id, options);\n } else {\n _this.spawnActivity(activity);\n }\n\n break;\n }\n\n case stop:\n {\n _this.stopChild(action.activity.id);\n\n break;\n }\n\n case log:\n var _a = action,\n label = _a.label,\n value = _a.value;\n\n if (label) {\n _this.logger(label, value);\n } else {\n _this.logger(value);\n }\n\n break;\n\n default:\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for action type '\".concat(action.type, \"'\"));\n }\n\n break;\n }\n };\n\n var resolvedOptions = __assign(__assign({}, Interpreter.defaultOptions), options);\n\n var clock = resolvedOptions.clock,\n logger = resolvedOptions.logger,\n parent = resolvedOptions.parent,\n id = resolvedOptions.id;\n var resolvedId = id !== undefined ? id : machine.id;\n this.id = resolvedId;\n this.logger = logger;\n this.clock = clock;\n this.parent = parent;\n this.options = resolvedOptions;\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n this.sessionId = registry.bookId();\n }\n\n Object.defineProperty(Interpreter.prototype, \"initialState\", {\n get: function () {\n var _this = this;\n\n if (this._initialState) {\n return this._initialState;\n }\n\n return provide(this, function () {\n _this._initialState = _this.machine.initialState;\n return _this._initialState;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Interpreter.prototype, \"state\", {\n /**\r\n * @deprecated Use `.getSnapshot()` instead.\r\n */\n get: function () {\n if (!IS_PRODUCTION) {\n warn(this.status !== InterpreterStatus.NotStarted, \"Attempted to read state from uninitialized service '\".concat(this.id, \"'. Make sure the service is started first.\"));\n }\n\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Executes the actions of the given state, with that state's `context` and `event`.\r\n *\r\n * @param state The state whose actions will be executed\r\n * @param actionsConfig The action implementations to use\r\n */\n\n Interpreter.prototype.execute = function (state, actionsConfig) {\n var e_1, _a;\n\n try {\n for (var _b = __values(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n this.exec(action, state, actionsConfig);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n\n Interpreter.prototype.update = function (state, _event) {\n var e_2, _a, e_3, _b, e_4, _c, e_5, _d;\n\n var _this = this; // Attach session ID to state\n\n\n state._sessionid = this.sessionId; // Update state\n\n this._state = state; // Execute actions\n\n if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached\n // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns\n _event === initEvent) && this.options.execute) {\n this.execute(this.state);\n } else {\n var item = void 0;\n\n while (item = this._outgoingQueue.shift()) {\n item[0].send(item[1]);\n }\n } // Update children\n\n\n this.children.forEach(function (child) {\n _this.state.children[child.id] = child;\n }); // Dev tools\n\n if (this.devTools) {\n this.devTools.send(_event.data, state);\n } // Execute listeners\n\n\n if (state.event) {\n try {\n for (var _e = __values(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {\n var listener = _f.value;\n listener(state.event);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n\n try {\n for (var _g = __values(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {\n var listener = _h.value;\n listener(state, state.event);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n try {\n for (var _j = __values(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {\n var contextListener = _k.value;\n contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n if (this.state.done) {\n // get final child state node\n var finalChildStateNode = state.configuration.find(function (sn) {\n return sn.type === 'final' && sn.parent === _this.machine;\n });\n var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;\n this._doneEvent = doneInvoke(this.id, doneData);\n\n try {\n for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {\n var listener = _m.value;\n listener(this._doneEvent);\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n this._stop();\n\n this._stopChildren();\n\n registry.free(this.sessionId);\n }\n };\n /*\r\n * Adds a listener that is notified whenever a state transition happens. The listener is called with\r\n * the next state and the event object that caused the state transition.\r\n *\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onTransition = function (listener) {\n this.listeners.add(listener); // Send current state to listener\n\n if (this.status === InterpreterStatus.Running) {\n listener(this.state, this.state.event);\n }\n\n return this;\n };\n\n Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener\n completeListener) {\n var _this = this;\n\n var observer = toObserver(nextListenerOrObserver, _, completeListener);\n this.listeners.add(observer.next); // Send current state to listener\n\n if (this.status !== InterpreterStatus.NotStarted) {\n observer.next(this.state);\n }\n\n var completeOnce = function () {\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n\n observer.complete();\n };\n\n if (this.status === InterpreterStatus.Stopped) {\n observer.complete();\n } else {\n this.onDone(completeOnce);\n this.onStop(completeOnce);\n }\n\n return {\n unsubscribe: function () {\n _this.listeners.delete(observer.next);\n\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n }\n };\n };\n /**\r\n * Adds an event listener that is notified whenever an event is sent to the running interpreter.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onEvent = function (listener) {\n this.eventListeners.add(listener);\n return this;\n };\n /**\r\n * Adds an event listener that is notified whenever a `send` event occurs.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onSend = function (listener) {\n this.sendListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a context listener that is notified whenever the state context changes.\r\n * @param listener The context listener\r\n */\n\n\n Interpreter.prototype.onChange = function (listener) {\n this.contextListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a listener that is notified when the machine is stopped.\r\n * @param listener The listener\r\n */\n\n\n Interpreter.prototype.onStop = function (listener) {\n this.stopListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a state listener that is notified when the statechart has reached its final state.\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onDone = function (listener) {\n if (this.status === InterpreterStatus.Stopped && this._doneEvent) {\n listener(this._doneEvent);\n } else {\n this.doneListeners.add(listener);\n }\n\n return this;\n };\n /**\r\n * Removes a listener.\r\n * @param listener The listener to remove\r\n */\n\n\n Interpreter.prototype.off = function (listener) {\n this.listeners.delete(listener);\n this.eventListeners.delete(listener);\n this.sendListeners.delete(listener);\n this.stopListeners.delete(listener);\n this.doneListeners.delete(listener);\n this.contextListeners.delete(listener);\n return this;\n };\n /**\r\n * Starts the interpreter from the given state, or the initial state.\r\n * @param initialState The state to start the statechart from\r\n */\n\n\n Interpreter.prototype.start = function (initialState) {\n var _this = this;\n\n if (this.status === InterpreterStatus.Running) {\n // Do not restart the service if it is already started\n return this;\n } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)\n // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call\n // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions\n // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)\n\n\n this.machine._init();\n\n registry.register(this.sessionId, this);\n this.initialized = true;\n this.status = InterpreterStatus.Running;\n var resolvedState = initialState === undefined ? this.initialState : provide(this, function () {\n return isStateConfig(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(State.from(initialState, _this.machine.context));\n });\n\n if (this.options.devTools) {\n this.attachDev();\n }\n\n this.scheduler.initialize(function () {\n _this.update(resolvedState, initEvent);\n });\n return this;\n };\n\n Interpreter.prototype._stopChildren = function () {\n // TODO: think about converting those to actions\n this.children.forEach(function (child) {\n if (isFunction(child.stop)) {\n child.stop();\n }\n });\n this.children.clear();\n };\n\n Interpreter.prototype._stop = function () {\n var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;\n\n try {\n for (var _f = __values(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {\n var listener = _g.value;\n this.listeners.delete(listener);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n try {\n for (var _h = __values(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {\n var listener = _j.value; // call listener, then remove\n\n listener();\n this.stopListeners.delete(listener);\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_j && !_j.done && (_b = _h.return)) _b.call(_h);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n\n try {\n for (var _k = __values(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {\n var listener = _l.value;\n this.contextListeners.delete(listener);\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_l && !_l.done && (_c = _k.return)) _c.call(_k);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n\n try {\n for (var _m = __values(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {\n var listener = _o.value;\n this.doneListeners.delete(listener);\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_o && !_o.done && (_d = _m.return)) _d.call(_m);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n\n if (!this.initialized) {\n // Interpreter already stopped; do nothing\n return this;\n }\n\n this.initialized = false;\n this.status = InterpreterStatus.Stopped;\n this._initialState = undefined;\n\n try {\n // we are going to stop within the current sync frame\n // so we can safely just cancel this here as nothing async should be fired anyway\n for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n this.clock.clearTimeout(this.delayedEventsMap[key]);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (_q && !_q.done && (_e = _p.return)) _e.call(_p);\n } finally {\n if (e_10) throw e_10.error;\n }\n } // clear everything that might be enqueued\n\n\n this.scheduler.clear();\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n };\n /**\r\n * Stops the interpreter and unsubscribe all listeners.\r\n *\r\n * This will also notify the `onStop` listeners.\r\n */\n\n\n Interpreter.prototype.stop = function () {\n // TODO: add warning for stopping non-root interpreters\n var _this = this; // grab the current scheduler as it will be replaced in _stop\n\n\n var scheduler = this.scheduler;\n\n this._stop(); // let what is currently processed to be finished\n\n\n scheduler.schedule(function () {\n var _a;\n\n if ((_a = _this._state) === null || _a === void 0 ? void 0 : _a.done) {\n return;\n } // it feels weird to handle this here but we need to handle this even slightly \"out of band\"\n\n\n var _event = toSCXMLEvent({\n type: 'xstate.stop'\n });\n\n var nextState = provide(_this, function () {\n var exitActions = flatten(__spreadArray([], __read(_this.state.configuration), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return toActionObjects(stateNode.onExit, _this.machine.options.actions);\n }));\n\n var _a = __read(resolveActions(_this.machine, _this.state, _this.state.context, _event, [{\n type: 'exit',\n actions: exitActions\n }], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),\n resolvedActions = _a[0],\n updatedContext = _a[1];\n\n var newState = new State({\n value: _this.state.value,\n context: updatedContext,\n _event: _event,\n _sessionid: _this.sessionId,\n historyValue: undefined,\n history: _this.state,\n actions: resolvedActions.filter(function (action) {\n return !isRaisableAction(action);\n }),\n activities: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {},\n done: _this.state.done,\n tags: _this.state.tags,\n machine: _this.machine\n });\n newState.changed = true;\n return newState;\n });\n\n _this.update(nextState, _event);\n\n _this._stopChildren();\n\n registry.free(_this.sessionId);\n });\n return this;\n };\n\n Interpreter.prototype.batch = function (events) {\n var _this = this;\n\n if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\" and are deferred. Make sure .start() is called for this service.\\nEvent: \").concat(JSON.stringify(event)));\n }\n } else if (this.status !== InterpreterStatus.Running) {\n throw new Error( // tslint:disable-next-line:max-line-length\n \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\"));\n }\n\n if (!events.length) {\n return;\n }\n\n var exec = !!this.machine.config.predictableActionArguments && this._exec;\n this.scheduler.schedule(function () {\n var e_11, _a;\n\n var nextState = _this.state;\n var batchChanged = false;\n var batchedActions = [];\n\n var _loop_1 = function (event_1) {\n var _event = toSCXMLEvent(event_1);\n\n _this.forward(_event);\n\n nextState = provide(_this, function () {\n return _this.machine.transition(nextState, _event, undefined, exec || undefined);\n });\n batchedActions.push.apply(batchedActions, __spreadArray([], __read(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {\n return bindActionToState(a, nextState);\n })), false));\n batchChanged = batchChanged || !!nextState.changed;\n };\n\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var event_1 = events_1_1.value;\n\n _loop_1(event_1);\n }\n } catch (e_11_1) {\n e_11 = {\n error: e_11_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_11) throw e_11.error;\n }\n }\n\n nextState.changed = batchChanged;\n nextState.actions = batchedActions;\n\n _this.update(nextState, toSCXMLEvent(events[events.length - 1]));\n });\n };\n /**\r\n * Returns a send function bound to this interpreter instance.\r\n *\r\n * @param event The event to be sent by the sender.\r\n */\n\n\n Interpreter.prototype.sender = function (event) {\n return this.send.bind(this, event);\n };\n\n Interpreter.prototype._nextState = function (event, exec) {\n var _this = this;\n\n if (exec === void 0) {\n exec = !!this.machine.config.predictableActionArguments && this._exec;\n }\n\n var _event = toSCXMLEvent(event);\n\n if (_event.name.indexOf(errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {\n return nextEvent.indexOf(errorPlatform) === 0;\n })) {\n throw _event.data.data;\n }\n\n var nextState = provide(this, function () {\n return _this.machine.transition(_this.state, _event, undefined, exec || undefined);\n });\n return nextState;\n };\n /**\r\n * Returns the next state given the interpreter's current state and the event.\r\n *\r\n * This is a pure method that does _not_ update the interpreter's state.\r\n *\r\n * @param event The event to determine the next state\r\n */\n\n\n Interpreter.prototype.nextState = function (event) {\n return this._nextState(event, false);\n };\n\n Interpreter.prototype.forward = function (event) {\n var e_12, _a;\n\n try {\n for (var _b = __values(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {\n var id = _c.value;\n var child = this.children.get(id);\n\n if (!child) {\n throw new Error(\"Unable to forward event '\".concat(event, \"' from interpreter '\").concat(this.id, \"' to nonexistant child '\").concat(id, \"'.\"));\n }\n\n child.send(event);\n }\n } catch (e_12_1) {\n e_12 = {\n error: e_12_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_12) throw e_12.error;\n }\n }\n };\n\n Interpreter.prototype.defer = function (sendAction) {\n var _this = this;\n\n var timerId = this.clock.setTimeout(function () {\n if ('to' in sendAction && sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, true);\n } else {\n _this.send(sendAction._event);\n }\n }, sendAction.delay);\n\n if (sendAction.id) {\n this.delayedEventsMap[sendAction.id] = timerId;\n }\n };\n\n Interpreter.prototype.cancel = function (sendId) {\n this.clock.clearTimeout(this.delayedEventsMap[sendId]);\n delete this.delayedEventsMap[sendId];\n };\n\n Interpreter.prototype.exec = function (action, state, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = this.machine.options.actions;\n }\n\n this._exec(action, state.context, state._event, actionFunctionMap);\n };\n\n Interpreter.prototype.removeChild = function (childId) {\n var _a;\n\n this.children.delete(childId);\n this.forwardTo.delete(childId); // this.state might not exist at the time this is called,\n // such as when a child is added then removed while initializing the state\n\n (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];\n };\n\n Interpreter.prototype.stopChild = function (childId) {\n var child = this.children.get(childId);\n\n if (!child) {\n return;\n }\n\n this.removeChild(childId);\n\n if (isFunction(child.stop)) {\n child.stop();\n }\n };\n\n Interpreter.prototype.spawn = function (entity, name, options) {\n if (this.status !== InterpreterStatus.Running) {\n return createDeferredActor(entity, name);\n }\n\n if (isPromiseLike(entity)) {\n return this.spawnPromise(Promise.resolve(entity), name);\n } else if (isFunction(entity)) {\n return this.spawnCallback(entity, name);\n } else if (isSpawnedActor(entity)) {\n return this.spawnActor(entity, name);\n } else if (isObservable(entity)) {\n return this.spawnObservable(entity, name);\n } else if (isMachine(entity)) {\n return this.spawnMachine(entity, __assign(__assign({}, options), {\n id: name\n }));\n } else if (isBehavior(entity)) {\n return this.spawnBehavior(entity, name);\n } else {\n throw new Error(\"Unable to spawn entity \\\"\".concat(name, \"\\\" of type \\\"\").concat(typeof entity, \"\\\".\"));\n }\n };\n\n Interpreter.prototype.spawnMachine = function (machine, options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var childService = new Interpreter(machine, __assign(__assign({}, this.options), {\n parent: this,\n id: options.id || machine.id\n }));\n\n var resolvedOptions = __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), options);\n\n if (resolvedOptions.sync) {\n childService.onTransition(function (state) {\n _this.send(update, {\n state: state,\n id: childService.id\n });\n });\n }\n\n var actor = childService;\n this.children.set(childService.id, actor);\n\n if (resolvedOptions.autoForward) {\n this.forwardTo.add(childService.id);\n }\n\n childService.onDone(function (doneEvent) {\n _this.removeChild(childService.id);\n\n _this.send(toSCXMLEvent(doneEvent, {\n origin: childService.id\n }));\n }).start();\n return actor;\n };\n\n Interpreter.prototype.spawnBehavior = function (behavior, id) {\n var actorRef = spawnBehavior(behavior, {\n id: id,\n parent: this\n });\n this.children.set(id, actorRef);\n return actorRef;\n };\n\n Interpreter.prototype.spawnPromise = function (promise, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var resolvedData;\n promise.then(function (response) {\n if (!canceled) {\n resolvedData = response;\n\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id, response), {\n origin: id\n }));\n }\n }, function (errorData) {\n if (!canceled) {\n _this.removeChild(id);\n\n var errorEvent = error(id, errorData);\n\n try {\n // Send \"error.platform.id\" to this (parent).\n _this.send(toSCXMLEvent(errorEvent, {\n origin: id\n }));\n } catch (error) {\n reportUnhandledExceptionOnInvocation(errorData, error, id);\n\n if (_this.devTools) {\n _this.devTools.send(errorEvent, _this.state);\n }\n\n if (_this.machine.strict) {\n // it would be better to always stop the state machine if unhandled\n // exception/promise rejection happens but because we don't want to\n // break existing code so enforce it on strict mode only especially so\n // because documentation says that onError is optional\n _this.stop();\n }\n }\n }\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n var unsubscribed = false;\n promise.then(function (response) {\n if (unsubscribed) {\n return;\n }\n\n observer.next(response);\n\n if (unsubscribed) {\n return;\n }\n\n observer.complete();\n }, function (err) {\n if (unsubscribed) {\n return;\n }\n\n observer.error(err);\n });\n return {\n unsubscribe: function () {\n return unsubscribed = true;\n }\n };\n },\n stop: function () {\n canceled = true;\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return resolvedData;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnCallback = function (callback, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var receivers = new Set();\n var listeners = new Set();\n var emitted;\n\n var receive = function (e) {\n emitted = e;\n listeners.forEach(function (listener) {\n return listener(e);\n });\n\n if (canceled) {\n return;\n }\n\n _this.send(toSCXMLEvent(e, {\n origin: id\n }));\n };\n\n var callbackStop;\n\n try {\n callbackStop = callback(receive, function (newListener) {\n receivers.add(newListener);\n });\n } catch (err) {\n this.send(error(id, err));\n }\n\n if (isPromiseLike(callbackStop)) {\n // it turned out to be an async function, can't reliably check this before calling `callback`\n // because transpiled async functions are not recognizable\n return this.spawnPromise(callbackStop, id);\n }\n\n var actor = (_a = {\n id: id,\n send: function (event) {\n return receivers.forEach(function (receiver) {\n return receiver(event);\n });\n },\n subscribe: function (next) {\n var observer = toObserver(next);\n listeners.add(observer.next);\n return {\n unsubscribe: function () {\n listeners.delete(observer.next);\n }\n };\n },\n stop: function () {\n canceled = true;\n\n if (isFunction(callbackStop)) {\n callbackStop();\n }\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return emitted;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnObservable = function (source, id) {\n var _a;\n\n var _this = this;\n\n var emitted;\n var subscription = source.subscribe(function (value) {\n emitted = value;\n\n _this.send(toSCXMLEvent(value, {\n origin: id\n }));\n }, function (err) {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(error(id, err), {\n origin: id\n }));\n }, function () {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id), {\n origin: id\n }));\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n return source.subscribe(next, handleError, complete);\n },\n stop: function () {\n return subscription.unsubscribe();\n },\n getSnapshot: function () {\n return emitted;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActor = function (actor, name) {\n this.children.set(name, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActivity = function (activity) {\n var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;\n\n if (!implementation) {\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for activity '\".concat(activity.type, \"'\"));\n } // tslint:disable-next-line:no-console\n\n\n return;\n } // Start implementation\n\n\n var dispose = implementation(this.state.context, activity);\n this.spawnEffect(activity.id, dispose);\n };\n\n Interpreter.prototype.spawnEffect = function (id, dispose) {\n var _a;\n\n this.children.set(id, (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n stop: dispose || undefined,\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a));\n };\n\n Interpreter.prototype.attachDev = function () {\n var global = getGlobal();\n\n if (this.options.devTools && global) {\n if (global.__REDUX_DEVTOOLS_EXTENSION__) {\n var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;\n this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect(__assign(__assign({\n name: this.id,\n autoPause: true,\n stateSanitizer: function (state) {\n return {\n value: state.value,\n context: state.context,\n actions: state.actions\n };\n }\n }, devToolsOptions), {\n features: __assign({\n jump: false,\n skip: false\n }, devToolsOptions ? devToolsOptions.features : undefined)\n }), this.machine);\n this.devTools.init(this.state);\n } // add XState-specific dev tooling hook\n\n\n registerService(this);\n }\n };\n\n Interpreter.prototype.toJSON = function () {\n return {\n id: this.id\n };\n };\n\n Interpreter.prototype[symbolObservable] = function () {\n return this;\n };\n\n Interpreter.prototype.getSnapshot = function () {\n if (this.status === InterpreterStatus.NotStarted) {\n return this.initialState;\n }\n\n return this._state;\n };\n /**\r\n * The default interpreter options:\r\n *\r\n * - `clock` uses the global `setTimeout` and `clearTimeout` functions\r\n * - `logger` uses the global `console.log()` method\r\n */\n\n\n Interpreter.defaultOptions = {\n execute: true,\n deferEvents: true,\n clock: {\n setTimeout: function (fn, ms) {\n return setTimeout(fn, ms);\n },\n clearTimeout: function (id) {\n return clearTimeout(id);\n }\n },\n logger: /*#__PURE__*/console.log.bind(console),\n devTools: false\n };\n Interpreter.interpret = interpret;\n return Interpreter;\n}();\n\nvar resolveSpawnOptions = function (nameOrOptions) {\n if (isString(nameOrOptions)) {\n return __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: nameOrOptions\n });\n }\n\n return __assign(__assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: uniqueId()\n }), nameOrOptions);\n};\n\nfunction spawn(entity, nameOrOptions) {\n var resolvedOptions = resolveSpawnOptions(nameOrOptions);\n return consume(function (service) {\n if (!IS_PRODUCTION) {\n var isLazyEntity = isMachine(entity) || isFunction(entity);\n warn(!!service || isLazyEntity, \"Attempted to spawn an Actor (ID: \\\"\".concat(isMachine(entity) ? entity.id : 'undefined', \"\\\") outside of a service. This will have no effect.\"));\n }\n\n if (service) {\n return service.spawn(entity, resolvedOptions.name, resolvedOptions);\n } else {\n return createDeferredActor(entity, resolvedOptions.name);\n }\n });\n}\n/**\r\n * Creates a new Interpreter instance for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to interpret\r\n * @param options Interpreter options\r\n */\n\nfunction interpret(machine, options) {\n var interpreter = new Interpreter(machine, options);\n return interpreter;\n}\n\nexport { Interpreter, InterpreterStatus, interpret, spawn };\n","import { __assign, __rest } from './_virtual/_tslib.js';\nimport './types.js';\nimport { invoke } from './actionTypes.js';\nimport './utils.js';\nimport './environment.js';\n\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n var simpleSrc = {\n type: src\n };\n\n simpleSrc.toString = function () {\n return src;\n }; // v4 compat - TODO: remove in v5\n\n\n return simpleSrc;\n }\n\n return src;\n}\nfunction toInvokeDefinition(invokeConfig) {\n return __assign(__assign({\n type: invoke\n }, invokeConfig), {\n toJSON: function () {\n invokeConfig.onDone;\n invokeConfig.onError;\n var invokeDef = __rest(invokeConfig, [\"onDone\", \"onError\"]);\n\n return __assign(__assign({}, invokeDef), {\n type: invoke,\n src: toInvokeSource(invokeConfig.src)\n });\n }\n });\n}\n\nexport { toInvokeDefinition, toInvokeSource };\n","import { __assign, __spreadArray, __read, __values, __rest } from './_virtual/_tslib.js';\nimport { isFunction, mapValues, isArray, flatten, toArray, toStateValue, isString, getEventType, toSCXMLEvent, matchesState, path, evaluateGuard, mapContext, isRaisableAction, pathToStateValue, isBuiltInEvent, partition, updateHistoryValue, toStatePath, mapFilterValues, warn, toStatePaths, nestedPath, normalizeTarget, toGuard, toTransitionConfigArray, isMachine, createInvokeId } from './utils.js';\nimport { State, stateValuesEqual } from './State.js';\nimport { start as start$1, stop as stop$1, invoke, update, nullEvent } from './actionTypes.js';\nimport { done, start, toActionObjects, raise, stop, resolveActions, doneInvoke, error, toActionObject, toActivityDefinition, after, send, cancel, initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { STATE_DELIMITER } from './constants.js';\nimport { getAllStateNodes, getConfiguration, isInFinalState, getTagsFromConfiguration, has, getChildren, getValue, isLeafNode, getAllChildren } from './stateUtils.js';\nimport { createInvocableActor } from './Actor.js';\nimport { toInvokeDefinition } from './invokeUtils.js';\n\nvar NULL_EVENT = '';\nvar STATE_IDENTIFIER = '#';\nvar WILDCARD = '*';\nvar EMPTY_OBJECT = {};\n\nvar isStateId = function (str) {\n return str[0] === STATE_IDENTIFIER;\n};\n\nvar createDefaultOptions = function () {\n return {\n actions: {},\n guards: {},\n services: {},\n activities: {},\n delays: {}\n };\n};\n\nvar validateArrayifiedTransitions = function (stateNode, event, transitions) {\n var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {\n return !('cond' in transition) && !('in' in transition) && (isString(transition.target) || isMachine(transition.target));\n });\n var eventText = event === NULL_EVENT ? 'the transient event' : \"event '\".concat(event, \"'\");\n warn(!hasNonLastUnguardedTarget, \"One or more transitions for \".concat(eventText, \" on state '\").concat(stateNode.id, \"' are unreachable. \") + \"Make sure that the default transition is the last one defined.\");\n};\n\nvar StateNode =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function StateNode(\n /**\r\n * The raw config used to create the machine.\r\n */\n config, options,\n /**\r\n * The initial extended state\r\n */\n _context, // TODO: this is unsafe, but we're removing it in v5 anyway\n _stateInfo) {\n if (_context === void 0) {\n _context = 'context' in config ? config.context : undefined;\n }\n\n var _this = this;\n\n var _a;\n\n this.config = config;\n this._context = _context;\n /**\r\n * The order this state node appears. Corresponds to the implicit SCXML document order.\r\n */\n\n this.order = -1;\n this.__xstatenode = true;\n this.__cache = {\n events: undefined,\n relativeValue: new Map(),\n initialStateValue: undefined,\n initialState: undefined,\n on: undefined,\n transitions: undefined,\n candidates: {},\n delayedTransitions: undefined\n };\n this.idMap = {};\n this.tags = [];\n this.options = Object.assign(createDefaultOptions(), options);\n this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;\n this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';\n this.machine = this.parent ? this.parent.machine : this;\n this.path = this.parent ? this.parent.path.concat(this.key) : [];\n this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : STATE_DELIMITER);\n this.id = this.config.id || __spreadArray([this.machine.key], __read(this.path), false).join(this.delimiter);\n this.version = this.parent ? this.parent.version : this.config.version;\n this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');\n this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};\n this.description = this.config.description;\n\n if (!IS_PRODUCTION) {\n warn(!('parallel' in this.config), \"The \\\"parallel\\\" property is deprecated and will be removed in version 4.1. \".concat(this.config.parallel ? \"Replace with `type: 'parallel'`\" : \"Use `type: '\".concat(this.type, \"'`\"), \" in the config for state node '\").concat(this.id, \"' instead.\"));\n }\n\n this.initial = this.config.initial;\n this.states = this.config.states ? mapValues(this.config.states, function (stateConfig, key) {\n var _a;\n\n var stateNode = new StateNode(stateConfig, {}, undefined, {\n parent: _this,\n key: key\n });\n Object.assign(_this.idMap, __assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));\n return stateNode;\n }) : EMPTY_OBJECT; // Document order\n\n var order = 0;\n\n function dfs(stateNode) {\n var e_1, _a;\n\n stateNode.order = order++;\n\n try {\n for (var _b = __values(getAllChildren(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n dfs(child);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n dfs(this); // History config\n\n this.history = this.config.history === true ? 'shallow' : this.config.history || false;\n this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {\n var event = _a.event;\n return event === NULL_EVENT;\n }) : NULL_EVENT in this.config.on);\n this.strict = !!this.config.strict; // TODO: deprecate (entry)\n\n this.onEntry = toArray(this.config.entry || this.config.onEntry).map(function (action) {\n return toActionObject(action);\n }); // TODO: deprecate (exit)\n\n this.onExit = toArray(this.config.exit || this.config.onExit).map(function (action) {\n return toActionObject(action);\n });\n this.meta = this.config.meta;\n this.doneData = this.type === 'final' ? this.config.data : undefined;\n this.invoke = toArray(this.config.invoke).map(function (invokeConfig, i) {\n var _a, _b;\n\n if (isMachine(invokeConfig)) {\n var invokeId = createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);\n return toInvokeDefinition({\n src: invokeId,\n id: invokeId\n });\n } else if (isString(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n return toInvokeDefinition(__assign(__assign({}, invokeConfig), {\n id: invokeId,\n src: invokeConfig.src\n }));\n } else if (isMachine(invokeConfig.src) || isFunction(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);\n return toInvokeDefinition(__assign(__assign({\n id: invokeId\n }, invokeConfig), {\n src: invokeId\n }));\n } else {\n var invokeSource = invokeConfig.src;\n return toInvokeDefinition(__assign(__assign({\n id: createInvokeId(_this.id, i)\n }, invokeConfig), {\n src: invokeSource\n }));\n }\n });\n this.activities = toArray(this.config.activities).concat(this.invoke).map(function (activity) {\n return toActivityDefinition(activity);\n });\n this.transition = this.transition.bind(this);\n this.tags = toArray(this.config.tags); // TODO: this is the real fix for initialization once\n // state node getters are deprecated\n // if (!this.parent) {\n // this._init();\n // }\n }\n\n StateNode.prototype._init = function () {\n if (this.__cache.transitions) {\n return;\n }\n\n getAllStateNodes(this).forEach(function (stateNode) {\n return stateNode.on;\n });\n };\n /**\r\n * Clones this state machine with custom options and context.\r\n *\r\n * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.\r\n * @param context Custom context (will override predefined context)\r\n */\n\n\n StateNode.prototype.withConfig = function (options, context) {\n var _a = this.options,\n actions = _a.actions,\n activities = _a.activities,\n guards = _a.guards,\n services = _a.services,\n delays = _a.delays;\n return new StateNode(this.config, {\n actions: __assign(__assign({}, actions), options.actions),\n activities: __assign(__assign({}, activities), options.activities),\n guards: __assign(__assign({}, guards), options.guards),\n services: __assign(__assign({}, services), options.services),\n delays: __assign(__assign({}, delays), options.delays)\n }, context !== null && context !== void 0 ? context : this.context);\n };\n /**\r\n * Clones this state machine with custom context.\r\n *\r\n * @param context Custom context (will override predefined context, not recursive)\r\n */\n\n\n StateNode.prototype.withContext = function (context) {\n return new StateNode(this.config, this.options, context);\n };\n\n Object.defineProperty(StateNode.prototype, \"context\", {\n get: function () {\n return isFunction(this._context) ? this._context() : this._context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"definition\", {\n /**\r\n * The well-structured state node definition.\r\n */\n get: function () {\n return {\n id: this.id,\n key: this.key,\n version: this.version,\n context: this.context,\n type: this.type,\n initial: this.initial,\n history: this.history,\n states: mapValues(this.states, function (state) {\n return state.definition;\n }),\n on: this.on,\n transitions: this.transitions,\n entry: this.onEntry,\n exit: this.onExit,\n activities: this.activities || [],\n meta: this.meta,\n order: this.order || -1,\n data: this.doneData,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.toJSON = function () {\n return this.definition;\n };\n\n Object.defineProperty(StateNode.prototype, \"on\", {\n /**\r\n * The mapping of events to transitions.\r\n */\n get: function () {\n if (this.__cache.on) {\n return this.__cache.on;\n }\n\n var transitions = this.transitions;\n return this.__cache.on = transitions.reduce(function (map, transition) {\n map[transition.eventType] = map[transition.eventType] || [];\n map[transition.eventType].push(transition);\n return map;\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"after\", {\n get: function () {\n return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"transitions\", {\n /**\r\n * All the transitions that can be taken from this state node.\r\n */\n get: function () {\n return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getCandidates = function (eventName) {\n if (this.__cache.candidates[eventName]) {\n return this.__cache.candidates[eventName];\n }\n\n var transient = eventName === NULL_EVENT;\n var candidates = this.transitions.filter(function (transition) {\n var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions\n\n return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;\n });\n this.__cache.candidates[eventName] = candidates;\n return candidates;\n };\n /**\r\n * All delayed transitions from the config.\r\n */\n\n\n StateNode.prototype.getDelayedTransitions = function () {\n var _this = this;\n\n var afterConfig = this.config.after;\n\n if (!afterConfig) {\n return [];\n }\n\n var mutateEntryExit = function (delay, i) {\n var delayRef = isFunction(delay) ? \"\".concat(_this.id, \":delay[\").concat(i, \"]\") : delay;\n var eventType = after(delayRef, _this.id);\n\n _this.onEntry.push(send(eventType, {\n delay: delay\n }));\n\n _this.onExit.push(cancel(eventType));\n\n return eventType;\n };\n\n var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {\n var eventType = mutateEntryExit(transition.delay, i);\n return __assign(__assign({}, transition), {\n event: eventType\n });\n }) : flatten(Object.keys(afterConfig).map(function (delay, i) {\n var configTransition = afterConfig[delay];\n var resolvedTransition = isString(configTransition) ? {\n target: configTransition\n } : configTransition;\n var resolvedDelay = !isNaN(+delay) ? +delay : delay;\n var eventType = mutateEntryExit(resolvedDelay, i);\n return toArray(resolvedTransition).map(function (transition) {\n return __assign(__assign({}, transition), {\n event: eventType,\n delay: resolvedDelay\n });\n });\n }));\n return delayedTransitions.map(function (delayedTransition) {\n var delay = delayedTransition.delay;\n return __assign(__assign({}, _this.formatTransition(delayedTransition)), {\n delay: delay\n });\n });\n };\n /**\r\n * Returns the state nodes represented by the current state value.\r\n *\r\n * @param state The state value or State instance\r\n */\n\n\n StateNode.prototype.getStateNodes = function (state) {\n var _a;\n\n var _this = this;\n\n if (!state) {\n return [];\n }\n\n var stateValue = state instanceof State ? state.value : toStateValue(state, this.delimiter);\n\n if (isString(stateValue)) {\n var initialStateValue = this.getStateNode(stateValue).initial;\n return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];\n }\n\n var subStateKeys = Object.keys(stateValue);\n var subStateNodes = [this];\n subStateNodes.push.apply(subStateNodes, __spreadArray([], __read(flatten(subStateKeys.map(function (subStateKey) {\n return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);\n }))), false));\n return subStateNodes;\n };\n /**\r\n * Returns `true` if this state node explicitly handles the given event.\r\n *\r\n * @param event The event in question\r\n */\n\n\n StateNode.prototype.handles = function (event) {\n var eventType = getEventType(event);\n return this.events.includes(eventType);\n };\n /**\r\n * Resolves the given `state` to a new `State` instance relative to this machine.\r\n *\r\n * This ensures that `.events` and `.nextEvents` represent the correct values.\r\n *\r\n * @param state The state to resolve\r\n */\n\n\n StateNode.prototype.resolveState = function (state) {\n var stateFromConfig = state instanceof State ? state : State.create(state);\n var configuration = Array.from(getConfiguration([], this.getStateNodes(stateFromConfig.value)));\n return new State(__assign(__assign({}, stateFromConfig), {\n value: this.resolve(stateFromConfig.value),\n configuration: configuration,\n done: isInFinalState(configuration, this),\n tags: getTagsFromConfiguration(configuration),\n machine: this.machine\n }));\n };\n\n StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {\n var stateNode = this.getStateNode(stateValue);\n var next = stateNode.next(state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {\n var subStateKeys = Object.keys(stateValue);\n var stateNode = this.getStateNode(subStateKeys[0]);\n\n var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {\n var e_2, _a;\n\n var transitionMap = {};\n\n try {\n for (var _b = __values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var subStateKey = _c.value;\n var subStateValue = stateValue[subStateKey];\n\n if (!subStateValue) {\n continue;\n }\n\n var subStateNode = this.getStateNode(subStateKey);\n\n var next = subStateNode._transition(subStateValue, state, _event);\n\n if (next) {\n transitionMap[subStateKey] = next;\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n var stateTransitions = Object.keys(transitionMap).map(function (key) {\n return transitionMap[key];\n });\n var enabledTransitions = flatten(stateTransitions.map(function (st) {\n return st.transitions;\n }));\n var willTransition = stateTransitions.some(function (st) {\n return st.transitions.length > 0;\n });\n\n if (!willTransition) {\n return this.next(state, _event);\n }\n\n var configuration = flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].configuration;\n }));\n return {\n transitions: enabledTransitions,\n exitSet: flatten(stateTransitions.map(function (t) {\n return t.exitSet;\n })),\n configuration: configuration,\n source: state,\n actions: flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].actions;\n }))\n };\n };\n\n StateNode.prototype._transition = function (stateValue, state, _event) {\n // leaf node\n if (isString(stateValue)) {\n return this.transitionLeafNode(stateValue, state, _event);\n } // hierarchical node\n\n\n if (Object.keys(stateValue).length === 1) {\n return this.transitionCompoundNode(stateValue, state, _event);\n } // orthogonal node\n\n\n return this.transitionParallelNode(stateValue, state, _event);\n };\n\n StateNode.prototype.getTransitionData = function (state, event) {\n return this._transition(state.value, state, toSCXMLEvent(event));\n };\n\n StateNode.prototype.next = function (state, _event) {\n var e_3, _a;\n\n var _this = this;\n\n var eventName = _event.name;\n var actions = [];\n var nextStateNodes = [];\n var selectedTransition;\n\n try {\n for (var _b = __values(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var candidate = _c.value;\n var cond = candidate.cond,\n stateIn = candidate.in;\n var resolvedContext = state.context;\n var isInState = stateIn ? isString(stateIn) && isStateId(stateIn) ? // Check if in state by ID\n state.matches(toStateValue(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent\n matchesState(toStateValue(stateIn, this.delimiter), path(this.path.slice(0, -2))(state.value)) : true;\n var guardPassed = false;\n\n try {\n guardPassed = !cond || evaluateGuard(this.machine, cond, resolvedContext, _event, state);\n } catch (err) {\n throw new Error(\"Unable to evaluate guard '\".concat(cond.name || cond.type, \"' in transition for event '\").concat(eventName, \"' in state node '\").concat(this.id, \"':\\n\").concat(err.message));\n }\n\n if (guardPassed && isInState) {\n if (candidate.target !== undefined) {\n nextStateNodes = candidate.target;\n }\n\n actions.push.apply(actions, __spreadArray([], __read(candidate.actions), false));\n selectedTransition = candidate;\n break;\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n if (!selectedTransition) {\n return undefined;\n }\n\n if (!nextStateNodes.length) {\n return {\n transitions: [selectedTransition],\n exitSet: [],\n configuration: state.value ? [this] : [],\n source: state,\n actions: actions\n };\n }\n\n var allNextStateNodes = flatten(nextStateNodes.map(function (stateNode) {\n return _this.getRelativeStateNodes(stateNode, state.historyValue);\n }));\n var isInternal = !!selectedTransition.internal;\n return {\n transitions: [selectedTransition],\n exitSet: isInternal ? [] : flatten(nextStateNodes.map(function (targetNode) {\n return _this.getPotentiallyReenteringNodes(targetNode);\n })),\n configuration: allNextStateNodes,\n source: state,\n actions: actions\n };\n }; // even though the name of this function mentions reentry nodes\n // we are pushing its result into `exitSet`\n // that's because what we exit might be reentered (it's an invariant of reentrancy)\n\n\n StateNode.prototype.getPotentiallyReenteringNodes = function (targetNode) {\n if (this.order < targetNode.order) {\n return [this];\n }\n\n var nodes = [];\n var marker = this;\n var possibleAncestor = targetNode;\n\n while (marker && marker !== possibleAncestor) {\n nodes.push(marker);\n marker = marker.parent;\n }\n\n if (marker !== possibleAncestor) {\n // we never got to `possibleAncestor`, therefore the initial `marker` \"escapes\" it\n // it's in a different part of the tree so no states will be reentered for such an external transition\n return [];\n }\n\n nodes.push(possibleAncestor);\n return nodes;\n };\n\n StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {\n var e_4, _a, e_5, _b;\n\n var _this = this;\n\n var prevConfig = prevState ? getConfiguration([], this.getStateNodes(prevState.value)) : [];\n var entrySet = new Set();\n\n try {\n for (var _c = __values(Array.from(resolvedConfig).sort(function (a, b) {\n return a.order - b.order;\n })), _d = _c.next(); !_d.done; _d = _c.next()) {\n var sn = _d.value;\n\n if (!has(prevConfig, sn) || has(transition.exitSet, sn) || sn.parent && entrySet.has(sn.parent)) {\n entrySet.add(sn);\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n try {\n for (var prevConfig_1 = __values(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {\n var sn = prevConfig_1_1.value;\n\n if (!has(resolvedConfig, sn) || has(transition.exitSet, sn.parent)) {\n transition.exitSet.push(sn);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n transition.exitSet.sort(function (a, b) {\n return b.order - a.order;\n });\n var entryStates = Array.from(entrySet).sort(function (a, b) {\n return a.order - b.order;\n });\n var exitStates = new Set(transition.exitSet);\n var doneEvents = flatten(entryStates.map(function (sn) {\n var events = [];\n\n if (sn.type !== 'final') {\n return events;\n }\n\n var parent = sn.parent;\n\n if (!parent.parent) {\n return events;\n }\n\n events.push(done(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.\n done(parent.id, sn.doneData ? mapContext(sn.doneData, currentContext, _event) : undefined));\n var grandparent = parent.parent;\n\n if (grandparent.type === 'parallel') {\n if (getChildren(grandparent).every(function (parentNode) {\n return isInFinalState(transition.configuration, parentNode);\n })) {\n events.push(done(grandparent.id));\n }\n }\n\n return events;\n }));\n var entryActions = entryStates.map(function (stateNode) {\n var entryActions = stateNode.onEntry;\n var invokeActions = stateNode.activities.map(function (activity) {\n return start(activity);\n });\n return {\n type: 'entry',\n actions: toActionObjects(predictableExec ? __spreadArray(__spreadArray([], __read(entryActions), false), __read(invokeActions), false) : __spreadArray(__spreadArray([], __read(invokeActions), false), __read(entryActions), false), _this.machine.options.actions)\n };\n }).concat({\n type: 'state_done',\n actions: doneEvents.map(function (event) {\n return raise(event);\n })\n });\n var exitActions = Array.from(exitStates).map(function (stateNode) {\n return {\n type: 'exit',\n actions: toActionObjects(__spreadArray(__spreadArray([], __read(stateNode.onExit), false), __read(stateNode.activities.map(function (activity) {\n return stop(activity);\n })), false), _this.machine.options.actions)\n };\n });\n var actions = exitActions.concat({\n type: 'transition',\n actions: toActionObjects(transition.actions, this.machine.options.actions)\n }).concat(entryActions);\n\n if (isDone) {\n var stopActions = toActionObjects(flatten(__spreadArray([], __read(resolvedConfig), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return stateNode.onExit;\n })), this.machine.options.actions).filter(function (action) {\n return !isRaisableAction(action);\n });\n return actions.concat({\n type: 'stop',\n actions: stopActions\n });\n }\n\n return actions;\n };\n /**\r\n * Determines the next state given the current `state` and sent `event`.\r\n *\r\n * @param state The current State instance or state value\r\n * @param event The event that was sent at the current state\r\n * @param context The current context (extended state) of the current state\r\n */\n\n\n StateNode.prototype.transition = function (state, event, context, exec) {\n if (state === void 0) {\n state = this.initialState;\n }\n\n var _event = toSCXMLEvent(event);\n\n var currentState;\n\n if (state instanceof State) {\n currentState = context === undefined ? state : this.resolveState(State.from(state, context));\n } else {\n var resolvedStateValue = isString(state) ? this.resolve(pathToStateValue(this.getResolvedPath(state))) : this.resolve(state);\n var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;\n currentState = this.resolveState(State.from(resolvedStateValue, resolvedContext));\n }\n\n if (!IS_PRODUCTION && _event.name === WILDCARD) {\n throw new Error(\"An event cannot have the wildcard type ('\".concat(WILDCARD, \"')\"));\n }\n\n if (this.strict) {\n if (!this.events.includes(_event.name) && !isBuiltInEvent(_event.name)) {\n throw new Error(\"Machine '\".concat(this.id, \"' does not accept event '\").concat(_event.name, \"'\"));\n }\n }\n\n var stateTransition = this._transition(currentState.value, currentState, _event) || {\n transitions: [],\n configuration: [],\n exitSet: [],\n source: currentState,\n actions: []\n };\n var prevConfig = getConfiguration([], this.getStateNodes(currentState.value));\n var resolvedConfig = stateTransition.configuration.length ? getConfiguration(prevConfig, stateTransition.configuration) : prevConfig;\n stateTransition.configuration = __spreadArray([], __read(resolvedConfig), false);\n return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);\n };\n\n StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {\n var _a;\n\n var currentActions = state.actions;\n state = this.transition(state, _event, undefined, predictableExec); // Save original event to state\n // TODO: this should be the raised event! Delete in V5 (breaking)\n\n state._event = originalEvent;\n state.event = originalEvent.data;\n\n (_a = state.actions).unshift.apply(_a, __spreadArray([], __read(currentActions), false));\n\n return state;\n };\n\n StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {\n var e_6, _a, e_7, _b;\n\n var _this = this;\n\n if (_event === void 0) {\n _event = initEvent;\n }\n\n var configuration = stateTransition.configuration; // Transition will \"apply\" if:\n // - this is the initial state (there is no current state)\n // - OR there are transitions\n\n var willTransition = !currentState || stateTransition.transitions.length > 0;\n var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];\n var isDone = isInFinalState(resolvedConfiguration, this);\n var resolvedStateValue = willTransition ? getValue(this.machine, configuration) : undefined;\n var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;\n var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);\n var activities = currentState ? __assign({}, currentState.activities) : {};\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n\n try {\n for (var _c = (e_7 = void 0, __values(block.actions)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var action = _d.value;\n\n if (action.type === start$1) {\n activities[action.activity.id || action.activity.type] = action;\n } else if (action.type === stop$1) {\n activities[action.activity.id || action.activity.type] = false;\n }\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n var _e = __read(resolveActions(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),\n resolvedActions = _e[0],\n updatedContext = _e[1];\n\n var _f = __read(partition(resolvedActions, isRaisableAction), 2),\n raisedEvents = _f[0],\n nonRaisedActions = _f[1];\n\n var invokeActions = resolvedActions.filter(function (action) {\n var _a;\n\n return action.type === start$1 && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === invoke;\n });\n var children = invokeActions.reduce(function (acc, action) {\n acc[action.activity.id] = createInvocableActor(action.activity, _this.machine, updatedContext, _event);\n return acc;\n }, currentState ? __assign({}, currentState.children) : {});\n var nextState = new State({\n value: resolvedStateValue || currentState.value,\n context: updatedContext,\n _event: _event,\n // Persist _sessionid between states\n _sessionid: currentState ? currentState._sessionid : null,\n historyValue: resolvedStateValue ? historyValue ? updateHistoryValue(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,\n history: !resolvedStateValue || stateTransition.source ? currentState : undefined,\n actions: resolvedStateValue ? nonRaisedActions : [],\n activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},\n events: [],\n configuration: resolvedConfiguration,\n transitions: stateTransition.transitions,\n children: children,\n done: isDone,\n tags: getTagsFromConfiguration(resolvedConfiguration),\n machine: this\n });\n var didUpdateContext = context !== updatedContext;\n nextState.changed = _event.name === update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks\n\n var history = nextState.history;\n\n if (history) {\n delete history.history;\n } // There are transient transitions if the machine is not in a final state\n // and if some of the state nodes have transient (\"always\") transitions.\n\n\n var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {\n return stateNode._transient;\n })); // If there are no enabled transitions, check if there are transient transitions.\n // If there are transient transitions, continue checking for more transitions\n // because an transient transition should be triggered even if there are no\n // enabled transitions.\n //\n // If we're already working on an transient transition then stop to prevent an infinite loop.\n //\n // Otherwise, if there are no enabled nor transient transitions, we are done.\n\n if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {\n return nextState;\n }\n\n var maybeNextState = nextState;\n\n if (!isDone) {\n if (hasAlwaysTransitions) {\n maybeNextState = this.resolveRaisedTransition(maybeNextState, {\n type: nullEvent\n }, _event, predictableExec);\n }\n\n while (raisedEvents.length) {\n var raisedEvent = raisedEvents.shift();\n maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);\n }\n } // Detect if state changed\n\n\n var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !stateValuesEqual(maybeNextState.value, history.value) : undefined);\n maybeNextState.changed = changed; // Preserve original history after raised events\n\n maybeNextState.history = history;\n return maybeNextState;\n };\n /**\r\n * Returns the child state node from its relative `stateKey`, or throws.\r\n */\n\n\n StateNode.prototype.getStateNode = function (stateKey) {\n if (isStateId(stateKey)) {\n return this.machine.getStateNodeById(stateKey);\n }\n\n if (!this.states) {\n throw new Error(\"Unable to retrieve child state '\".concat(stateKey, \"' from '\").concat(this.id, \"'; no child states exist.\"));\n }\n\n var result = this.states[stateKey];\n\n if (!result) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return result;\n };\n /**\r\n * Returns the state node with the given `stateId`, or throws.\r\n *\r\n * @param stateId The state ID. The prefix \"#\" is removed.\r\n */\n\n\n StateNode.prototype.getStateNodeById = function (stateId) {\n var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;\n\n if (resolvedStateId === this.id) {\n return this;\n }\n\n var stateNode = this.machine.idMap[resolvedStateId];\n\n if (!stateNode) {\n throw new Error(\"Child state node '#\".concat(resolvedStateId, \"' does not exist on machine '\").concat(this.id, \"'\"));\n }\n\n return stateNode;\n };\n /**\r\n * Returns the relative state node from the given `statePath`, or throws.\r\n *\r\n * @param statePath The string or string array relative path to the state node.\r\n */\n\n\n StateNode.prototype.getStateNodeByPath = function (statePath) {\n if (typeof statePath === 'string' && isStateId(statePath)) {\n try {\n return this.getStateNodeById(statePath.slice(1));\n } catch (e) {// try individual paths\n // throw e;\n }\n }\n\n var arrayStatePath = toStatePath(statePath, this.delimiter).slice();\n var currentStateNode = this;\n\n while (arrayStatePath.length) {\n var key = arrayStatePath.shift();\n\n if (!key.length) {\n break;\n }\n\n currentStateNode = currentStateNode.getStateNode(key);\n }\n\n return currentStateNode;\n };\n /**\r\n * Resolves a partial state value with its full representation in this machine.\r\n *\r\n * @param stateValue The partial state value to resolve.\r\n */\n\n\n StateNode.prototype.resolve = function (stateValue) {\n var _a;\n\n var _this = this;\n\n if (!stateValue) {\n return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties\n }\n\n switch (this.type) {\n case 'parallel':\n return mapValues(this.initialStateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;\n });\n\n case 'compound':\n if (isString(stateValue)) {\n var subStateNode = this.getStateNode(stateValue);\n\n if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {\n return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;\n }\n\n return stateValue;\n }\n\n if (!Object.keys(stateValue).length) {\n return this.initialStateValue || {};\n }\n\n return mapValues(stateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;\n });\n\n default:\n return stateValue || EMPTY_OBJECT;\n }\n };\n\n StateNode.prototype.getResolvedPath = function (stateIdentifier) {\n if (isStateId(stateIdentifier)) {\n var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];\n\n if (!stateNode) {\n throw new Error(\"Unable to find state node '\".concat(stateIdentifier, \"'\"));\n }\n\n return stateNode.path;\n }\n\n return toStatePath(stateIdentifier, this.delimiter);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateValue\", {\n get: function () {\n var _a;\n\n if (this.__cache.initialStateValue) {\n return this.__cache.initialStateValue;\n }\n\n var initialStateValue;\n\n if (this.type === 'parallel') {\n initialStateValue = mapFilterValues(this.states, function (state) {\n return state.initialStateValue || EMPTY_OBJECT;\n }, function (stateNode) {\n return !(stateNode.type === 'history');\n });\n } else if (this.initial !== undefined) {\n if (!this.states[this.initial]) {\n throw new Error(\"Initial state '\".concat(this.initial, \"' not found on '\").concat(this.key, \"'\"));\n }\n\n initialStateValue = isLeafNode(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);\n } else {\n // The finite state value of a machine without child states is just an empty object\n initialStateValue = {};\n }\n\n this.__cache.initialStateValue = initialStateValue;\n return this.__cache.initialStateValue;\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getInitialState = function (stateValue, context) {\n this._init(); // TODO: this should be in the constructor (see note in constructor)\n\n\n var configuration = this.getStateNodes(stateValue);\n return this.resolveTransition({\n configuration: configuration,\n exitSet: [],\n transitions: [],\n source: undefined,\n actions: []\n }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialState\", {\n /**\r\n * The initial State instance, which includes all actions to be executed from\r\n * entering the initial state.\r\n */\n get: function () {\n var initialStateValue = this.initialStateValue;\n\n if (!initialStateValue) {\n throw new Error(\"Cannot retrieve initial state from simple state '\".concat(this.id, \"'.\"));\n }\n\n return this.getInitialState(initialStateValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"target\", {\n /**\r\n * The target state value of the history state node, if it exists. This represents the\r\n * default state value to transition to if no history value exists yet.\r\n */\n get: function () {\n var target;\n\n if (this.type === 'history') {\n var historyConfig = this.config;\n\n if (isString(historyConfig.target)) {\n target = isStateId(historyConfig.target) ? pathToStateValue(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;\n } else {\n target = historyConfig.target;\n }\n }\n\n return target;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the leaf nodes from a state path relative to this state node.\r\n *\r\n * @param relativeStateId The relative state path to retrieve the state nodes\r\n * @param history The previous state to retrieve history\r\n * @param resolve Whether state nodes should resolve to initial child state nodes\r\n */\n\n StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {\n if (resolve === void 0) {\n resolve = true;\n }\n\n return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateNodes\", {\n get: function () {\n var _this = this;\n\n if (isLeafNode(this)) {\n return [this];\n } // Case when state node is compound but no initial state is defined\n\n\n if (this.type === 'compound' && !this.initial) {\n if (!IS_PRODUCTION) {\n warn(false, \"Compound state node '\".concat(this.id, \"' has no initial state.\"));\n }\n\n return [this];\n }\n\n var initialStateNodePaths = toStatePaths(this.initialStateValue);\n return flatten(initialStateNodePaths.map(function (initialPath) {\n return _this.getFromRelativePath(initialPath);\n }));\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Retrieves state nodes from a relative path to this state node.\r\n *\r\n * @param relativePath The relative path from this state node\r\n * @param historyValue\r\n */\n\n StateNode.prototype.getFromRelativePath = function (relativePath) {\n if (!relativePath.length) {\n return [this];\n }\n\n var _a = __read(relativePath),\n stateKey = _a[0],\n childStatePath = _a.slice(1);\n\n if (!this.states) {\n throw new Error(\"Cannot retrieve subPath '\".concat(stateKey, \"' from node with no states\"));\n }\n\n var childStateNode = this.getStateNode(stateKey);\n\n if (childStateNode.type === 'history') {\n return childStateNode.resolveHistory();\n }\n\n if (!this.states[stateKey]) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return this.states[stateKey].getFromRelativePath(childStatePath);\n };\n\n StateNode.prototype.historyValue = function (relativeStateValue) {\n if (!Object.keys(this.states).length) {\n return undefined;\n }\n\n return {\n current: relativeStateValue || this.initialStateValue,\n states: mapFilterValues(this.states, function (stateNode, key) {\n if (!relativeStateValue) {\n return stateNode.historyValue();\n }\n\n var subStateValue = isString(relativeStateValue) ? undefined : relativeStateValue[key];\n return stateNode.historyValue(subStateValue || stateNode.initialStateValue);\n }, function (stateNode) {\n return !stateNode.history;\n })\n };\n };\n /**\r\n * Resolves to the historical value(s) of the parent state node,\r\n * represented by state nodes.\r\n *\r\n * @param historyValue\r\n */\n\n\n StateNode.prototype.resolveHistory = function (historyValue) {\n var _this = this;\n\n if (this.type !== 'history') {\n return [this];\n }\n\n var parent = this.parent;\n\n if (!historyValue) {\n var historyTarget = this.target;\n return historyTarget ? flatten(toStatePaths(historyTarget).map(function (relativeChildPath) {\n return parent.getFromRelativePath(relativeChildPath);\n })) : parent.initialStateNodes;\n }\n\n var subHistoryValue = nestedPath(parent.path, 'states')(historyValue).current;\n\n if (isString(subHistoryValue)) {\n return [parent.getStateNode(subHistoryValue)];\n }\n\n return flatten(toStatePaths(subHistoryValue).map(function (subStatePath) {\n return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];\n }));\n };\n\n Object.defineProperty(StateNode.prototype, \"stateIds\", {\n /**\r\n * All the state node IDs of this state node and its descendant state nodes.\r\n */\n get: function () {\n var _this = this;\n\n var childStateIds = flatten(Object.keys(this.states).map(function (stateKey) {\n return _this.states[stateKey].stateIds;\n }));\n return [this.id].concat(childStateIds);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"events\", {\n /**\r\n * All the event types accepted by this state node and its descendants.\r\n */\n get: function () {\n var e_8, _a, e_9, _b;\n\n if (this.__cache.events) {\n return this.__cache.events;\n }\n\n var states = this.states;\n var events = new Set(this.ownEvents);\n\n if (states) {\n try {\n for (var _c = __values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var stateId = _d.value;\n var state = states[stateId];\n\n if (state.states) {\n try {\n for (var _e = (e_9 = void 0, __values(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var event_1 = _f.value;\n events.add(\"\".concat(event_1));\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n }\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n }\n\n return this.__cache.events = Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"ownEvents\", {\n /**\r\n * All the events that have transitions directly from this state node.\r\n *\r\n * Excludes any inert events.\r\n */\n get: function () {\n var events = new Set(this.transitions.filter(function (transition) {\n return !(!transition.target && !transition.actions.length && transition.internal);\n }).map(function (transition) {\n return transition.eventType;\n }));\n return Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.resolveTarget = function (_target) {\n var _this = this;\n\n if (_target === undefined) {\n // an undefined target signals that the state node should not transition from that state when receiving that event\n return undefined;\n }\n\n return _target.map(function (target) {\n if (!isString(target)) {\n return target;\n }\n\n var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,\n // do not include machine key on target\n\n if (isInternalTarget && !_this.parent) {\n return _this.getStateNodeByPath(target.slice(1));\n }\n\n var resolvedTarget = isInternalTarget ? _this.key + target : target;\n\n if (_this.parent) {\n try {\n var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);\n\n return targetStateNode;\n } catch (err) {\n throw new Error(\"Invalid transition definition for state node '\".concat(_this.id, \"':\\n\").concat(err.message));\n }\n } else {\n return _this.getStateNodeByPath(resolvedTarget);\n }\n });\n };\n\n StateNode.prototype.formatTransition = function (transitionConfig) {\n var _this = this;\n\n var normalizedTarget = normalizeTarget(transitionConfig.target);\n var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {\n return isString(_target) && _target[0] === _this.delimiter;\n }) : true;\n var guards = this.machine.options.guards;\n var target = this.resolveTarget(normalizedTarget);\n\n var transition = __assign(__assign({}, transitionConfig), {\n actions: toActionObjects(toArray(transitionConfig.actions)),\n cond: toGuard(transitionConfig.cond, guards),\n target: target,\n source: this,\n internal: internal,\n eventType: transitionConfig.event,\n toJSON: function () {\n return __assign(__assign({}, transition), {\n target: transition.target ? transition.target.map(function (t) {\n return \"#\".concat(t.id);\n }) : undefined,\n source: \"#\".concat(_this.id)\n });\n }\n });\n\n return transition;\n };\n\n StateNode.prototype.formatTransitions = function () {\n var e_10, _a;\n\n var _this = this;\n\n var onConfig;\n\n if (!this.config.on) {\n onConfig = [];\n } else if (Array.isArray(this.config.on)) {\n onConfig = this.config.on;\n } else {\n var _b = this.config.on,\n _c = WILDCARD,\n _d = _b[_c],\n wildcardConfigs = _d === void 0 ? [] : _d,\n strictTransitionConfigs_1 = __rest(_b, [typeof _c === \"symbol\" ? _c : _c + \"\"]);\n\n onConfig = flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {\n if (!IS_PRODUCTION && key === NULL_EVENT) {\n warn(false, \"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. \" + \"Please check the `on` configuration for \\\"#\".concat(_this.id, \"\\\".\"));\n }\n\n var transitionConfigArray = toTransitionConfigArray(key, strictTransitionConfigs_1[key]);\n\n if (!IS_PRODUCTION) {\n validateArrayifiedTransitions(_this, key, transitionConfigArray);\n }\n\n return transitionConfigArray;\n }).concat(toTransitionConfigArray(WILDCARD, wildcardConfigs)));\n }\n\n var eventlessConfig = this.config.always ? toTransitionConfigArray('', this.config.always) : [];\n var doneConfig = this.config.onDone ? toTransitionConfigArray(String(done(this.id)), this.config.onDone) : [];\n\n if (!IS_PRODUCTION) {\n warn(!(this.config.onDone && !this.parent), \"Root nodes cannot have an \\\".onDone\\\" transition. Please check the config of \\\"\".concat(this.id, \"\\\".\"));\n }\n\n var invokeConfig = flatten(this.invoke.map(function (invokeDef) {\n var settleTransitions = [];\n\n if (invokeDef.onDone) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(doneInvoke(invokeDef.id)), invokeDef.onDone)), false));\n }\n\n if (invokeDef.onError) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(error(invokeDef.id)), invokeDef.onError)), false));\n }\n\n return settleTransitions;\n }));\n var delayedTransitions = this.after;\n var formattedTransitions = flatten(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(doneConfig), false), __read(invokeConfig), false), __read(onConfig), false), __read(eventlessConfig), false).map(function (transitionConfig) {\n return toArray(transitionConfig).map(function (transition) {\n return _this.formatTransition(transition);\n });\n }));\n\n try {\n for (var delayedTransitions_1 = __values(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {\n var delayedTransition = delayedTransitions_1_1.value;\n formattedTransitions.push(delayedTransition);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);\n } finally {\n if (e_10) throw e_10.error;\n }\n }\n\n return formattedTransitions;\n };\n\n return StateNode;\n}();\n\nexport { StateNode };\n","import { StateNode } from './StateNode.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar warned = false;\nfunction Machine(config, options, initialContext) {\n if (initialContext === void 0) {\n initialContext = config.context;\n }\n\n return new StateNode(config, options, initialContext);\n}\nfunction createMachine(config, options) {\n if (!IS_PRODUCTION && !('predictableActionArguments' in config) && !warned) {\n warned = true;\n console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');\n }\n\n return new StateNode(config, options);\n}\n\nexport { Machine, createMachine };\n","import { WcsSize } from \"../../shared-types\";\n\nexport interface SelectChangeEventDetail {\n value: any | any[] | undefined | null;\n}\n\nexport interface SelectFilterChangeEventDetail {\n value: string | number | undefined | null;\n}\n\nexport type WcsSelectFilterFn = (optionEl: HTMLWcsSelectOptionElement, filter: string) => boolean;\n\n/**\n * Default filtering function. Compares the string start of wcs-select-option element's text content\n * with your filter input.\n * @param optionEl - wcs-select-option element\n * @param filter - input filter field value\n * @constructor\n */\nexport const WcsDefaultSelectFilterFn: WcsSelectFilterFn = (optionEl, filter): boolean => {\n return optionEl.textContent.toLowerCase().startsWith(filter.toLowerCase());\n}\n\nexport const WcsSelectSizeValue = ['m', 'l'] as const; // as const keyword is used to infer and preserve the exact literal values of an array or object.\n\nexport type WcsSelectSize = Extract;\n\nexport function isWcsSelectSize(size: string): size is WcsSelectSize {\n // @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues\n return WcsSelectSizeValue.includes(size);\n}\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { SelectOptionValue } from '../select-option/select-option-interface';\n\nexport const SelectChips: FunctionalComponent<{\n disabled: boolean,\n option: SelectOptionValue,\n onRemove: (option: SelectOptionValue) => void\n}> = ({disabled, option, onRemove}) => {\n\n const style: { [key: string]: string; } = {};\n\n if (option.chipColor) {\n style['color'] = option.chipColor;\n }\n if (option.chipBackgroundColor) {\n style['background-color'] = option.chipBackgroundColor;\n }\n\n return (\n \n );\n}\n","import { keyboardShortcutFromKeyboardEvent } from \"../../utils/keyboard-event\";\n\n// Possibles Shortcut\n// ALT+DOWN_ARROW : open the listbox\n// ALT+UP_ARROW : open the listbox\n\n// MAJ+TAB : close the listbox, blur\n\n// UP_ARROW : focus / highlight the previous option\n// DOWN_ARROW : focus / highlight the next option\n// LEFT_ARROW : (unique) focus / highlight the previous option\n// RIGHT_ARROW : (unique) focus / highlight the previous option\n\n// HOME : select first option\n// END : select last option\n\n// PAGE_UP : select first option\n// PAGE_DOWN : select last option\n\n// ENTER : select currently focused / highlighted option\n// SPACE : select currently focused / highlighted option\n\n// TAB : close the listbox, blur\n// ESCAPE : close the listbox, if autocomplete mode also clears the textbox\n\nexport type KeyboardEventAssociatedAction = OpenSelect\n | CloseSelect\n | ClearAutocompleteInput\n | ClearHighlight\n | HighlightOption\n | FocusOption\n | MoveFocus\n | SelectOption;\n\ntype OpenSelect = {kind: 'OpenSelect'};\ntype CloseSelect = {kind: 'CloseSelect', shouldBlur: boolean};\n\ntype ClearAutocompleteInput = {kind: 'ClearAutocompleteInput'};\n\ntype ClearHighlight = {kind: 'ClearHighlight'};\ntype HighlightOption = {kind: 'HighlightOption', target: 'next' | 'previous' | 'first' | 'last'};\n\ntype SelectOption = {kind: 'SelectOption', target: 'next' | 'previous' | 'first' | 'last' | 'lastHighlighted'};\n\ntype MoveFocus = {kind: 'MoveFocus', target: 'previous'};\n\ntype FocusOption = {kind: 'FocusOption', target: 'next' | 'previous' | 'first' | 'last' | 'lastFocused'};\n\n/**\n * We follow this https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n * @param event\n * @param currentState\n * @param type\n */\nexport function getActionForKeyboardEvent(event: KeyboardEvent, currentState: 'closed' | 'opened', type: 'autocomplete_unique' | 'autocomplete_multiple' | 'unique' | 'multiple'): KeyboardEventAssociatedAction[] {\n const keyboardShortcut = keyboardShortcutFromKeyboardEvent(event);\n\n if(keyboardShortcut === 'UNKNOWN') {\n return [];\n }\n\n switch (currentState) {\n case \"closed\":\n // We handle every available shortcut for the closed state\n switch (keyboardShortcut) {\n case \"MAJ+TAB\":\n switch (type) {\n case \"unique\":\n case \"multiple\":\n return [];\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n // We need to move focus to previous focusable element in order to ignore the wcs-select component\n return [{kind: 'MoveFocus', target: 'previous'}];\n default:\n break;\n }\n break;\n case 'DOWN_ARROW':\n switch (type) {\n case \"unique\":\n return [{kind: 'SelectOption', target: 'next'}];\n case \"autocomplete_multiple\":\n case \"autocomplete_unique\":\n return [{kind: 'OpenSelect'}, {kind: 'HighlightOption', target: 'first'}];\n case \"multiple\":\n return [{kind: 'OpenSelect'}, {kind: 'FocusOption', target: 'first'}];\n default:\n break;\n }\n break;\n case 'RIGHT_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n // Do nothing, we navigate between characters inside input field\n return [];\n case \"unique\":\n return [{kind: 'SelectOption', target: 'next'}];\n case \"multiple\":\n return [{kind: 'OpenSelect'}, {kind: 'FocusOption', target: 'first'}];\n default:\n break;\n }\n break;\n case 'UP_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'OpenSelect'}, {kind: 'HighlightOption', target: 'last'}];\n case \"multiple\":\n break;\n case \"unique\":\n return [{kind: 'SelectOption', target: 'previous'}];\n default:\n break;\n }\n break;\n case 'LEFT_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n // Do nothing, we navigate between characters inside input field\n return [];\n case \"unique\":\n return [{kind: 'SelectOption', target: 'previous'}];\n case \"multiple\":\n break;\n default:\n break;\n }\n break;\n case 'ALT+DOWN_ARROW':\n case 'ALT+UP_ARROW':\n switch (type) {\n case \"unique\":\n return [{kind: 'OpenSelect'}, {kind: 'FocusOption', target: 'first'}]\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n case \"multiple\":\n return [{kind: 'OpenSelect'}];\n default:\n break;\n }\n break;\n case 'SPACE':\n case 'ENTER':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'OpenSelect'}, {kind: 'FocusOption', target: 'lastFocused'}];\n default:\n break;\n }\n break;\n case 'ESCAPE':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'ClearAutocompleteInput'}];\n case 'unique':\n case 'multiple':\n return [];\n default:\n break;\n }\n break;\n case 'PAGE_UP':\n switch (type) {\n case \"autocomplete_unique\":\n return [];\n case \"autocomplete_multiple\":\n return [];\n case \"unique\":\n return [{kind: 'SelectOption', target: 'first'}];\n case \"multiple\":\n return [];\n default:\n break;\n }\n break;\n case 'PAGE_DOWN':\n switch (type) {\n case \"autocomplete_unique\":\n return [];\n case \"autocomplete_multiple\":\n return [];\n case \"unique\":\n return [{kind: 'SelectOption', target: 'last'}];\n case \"multiple\":\n return [];\n default:\n break;\n }\n break;\n default:\n break;\n }\n break;\n case 'opened':\n // We handle every available shortcut for the opened state\n switch (keyboardShortcut) {\n case 'ESCAPE':\n switch (type) {\n case 'unique':\n case 'multiple':\n case 'autocomplete_unique':\n case 'autocomplete_multiple':\n return [{kind: 'CloseSelect', shouldBlur: false}];\n default:\n break;\n }\n break;\n case 'ALT+UP_ARROW':\n switch (type) {\n case 'unique':\n case 'multiple':\n return [{kind: 'CloseSelect', shouldBlur: false}];\n case 'autocomplete_unique':\n case 'autocomplete_multiple':\n // We must keep select autocomplete opened\n return [];\n default:\n break;\n }\n break;\n case 'TAB':\n switch (type) {\n case \"autocomplete_unique\":\n return [{kind: 'SelectOption', target: 'lastHighlighted'}, {kind: 'CloseSelect', shouldBlur: false}];\n case \"autocomplete_multiple\":\n return [{kind: 'CloseSelect', shouldBlur: false}];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'CloseSelect', shouldBlur: true}];\n default:\n break;\n }\n break;\n case 'MAJ+TAB':\n switch (type) {\n case \"autocomplete_unique\":\n // We don't blur the select when we close it because we move the focus manually just after closing it.\n return [{kind: 'SelectOption', target: 'lastHighlighted'}, {kind: 'CloseSelect', shouldBlur: false}, {kind: 'MoveFocus', target: 'previous'}];\n case \"autocomplete_multiple\":\n // We don't blur the select when we close it because we move the focus manually just after closing it.\n return [{kind: 'CloseSelect', shouldBlur: false}, {kind: 'MoveFocus', target: 'previous'}];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'CloseSelect', shouldBlur: true}];\n default:\n break;\n }\n break;\n case 'UP_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'HighlightOption', target: 'previous'}]\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'previous'}];\n default:\n break;\n }\n break;\n case 'LEFT_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n // We do nothing (navigate between characters in input field)\n return [];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'previous'}];\n default:\n break;\n }\n break;\n case 'DOWN_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'HighlightOption', target: 'next'}]\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'next'}];\n default:\n break;\n }\n break;\n case 'RIGHT_ARROW':\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n // We do nothing (navigate between characters in input field)\n return [];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'next'}];\n default:\n break;\n }\n break;\n case \"PAGE_UP\":\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'HighlightOption', target: 'first'}];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'first'}];\n default:\n break;\n }\n break;\n case \"PAGE_DOWN\":\n switch (type) {\n case \"autocomplete_unique\":\n case \"autocomplete_multiple\":\n return [{kind: 'HighlightOption', target: 'last'}];\n case \"unique\":\n case \"multiple\":\n return [{kind: 'FocusOption', target: 'last'}];\n default:\n break;\n }\n break;\n case \"ENTER\":\n switch (type) {\n case \"autocomplete_unique\":\n return [{kind: 'SelectOption', target: 'lastHighlighted'}];\n case \"autocomplete_multiple\":\n return [{kind: 'SelectOption', target: 'lastHighlighted'}];\n case \"unique\":\n case \"multiple\":\n // Do nothing, let's select option emit an event\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n break;\n default:\n throw Error('Unknown error');\n }\n return [];\n}\n","@import '../../style/placeholder.scss';\n\n:host {\n // Global\n --wcs-select-ligther-percentage: 40; // TODO: view to migrate to design tokens later (used on 'close' icon of a chip)\n --wcs-select-control-border-radius: var(--wcs-semantic-border-radius-base);\n\n --wcs-select-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n --wcs-select-value-color: var(--wcs-semantic-color-text-primary);\n --wcs-select-value-font-weight: var(--wcs-semantic-font-weight-medium);\n\n --wcs-select-placeholder-color: var(--wcs-semantic-color-text-tertiary);\n --wcs-select-placeholder-font-weight: var(--wcs-semantic-font-weight-roman);\n --wcs-select-placeholder-font-style: var(--wcs-semantic-font-style-control-placeholder);\n\n // Options\n --wcs-select-options-padding: var(--wcs-semantic-spacing-base-150);\n\n // Control\n --wcs-select-control-line-height: var(--wcs-semantic-font-line-height-large);\n\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-control-default);\n\n --wcs-select-control-arrow-color: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-select-control-arrow-color-disabled: var(--wcs-semantic-color-foreground-disabled);\n\n --wcs-select-control-chips-gap: var(--wcs-semantic-spacing-small);\n\n --wcs-select-control-border-color-default: var(--wcs-semantic-color-border-primary);\n --wcs-select-control-border-color-disabled: var(--wcs-semantic-color-border-disabled);\n --wcs-select-control-border-color-focus: var(--wcs-semantic-color-border-control-focus);\n --wcs-select-control-border-color-error: var(--wcs-semantic-color-border-critical);\n\n --wcs-select-control-border-style-default: solid;\n --wcs-select-control-border-style-error: solid;\n --wcs-select-control-border-style-focus: var(--wcs-semantic-border-style-focus-control);\n\n --wcs-select-control-border-width-default: var(--wcs-semantic-border-width-default);\n --wcs-select-control-border-width-focus: var(--wcs-semantic-border-width-large);\n\n --wcs-select-control-padding-horizontal-m: var(--wcs-semantic-spacing-large);\n --wcs-select-control-padding-horizontal-l: var(--wcs-semantic-spacing-large);\n\n --wcs-select-control-height: var(--wcs-select-control-height-m);\n --wcs-select-control-height-m: var(--wcs-semantic-size-m);\n --wcs-select-control-height-l: var(--wcs-semantic-size-l);\n --wcs-internal-select-chip-size: var(--wcs-semantic-size-s);\n --wcs-select-control-font-size: var(--wcs-select-control-font-size-m, 1rem);\n --wcs-select-control-font-size-m: var(--wcs-semantic-font-size-m);\n --wcs-select-control-font-size-l: var(--wcs-semantic-font-size-l);\n\n // Overlay\n --wcs-select-overlay-max-height: 360px;\n --wcs-select-overlay-background-color: var(--wcs-semantic-color-background-surface-primary);\n --wcs-select-overlay-border-width: var(--wcs-semantic-border-width-default);\n --wcs-select-overlay-border-color: var(--wcs-semantic-color-border-secondary);\n --wcs-select-overlay-border-radius: var(--wcs-semantic-border-radius-base);\n\n // Chips\n --wcs-select-control-chip-color-default: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-select-control-chip-color-disabled: var(--wcs-semantic-color-text-disabled);\n --wcs-select-control-chip-background-color-default: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-select-control-chip-background-color-disabled: var(--wcs-semantic-color-background-action-primary-disabled);\n --wcs-select-control-chip-padding-vertical: var(--wcs-semantic-spacing-small);\n --wcs-select-control-chip-padding-horizontal: calc(1.5 * var(--wcs-semantic-spacing-base));\n --wcs-select-control-chip-line-height: var(--wcs-semantic-font-line-height-large);\n --wcs-select-control-chip-border-radius: var(--wcs-semantic-border-radius-base);\n\n // Autocomplete\n --wcs-select-control-autocomplete-padding-vertical-m: var(--wcs-semantic-spacing-small);\n --wcs-select-control-autocomplete-padding-vertical-l: var(--wcs-semantic-spacing-small);\n\n // No Result Container\n --wcs-select-internal-noresult-padding-horizontal: var(--wcs-semantic-spacing-base);\n\n display: block;\n min-height: var(--wcs-select-control-height);\n position: relative;\n outline: none;\n user-select: none;\n box-sizing: border-box;\n\n // So the arrow on the right doesn't shrink when text overflows.\n svg {\n flex-shrink: 0;\n }\n\n .wcs-select-control {\n min-height: var(--wcs-select-control-height);\n outline: var(--wcs-select-control-border-width-default) var(--wcs-select-control-border-style-default) var(--wcs-select-control-border-color-default);\n outline-offset: calc(var(--wcs-select-control-border-width-default) * -1);\n }\n\n .arrow {\n fill: var(--wcs-select-control-arrow-color);\n }\n\n .chip {\n fill: var(--wcs-select-control-chip-color-default);\n opacity: calc((100 - var(--wcs-select-ligther-percentage)) / 100); // TODO, see later to migrate to design tokens\n\n &:hover {\n opacity: 100;\n }\n }\n}\n\n@mixin select-control-outline-focus {\n outline: var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);\n outline-offset: calc(var(--wcs-select-control-border-width-focus) * -1);\n}\n\n@mixin select-control-outline-error {\n outline-style: var(--wcs-select-control-border-style-error);\n outline-color: var(--wcs-select-control-border-color-error);\n}\n\n@mixin select-control-outline-disabled {\n outline-style: var(--wcs-select-control-border-style-default);\n outline-color: var(--wcs-select-control-border-color-disabled);\n}\n\n.wcs-select-control {\n box-sizing: border-box;\n\n display: flex;\n align-items: center;\n\n background-color: var(--wcs-select-control-background-color);\n border-radius: var(--wcs-select-control-border-radius);\n outline: var(--wcs-select-control-border-color-default) solid var(--wcs-select-control-border-width-default); // because some theme might use default border\n outline-offset: calc(var(--wcs-select-control-border-width-default) * -1);\n\n font-size: var(--wcs-select-control-font-size, 1rem);\n line-height: var(--wcs-select-control-line-height);\n cursor: pointer;\n\n padding-left: var(--wcs-select-control-padding-horizontal-m);\n padding-right: calc(var(--wcs-select-control-padding-horizontal-m) - 4px); // 4px is the blank space inside the arrow svg on the right\n}\n\nlabel {\n &.wcs-select-placeholder {\n color: var(--wcs-select-placeholder-color);\n font-style: var(--wcs-select-placeholder-font-style);\n font-weight: var(--wcs-select-placeholder-font-weight);\n }\n\n &.wcs-select-value {\n color: var(--wcs-select-value-color);\n font-style: normal;\n font-weight: var(--wcs-select-value-font-weight);\n }\n\n cursor: pointer;\n transition: color 125ms ease-in;\n // Hide overflowing display text\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &::after {\n // https://stackoverflow.com/questions/51640141/font-style-italic-makes-text-protrude-from-container-cutting-off-text\n content: '';\n padding: 1px;\n }\n}\n\n.wcs-select-value-container {\n max-width: calc(100% - calc(24px + var(--wcs-semantic-spacing-base))); // 24px (width of arrow svg) + 8px of padding = 32px\n padding-right: 8px; // to avoid overflow on arrow\n\n display: flex;\n flex-direction: row;\n gap: var(--wcs-select-control-chips-gap);\n align-items: center;\n flex-wrap: wrap;\n}\n\n.wcs-select-chip {\n box-sizing: border-box;\n height: var(--wcs-internal-select-chip-size);\n line-height: var(--wcs-select-control-chip-line-height);\n color: var(--wcs-select-control-chip-color-default);\n background-color: var(--wcs-select-control-chip-background-color-default);\n border-radius: var(--wcs-select-control-chip-border-radius);\n display: flex;\n align-items: center;\n padding: var(--wcs-select-control-chip-padding-vertical) var(--wcs-select-control-chip-padding-horizontal);\n overflow: initial;\n z-index: 1;\n}\n\n.wcs-select-options {\n display: none;\n position: absolute;\n z-index: 999999999;\n\n border: solid var(--wcs-select-overlay-border-width) var(--wcs-select-overlay-border-color);\n border-radius: var(--wcs-select-overlay-border-radius);\n\n max-height: var(--wcs-select-overlay-max-height);\n overflow-y: auto;\n width: calc(100% - calc(calc(2 * var(--wcs-select-overlay-border-width)) + calc(2 * var(--wcs-select-options-padding))));\n padding: var(--wcs-select-options-padding);\n\n background-color: var(--wcs-select-overlay-background-color);\n}\n\n:host(.expanded) {\n outline-width: var(--wcs-select-control-border-width-focus);\n\n .wcs-select-control {\n @include select-control-outline-focus;\n }\n\n .wcs-select-options {\n display: block;\n }\n}\n\n:host([aria-invalid=true]), :host([autocomplete]):has(input[aria-invalid=true]) {\n .wcs-select-control {\n @include select-control-outline-error;\n }\n}\n\n:host(:not(.expanded):focus-visible) {\n outline-width: var(--wcs-select-control-border-width-focus);\n\n .wcs-select-control {\n @include select-control-outline-focus;\n }\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-control-disabled);\n\n .wcs-select-control {\n @include select-control-outline-disabled;\n }\n\n .wcs-select-control,\n label {\n cursor: default;\n pointer-events: none;\n }\n\n label {\n color: var(--wcs-select-text-color-disabled);\n }\n\n .arrow {\n fill: var(--wcs-select-control-arrow-color-disabled);\n }\n\n .wcs-select-chip {\n color: var(--wcs-select-control-chip-color-disabled);\n background-color: var(--wcs-select-control-chip-background-color-disabled);\n }\n\n .chip {\n fill: var(--wcs-select-control-chip-color-disabled);\n }\n}\n\n:host([size=m]) {\n --wcs-select-control-font-size: var(--wcs-select-control-font-size-m);\n --wcs-select-control-height: var(--wcs-select-control-height-m);\n --wcs-internal-select-chip-size: var(--wcs-select-chip-size-m);\n\n .wcs-select-control {\n padding-left: var(--wcs-select-control-padding-horizontal-m);\n padding-right: calc(var(--wcs-select-control-padding-horizontal-m) - 4px); // 4px is the blank space inside the arrow svg on the right\n }\n\n &:host([autocomplete]) {\n .autocomplete-field {\n height: calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-m) * 2);\n }\n\n .wcs-select-value-container {\n // (select height - chips height) / 2 - border width\n padding-top: var(--wcs-select-control-autocomplete-padding-vertical-m);\n padding-bottom: var(--wcs-select-control-autocomplete-padding-vertical-m);\n }\n }\n}\n\n:host([size=l]) {\n --wcs-select-control-font-size: var(--wcs-select-control-font-size-l);\n --wcs-select-control-height: var(--wcs-select-control-height-l);\n --wcs-internal-select-chip-size: var(--wcs-select-chip-size-l);\n\n .wcs-select-control {\n padding-left: var(--wcs-select-control-padding-horizontal-l);\n padding-right: calc(var(--wcs-select-control-padding-horizontal-l) - 4px); // 4px is the blank space inside the arrow svg on the right\n }\n\n &:host([autocomplete]) {\n .autocomplete-field {\n height: calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-l) * 2);\n }\n\n .wcs-select-value-container {\n padding-top: var(--wcs-select-control-autocomplete-padding-vertical-l);\n padding-bottom: var(--wcs-select-control-autocomplete-padding-vertical-l);\n }\n }\n}\n\n:host([chips]) {\n .wcs-select-control {\n flex-wrap: wrap;\n }\n\n .wcs-select-value-container {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n}\n\n\n:host([autocomplete]) {\n .wcs-select-value-container {\n margin: 0;\n width: 100%;\n }\n\n input {\n font: unset;\n background-color: transparent;\n outline: none;\n border: none;\n padding: unset;\n\n color: var(--wcs-select-value-color);\n font-weight: var(--wcs-select-value-font-weight) !important;\n font-size: var(--wcs-select-control-font-size);\n line-height: inherit;\n\n &::placeholder {\n @include placeholder(var(--wcs-select-placeholder-color), var(--wcs-select-placeholder-font-weight), var(--wcs-select-placeholder-font-style));\n }\n }\n}\n\n:host([autocomplete]:focus-within) {\n .wcs-select-control {\n @include select-control-outline-focus;\n }\n}\n\n.autocomplete-field {\n width: 0;\n min-width: 50px;\n flex-grow: 1;\n}\n\n.noresult-container {\n padding-left: var(--wcs-select-internal-noresult-padding-horizontal);\n padding-right: var(--wcs-select-internal-noresult-padding-horizontal);\n\n display: flex;\n flex-direction: row;\n align-items: center;\n height: var(--wcs-select-control-height);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\n\nimport { interpret, Interpreter, Machine, MachineConfig, MachineOptions } from 'xstate';\nimport {\n isWcsSelectSize,\n SelectChangeEventDetail,\n SelectFilterChangeEventDetail,\n WcsDefaultSelectFilterFn,\n WcsSelectFilterFn,\n WcsSelectSize,\n WcsSelectSizeValue\n} from './select-interface';\nimport { SelectArrow } from './select-arrow';\nimport { SelectOptionChosedEvent, SelectOptionValue } from '../select-option/select-option-interface';\nimport {\n isElement,\n generateUniqueId,\n findItemLabel,\n inheritAriaAttributes,\n inheritAttributes, setOrRemoveAttribute, compareLists\n} from '../../utils/helpers';\nimport { SelectChips } from './select-chips';\nimport { createPopper, Instance } from '@popperjs/core';\nimport { isEqual } from 'lodash-es';\nimport { getActionForKeyboardEvent, KeyboardEventAssociatedAction } from './select-keyboard-event';\nimport { isFocusable } from '../../utils/accessibility';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\ninterface SelectStateSchema {\n states: {\n closed: {};\n opened: {};\n };\n}\n\ntype SelectEvent\n = { type: 'OPEN' }\n | { type: 'CLOSE', value: { shouldBlur?: boolean, fromKeyboard: boolean } }\n | { type: 'CLICK' }\n | { type: 'OPTION_SELECTED', value: { option: SelectOptionChosedEvent, fromKeyboard: boolean } };\n\nconst SELECT_MACHINE_CONFIG: MachineConfig = {\n key: 'select',\n initial: 'closed',\n states: {\n closed: {\n entry: ['close'],\n on: {\n CLICK: 'opened',\n OPEN: 'opened',\n OPTION_SELECTED: {actions: ['selectOption']}\n },\n },\n opened: {\n entry: ['open'],\n on: {\n CLICK: 'closed',\n CLOSE: 'closed',\n OPTION_SELECTED: {actions: ['selectOption']}\n },\n },\n }\n};\n\nconst SELECT_INHERITED_ATTRS = ['tabindex', 'title'];\n\n/**\n * The select component (also named combobox) is a form component that allows users to select one or more options\n * from a list.\n * Use it with several slotted `wcs-select-option` inside.\n *\n * @slot filter-no-result Contains the customizable \"No result found\" div (autocomplete mode only).\n * \n * @cssprop --wcs-select-control-arrow-color - Color of the select arrow\n * @cssprop --wcs-select-control-arrow-color-disabled - Color of the select arrow when disabled\n * \n * @cssprop --wcs-select-control-background-color - Background color of the select control\n * \n * @cssprop --wcs-select-control-line-height - Line height of the select control\n * \n * @cssprop --wcs-select-options-padding - Padding of the select options container\n * \n * @cssprop --wcs-select-control-border-radius - Border radius of the select control\n * @cssprop --wcs-select-control-border-width-default - Border width of the select control when not focused\n * @cssprop --wcs-select-control-border-width-focus - Border width of the select control when focused\n * \n * @cssprop --wcs-select-control-border-color-default - Border color of the select control when not focused\n * @cssprop --wcs-select-control-border-color-disabled - Border color of the select control when disabled\n * @cssprop --wcs-select-control-border-color-error - Border color of the select control when error\n * @cssprop --wcs-select-control-border-color-focus - Border color of the select control when focused (not opened, but the control is focused)\n * \n * @cssprop --wcs-select-value-color - Text color of the select value when not focused \n * @cssprop --wcs-select-value-font-weight - Font weight of the select value\n * \n * @cssprop --wcs-select-placeholder-color - Text color of the select placeholder\n * @cssprop --wcs-select-placeholder-font-weight - Font weight of the select placeholder\n * @cssprop --wcs-select-placeholder-font-style - Font style of the select placeholder\n *\n * @cssprop --wcs-select-text-color-disabled - Text color of the select when disabled\n *\n * @cssprop --wcs-select-control-border-style-default - Border style of the select control when not focused\n * @cssprop --wcs-select-control-border-style-focus - Border style of the select control when focused\n * @cssprop --wcs-select-control-border-style-error - Border style of the select control when error\n * \n * @cssprop --wcs-select-control-chips-gap - Gap between chips (only in multiple mode)\n *\n * @cssprop --wcs-select-control-height-m - Height of the select control in medium size\n * @cssprop --wcs-select-control-height-l - Height of the select control in large size\n * \n * @cssprop --wcs-select-control-autocomplete-padding-vertical-m - Padding vertical (top - bottom) of the select control in size m\n * @cssprop --wcs-select-control-autocomplete-padding-vertical-l - Padding vertical (top - bottom) of the select control in size l\n * @cssprop --wcs-select-control-padding-horizontal-m - Padding horizontal (left - right) in medium size\n * @cssprop --wcs-select-control-padding-horizontal-l - Padding horizontal (left - right) in large size\n * \n * @cssprop --wcs-select-control-font-size-m - Font size of the select in size m\n * @cssprop --wcs-select-control-font-size-l - Font size of the select in size m\n * \n * \n * @cssprop --wcs-select-control-chip-color-default - Color default of the select chip\n * @cssprop --wcs-select-control-chip-color-disabled - Color disabled of the select chip\n * @cssprop --wcs-select-control-chip-background-color-default - Background color default of the select chip\n * @cssprop --wcs-select-control-chip-background-color-disabled - Disabled background color of the select chip\n * @cssprop --wcs-select-control-chip-padding-vertical - Padding vertical (top - bottom) of the select chip\n * @cssprop --wcs-select-control-chip-padding-horizontal - Padding horizontal (left - right) of the select chip\n * @cssprop --wcs-select-control-chip-line-height - Line height of the select chip\n * @cssprop --wcs-select-control-chip-border-radius - Border radius of the select chip\n * \n * @cssprop --wcs-select-overlay-max-height - Max height of the select overlay\n * @cssprop --wcs-select-overlay-background-color - Background color of the select overlay\n * @cssprop --wcs-select-overlay-border-width - Border width of the select overlay\n * @cssprop --wcs-select-overlay-border-color - Border color of the select overlay\n * @cssprop --wcs-select-overlay-border-radius - Border radius of the overlay\n */\n@Component({\n tag: 'wcs-select',\n styleUrl: 'select.scss',\n shadow: true\n})\nexport class Select implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLWcsSelectElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n private stateService!: Interpreter;\n\n private selectId = `wcs-select-${selectIds++}`;\n private labelElement: HTMLWcsLabelElement;\n private optionsEl!: HTMLDivElement;\n private optionsId = generateUniqueId(\"OPTIONS\");\n private controlEl!: HTMLDivElement;\n\n // Only used for multiples.\n private values: SelectOptionValue[];\n\n /**\n * This attribute mutate when a new option is selected OR unselected\n * @private\n */\n private lastModifiedOptionElement: HTMLWcsSelectOptionElement | null;\n /**\n * It serves for accessibility feature: keyboard navigation. It serves to focus the option if defined when the select\n * is opened based on which key pressed.\n *\n * When the select is opened user can navigate through options with keyboard:\n *\n * - Arrow right | down: `lastFocusedOptionElement` equals to the next option of `lastFocusedOptionElement` or\n * the first if `lastFocusedOptionElement` is not defined\n * - Arrow left | top: `lastFocusedOptionElement` equals to the previous enabled option of `lastFocusedOptionElement`\n * or the first if `lastFocusedOptionElement` is not defined\n * - Page up: `lastFocusedOptionElement` equals to the first enabled option\n * - Page down: `lastFocusedOptionElement` equals to the last enabled option\n * @private\n */\n private lastFocusedOptionElement: HTMLWcsSelectOptionElement | null;\n\n // Only used for autocomplete.\n private lastHighlightedOptionElement: HTMLWcsSelectOptionElement | null;\n private autocompleteInput: HTMLInputElement;\n\n /** Whether the select is expanded */\n @State()\n private expanded: boolean = false;\n\n /**\n * Specify the size (height) of the select.\n */\n @Prop({reflect: true}) size: WcsSelectSize = 'm';\n\n /** Text to display for the selected option, when no option is selected, the value is undefined. */\n @State()\n private displayText: string;\n\n /** When the host is focused. */\n @State()\n // @ts-ignore\n private focused: boolean;\n\n /** The currently selected value. */\n @Prop({mutable: true})\n value?: any | null;\n\n /** The text to display when the select is empty. */\n @Prop({mutable: true, reflect: true})\n placeholder?: string | null;\n\n /** If `true`, the user cannot interact with the select. */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop({ reflect: true })\n required: boolean = false;\n\n /** If `true`, the user can select multiple values at once. */\n @Prop({ reflect: true })\n multiple: boolean = false;\n\n /** If `true`, the select acts as an autocomplete field to filter your results. */\n @Prop({ reflect: true })\n autocomplete: boolean = false;\n\n /**\n * **Only works with `autocomplete` mode.** \n * If `true`, the server mode disables the client-side filtering on your select and allows you to handle\n * which options should be present in your DOM.\n */\n @Prop({ reflect: true })\n serverMode: boolean = false;\n\n /**\n * **Only works with `autocomplete` mode.** \n * Customizable sort function to change the comparison of values. If not provided, uses the default behavior :\n * `option.textContent.toLowerCase().startsWith(filter.toLowerCase())`\n */\n @Prop({attribute: null}) filterFn: WcsSelectFilterFn;\n\n /** If `true`, selected items are shown in chips mode. */\n @Prop({ reflect: true })\n chips: boolean = false;\n\n /** The name of the control, which is submitted with the form data. */\n @Prop()\n name?: string;\n\n /** Function used to compare options, default : deep comparison. */\n @Prop()\n compareWith?: (optionValue: any, selectedValue: any) => boolean = (optionValue, selectedValue) => isEqual(optionValue, selectedValue);\n\n private popper: Instance;\n\n /**\n * Boolean to toggle the text \"No result found\" (only for autocomplete with filter)\n * @private\n */\n @State() private showNoResultFoundLabel: boolean = false;\n\n /**\n * Value of the autocomplete input field\n * @private\n */\n @State() private autocompleteValue = undefined;\n\n @State() private overlayDirection: 'bottom' | 'top' = 'bottom';\n\n /** Emitted when the value has changed. */\n @Event() wcsChange!: EventEmitter;\n\n /** Emitted when the select has focus. */\n @Event() wcsFocus!: EventEmitter;\n\n /** Emitted when the select loses focus. */\n @Event() wcsBlur!: EventEmitter;\n\n /** Emitted when the autocomplete filter has changed. */\n @Event() wcsFilterChange!: EventEmitter;\n\n /** Open the component. */\n @Method()\n async open() {\n this.stateService.send('OPEN');\n }\n\n /** Close the component. */\n @Method()\n async close() {\n this.stateService.send('CLOSE');\n }\n\n @Watch('value')\n onValueChangeHandler(newValue: any) {\n this.updateSelectedValue(newValue);\n }\n\n /**\n * Updates the selected value(s) of the component and manages the internal state accordingly\n *\n * @param value - The value(s) to be selected in the component\n * For single selection mode: any value that matches an option's value\n * For multiple selection mode: a single value or an array of values\n * @param resetIfNoValue - When true and no value is provided, the select component will be reset\n * Defaults to true\n */\n private updateSelectedValue(value: any, resetIfNoValue = true, shouldEmitFilterChangeEvent = true) {\n // If no value is passed, the select is reset.\n if (!value && resetIfNoValue) {\n this.reset();\n }\n if (this.multiple) {\n // If user don't give an array, we provide one\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n // We assume that the last modified option in multiple mode is the last one in the array\n this.lastModifiedOptionElement = value.length > 0 ? Array.from(this.options).find(opt => this.compareWith(opt.value, value[value.length - 1])) ?? null : null;\n\n if (this.serverMode) {\n // in server mode, we don't know all the possible select options, so we assume the value is correct,\n // and we just sync the displayText and current available options\n const compareResult = compareLists(this.values.map(v => v.value), value, this.compareWith);\n compareResult.added.forEach(addedOption => {\n const option = Array.from(this.options).find(opt => this.compareWith(opt.value, addedOption)); \n if (option) {\n this.values.push({\n value: option.value,\n displayText: option.innerText,\n chipColor: option.chipColor,\n chipBackgroundColor: option.chipBackgroundColor\n });\n option.selected = true;\n }\n });\n\n\n // We update the selected options when the slot changes to keep the selected options in sync with the current value\n compareResult.kept.forEach((keptOption: string) => {\n const option = Array.from(this.options).find(opt => this.compareWith(opt.value, keptOption));\n if (option) {\n option.selected = true;\n }\n\n })\n \n compareResult.removed.forEach(removedOption => {\n this.values = this.values.filter(v => !this.compareWith(v.value, removedOption));\n const removedOptionElement = Array.from(this.options).find(opt => this.compareWith(opt.value, removedOption));\n if (removedOptionElement) {\n removedOptionElement.selected = false;\n }\n });\n } else {\n this.values = [];\n \n this.options.forEach((opt: HTMLWcsSelectOptionElement) => {\n const isSelected = value ?\n value.findIndex(v => this.compareWith(opt.value, v)) !== -1\n : false;\n if (isSelected) {\n this.values.push({\n value: opt.value,\n displayText: opt.innerText,\n chipColor: opt.chipColor,\n chipBackgroundColor: opt.chipBackgroundColor\n });\n }\n opt.selected = isSelected;\n });\n }\n // update select placeholder text\n this.displayText = this.values.length !== 0\n ? this.values.map(v => v.displayText).join(', ')\n : undefined;\n } else {\n let hasFoundCurrentValueInOptionList = false;\n this.options.forEach((opt: HTMLWcsSelectOptionElement) => {\n const isSelected = this.compareWith(opt.value, value);\n if (isSelected) {\n hasFoundCurrentValueInOptionList = true;\n this.displayText = opt.innerText;\n this.lastModifiedOptionElement = opt;\n if (this.autocomplete) {\n this.setAutocompleteValue(opt.innerText, false, false, shouldEmitFilterChangeEvent);\n }\n }\n opt.selected = isSelected;\n });\n // we are in server mode and the current select value hasn't been found, we set the AutocompleteValue (filter) to undefined\n // This is important to preserve the same state logic as when a value change and we set the filter to that value\n // Not doing that implies the displayText is not updated because of the check in le slot change handler\n if (this.serverMode && !hasFoundCurrentValueInOptionList) {\n this.setAutocompleteValue('', false, false, shouldEmitFilterChangeEvent);\n this.displayText = '';\n }\n }\n }\n\n\n /**\n * Reset the select: unselects all options for multiple mode and displays the placeholder\n * @private\n */\n private reset() {\n this.values = [];\n this.displayText = undefined;\n if (this.autocomplete) {\n // When need to reset the internal filter state of the component as the mutation of \n // autocompleteValue from the code doesn't call onAutocompleteInputEvent method.\n this.setAutocompleteValue('', true);\n }\n this.options.forEach((opt: HTMLWcsSelectOptionElement) => {\n opt.selected = false;\n });\n }\n\n componentDidLoad() {\n this.optionsEl = this.el.shadowRoot.querySelector('.wcs-select-options');\n this.controlEl = this.el.shadowRoot.querySelector('.wcs-select-control');\n\n const stateMachine = Machine(\n SELECT_MACHINE_CONFIG,\n this.initMachineOptions()\n );\n // FIXME: type checking failed...\n // @ts-ignore\n this.stateService = interpret(stateMachine);\n\n if (this.multiple) {\n this.values = [];\n }\n\n this.stateService.start();\n if (this.optionsEl.querySelector('slot') === null) {\n this.replaceOptions_firefoxBefore63();\n this.listenDomUpdate_firefoxBefore63();\n }\n\n if (this.value !== undefined) {\n this.updateSelectedValue(this.value);\n }\n\n this.popper = this.createPopperInstance();\n\n // if the select is inside a wcs-form-field, we set an id to the wcs-label if present\n // the wcs-label element reference is kept to compute aria-label value during the rendering\n this.labelElement = findItemLabel(this.el);\n if (this.labelElement) {\n this.labelElement.id = this.selectId + \"-lbl\";\n }\n }\n\n private createPopperInstance() {\n return createPopper(this.controlEl, this.optionsEl, {\n placement: \"bottom\",\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 4] // we want 4px between select control and select options\n }\n }\n ]\n });\n }\n\n private emitChange(newValue: any): void {\n this.wcsChange.emit({\n value: newValue\n });\n }\n\n private replaceOptions_firefoxBefore63() {\n Array.from(this.el.querySelectorAll('wcs-select-option'))\n .forEach(option => {\n if (option.parentNode === this.el) {\n this.el.removeChild(option);\n this.optionsEl.appendChild(option);\n }\n });\n }\n\n private listenDomUpdate_firefoxBefore63() {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n this.replaceOptions_firefoxBefore63();\n }\n }\n });\n observer.observe(this.el, {childList: true});\n }\n \n componentWillRender(): Promise | void {\n if (this.multiple) {\n this.options\n .forEach((opt: HTMLWcsSelectOptionElement) => opt.multiple = true);\n }\n }\n\n componentWillLoad(): Promise | void {\n if (!isWcsSelectSize(this.size)) {\n console.warn(`Invalid size value for wcs-select : \"${this.size}\". Must be one of \"${WcsSelectSizeValue.join(', ')}\"`);\n this.size = \"m\"; // Default fallback value\n }\n \n // XXX : special case on this component for attribute inheritance\n // We only move attributes on the native input when autocomplete is true.\n // Otherwise, all attributes are on the Host, so we do not need to inherit those.\n if (this.autocomplete) {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, SELECT_INHERITED_ATTRS),\n };\n }\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n if(this.autocomplete === false) {\n setOrRemoveAttribute(this.el, attr, value);\n } else {\n setOrRemoveAttribute(this.autocompleteInput, attr, value);\n }\n }\n\n private get options(): HTMLWcsSelectOptionElement[] {\n const opts = this.el?.querySelectorAll('wcs-select-option');\n if (opts && opts.length !== 0) {\n return opts as any as HTMLWcsSelectOptionElement[];\n }\n return [];\n }\n\n private get notDisabledOptions(): HTMLWcsSelectOptionElement[] {\n const opts = this.el?.querySelectorAll('wcs-select-option:not([disabled]):not([aria-hidden])');\n if (opts && opts.length !== 0) {\n return opts as any as HTMLWcsSelectOptionElement[];\n }\n return [];\n }\n\n private initMachineOptions(): Partial> {\n return {\n actions: {\n open: () => {\n if (!this.disabled) {\n this.expanded = true;\n this.focused = false;\n if(this.multiple === false && this.autocomplete && this.hasValue === false) {\n // If we open the select in single autocomplete mode, we update the autocomplete value at \n // the blur event so that the displayed value reflect the current select value. \n // Indeed, we have to tell the component to take the current filter state manually at the \n // opening (because the input event of the autocomplete field is not fired at this point).\n if (this.autocompleteValue && this.autocompleteValue !== '') {\n this.setAutocompleteValue(this.autocompleteValue);\n }\n }\n this.clearHighlightOnLastHighlightedOption();\n if (this.notDisabledOptions.length > 0) {\n this.lastFocusedOptionElement = this.lastModifiedOptionElement ?? this.notDisabledOptions[0];\n requestAnimationFrame(() => {\n this.autocomplete\n ? this.autocompleteInput?.focus()\n : this.lastFocusedOptionElement?.focus();\n });\n }\n }\n },\n close: (_, event: SelectEvent) => {\n if (event.type === 'CLOSE') {\n this.clearHighlightOnLastHighlightedOption();\n if (event.value?.shouldBlur) {\n this.focused = false;\n } else {\n if (this.autocomplete && event.value?.fromKeyboard) {\n // If we're in autocomplete mode, a keyboard event (e.g. escape) doesn't change the \n // focus (so this.el.focus() aren't called because the select was already focused)\n // but you still have to go back to the autocomplete input.\n this.focusAutocompleteInput();\n } else {\n // Otherwise, we focus the select element\n this.el.focus();\n }\n this.focused = true;\n }\n\n if (this.autocomplete && this.displayText && this.multiple === false) {\n this.setAutocompleteValue(this.displayText);\n }\n }\n this.expanded = false;\n },\n selectOption: (_, event) => {\n if (event.type === 'OPTION_SELECTED') {\n if (this.multiple) {\n this.handleOptionSelectedOnMultiple(event.value.option);\n } else {\n this.handleOptionSelectedOnSingle(event.value.option);\n this.stateService.send('CLOSE', {value: {fromKeyboard: event.value.fromKeyboard}});\n }\n\n if (this.autocomplete) {\n if (this.multiple) {\n requestAnimationFrame(() => {\n this.autocompleteInput.focus();\n })\n } else {\n // Emit the filter change immediately so that server-side filtering can refresh options.\n this.setAutocompleteValue(event.value.option.displayText);\n }\n }\n this.emitChange(this.value);\n }\n }\n },\n guards: {\n enabled: () => !this.disabled\n }\n };\n }\n\n private handleOptionSelectedOnMultiple(event: SelectOptionChosedEvent) {\n const index = this.values.findIndex(v => this.compareWith(v.value, event.value));\n if (index === -1) {\n // this will trigger the watch on value and update the values model\n this.value = [...this.values.map(v => v.value), event.value];\n } else {\n // this will trigger the watch on value and update the values model\n this.value = this.values.filter(v => !this.compareWith(v.value, event.value)).map(v => v.value);\n }\n }\n\n private handleOptionSelectedOnSingle(event: SelectOptionChosedEvent) {\n this.value = event.value;\n }\n\n disconnectedCallback() {\n this.stateService?.stop();\n }\n\n private get hasValue(): boolean {\n // TODO: change this behavior.\n return this.displayText !== undefined;\n }\n\n @Listen('mouseup')\n onMouseUp(event: MouseEvent) {\n const clickOnScroll = isElement(event.target)\n && (event.offsetX > event.target.clientWidth\n || event.offsetY > event.target.clientHeight // If the click il located bellow the component height the click happen in the overlay\n || event.offsetY < 0); // If the click is made above the component\n\n const clickOnRemoveChip = event.composedPath()\n .filter(x => {\n const el = (x as HTMLElement);\n return el.nodeName === 'svg' && el.classList.contains('chip');\n })\n .length > 0;\n\n if (!clickOnScroll && !clickOnRemoveChip) {\n this.stateService.send('CLICK');\n }\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n const firstSelectInEventPath = event.composedPath().filter(x => (x as HTMLElement).nodeName === 'WCS-SELECT')[0];\n const clickOnCurrentSelect = firstSelectInEventPath === this.el;\n // TODO: Move this logic in the state machine\n // FIXME: Doesnt work with single + disabled option\n if (this.expanded && !clickOnCurrentSelect) {\n this.stateService.send({type: 'CLOSE', value: {shouldBlur: true, fromKeyboard: false}});\n }\n }\n\n @Listen('keydown')\n onKeyDown(_event: KeyboardEvent) {\n const currentState = this.stateService.getSnapshot().matches(\"closed\") ? 'closed' : 'opened';\n let type: 'autocomplete_unique' | 'autocomplete_multiple' | 'unique' | 'multiple';\n if (this.autocomplete) {\n type = this.multiple ? 'autocomplete_multiple' : 'autocomplete_unique';\n } else {\n type = this.multiple ? 'multiple' : 'unique';\n }\n const actionsFromKeyboardEvents: KeyboardEventAssociatedAction[] = getActionForKeyboardEvent(_event, currentState, type);\n \n // If we have at least one associated actions, we prevent the default behavior of the event. \n // Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)\n if (actionsFromKeyboardEvents.length != 0 && actionsFromKeyboardEvents.filter(a => a.kind === 'MoveFocus').length === 0) {\n _event.preventDefault();\n }\n\n for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {\n this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, _event);\n }\n }\n\n doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent: KeyboardEventAssociatedAction, event: KeyboardEvent) {\n switch (actionFromKeyboardEvent.kind) {\n case \"CloseSelect\":\n this.stateService.send({\n type: 'CLOSE',\n value: {shouldBlur: actionFromKeyboardEvent.shouldBlur, fromKeyboard: true}\n });\n break;\n case \"OpenSelect\":\n this.stateService.send('OPEN');\n break;\n case \"SelectOption\":\n switch (actionFromKeyboardEvent.target) {\n case \"next\":\n this.selectClosestOption('next');\n break;\n case \"previous\":\n this.selectClosestOption('previous');\n break;\n case \"first\":\n this.selectFirstOption();\n break;\n case \"last\":\n this.selectLastOption();\n break;\n case \"lastHighlighted\": {\n // We have to handle enterKey here because with autocomplete mode, a wcs-select-option\n // is only highlighted, therefore the event is not fired\n const indexToSelect = Array.from(this.notDisabledOptions).indexOf(this.lastHighlightedOptionElement);\n\n if (indexToSelect !== -1) {\n this.lastModifiedOptionElement = this.lastHighlightedOptionElement;\n this.selectOption(indexToSelect, true);\n }\n break;\n }\n }\n break;\n case \"ClearAutocompleteInput\":\n this.setAutocompleteValue('', false, false);\n break;\n case \"ClearHighlight\":\n this.clearHighlightOnLastHighlightedOption();\n break;\n case \"HighlightOption\":\n switch (actionFromKeyboardEvent.target) {\n case \"next\":\n this.highlightClosestOption('next');\n break;\n case \"previous\":\n this.highlightClosestOption('previous');\n break;\n case \"first\":\n this.highlightFirstOption();\n break;\n case \"last\":\n this.highlightLastOption();\n break;\n default:\n break;\n }\n break;\n case \"FocusOption\":\n switch (actionFromKeyboardEvent.target) {\n case \"next\":\n this.focusClosestOption('next');\n break;\n case \"previous\":\n this.focusClosestOption('previous')\n break;\n case \"first\":\n this.focusFirstOption()\n break;\n case \"last\":\n this.focusLastOption();\n break;\n case \"lastFocused\":\n if (this.lastFocusedOptionElement != null) {\n this.focusOption(Array.from(this.notDisabledOptions).indexOf(this.lastFocusedOptionElement));\n }\n break;\n default:\n break;\n }\n break;\n case \"MoveFocus\":\n switch (actionFromKeyboardEvent.target) {\n case \"previous\": {\n let elementToFocus: Element = this.el.previousElementSibling ?? this.el.parentElement;\n while (elementToFocus) {\n if (isFocusable(elementToFocus)) break;\n elementToFocus = elementToFocus.previousElementSibling ?? elementToFocus.parentElement;\n }\n if (elementToFocus) {\n event.preventDefault();\n (elementToFocus as HTMLElement).focus();\n }\n break;\n }\n default:\n break;\n }\n break;\n default:\n throw new Error(\"Internal error\");\n }\n }\n\n private getClosestActiveOptionIndexForState(direction: 'next' | 'previous', state: 'highlighted' | 'focused' | 'modified'): number | 'nothing' {\n let concernedOption: HTMLWcsSelectOptionElement | null;\n switch (state) {\n case 'focused':\n concernedOption = this.lastFocusedOptionElement;\n break;\n case 'modified':\n concernedOption = this.lastModifiedOptionElement;\n break;\n case 'highlighted':\n concernedOption = this.lastHighlightedOptionElement;\n break;\n default:\n concernedOption = null;\n }\n let currentIndex = Array.from(this.notDisabledOptions).indexOf(concernedOption);\n\n const MIN_INDEX = 0;\n const MAX_INDEX = this.notDisabledOptions.length - 1;\n\n if (direction === 'next' && currentIndex < MAX_INDEX) {\n currentIndex++;\n } else if (direction === 'previous' && currentIndex > MIN_INDEX) {\n currentIndex--;\n } else {\n if (!this.autocomplete)\n return 'nothing';\n\n // Used to scroll options infinitely with keyboard (autocomplete mode only)\n if (direction === 'next' && currentIndex >= MAX_INDEX) {\n currentIndex = 0;\n }\n if (direction === 'previous' && currentIndex === MIN_INDEX) {\n currentIndex = MAX_INDEX;\n }\n }\n return currentIndex;\n }\n\n /**\n * Selects the non-disabled option with the index passed as a parameter.\n * The method sends an event to the state machine (the same as when clicking on an option with the mouse)\n * @param indexToSelect Option index within non-deactivated options list\n * @param fromKeyboard\n * @private\n */\n private selectOption(indexToSelect: number, fromKeyboard = false) {\n const optionToSelect = this.notDisabledOptions[indexToSelect];\n\n if (!optionToSelect) return;\n\n this.sendOptionSelectedToStateMachine({\n source: optionToSelect,\n value: optionToSelect.value,\n displayText: optionToSelect.innerText\n }, fromKeyboard);\n }\n\n private selectClosestOption(direction: 'next' | 'previous'): void {\n const indexToSelect = this.getClosestActiveOptionIndexForState(direction, 'modified');\n if (indexToSelect === 'nothing') return;\n this.selectOption(indexToSelect, true);\n }\n\n private selectFirstOption() {\n if (this.notDisabledOptions.length < 1) {\n return;\n }\n\n this.selectOption(0, true);\n }\n\n private selectLastOption() {\n if (this.notDisabledOptions.length < 1) {\n return;\n }\n\n this.selectOption(this.notDisabledOptions.length - 1, true);\n }\n\n private focusOption(indexToFocus: number) {\n this.lastFocusedOptionElement = this.notDisabledOptions[indexToFocus];\n this.lastFocusedOptionElement?.focus();\n this.el.setAttribute(\"aria-activedescendant\", this.lastFocusedOptionElement.id);\n }\n\n private focusClosestOption(direction: 'next' | 'previous'): void {\n const indexToFocus = this.getClosestActiveOptionIndexForState(direction, 'focused');\n if (indexToFocus === 'nothing') return;\n\n this.focusOption(indexToFocus);\n }\n\n private focusFirstOption() {\n this.focusOption(0);\n }\n\n private focusLastOption() {\n this.focusOption(this.notDisabledOptions.length - 1);\n }\n\n @Listen('wcsSelectOptionClick')\n selectedOptionChanged(event: CustomEvent) {\n this.sendOptionSelectedToStateMachine(event.detail);\n }\n\n sendOptionSelectedToStateMachine(event: SelectOptionChosedEvent, fromKeyboard = false) {\n this.stateService.send({type: 'OPTION_SELECTED', value: {option: event, fromKeyboard}});\n }\n\n onSlotchange() {\n if (!this.serverMode || (this.autocomplete && this.displayText === this.autocompleteValue)) {\n // We call updateSelectedValue to update the selected options when the slot changes to keep the selected options in sync with the current value.\n // This also update the displayText value according to the options data.\n // Finally, this update the internal models for multiple mode and handle the server mode correctly.\n this.updateSelectedValue(this.value, false, false);\n } else {\n this.syncOptionsElementsStateWithCurrentSelectedValue();\n }\n\n // Server-mode only : \"no result\" slot should be visible dynamically if no option is present in the slot\n if (this.autocomplete && this.serverMode) {\n this.showNoResultFoundLabel = this.options.length < 1;\n }\n\n if (this.multiple) {\n this.options\n .forEach((opt: HTMLWcsSelectOptionElement) => opt.multiple = true);\n }\n }\n\n /**\n * This method only affect the option's selected state\n * \n * Set the selected state of each option to match the current selected value of the select\n */\n private syncOptionsElementsStateWithCurrentSelectedValue() {\n this.options.forEach((opt: HTMLWcsSelectOptionElement) => {\n const isSelected = this.compareWith(opt.value, this.value);\n opt.selected = isSelected;\n });\n }\n\n removeChip(v: SelectOptionValue) {\n this.options\n .forEach(opt => {\n if (opt.value === v.value) {\n this.sendOptionSelectedToStateMachine({\n ...v,\n source: opt\n });\n }\n });\n }\n\n //region Autocomplete mode\n\n private highlightOption(indexToHighlight: number) {\n this.clearHighlightOnLastHighlightedOption();\n this.lastHighlightedOptionElement = this.notDisabledOptions[indexToHighlight];\n if (this.lastHighlightedOptionElement) {\n this.lastHighlightedOptionElement.highlighted = true;\n this.autocompleteInput.setAttribute(\"aria-activedescendant\", this.lastHighlightedOptionElement.id);\n requestAnimationFrame(() => {\n this.lastHighlightedOptionElement.scrollIntoView({block: \"nearest\", inline: \"nearest\"});\n })\n }\n }\n\n private highlightFirstOption() {\n this.highlightOption(0);\n }\n\n private highlightLastOption() {\n this.highlightOption(this.notDisabledOptions.length - 1);\n }\n\n private highlightClosestOption(direction: 'next' | 'previous'): void {\n const indexToHighlight = this.getClosestActiveOptionIndexForState(direction, 'highlighted');\n if (indexToHighlight === 'nothing') return;\n\n this.highlightOption(indexToHighlight);\n }\n\n /**\n * This method removes the highlight that applies to the last highlighted option if any.\n * This is used only for accessibility of autocomplete mode.\n * @private\n */\n private clearHighlightOnLastHighlightedOption() {\n if (this.lastHighlightedOptionElement) {\n this.lastHighlightedOptionElement.highlighted = false;\n this.lastHighlightedOptionElement = null;\n }\n }\n\n private onAutocompleteInputEvent(e: InputEvent) {\n const filter = this.autocompleteInput.value ?? '';\n\n this.setAutocompleteValue(filter, false, true); // fromUserInteraction = true\n // Avoid the inputEvent event to bubble and be emitted, we rather use wcsFilterChange in this case :\n e.stopPropagation();\n\n }\n\n /**\n * Set the autocomplete value and open the select if needed.\n * @param filter - The new filter value\n * @param isReset - If true, the filter is reset and the select is closed\n * @param fromUserInteraction - If true, the change comes from user interaction (typing), if false it's programmatic\n * @param shouldEmitFilterChangeEvent\n * @private\n */\n private setAutocompleteValue(filter: string, isReset = false, fromUserInteraction = false, shouldEmitFilterChangeEvent = true): void {\n this.clearHighlightOnLastHighlightedOption();\n const newValueIsDifferentFromLastModifiedOption = this.lastModifiedOptionElement == null || this.lastModifiedOptionElement?.textContent !== this.autocompleteValue;\n // Only open the select automatically when the change comes from user interaction\n if (!this.expanded && newValueIsDifferentFromLastModifiedOption && !isReset && fromUserInteraction) {\n this.open(); \n }\n\n // Prevents client-side filtering logic from being applied when serverMode is enabled.\n if (!this.serverMode) {\n if (filter.length) {\n const [matchingOptions, optionsToHide] = [[], []];\n const filteringFunction: WcsSelectFilterFn = this.filterFn ?? WcsDefaultSelectFilterFn;\n this.options.forEach((optionEl: HTMLWcsSelectOptionElement) =>\n (filteringFunction(optionEl, filter) ? matchingOptions : optionsToHide).push(optionEl)\n );\n\n this.showNoResultFoundLabel = matchingOptions.length === 0;\n matchingOptions.forEach(o => {\n o.hidden = false;\n o.removeAttribute(\"aria-hidden\");\n });\n optionsToHide.forEach(o => {\n o.hidden = true;\n o.setAttribute(\"aria-hidden\", \"true\");\n });\n } else {\n this.showNoResultFoundLabel = false;\n this.options.forEach(o => {\n o.hidden = false;\n o.removeAttribute(\"aria-hidden\");\n });\n }\n }\n\n const newAutocompleteValue = filter ?? '';\n const valueHasChanged = this.autocompleteValue !== newAutocompleteValue;\n\n if (valueHasChanged) {\n this.autocompleteValue = newAutocompleteValue;\n }\n\n if (shouldEmitFilterChangeEvent && valueHasChanged) {\n this.wcsFilterChange.emit({\n value: filter,\n });\n }\n }\n\n @Listen('focus')\n onFocus(event: FocusEvent) {\n if (this.autocomplete) {\n this.focusAutocompleteInput();\n }\n this.wcsFocus.emit(event);\n }\n\n private focusAutocompleteInput(): void {\n this.autocompleteInput?.focus();\n }\n\n //endregion\n\n @Listen('blur', { capture: true })\n onBlur(event: FocusEvent) {\n // Avoid emitting a wcsBlur event when the relatedTarget of the blur event is a child or the select itself\n const target = event.relatedTarget as HTMLElement;\n if (this.el.contains(target)) {\n return;\n }\n \n this.wcsBlur.emit(event);\n }\n\n componentDidRender() {\n this.popper?.update();\n }\n\n private focusedAttributes() {\n return !this.disabled ? { tabIndex: 0 } : {};\n }\n\n render() {\n const ariaLabelValue = `${this.labelElement ? this.labelElement.innerText : ''} ${this.hasValue ? this.displayText : ''}`.trimEnd();\n const noResultContainerId = 'no-result-container';\n \n return (\n \n
    \n
    \n {this.hasValue\n ?\n (this.chips ?\n this.values.map((option: SelectOptionValue) =>\n \n )\n : (!this.autocomplete || this.autocomplete && this.multiple) &&\n )\n : !this.autocomplete && \n }\n {this.autocomplete && this.onAutocompleteInputEvent(e)}\n ref={el => this.autocompleteInput = el}\n {...this.inheritedAttributes}/>\n }\n
    \n \n
    \n
    \n \n {(this.autocomplete && this.showNoResultFoundLabel) &&\n
    \n \n Aucun résultat\n \n
    \n }\n
    \n
    \n );\n }\n}\n\nlet selectIds = 0;\n","@import '../../style/focus-outline.scss';\n\nwcs-select-option {\n --wcs-select-option-height: var(--wcs-semantic-size-m);\n --wcs-select-option-padding-horizontal: var(--wcs-semantic-spacing-base);\n --wcs-select-option-padding-vertical: 0;\n\n --wcs-select-option-text-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-select-option-text-font-size: var(--wcs-semantic-font-size-base);\n\n --wcs-select-option-text-color-default: var(--wcs-semantic-color-text-primary);\n --wcs-select-option-text-color-focus: var(--wcs-semantic-color-text-primary);\n --wcs-select-option-text-color-hover: var(--wcs-semantic-color-text-primary);\n --wcs-select-option-text-color-selected: var(--wcs-semantic-color-text-primary);\n --wcs-select-option-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n\n --wcs-select-option-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-select-option-background-color-hover: var(--wcs-semantic-color-background-action-secondary-hover);\n --wcs-select-option-background-color-press: var(--wcs-semantic-color-background-action-secondary-press);\n --wcs-select-option-background-color-selected: var(--wcs-semantic-color-background-action-secondary-selected-default);\n --wcs-select-option-background-color-selected-hover: var(--wcs-semantic-color-background-action-secondary-selected-hover);\n --wcs-select-option-background-color-selected-press: var(--wcs-semantic-color-background-action-secondary-selected-press);\n --wcs-select-option-background-color-selected-disabled: var(--wcs-semantic-color-background-action-secondary-selected-disabled);\n --wcs-select-option-background-color-focus: var(--wcs-semantic-color-background-action-secondary-focus);\n\n --wcs-select-option-border-style-focus: var(--wcs-semantic-border-style-focus-base); // because it's not a form control, but a focusable element\n --wcs-select-option-border-color-focus: var(--wcs-semantic-color-border-focus-base);\n --wcs-select-option-border-width-focus: var(--wcs-semantic-border-width-large);\n --wcs-select-option-border-radius: var(--wcs-semantic-border-radius-base);\n\n --wcs-select-option-checkbox-color: var(--wcs-semantic-color-background-control-indicator-selected);\n\n --wcs-select-option-gap: var(--wcs-semantic-spacing-base);\n\n --wcs-select-option-transition-duration: var(--wcs-semantic-motion-duration-feedback-base);\n\n &:focus-visible {\n outline: var(--wcs-select-option-border-style-focus) var(--wcs-select-option-border-width-focus) var(--wcs-select-option-border-color-focus);\n outline-offset: calc(-1 * var(--wcs-select-option-border-width-focus));\n }\n\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--wcs-select-option-gap);\n\n padding: var(--wcs-select-option-padding-vertical) var(--wcs-select-option-padding-horizontal);\n height: var(--wcs-select-option-height);\n\n cursor: pointer;\n user-select: none;\n font-weight: var(--wcs-select-option-text-font-weight);\n font-size: var(--wcs-select-option-text-font-size);\n\n color: var(--wcs-select-option-text-color-default);\n background-color: var(--wcs-select-option-background-color-default);\n\n transition-duration: var(--wcs-select-option-transition-duration);\n transition-property: background-color, color;\n transition-timing-function: ease;\n\n border-radius: var(--wcs-select-option-border-radius);\n\n overflow: hidden;\n white-space: nowrap;\n\n &:focus {\n color: var(--wcs-select-option-text-color-focus);\n background-color: var(--wcs-select-option-background-color-focus);\n }\n\n &:hover {\n color: var(--wcs-select-option-text-color-hover);\n background-color: var(--wcs-select-option-background-color-hover);\n }\n\n &:active {\n background-color: var(--wcs-select-option-background-color-press);\n }\n}\n\nwcs-select-option[disabled] {\n cursor: not-allowed;\n pointer-events: none;\n color: var(--wcs-select-option-text-color-disabled);\n}\n\nwcs-select-option[hidden] {\n display: none;\n}\n\nwcs-select-option[selected] {\n color: var(--wcs-select-option-text-color-selected);\n background-color: var(--wcs-select-option-background-color-selected);\n\n &:hover {\n background-color: var(--wcs-select-option-background-color-selected-hover);\n }\n\n &:active {\n background-color: var(--wcs-select-option-background-color-selected-press);\n }\n}\n\nwcs-select-option[selected][disabled] {\n color: var(--wcs-select-option-text-color-disabled);\n background-color: var(--wcs-select-option-background-color-selected-disabled);\n}\n\nwcs-select-option[multiple] {\n wcs-checkbox {\n pointer-events: none;\n }\n &:hover {\n wcs-checkbox {\n --wcs-checkbox-border-color: var(--wcs-select-option-checkbox-color);\n }\n }\n}\n\nwcs-select-option[highlighted] {\n outline: var(--wcs-select-option-border-style-focus) var(--wcs-select-option-border-width-focus) var(--wcs-select-option-border-color-focus);\n outline-offset: calc(-1 * var(--wcs-select-option-border-width-focus));\n\n wcs-checkbox {\n --wcs-checkbox-border-color: var(--wcs-select-option-checkbox-color);\n }\n}\n","import { Component, Element, Event, Prop, EventEmitter, ComponentInterface, h, Host, Listen } from '@stencil/core';\nimport { SelectOptionChosedEvent } from './select-option-interface';\nimport {isEnterKey, generateUniqueId, isSpaceKey} from \"../../utils/helpers\";\n\n/**\n * The select option is a subcomponent of `wcs-select` that represents a single option in a select list.\n * \n * @cssprop --wcs-select-option-background-color-default - Default background color of the option\n * @cssprop --wcs-select-option-background-color-hover - Background color of the option when hovered\n * @cssprop --wcs-select-option-background-color-press - Background color of the option when pressed\n * @cssprop --wcs-select-option-background-color-selected - Background color of the option when selected\n * @cssprop --wcs-select-option-background-color-selected-hover - Background color of the option when selected and hovered\n * @cssprop --wcs-select-option-background-color-selected-press - Background color of the option when selected and pressed\n * @cssprop --wcs-select-option-background-color-selected-disabled - Background color of the option when selected and disabled\n * @cssprop --wcs-select-option-background-color-focus - Background color of the option when focused\n * \n * @cssprop --wcs-select-option-border-color-focus - Border color for autocomplete mode\n * @cssprop --wcs-select-option-border-width-focus - Border width for autocomplete mode\n * @cssprop --wcs-select-option-border-style-focus - Border style of the option when focused\n * \n * @cssprop --wcs-select-option-height - Height of the option\n * @cssprop --wcs-select-option-padding-horizontal - Horizontal padding of the option\n * @cssprop --wcs-select-option-padding-vertical - Vertical padding of the option\n * \n * @cssprop --wcs-select-option-text-font-size - Font size of the option text\n * @cssprop --wcs-select-option-text-font-weight - Font weight of the option text\n * @cssprop --wcs-select-option-text-color-default - Default color of the option text\n * @cssprop --wcs-select-option-text-color-focus - Color of the option text when focused\n * @cssprop --wcs-select-option-text-color-hover - Color of the option text when hovered\n * @cssprop --wcs-select-option-text-color-selected - Color of the option text when selected\n * @cssprop --wcs-select-option-text-color-disabled - Color of the option text when disabled\n * \n * @cssprop --wcs-select-option-checkbox-color - Color of the checkbox\n * \n * @cssprop --wcs-select-option-gap - Gap between the checkbox and the text\n * @cssprop --wcs-select-option-transition-duration - Duration of the transition\n */\n@Component({\n tag: 'wcs-select-option',\n styleUrl: 'select-option.scss'\n})\nexport class SelectOption implements ComponentInterface {\n @Element() private el!: HTMLWcsSelectOptionElement;\n private selectOptionId: string;\n\n /** Whether this option can be selected. */\n @Prop({ mutable: true, reflect: true }) disabled: boolean = false;\n\n /** Whether this option is selected. */\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\n \n /** This property mustn't be set by hand, it is used by the `wcs-select` component.\n * Applies a highlight design on the option for autocomplete mode.\n * @internal\n * @ignore\n */\n @Prop({ mutable: true, reflect: true }) highlighted: boolean = false;\n\n /** The option value, not what's displayed, use inner text instead. */\n @Prop() value?: any;\n\n /** Chip's displayed text color. */\n @Prop() chipColor?: string;\n\n /** Chip's background color. */\n @Prop() chipBackgroundColor?: string;\n\n /**\n * This property mustn't be set by hand, it is used by the `wcs-select` component.\n * If you want a multiple select, set `multiple` attribute on the parent select instead.\n * @internal\n * @ignore\n */\n @Prop({ reflect: true, mutable: true }) multiple: boolean = false;\n\n @Event({\n eventName: 'wcsSelectOptionClick',\n })\n // TODO: find a better name ?\n wcsSelectOptionClick: EventEmitter;\n\n componentWillLoad() {\n this.selectOptionId = generateUniqueId(this.el.tagName);\n\n if (this.value === undefined) {\n // If no value was given we use the text content instead.\n this.value = this.el.innerText || '';\n }\n }\n\n private chooseOption(event: UIEvent) {\n if (!this.disabled) {\n event.stopPropagation();\n // We select inner HTML as it's what's passed into the slot.\n const displayText = this.el.innerText;\n this.wcsSelectOptionClick.emit({\n source: this.el,\n value: this.value,\n displayText\n });\n }\n }\n\n @Listen('mouseup')\n onMouseUp(event: MouseEvent) {\n this.chooseOption(event);\n }\n\n /**\n * Handles the keydown event to update the selection.\n * @param event keyboard event\n */\n @Listen('keydown')\n handleKeydown(event: KeyboardEvent) {\n if(isEnterKey(event) || isSpaceKey(event)) {\n this.chooseOption(event);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n render() {\n return (\n \n {this.multiple &&\n \n }\n \n \n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;gFAeA,IAAIA,EAAW,WACXA,EAAWC,OAAOC,QAAU,SAASF,EAASG,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAAK,CACjDD,EAAIG,UAAUF,GACd,IAAK,IAAII,KAAKL,EAAG,GAAIH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,GAAIN,EAAEM,GAAKL,EAAEK,EACtF,CACQ,OAAON,CACf,EACI,OAAOH,EAASa,MAAMC,KAAMP,UAChC,EAEA,SAASQ,EAAOX,EAAGY,GACf,IAAIb,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAG,GAAIH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,EAC9EN,EAAEM,GAAKL,EAAEK,GACb,GAAIL,GAAK,aAAeH,OAAOiB,wBAA0B,WACrD,IAAK,IAAIb,EAAI,EAAGI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAAK,CACpE,GAAIW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,IACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,GAC9B,CACI,OAAOF,CACX,CAEA,SAASiB,EAASC,GACd,IAAIjB,SAAWkB,SAAW,YAAcA,OAAOC,SAAUC,EAAIpB,GAAKiB,EAAEjB,GAAIC,EAAI,EAC5E,GAAImB,EAAG,OAAOA,EAAEZ,KAAKS,GACrB,GAAIA,UAAYA,EAAEb,SAAW,SAAU,MAAO,CAC1CiB,KAAM,WACF,GAAIJ,GAAKhB,GAAKgB,EAAEb,OAAQa,OAAS,EACjC,MAAO,CAAEK,MAAOL,GAAKA,EAAEhB,KAAMsB,MAAON,EAChD,GAEI,MAAM,IAAIO,UAAUxB,EAAI,0BAA4B,kCACxD,CAEA,SAASyB,EAAOR,EAAGf,GACf,IAAIkB,SAAWF,SAAW,YAAcD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAIhB,EAAImB,EAAEZ,KAAKS,GAAIS,EAAGC,EAAK,GAAIf,EAC/B,IACI,OAAQV,SAAW,GAAKA,KAAM,MAAQwB,EAAIzB,EAAEoB,QAAQE,KAAMI,EAAGC,KAAKF,EAAEJ,MAC5E,CACI,MAAOO,GAASjB,EAAI,CAAEiB,MAAOA,EAAQ,CACzC,QACQ,IACI,GAAIH,IAAMA,EAAEH,OAASH,EAAInB,EAAE,WAAYmB,EAAEZ,KAAKP,EAC1D,CACA,QAAkB,GAAIW,EAAG,MAAMA,EAAEiB,KAAM,CACvC,CACI,OAAOF,CACX,CAEA,SAASG,EAAcC,EAAIC,EAAMC,GAC7B,GAAIA,GAAQ9B,UAAUC,SAAW,EAAG,IAAK,IAAIH,EAAI,EAAGiC,EAAIF,EAAK5B,OAAQuB,EAAI1B,EAAIiC,EAAGjC,IAAK,CACjF,GAAI0B,KAAQ1B,KAAK+B,GAAO,CACpB,IAAKL,EAAIA,EAAKQ,MAAM7B,UAAU8B,MAAM5B,KAAKwB,EAAM,EAAG/B,GAClD0B,EAAG1B,GAAK+B,EAAK/B,EACzB,CACA,CACI,OAAO8B,EAAGM,OAAOV,GAAMQ,MAAM7B,UAAU8B,MAAM5B,KAAKwB,GACtD,CC3EA,IAAIM,GAEJ,SAAWA,GACTA,EAAY,SAAW,eACvBA,EAAY,QAAU,cACtBA,EAAY,SAAW,eACvBA,EAAY,QAAU,cACtBA,EAAY,UAAY,gBACxBA,EAAY,aAAe,GAC3BA,EAAY,UAAY,gBACxBA,EAAY,SAAW,eACvBA,EAAY,aAAe,aAC3BA,EAAY,cAAgB,cAC5BA,EAAY,OAAS,aACrBA,EAAY,QAAU,cACtBA,EAAY,UAAY,gBACxBA,EAAY,kBAAoB,kBAChCA,EAAY,sBAAwB,sBACpCA,EAAY,iBAAmB,iBAC/BA,EAAY,eAAiB,eAC7BA,EAAY,UAAY,gBACxBA,EAAY,QAAU,cACtBA,EAAY,UAAY,eACzB,EArBD,CAqBGA,IAAgBA,EAAc,KAEjC,IAAIC,GAEJ,SAAWA,GACTA,EAAe,UAAY,WAC3BA,EAAe,YAAc,YAC9B,EAHD,CAGGA,IAAmBA,EAAiB,KC5BvC,IAAIC,EAAQF,EAAYG,MACxB,IAAIC,EAAOJ,EAAYK,KACvB,IAAIC,EAAQN,EAAYO,MACxB,IAAIC,EAAOR,EAAYS,KACvB,IAAIC,EAASV,EAAYW,OACzB,IAAIC,EAAYZ,EAAYa,UAC5B,IAAIrD,EAASwC,EAAYc,OAGzB,IAAIC,EAAMf,EAAYgB,IACtB,IAAIC,EAAOjB,EAAYkB,KACvB,IAAIC,EAASnB,EAAYoB,OAEzB,IAAIC,EAAgBrB,EAAYsB,cAChC,IAAI/B,EAAQS,EAAYuB,YACxB,IAAIC,EAASxB,EAAYyB,OACzB,IAAIC,EAAS1B,EAAY2B,OACzB,IAAIC,EAAO5B,EAAY6B,KCnBvB,IAAIC,EAAkB,IACtB,IAAIC,EAAqB,GACzB,IAAIC,EAAqB,eACzB,IAAIC,EAAiB,GCHrB,IAAIC,EAAgB,eAAyB,aCM7C,IAAIC,EAIJ,SAASC,EAAaC,EAAeC,EAAcC,GACjD,GAAIA,SAAmB,EAAG,CACxBA,EAAYT,CAChB,CAEE,IAAIU,EAAmBC,EAAaJ,EAAeE,GACnD,IAAIG,EAAkBD,EAAaH,EAAcC,GAEjD,GAAII,GAASD,GAAkB,CAC7B,GAAIC,GAASH,GAAmB,CAC9B,OAAOE,IAAoBF,CACjC,CAGI,OAAO,KACX,CAEE,GAAIG,GAASH,GAAmB,CAC9B,OAAOA,KAAoBE,CAC/B,CAEE,OAAOnF,OAAOqF,KAAKJ,GAAkBK,OAAM,SAAUC,GACnD,KAAMA,KAAOJ,GAAkB,CAC7B,OAAO,KACb,CAEI,OAAON,EAAaI,EAAiBM,GAAMJ,EAAgBI,GAC/D,GACA,CACA,SAASC,EAAaC,GACpB,IACE,OAAOL,GAASK,WAAiBA,IAAU,SAAW,GAAGjD,OAAOiD,GAASA,EAAMC,IACnF,CAAI,MAAO3E,GACP,MAAM,IAAI4E,MAAM,uEACpB,CACA,CAQA,SAASC,EAAYC,EAASb,GAC5B,IACE,GAAIc,GAAQD,GAAU,CACpB,OAAOA,CACb,CAEI,OAAOA,EAAQE,WAAWC,MAAMhB,EACpC,CAAI,MAAOjE,GACP,MAAM,IAAI4E,MAAM,IAAInD,OAAOqD,EAAS,gCACxC,CACA,CACA,SAASI,EAAYC,GACnB,cAAcA,IAAU,UAAY,UAAWA,GAAS,YAAaA,GAAS,UAAWA,GAAS,WAAYA,CAChH,CACA,SAAShB,EAAaiB,EAAYnB,GAChC,GAAIiB,EAAYE,GAAa,CAC3B,OAAOA,EAAW1E,KACtB,CAEE,GAAIqE,GAAQK,GAAa,CACvB,OAAOC,EAAiBD,EAC5B,CAEE,UAAWA,IAAe,SAAU,CAClC,OAAOA,CACX,CAEE,IAAIE,EAAYT,EAAYO,EAAYnB,GACxC,OAAOoB,EAAiBC,EAC1B,CACA,SAASD,EAAiBC,GACxB,GAAIA,EAAU9F,SAAW,EAAG,CAC1B,OAAO8F,EAAU,EACrB,CAEE,IAAI5E,EAAQ,GACZ,IAAI6E,EAAS7E,EAEb,IAAK,IAAIrB,EAAI,EAAGA,EAAIiG,EAAU9F,OAAS,EAAGH,IAAK,CAC7C,GAAIA,IAAMiG,EAAU9F,OAAS,EAAG,CAC9B+F,EAAOD,EAAUjG,IAAMiG,EAAUjG,EAAI,EAC3C,KAAW,CACLkG,EAAOD,EAAUjG,IAAM,GACvBkG,EAASA,EAAOD,EAAUjG,GAChC,CACA,CAEE,OAAOqB,CACT,CACA,SAAS8E,EAAUC,EAAYC,GAC7B,IAAIC,EAAS,GACb,IAAIC,EAAiB3G,OAAOqF,KAAKmB,GAEjC,IAAK,IAAIpG,EAAI,EAAGA,EAAIuG,EAAepG,OAAQH,IAAK,CAC9C,IAAImF,EAAMoB,EAAevG,GACzBsG,EAAOnB,GAAOkB,EAASD,EAAWjB,GAAMA,EAAKiB,EAAYpG,EAC7D,CAEE,OAAOsG,CACT,CACA,SAASE,GAAgBJ,EAAYC,EAAUI,GAC7C,IAAIC,EAAKlC,EAET,IAAI8B,EAAS,GAEb,IACE,IAAK,IAAIK,EAAK5F,EAASnB,OAAOqF,KAAKmB,IAAcQ,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CACzF,IAAI+D,EAAMyB,EAAGvF,MACb,IAAIwF,EAAOT,EAAWjB,GAEtB,IAAKsB,EAAUI,GAAO,CACpB,QACR,CAEMP,EAAOnB,GAAOkB,EAASQ,EAAM1B,EAAKiB,EACxC,CACA,CAAI,MAAOU,GACPJ,EAAM,CACJ9E,MAAOkF,EAEb,CAAG,QACC,IACE,GAAIF,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACtD,CAAK,QACC,GAAID,EAAK,MAAMA,EAAI9E,KACzB,CACA,CAEE,OAAO0E,CACT,CAMA,IAAIU,GAAO,SAAUC,GACnB,OAAO,SAAUC,GACf,IAAIC,EAAK3C,EAET,IAAI8B,EAASY,EAEb,IACE,IAAK,IAAIE,EAAUrG,EAASkG,GAAQI,EAAYD,EAAQhG,QAASiG,EAAU/F,KAAM+F,EAAYD,EAAQhG,OAAQ,CAC3G,IAAIkG,EAAOD,EAAUhG,MACrBiF,EAASA,EAAOgB,EACxB,CACA,CAAM,MAAOC,GACPJ,EAAM,CACJvF,MAAO2F,EAEf,CAAK,QACC,IACE,GAAIF,IAAcA,EAAU/F,OAASkD,EAAK4C,EAAQL,QAASvC,EAAGjE,KAAK6G,EAC3E,CAAO,QACC,GAAID,EAAK,MAAMA,EAAIvF,KAC3B,CACA,CAEI,OAAO0E,CACX,CACA,EAMA,SAASkB,GAAWP,EAAOQ,GACzB,OAAO,SAAUP,GACf,IAAIQ,EAAKlD,EAET,IAAI8B,EAASY,EAEb,IACE,IAAK,IAAIS,EAAU5G,EAASkG,GAAQW,EAAYD,EAAQvG,QAASwG,EAAUtG,KAAMsG,EAAYD,EAAQvG,OAAQ,CAC3G,IAAIkG,EAAOM,EAAUvG,MACrBiF,EAASA,EAAOmB,GAAcH,EACtC,CACA,CAAM,MAAOO,GACPH,EAAM,CACJ9F,MAAOiG,EAEf,CAAK,QACC,IACE,GAAID,IAAcA,EAAUtG,OAASkD,EAAKmD,EAAQZ,QAASvC,EAAGjE,KAAKoH,EAC3E,CAAO,QACC,GAAID,EAAK,MAAMA,EAAI9F,KAC3B,CACA,CAEI,OAAO0E,CACX,CACA,CACA,SAASwB,GAAa/B,GACpB,IAAKA,EAAY,CACf,MAAO,CAAC,GACZ,CAEE,GAAIf,GAASe,GAAa,CACxB,MAAO,CAAC,CAACA,GACb,CAEE,IAAIO,EAASyB,GAAQnI,OAAOqF,KAAKc,GAAYiC,KAAI,SAAU7C,GACzD,IAAI8C,EAAgBlC,EAAWZ,GAE/B,UAAW8C,IAAkB,YAAcA,IAAkBrI,OAAOqF,KAAKgD,GAAe9H,QAAS,CAC/F,MAAO,CAAC,CAACgF,GACf,CAEI,OAAO2C,GAAa/B,EAAWZ,IAAM6C,KAAI,SAAUE,GACjD,MAAO,CAAC/C,GAAK/C,OAAO8F,EAC1B,GACA,KACE,OAAO5B,CACT,CAyCA,SAASyB,GAAQI,GACf,IAAI3D,EAEJ,OAAQA,EAAK,IAAIpC,OAAO5B,MAAMgE,EAAI3C,EAAc,GAAIL,EAAO2G,GAAQ,OACrE,CACA,SAASC,GAAc/G,GACrB,GAAIqE,GAAQrE,GAAQ,CAClB,OAAOA,CACX,CAEE,MAAO,CAACA,EACV,CACA,SAASgH,GAAQhH,GACf,GAAIA,IAAUiH,UAAW,CACvB,MAAO,EACX,CAEE,OAAOF,GAAc/G,EACvB,CACA,SAASkH,GAAWC,EAAQC,EAASC,GACnC,IAAIC,EAAKnE,EAET,GAAIoE,GAAWJ,GAAS,CACtB,OAAOA,EAAOC,EAASC,EAAOG,KAClC,CAEE,IAAIvC,EAAS,GAEb,IACE,IAAK,IAAIK,EAAK5F,EAASnB,OAAOqF,KAAKuD,IAAU5B,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CACrF,IAAI+D,EAAMyB,EAAGvF,MACb,IAAIyH,EAAYN,EAAOrD,GAEvB,GAAIyD,GAAWE,GAAY,CACzBxC,EAAOnB,GAAO2D,EAAUL,EAASC,EAAOG,KAChD,KAAa,CACLvC,EAAOnB,GAAO2D,CACtB,CACA,CACA,CAAI,MAAOC,GACPJ,EAAM,CACJ/G,MAAOmH,EAEb,CAAG,QACC,IACE,GAAInC,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACtD,CAAK,QACC,GAAIgC,EAAK,MAAMA,EAAI/G,KACzB,CACA,CAEE,OAAO0E,CACT,CACA,SAAS0C,GAAeC,GACtB,MAAO,kBAAkBC,KAAKD,EAChC,CACA,SAASE,GAAc9H,GACrB,GAAIA,aAAiB+H,QAAS,CAC5B,OAAO,IACX,CAGE,GAAI/H,IAAU,OAASuH,GAAWvH,WAAiBA,IAAU,WAAauH,GAAWvH,EAAMgI,MAAO,CAChG,OAAO,IACX,CAEE,OAAO,KACT,CACA,SAASC,GAAWjI,GAClB,OAAOA,IAAU,aAAeA,IAAU,UAAY,eAAgBA,UAAgBA,EAAMkI,aAAe,UAC7G,CACA,SAASC,GAAUC,EAAOhD,GACxB,IAAIiD,EAAKlF,EAET,IAAImC,EAAKnF,EAAO,CAAC,GAAI,IAAK,GACtBmI,EAAShD,EAAG,GACZiD,EAAQjD,EAAG,GAEf,IACE,IAAK,IAAIkD,EAAU9I,EAAS0I,GAAQK,EAAYD,EAAQzI,QAAS0I,EAAUxI,KAAMwI,EAAYD,EAAQzI,OAAQ,CAC3G,IAAIyF,EAAOiD,EAAUzI,MAErB,GAAIoF,EAAUI,GAAO,CACnB8C,EAAOhI,KAAKkF,EACpB,KAAa,CACL+C,EAAMjI,KAAKkF,EACnB,CACA,CACA,CAAI,MAAOkD,GACPL,EAAM,CACJ9H,MAAOmI,EAEb,CAAG,QACC,IACE,GAAID,IAAcA,EAAUxI,OAASkD,EAAKqF,EAAQ9C,QAASvC,EAAGjE,KAAKsJ,EACzE,CAAK,QACC,GAAIH,EAAK,MAAMA,EAAI9H,KACzB,CACA,CAEE,MAAO,CAAC+H,EAAQC,EAClB,CACA,SAASI,GAAoBC,EAAMlE,GACjC,OAAOI,EAAU8D,EAAKC,QAAQ,SAAUC,EAAShF,GAC/C,IAAKgF,EAAS,CACZ,OAAO7B,SACb,CAEI,IAAIL,GAAiBjD,GAASe,GAAcuC,UAAYvC,EAAWZ,MAAUgF,EAAUA,EAAQC,QAAU9B,WAEzG,IAAKL,EAAe,CAClB,OAAOK,SACb,CAEI,MAAO,CACL8B,QAASnC,EACTiC,OAAQF,GAAoBG,EAASlC,GAE3C,GACA,CACA,SAASoC,GAAmBJ,EAAMlE,GAChC,MAAO,CACLqE,QAASrE,EACTmE,OAAQF,GAAoBC,EAAMlE,GAEtC,CACA,SAASuE,GAAc7B,EAASC,EAAQ6B,EAAezE,GAKrD,IAAI0E,EAAiB/B,EAAU8B,EAAcE,QAAO,SAAUC,EAAKC,GACjE,IAAIC,EAAKpG,EAET,IAAIqG,EAAaF,EAAaE,WAC9B,IAAIC,EAAO,CACThF,MAAOA,EACPiF,OAAQJ,EACRjC,OAAQA,GAEV,IAAIsC,EAAgB,GAEpB,GAAIpC,GAAWiC,GAAa,CAC1BG,EAAgBH,EAAWH,EAAKhC,EAAOG,KAAMiC,EACnD,KAAW,CACL,IACE,IAAK,IAAInE,EAAK5F,EAASnB,OAAOqF,KAAK4F,IAAcjE,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CACzF,IAAI+D,EAAMyB,EAAGvF,MACb,IAAI4J,EAAiBJ,EAAW1F,GAChC6F,EAAc7F,GAAOyD,GAAWqC,GAAkBA,EAAeP,EAAKhC,EAAOG,KAAMiC,GAAQG,CACrG,CACA,CAAQ,MAAOC,GACPN,EAAM,CACJhJ,MAAOsJ,EAEjB,CAAO,QACC,IACE,GAAItE,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EAC1D,CAAS,QACC,GAAIiE,EAAK,MAAMA,EAAIhJ,KAC7B,CACA,CACA,CAEI,OAAOhC,OAAOC,OAAO,GAAI6K,EAAKM,EAClC,GAAKvC,GAAWA,EACd,OAAO+B,CACT,CAEA,IAAIW,GAAO,WAAY,EAsBvB,SAASzF,GAAQrE,GACf,OAAOa,MAAMwD,QAAQrE,EACvB,CAEA,SAASuH,GAAWvH,GAClB,cAAcA,IAAU,UAC1B,CACA,SAAS2D,GAAS3D,GAChB,cAAcA,IAAU,QAC1B,CACA,SAAS+J,GAAQC,EAAWC,GAC1B,IAAKD,EAAW,CACd,OAAO/C,SACX,CAEE,GAAItD,GAASqG,GAAY,CACvB,MAAO,CACL/F,KAAMjB,EACNkH,KAAMF,EACN5E,UAAW6E,EAAWA,EAASD,GAAa/C,UAElD,CAEE,GAAIM,GAAWyC,GAAY,CACzB,MAAO,CACL/F,KAAMjB,EACNkH,KAAMF,EAAUE,KAChB9E,UAAW4E,EAEjB,CAEE,OAAOA,CACT,CACA,SAASG,GAAanK,GACpB,IACE,MAAO,cAAeA,GAASuH,GAAWvH,EAAMoK,UACpD,CAAI,MAAO9K,GACP,OAAO,KACX,CACA,CACA,IAAI+K,GAAgC,WAClC,cAAczK,SAAW,YAAcA,OAAO0K,YAAc,cAC9D,CAFoC,GAIdnH,EAAK,GAAIA,EAAGkH,IAAoB,WACpD,OAAOjL,IACT,EAAG+D,EAAGvD,OAAO0K,YAAc,WACzB,OAAOlL,IACT,EAAG+D,EACH,SAASoH,GAAUvK,GACjB,QAASA,GAAS,iBAAkBA,CACtC,CACA,SAASwK,GAAQxK,GACf,QAASA,UAAgBA,EAAMwB,OAAS,UAC1C,CAQA,SAASiJ,GAAczG,EAAO0G,GAE5B,GAAI/G,GAASK,WAAiBA,IAAU,SAAU,CAChD,OAAO1F,EAAS,CACd2F,KAAMD,GACL0G,EACP,CAEE,OAAO1G,CACT,CACA,SAAS2G,GAAa3G,EAAO4G,GAC3B,IAAKjH,GAASK,IAAU,WAAYA,GAASA,EAAM6G,SAAW,QAAS,CACrE,OAAO7G,CACX,CAEE,IAAI8G,EAAcL,GAAczG,GAChC,OAAO1F,EAAS,CACd4L,KAAMY,EAAY7G,KAClBuD,KAAMsD,EACND,OAAQ,QACR5G,KAAM,YACL2G,EACL,CACA,SAASG,GAAwB/G,EAAOgH,GACtC,IAAIC,EAAclE,GAAciE,GAAYrE,KAAI,SAAUuE,GACxD,UAAWA,IAAmB,oBAAsBA,IAAmB,UAAYX,GAAUW,GAAiB,CAC5G,MAAO,CACLC,OAAQD,EACRlH,MAAOA,EAEf,CAEI,OAAO1F,EAASA,EAAS,GAAI4M,GAAiB,CAC5ClH,MAAOA,GAEb,IACE,OAAOiH,CACT,CACA,SAASG,GAAgBD,GACvB,GAAIA,IAAWlE,WAAakE,IAAWlI,EAAgB,CACrD,OAAOgE,SACX,CAEE,OAAOD,GAAQmE,EACjB,CAeA,SAASE,GAAcC,EAASC,EAAOnE,EAASC,EAAQ5C,GACtD,IAAI+G,EAASF,EAAQG,QAAQD,OAC7B,IAAIE,EAAY,CACdjH,MAAOA,EACPkH,KAAMJ,EACNlE,OAAQA,GAGV,GAAIkE,EAAMtH,OAASjB,EAAoB,CACrC,QAASwI,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOD,EAAMrB,QAAUqB,EAAMnG,WAAWgC,EAASC,EAAOG,KAAMkE,EAC3H,CAEE,IAAIE,EAASJ,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOD,EAAMtH,MAE1E,IAAK2H,EAAQ,CACX,MAAM,IAAI1H,MAAM,UAAUnD,OAAOwK,EAAMtH,KAAM,qCAAqClD,OAAOuK,EAAQO,GAAI,MACzG,CAEE,OAAOD,EAAOxE,EAASC,EAAOG,KAAMkE,EACtC,CACA,SAASI,GAAeC,GACtB,UAAWA,IAAQ,SAAU,CAC3B,MAAO,CACL9H,KAAM8H,EAEZ,CAEE,OAAOA,CACT,CACA,SAASC,GAAWC,EAAaC,EAAcC,GAC7C,IAAIC,EAAO,WAAY,EAEvB,IAAIC,SAAoBJ,IAAgB,SACxC,IAAIK,EAAOD,EAAaJ,EAAc,KACtC,MAAO,CACLlM,OAAQsM,EAAaJ,EAAYlM,KAAOkM,IAAgBG,GAAMG,KAAKD,GACnE/L,QAAS8L,EAAaJ,EAAY1L,MAAQ2L,IAAiBE,GAAMG,KAAKD,GACtEE,WAAYH,EAAaJ,EAAYO,SAAWL,IAAsBC,GAAMG,KAAKD,GAErF,CACA,SAASG,GAAeC,EAAaC,GACnC,MAAO,GAAG5L,OAAO2L,EAAa,gBAAgB3L,OAAO4L,EAAO,IAC9D,CACA,SAASC,GAAiBlD,GACxB,OAAQA,EAAOzF,OAAS3C,GAASoI,EAAOzF,OAASzC,GAAQkI,EAAOjJ,KAAOQ,EAAe4L,kBAAoBnD,EAAOoD,QAAU,QAC7H,CCxmBA,IAAIC,GAAyBpC,GAAa,CACxC1G,KAAMhC,IAER,SAAS+K,GAAkBC,EAAYC,GACrC,OAAOA,EAAoBA,EAAkBD,IAAehG,UAAYA,SAC1E,CACA,SAASkG,GAAezD,EAAQwD,GAC9B,IAAIE,EAEJ,GAAIzJ,GAAS+F,WAAkBA,IAAW,SAAU,CAClD,IAAI2D,EAAOL,GAAkBtD,EAAQwD,GAErC,GAAI3F,GAAW8F,GAAO,CACpBD,EAAe,CACbnJ,KAAMyF,EACN2D,KAAMA,EAEd,MAAW,GAAIA,EAAM,CACfD,EAAeC,CACrB,KAAW,CACLD,EAAe,CACbnJ,KAAMyF,EACN2D,KAAMpG,UAEd,CACA,MAAS,GAAIM,GAAWmC,GAAS,CAC7B0D,EAAe,CAEbnJ,KAAMyF,EAAOQ,MAAQR,EAAOpF,WAC5B+I,KAAM3D,EAEZ,KAAS,CACL,IAAI2D,EAAOL,GAAkBtD,EAAOzF,KAAMiJ,GAE1C,GAAI3F,GAAW8F,GAAO,CACpBD,EAAe9O,EAASA,EAAS,GAAIoL,GAAS,CAC5C2D,KAAMA,GAEd,MAAW,GAAIA,EAAM,CACf,IAAIJ,EAAaI,EAAKpJ,MAAQyF,EAAOzF,KACrCmJ,EAAe9O,EAASA,EAASA,EAAS,GAAI+O,GAAO3D,GAAS,CAC5DzF,KAAMgJ,GAEd,KAAW,CACLG,EAAe1D,CACrB,CACA,CAEE,OAAO0D,CACT,CACA,IAAIE,GAAkB,SAAU5D,EAAQwD,GACtC,IAAKxD,EAAQ,CACX,MAAO,EACX,CAEE,IAAI6D,EAAUlJ,GAAQqF,GAAUA,EAAS,CAACA,GAC1C,OAAO6D,EAAQ5G,KAAI,SAAU6G,GAC3B,OAAOL,GAAeK,EAAWN,EACrC,GACA,EACA,SAASO,GAAqB/D,GAC5B,IAAI0D,EAAeD,GAAezD,GAClC,OAAOpL,EAASA,EAAS,CACvBuN,GAAIlI,GAAS+F,GAAUA,EAAS0D,EAAavB,IAC5CuB,GAAe,CAChBnJ,KAAMmJ,EAAanJ,MAEvB,CAQA,SAAS3C,GAAM0C,EAAOyH,GACpB,MAAO,CACLxH,KAAMyJ,EACN1J,aAAcA,IAAU,WAAaA,EAAQyG,GAAczG,GAC3D8I,MAAOrB,EAAUA,EAAQqB,MAAQ7F,UACjC4E,GAAIJ,IAAY,MAAQA,SAAiB,OAAS,EAAIA,EAAQI,GAElE,CACA,SAAS8B,GAAajE,EAAQkE,EAAKvG,EAAQwG,GACzC,IAAIpE,EAAO,CACTpC,OAAQA,GAEV,IAAIyG,EAAgBnD,GAAapD,GAAWmC,EAAO1F,OAAS0F,EAAO1F,MAAM4J,EAAKvG,EAAOG,KAAMiC,GAAQC,EAAO1F,OAC1G,IAAI+J,EAEJ,GAAIpK,GAAS+F,EAAOoD,OAAQ,CAC1B,IAAIkB,EAAcH,GAAaA,EAAUnE,EAAOoD,OAChDiB,EAAgBxG,GAAWyG,GAAeA,EAAYJ,EAAKvG,EAAOG,KAAMiC,GAAQuE,CACpF,KAAS,CACLD,EAAgBxG,GAAWmC,EAAOoD,OAASpD,EAAOoD,MAAMc,EAAKvG,EAAOG,KAAMiC,GAAQC,EAAOoD,KAC7F,CAEE,OAAOxO,EAASA,EAAS,GAAIoL,GAAS,CACpCzF,KAAMyJ,EACNrG,OAAQyG,EACRhB,MAAOiB,GAEX,CAcA,SAASvM,GAAKwC,EAAOyH,GACnB,MAAO,CACLhL,GAAIgL,EAAUA,EAAQhL,GAAKwG,UAC3BhD,KAAMgK,EACNjK,MAAOuD,GAAWvD,GAASA,EAAQyG,GAAczG,GACjD8I,MAAOrB,EAAUA,EAAQqB,MAAQ7F,UAGjC4E,GAAIJ,GAAWA,EAAQI,KAAO5E,UAAYwE,EAAQI,GAAKtE,GAAWvD,GAASA,EAAMkG,KAAOnG,EAAaC,GAEzG,CACA,SAASkK,GAAYxE,EAAQkE,EAAKvG,EAAQwG,GACxC,IAAIpE,EAAO,CACTpC,OAAQA,GAGV,IAAIyG,EAAgBnD,GAAapD,GAAWmC,EAAO1F,OAAS0F,EAAO1F,MAAM4J,EAAKvG,EAAOG,KAAMiC,GAAQC,EAAO1F,OAC1G,IAAI+J,EAEJ,GAAIpK,GAAS+F,EAAOoD,OAAQ,CAC1B,IAAIkB,EAAcH,GAAaA,EAAUnE,EAAOoD,OAChDiB,EAAgBxG,GAAWyG,GAAeA,EAAYJ,EAAKvG,EAAOG,KAAMiC,GAAQuE,CACpF,KAAS,CACLD,EAAgBxG,GAAWmC,EAAOoD,OAASpD,EAAOoD,MAAMc,EAAKvG,EAAOG,KAAMiC,GAAQC,EAAOoD,KAC7F,CAEE,IAAIqB,EAAiB5G,GAAWmC,EAAOjJ,IAAMiJ,EAAOjJ,GAAGmN,EAAKvG,EAAOG,KAAMiC,GAAQC,EAAOjJ,GACxF,OAAOnC,EAASA,EAAS,GAAIoL,GAAS,CACpCjJ,GAAI0N,EACJ9G,OAAQyG,EACR9J,MAAO8J,EAActG,KACrBsF,MAAOiB,GAEX,CA6EA,IAAIK,GAAa,SAAU1E,EAAQkE,EAAKvG,GACtC,OAAO/I,EAASA,EAAS,GAAIoL,GAAS,CACpC1J,MAAO2D,GAAS+F,EAAO2E,MAAQ3E,EAAO2E,KAAO3E,EAAO2E,KAAKT,EAAKvG,EAAOG,KAAM,CACzEH,OAAQA,KAGd,EASA,IAAI3F,GAAS,SAAU4M,GACrB,MAAO,CACLrK,KAAMsK,EACND,OAAQA,EAEZ,EAOA,SAASpN,GAAMsN,GACb,IAAIC,EAAchB,GAAqBe,GACvC,MAAO,CACLvK,KAAMjD,EAAYG,MAClBqN,SAAUC,EACVpB,KAAMpG,UAEV,CAOA,SAAS7F,GAAKsN,GACZ,IAAIF,EAAWjH,GAAWmH,GAAYA,EAAWjB,GAAqBiB,GACtE,MAAO,CACLzK,KAAMjD,EAAYK,KAClBmN,SAAUA,EACVnB,KAAMpG,UAEV,CACA,SAAS0H,GAAYjF,EAAQtC,EAASC,GACpC,IAAIuH,EAAmBrH,GAAWmC,EAAO8E,UAAY9E,EAAO8E,SAASpH,EAASC,EAAOG,MAAQkC,EAAO8E,SACpG,IAAIK,SAA0BD,IAAqB,SAAW,CAC5D/C,GAAI+C,GACFA,EACJ,IAAIxB,EAAe,CACjBnJ,KAAMjD,EAAYK,KAClBmN,SAAUK,GAEZ,OAAOzB,CACT,CAwBA,SAAS0B,GAAMC,EAAUlD,GACvB,IAAImD,EAAWnD,EAAK,IAAI9K,OAAO8K,GAAM,GACrC,MAAO,GAAG9K,OAAOC,EAAYiO,MAAO,KAAKlO,OAAOgO,EAAU,KAAKhO,OAAOiO,EACxE,CASA,SAAS/O,GAAK4L,EAAIrE,GAChB,IAAIvD,EAAO,GAAGlD,OAAOC,EAAYkO,UAAW,KAAKnO,OAAO8K,GACxD,IAAIf,EAAc,CAChB7G,KAAMA,EACNuD,KAAMA,GAGRsD,EAAYxG,SAAW,WACrB,OAAOL,CACX,EAEE,OAAO6G,CACT,CAWA,SAASqE,GAAWtD,EAAIrE,GACtB,IAAIvD,EAAO,GAAGlD,OAAOC,EAAYoO,WAAY,KAAKrO,OAAO8K,GACzD,IAAIf,EAAc,CAChB7G,KAAMA,EACNuD,KAAMA,GAGRsD,EAAYxG,SAAW,WACrB,OAAOL,CACX,EAEE,OAAO6G,CACT,CACA,SAASvK,GAAMsL,EAAIrE,GACjB,IAAIvD,EAAO,GAAGlD,OAAOC,EAAYsB,cAAe,KAAKvB,OAAO8K,GAC5D,IAAIf,EAAc,CAChB7G,KAAMA,EACNuD,KAAMA,GAGRsD,EAAYxG,SAAW,WACrB,OAAOL,CACX,EAEE,OAAO6G,CACT,CAkEA,IAAIuE,GAAe,SAAUC,GAC3B,IAAIjK,EAAKlC,EAET,IAAI+F,EAAgB,GAEpB,IACE,IAAK,IAAIqG,EAAiB7P,EAAS4P,GAAeE,EAAmBD,EAAexP,QAASyP,EAAiBvP,KAAMuP,EAAmBD,EAAexP,OAAQ,CAC5J,IAAI0P,EAAQD,EAAiBxP,MAC7B,IAAIrB,EAAI,EAER,MAAOA,EAAI8Q,EAAMlC,QAAQzO,OAAQ,CAC/B,GAAI2Q,EAAMlC,QAAQ5O,GAAGsF,OAASyL,EAAU,CACtCxG,EAAc5I,KAAKmP,EAAMlC,QAAQ5O,IACjC8Q,EAAMlC,QAAQoC,OAAOhR,EAAG,GACxB,QACV,CAEQA,GACR,CACA,CACA,CAAI,MAAO8G,GACPJ,EAAM,CACJ9E,MAAOkF,EAEb,CAAG,QACC,IACE,GAAI+J,IAAqBA,EAAiBvP,OAASkD,EAAKoM,EAAe7J,QAASvC,EAAGjE,KAAKqQ,EAC9F,CAAK,QACC,GAAIlK,EAAK,MAAMA,EAAI9E,KACzB,CACA,CAEE,OAAO2I,CACT,EAEA,SAAS0G,GAAetE,EAASuE,EAAcC,EAAgBzI,EAAQiI,EAAcS,EAAiBC,GACpG,GAAIA,SAA6B,EAAG,CAClCA,EAAsB,KAC1B,CAEE,IAAI9G,EAAgB8G,EAAsB,GAAKX,GAAaC,GAC5D,IAAInG,EAAiBD,EAAcpK,OAASmK,GAAc6G,EAAgBzI,EAAQ6B,EAAe2G,GAAgBC,EACjH,IAAIG,EAAoBD,EAAsB,CAACF,GAAkB7I,UACjE,IAAIiJ,EAAqB,GAEzB,SAASC,EAAaC,EAAWhD,GAC/B,IAAIjK,EAEJ,OAAQiK,EAAanJ,MACnB,KAAKyJ,EACH,CACE,IAAI2C,EAAe1C,GAAaP,EAAcjE,EAAgB9B,EAAQiE,EAAQG,QAAQ6E,QAEtF,GAAIP,UAA0BM,EAAavD,QAAU,SAAU,CAC7DiD,EAAgBM,EAAclH,EAAgB9B,EAC1D,CAEU,OAAOgJ,CACjB,CAEM,KAAKpC,EACH,IAAIsC,EAAarC,GAAYd,EAAcjE,EAAgB9B,EAAQiE,EAAQG,QAAQ6E,QASnF,GAAIP,GAAmBQ,EAAW9P,KAAOQ,EAAe4L,SAAU,CAChE,GAAIuD,IAAc,QAAS,CACzBF,EAAmB5P,KAAKiQ,EACpC,KAAiB,CACLR,EAAgBQ,EAAYpH,EAAgB9B,EACxD,CACA,CAEQ,OAAOkJ,EAET,KAAKC,EACH,CACE,IAAIC,EAAWrC,GAAWhB,EAAcjE,EAAgB9B,GACxD0I,IAAoB,MAAQA,SAAyB,OAAS,EAAIA,EAAgBU,EAAUtH,EAAgB9B,GAC5G,OAAOoJ,CACjB,CAEM,KAAKC,EACH,CACE,IAAIC,EAAevD,EACnB,IAAIwD,GAAkBzN,EAAKwN,EAAaE,MAAMC,MAAK,SAAU9G,GAC3D,IAAIuB,EAAQxB,GAAQC,EAAU2B,KAAML,EAAQG,QAAQD,QACpD,OAAQD,GAASF,GAAcC,EAASC,EAAOpC,EAAgB9B,GAAS0I,EAAkBF,EAAe5I,UACrH,OAAkB,MAAQ9D,SAAY,OAAS,EAAIA,EAAGoK,QAE5C,IAAKqD,EAAgB,CACnB,MAAO,EACnB,CAEU,IAAItL,EAAKnF,EAAOyP,GAAetE,EAASuE,EAAc1G,EAAgB9B,EAAQ,CAAC,CAC7EpD,KAAMmM,EACN7C,QAASD,GAAgBtG,GAAQ4J,GAAiBtF,EAAQG,QAAQ8B,WAChEwC,EAAiBC,GAAsB,GACvCe,EAA4BzL,EAAG,GAC/B0L,EAA4B1L,EAAG,GAEnC6D,EAAiB6H,EACjBf,IAAsB,MAAQA,SAA2B,OAAS,EAAIA,EAAkB3P,KAAK6I,GAC7F,OAAO4H,CACjB,CAEM,KAAKE,EACH,CACE,IAAIL,EAAiBxD,EAAa8D,IAAI/H,EAAgB9B,EAAOG,MAE7D,IAAKoJ,EAAgB,CACnB,MAAO,EACnB,CAEU,IAAIrL,EAAKpF,EAAOyP,GAAetE,EAASuE,EAAc1G,EAAgB9B,EAAQ,CAAC,CAC7EpD,KAAMmM,EACN7C,QAASD,GAAgBtG,GAAQ4J,GAAiBtF,EAAQG,QAAQ8B,WAChEwC,EAAiBC,GAAsB,GACvCmB,EAA0B5L,EAAG,GAC7B6L,EAAkB7L,EAAG,GAEzB4D,EAAiBiI,EACjBnB,IAAsB,MAAQA,SAA2B,OAAS,EAAIA,EAAkB3P,KAAK6I,GAC7F,OAAOgI,CACjB,CAEM,KAAKE,EACH,CACE,IAAIZ,EAAW9B,GAAYvB,EAAcjE,EAAgB9B,GACzD0I,IAAoB,MAAQA,SAAyB,OAAS,EAAIA,EAAgBU,EAAUX,EAAgBzI,GAC5G,OAAOoJ,CACjB,CAEM,KAAKf,EACH,CACEvG,EAAiBF,GAAcE,EAAgB9B,EAAQ,CAAC+F,IAAgB2C,EAAkBF,EAAe5I,WACzGgJ,IAAsB,MAAQA,SAA2B,OAAS,EAAIA,EAAkB3P,KAAK6I,GAC7F,KACV,CAEM,QACE,IAAImI,EAAuBnE,GAAeC,EAAc9B,EAAQG,QAAQ8B,SACxE,IAAIgE,EAASD,EAAqBjE,KAElC,GAAI0C,EAAiB,CACnBA,EAAgBuB,EAAsBnI,EAAgB9B,EAChE,MAAe,GAAIkK,GAAUtB,EAAmB,CACtC,IAAIuB,EAAiBvB,EAAkBnR,OAAS,EAEhD,IAAI2S,EAAUnT,EAASA,EAAS,GAAIgT,GAAuB,CACzDjE,KAAM,SAAUqE,GACd,IAAIC,EAAO,GAEX,IAAK,IAAIC,EAAK,EAAGA,EAAK/S,UAAUC,OAAQ8S,IAAM,CAC5CD,EAAKC,EAAK,GAAK/S,UAAU+S,EACzC,CAEcL,EAAOpS,WAAW,EAAGqB,EAAc,CAACyP,EAAkBuB,IAAkBrR,EAAOwR,GAAO,OACpG,IAGUL,EAAuBG,CACjC,CAEQ,OAAOH,EAEf,CAEE,SAASO,EAAapC,GACpB,IAAI3J,EAAK3C,EAET,IAAI2O,EAAkB,GAEtB,IACE,IAAK,IAAIxM,EAAK5F,EAAS+P,EAAMlC,SAAUhI,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CAC/E,IAAI2J,EAASnE,EAAGvF,MAChB,IAAIyQ,EAAWN,EAAaV,EAAMxL,KAAMyF,GAExC,GAAI+G,EAAU,CACZqB,EAAkBA,EAAgB/Q,OAAO0P,EACnD,CACA,CACA,CAAM,MAAOvK,GACPJ,EAAM,CACJvF,MAAO2F,EAEf,CAAK,QACC,IACE,GAAIX,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACxD,CAAO,QACC,GAAIQ,EAAK,MAAMA,EAAIvF,KAC3B,CACA,CAEI2P,EAAmB6B,SAAQ,SAAUrI,GACnCqG,EAAgBrG,EAAQP,EAAgB9B,EAC9C,IACI6I,EAAmBpR,OAAS,EAC5B,OAAOgT,CACX,CAEE,IAAIA,EAAkBpL,GAAQ4I,EAAa3I,IAAIkL,IAC/C,MAAO,CAACC,EAAiB3I,EAC3B,CCtoBA,IAAI6I,GAAU,SAAUC,EAASC,GAE/B,IAAIjN,EAASiN,EAAGD,GAEhB,OAAOhN,CACT,ECNA,SAASkN,GAAgBtG,GACvB,IAAI1I,EAEJ,OAAOA,EAAK,CACV0I,GAAIA,EACJrK,KAAM,WACJ,YAAY,CAClB,EACI4I,UAAW,WACT,MAAO,CACLgI,YAAa,WACX,YAAY,CACtB,EAEA,EACIC,YAAa,WACX,OAAOpL,SACb,EACIqL,OAAQ,WACN,MAAO,CACLzG,GAAIA,EAEZ,GACK1I,EAAGkH,IAAoB,WACxB,OAAOjL,IACX,EAAK+D,CACL,CAQA,SAASoP,GAAqBC,EAAkBlH,EAASlE,EAASC,GAChE,IAAIlE,EAEJ,IAAIsP,EAAY3G,GAAe0G,EAAiBzG,KAChD,IAAI2G,GAAkBvP,EAAKmI,IAAY,MAAQA,SAAiB,OAAS,EAAIA,EAAQG,QAAQkH,YAAc,MAAQxP,SAAY,OAAS,EAAIA,EAAGsP,EAAUxO,MACzJ,IAAI2O,EAAeJ,EAAiBhL,KAAON,GAAWsL,EAAiBhL,KAAMJ,EAASC,GAAUJ,UAChG,IAAI4L,EAAYH,EAAiBI,GAAoBJ,EAAgBF,EAAiB3G,GAAI+G,GAAgBT,GAAgBK,EAAiB3G,IAE3IgH,EAAUpJ,KAAO+I,EACjB,OAAOK,CACT,CACA,SAASC,GAAoBC,EAAQlH,EAAIrE,GACvC,IAAIqL,EAAYV,GAAgBtG,GAEhCgH,EAAUG,SAAW,KAErB,GAAIzI,GAAUwI,GAAS,CAErB,IAAIE,EAAiBJ,EAAUpO,MAAQuN,GAAQ/K,WAAW,WACxD,OAAQO,EAAOuL,EAAOG,YAAY1L,GAAQuL,GAAQI,YACxD,IAEIN,EAAUR,YAAc,WACtB,OAAOY,CACb,CACA,CAEE,OAAOJ,CACT,CACA,SAASrI,GAAQhF,GACf,IACE,cAAcA,EAAKhE,OAAS,UAChC,CAAI,MAAOlC,GACP,OAAO,KACX,CACA,CACA,SAAS8T,GAAe5N,GACtB,OAAOgF,GAAQhF,IAAS,OAAQA,CAClC,CAEA,SAAS6N,GAAWC,GAClB,IAAInQ,EAEJ,OAAO7E,GAAU6E,EAAK,CACpBiH,UAAW,WACT,MAAO,CACLgI,YAAa,WACX,YAAY,CACtB,EAEA,EACIvG,GAAI,YACJwG,YAAa,WACX,OAAOpL,SACb,GACK9D,EAAGkH,IAAoB,WACxB,OAAOjL,IACX,EAAK+D,GAAKmQ,EACV,CC7FA,IAAIC,GAAa,SAAUC,GACzB,OAAOA,EAAUvP,OAAS,UAAYuP,EAAUvP,OAAS,OAC3D,EACA,SAASwP,GAAeD,GACtB,OAAOjV,OAAOqF,KAAK4P,EAAU3K,QAAQlC,KAAI,SAAU7C,GACjD,OAAO0P,EAAU3K,OAAO/E,EAC5B,GACA,CACA,SAAS4P,GAAYF,GACnB,OAAOC,GAAeD,GAAWG,QAAO,SAAUC,GAChD,OAAOA,EAAG3P,OAAS,SACvB,GACA,CACA,SAAS4P,GAAiBL,GACxB,IAAIM,EAAa,CAACN,GAElB,GAAID,GAAWC,GAAY,CACzB,OAAOM,CACX,CAEE,OAAOA,EAAW/S,OAAO2F,GAAQgN,GAAYF,GAAW7M,IAAIkN,KAC9D,CACA,SAASE,GAAiBC,EAAgBF,GACxC,IAAIzO,EAAKlC,EAAI2C,EAAKR,EAAIe,EAAKd,EAAI0O,EAAKC,EAEpC,IAAIC,EAAoB,IAAIC,IAAIJ,GAChC,IAAIK,EAAcC,GAAWH,GAC7B,IAAII,EAAgB,IAAIH,IAAIN,GAE5B,IAEE,IAAK,IAAIU,EAAkB9U,EAAS6U,GAAgBE,EAAoBD,EAAgBzU,QAAS0U,EAAkBxU,KAAMwU,EAAoBD,EAAgBzU,OAAQ,CACnK,IAAIrB,EAAI+V,EAAkBzU,MAC1B,IAAIF,EAAIpB,EAAEgW,OAEV,MAAO5U,IAAMyU,EAAcI,IAAI7U,GAAI,CACjCyU,EAAcK,IAAI9U,GAClBA,EAAIA,EAAE4U,MACd,CACA,CACA,CAAI,MAAOjP,GACPJ,EAAM,CACJ9E,MAAOkF,EAEb,CAAG,QACC,IACE,GAAIgP,IAAsBA,EAAkBxU,OAASkD,EAAKqR,EAAgB9O,QAASvC,EAAGjE,KAAKsV,EACjG,CAAK,QACC,GAAInP,EAAK,MAAMA,EAAI9E,KACzB,CACA,CAEE,IAAIsU,EAAUP,GAAWC,GAEzB,IAEE,IAAK,IAAIO,EAAkBpV,EAAS6U,GAAgBQ,EAAoBD,EAAgB/U,QAASgV,EAAkB9U,KAAM8U,EAAoBD,EAAgB/U,OAAQ,CACnK,IAAIrB,EAAIqW,EAAkB/U,MAE1B,GAAItB,EAAEuF,OAAS,cAAgB4Q,EAAQ3D,IAAIxS,KAAOmW,EAAQ3D,IAAIxS,GAAGI,QAAS,CACxE,GAAIuV,EAAYnD,IAAIxS,GAAI,CACtB2V,EAAYnD,IAAIxS,GAAGqT,SAAQ,SAAU6B,GACnC,OAAOW,EAAcK,IAAIhB,EACrC,GACA,KAAe,CACLlV,EAAEsW,kBAAkBjD,SAAQ,SAAU6B,GACpC,OAAOW,EAAcK,IAAIhB,EACrC,GACA,CACA,KAAa,CACL,GAAIlV,EAAEuF,OAAS,WAAY,CACzB,IACE,IAAK,IAAIgR,GAAM5O,OAAW,EAAG3G,EAASgU,GAAYhV,KAAMwW,EAAKD,EAAGlV,QAASmV,EAAGjV,KAAMiV,EAAKD,EAAGlV,OAAQ,CAChG,IAAIoV,EAAQD,EAAGlV,MAEf,IAAKuU,EAAcI,IAAIQ,GAAQ,CAC7BZ,EAAcK,IAAIO,GAElB,GAAId,EAAYnD,IAAIiE,GAAQ,CAC1Bd,EAAYnD,IAAIiE,GAAOpD,SAAQ,SAAU6B,GACvC,OAAOW,EAAcK,IAAIhB,EAC7C,GACA,KAAuB,CACLuB,EAAMH,kBAAkBjD,SAAQ,SAAU6B,GACxC,OAAOW,EAAcK,IAAIhB,EAC7C,GACA,CACA,CACA,CACA,CAAY,MAAOpN,GACPH,EAAM,CACJ9F,MAAOiG,EAErB,CAAW,QACC,IACE,GAAI0O,IAAOA,EAAGjV,OAASsF,EAAK0P,EAAGvP,QAASH,EAAGrG,KAAK+V,EAC9D,CAAa,QACC,GAAI5O,EAAK,MAAMA,EAAI9F,KACjC,CACA,CACA,CACA,CACA,CACA,CAAI,MAAO2F,GACPJ,EAAM,CACJvF,MAAO2F,EAEb,CAAG,QACC,IACE,GAAI6O,IAAsBA,EAAkB9U,OAASqF,EAAKwP,EAAgBpP,QAASJ,EAAGpG,KAAK4V,EACjG,CAAK,QACC,GAAIhP,EAAK,MAAMA,EAAIvF,KACzB,CACA,CAEE,IAEE,IAAK,IAAI6U,EAAkB1V,EAAS6U,GAAgBc,EAAoBD,EAAgBrV,QAASsV,EAAkBpV,KAAMoV,EAAoBD,EAAgBrV,OAAQ,CACnK,IAAIrB,EAAI2W,EAAkBrV,MAC1B,IAAIF,EAAIpB,EAAEgW,OAEV,MAAO5U,IAAMyU,EAAcI,IAAI7U,GAAI,CACjCyU,EAAcK,IAAI9U,GAClBA,EAAIA,EAAE4U,MACd,CACA,CACA,CAAI,MAAOY,GACPrB,EAAM,CACJ1T,MAAO+U,EAEb,CAAG,QACC,IACE,GAAID,IAAsBA,EAAkBpV,OAASiU,EAAKkB,EAAgB1P,QAASwO,EAAGhV,KAAKkW,EACjG,CAAK,QACC,GAAInB,EAAK,MAAMA,EAAI1T,KACzB,CACA,CAEE,OAAOgU,CACT,CAEA,SAASgB,GAAgBC,EAAUX,GACjC,IAAIY,EAAkBZ,EAAQ3D,IAAIsE,GAElC,IAAKC,EAAiB,CACpB,MAAO,EACX,CAEE,GAAID,EAASvR,OAAS,WAAY,CAChC,IAAIyR,EAAiBD,EAAgB,GAErC,GAAIC,EAAgB,CAClB,GAAInC,GAAWmC,GAAiB,CAC9B,OAAOA,EAAe5R,GAC9B,CACA,KAAW,CACL,MAAO,EACb,CACA,CAEE,IAAIY,EAAa,GACjB+Q,EAAgB1D,SAAQ,SAAU4D,GAChCjR,EAAWiR,EAAI7R,KAAOyR,GAAgBI,EAAKd,EAC/C,IACE,OAAOnQ,CACT,CAEA,SAAS4P,GAAWC,GAClB,IAAIjN,EAAKnE,EAET,IAAI0R,EAAU,IAAIe,IAElB,IACE,IAAK,IAAIC,EAAkBnW,EAAS6U,GAAgBuB,EAAoBD,EAAgB9V,QAAS+V,EAAkB7V,KAAM6V,EAAoBD,EAAgB9V,OAAQ,CACnK,IAAIrB,EAAIoX,EAAkB9V,MAE1B,IAAK6U,EAAQF,IAAIjW,GAAI,CACnBmW,EAAQkB,IAAIrX,EAAG,GACvB,CAEM,GAAIA,EAAEgW,OAAQ,CACZ,IAAKG,EAAQF,IAAIjW,EAAEgW,QAAS,CAC1BG,EAAQkB,IAAIrX,EAAEgW,OAAQ,GAChC,CAEQG,EAAQ3D,IAAIxS,EAAEgW,QAAQpU,KAAK5B,EACnC,CACA,CACA,CAAI,MAAOgJ,GACPJ,EAAM,CACJ/G,MAAOmH,EAEb,CAAG,QACC,IACE,GAAIoO,IAAsBA,EAAkB7V,OAASkD,EAAK0S,EAAgBnQ,QAASvC,EAAGjE,KAAK2W,EACjG,CAAK,QACC,GAAIvO,EAAK,MAAMA,EAAI/G,KACzB,CACA,CAEE,OAAOsU,CACT,CACA,SAASmB,GAASC,EAAU1B,GAC1B,IAAI2B,EAASnC,GAAiB,CAACkC,GAAW1B,GAC1C,OAAOgB,GAAgBU,EAAU3B,GAAW4B,GAC9C,CACA,SAASvB,GAAIwB,EAAU3Q,GACrB,GAAI3E,MAAMwD,QAAQ8R,GAAW,CAC3B,OAAOA,EAASC,MAAK,SAAUC,GAC7B,OAAOA,IAAW7Q,CACxB,GACA,CAEE,GAAI2Q,aAAoB/B,IAAK,CAC3B,OAAO+B,EAASxB,IAAInP,EACxB,CAEE,OAAO,KACT,CACA,SAAS8Q,GAAW/B,GAClB,OAAO/T,EAAc,GAAIL,EAAO,IAAIiU,IAAI1N,GAAQlG,EAAc,GAAIL,EAAOoU,EAAc5N,KAAI,SAAUiN,GACnG,OAAOA,EAAG2C,SACd,KAAO,UAAW,MAClB,CACA,SAASC,GAAejC,EAAef,GACrC,GAAIA,EAAUvP,OAAS,WAAY,CACjC,OAAOyP,GAAYF,GAAW4C,MAAK,SAAU1X,GAC3C,OAAOA,EAAEuF,OAAS,SAAW0Q,GAAIJ,EAAe7V,EACtD,GACA,CAEE,GAAI8U,EAAUvP,OAAS,WAAY,CACjC,OAAOyP,GAAYF,GAAW3P,OAAM,SAAU+P,GAC5C,OAAO4C,GAAejC,EAAeX,EAC3C,GACA,CAEE,OAAO,KACT,CACA,SAAS6C,GAAQlC,GACf,GAAIA,SAAuB,EAAG,CAC5BA,EAAgB,EACpB,CAEE,OAAOA,EAAcnL,QAAO,SAAUC,EAAKmK,GACzC,GAAIA,EAAU/J,OAASxC,UAAW,CAChCoC,EAAImK,EAAU3H,IAAM2H,EAAU/J,IACpC,CAEI,OAAOJ,CACX,GAAK,GACL,CACA,SAASqN,GAAyBnC,GAChC,OAAO,IAAIH,IAAI1N,GAAQ6N,EAAc5N,KAAI,SAAUiN,GACjD,OAAOA,EAAG+C,IACd,KACA,CC5PA,SAASC,GAAiBC,EAAGC,GAC3B,GAAID,IAAMC,EAAG,CACX,OAAO,IACX,CAEE,GAAID,IAAM5P,WAAa6P,IAAM7P,UAAW,CACtC,OAAO,KACX,CAEE,GAAItD,GAASkT,IAAMlT,GAASmT,GAAI,CAC9B,OAAOD,IAAMC,CACjB,CAEE,IAAIC,EAAQxY,OAAOqF,KAAKiT,GACxB,IAAIG,EAAQzY,OAAOqF,KAAKkT,GACxB,OAAOC,EAAMjY,SAAWkY,EAAMlY,QAAUiY,EAAMlT,OAAM,SAAUC,GAC5D,OAAO8S,GAAiBC,EAAE/S,GAAMgT,EAAEhT,GACtC,GACA,CACA,SAASmT,GAAcxS,GACrB,UAAWA,IAAU,UAAYA,IAAU,KAAM,CAC/C,OAAO,KACX,CAEE,MAAO,UAAWA,GAAS,WAAYA,CACzC,CAMA,SAASyS,GAAkBxN,EAAQjF,GACjC,IAAI4I,EAAO3D,EAAO2D,KAElB,IAAI8J,EAAc7Y,EAASA,EAAS,GAAIoL,GAAS,CAC/C2D,KAAMA,IAASpG,UAAY,WACzB,OAAOoG,EAAK5I,EAAM2C,QAAS3C,EAAMT,MAAO,CACtC0F,OAAQA,EACRjF,MAAOA,EACP4C,OAAQ5C,EAAM4C,QAEtB,EAAQJ,YAGN,OAAOkQ,CACT,CAEA,IAAIC,GAIJ,WAaE,SAASA,EAAMlB,GACb,IAAImB,EAAQjY,KAEZ,IAAI+D,EAEJ/D,KAAKmO,QAAU,GACfnO,KAAKkY,WAAavU,EAClB3D,KAAKqK,KAAO,GACZrK,KAAKmY,OAAS,GACdnY,KAAKY,MAAQkW,EAAOlW,MACpBZ,KAAKgI,QAAU8O,EAAO9O,QACtBhI,KAAKiI,OAAS6O,EAAO7O,OACrBjI,KAAKoY,WAAatB,EAAOsB,WACzBpY,KAAK4E,MAAQ5E,KAAKiI,OAAOG,KACzBpI,KAAKqY,aAAevB,EAAOuB,aAC3BrY,KAAKsY,QAAUxB,EAAOwB,QACtBtY,KAAKmO,QAAU2I,EAAO3I,SAAW,GACjCnO,KAAKkY,WAAapB,EAAOoB,YAAcvU,EACvC3D,KAAKqK,KAAOgN,GAAQP,EAAO3B,eAC3BnV,KAAKmY,OAASrB,EAAOqB,QAAU,GAC/BnY,KAAKuY,QAAUvY,KAAKuY,QAAQpL,KAAKnN,MACjCA,KAAKwY,UAAYxY,KAAKwY,UAAUrL,KAAKnN,MACrCA,KAAKmV,cAAgB2B,EAAO3B,cAC5BnV,KAAK6L,YAAciL,EAAOjL,YAC1B7L,KAAKyY,SAAW3B,EAAO2B,SACvBzY,KAAKa,OAASiW,EAAOjW,KACrBb,KAAKuX,MAAQxT,EAAKtC,MAAMwD,QAAQ6R,EAAOS,MAAQ,IAAIvC,IAAI8B,EAAOS,MAAQT,EAAOS,QAAU,MAAQxT,SAAY,EAAIA,EAAK,IAAIiR,IACxHhV,KAAKkM,QAAU4K,EAAO5K,QACtB/M,OAAOuZ,eAAe1Y,KAAM,aAAc,CACxC8R,IAAK,WACH,OAAOoF,GAAWe,EAAM9C,cAChC,GAEA,CAQE6C,EAAM1W,KAAO,SAAUgE,EAAY0C,GACjC,GAAI1C,aAAsB0S,EAAO,CAC/B,GAAI1S,EAAW0C,UAAYA,EAAS,CAClC,OAAO,IAAIgQ,EAAM,CACfpX,MAAO0E,EAAW1E,MAClBoH,QAASA,EACTC,OAAQ3C,EAAW2C,OACnBmQ,WAAY,KACZC,aAAc/S,EAAW+S,aACzBC,QAAShT,EAAWgT,QACpBnK,QAAS,GACT+J,WAAY5S,EAAW4S,WACvB7N,KAAM,GACN8N,OAAQ,GACRhD,cAAe,GACftJ,YAAa,GACb4M,SAAU,IAEpB,CAEM,OAAOnT,CACb,CAEI,IAAI2C,EAAS0F,GACb,OAAO,IAAIqK,EAAM,CACfpX,MAAO0E,EACP0C,QAASA,EACTC,OAAQA,EACRmQ,WAAY,KACZC,aAAcxQ,UACdyQ,QAASzQ,UACTsG,QAAS,GACT+J,WAAYrQ,UACZwC,KAAMxC,UACNsQ,OAAQ,GACRhD,cAAe,GACftJ,YAAa,GACb4M,SAAU,IAEhB,EAOET,EAAMW,OAAS,SAAU7B,GACvB,OAAO,IAAIkB,EAAMlB,EACrB,EAQEkB,EAAMY,MAAQ,SAAUtT,EAAY0C,GAClC,GAAI1C,aAAsB0S,EAAO,CAC/B,IAAK1S,EAAW6I,QAAQzO,OAAQ,CAC9B,OAAO4F,CACf,CAEM,IAAI2C,EAAS0F,GACb,OAAO,IAAIqK,EAAM,CACfpX,MAAO0E,EAAW1E,MAClBoH,QAASA,EACTC,OAAQA,EACRmQ,WAAY,KACZC,aAAc/S,EAAW+S,aACzBC,QAAShT,EAAWgT,QACpBJ,WAAY5S,EAAW4S,WACvB/C,cAAe7P,EAAW6P,cAC1BtJ,YAAa,GACb4M,SAAU,IAElB,CAEI,OAAOT,EAAM1W,KAAKgE,EAAY0C,EAClC,EAQEgQ,EAAMpY,UAAU4Y,UAAY,SAAUlT,EAAYnB,GAChD,IAAI8T,EAAQjY,KAEZ,GAAIsF,SAAoB,EAAG,CACzBA,EAAatF,KAAKY,KACxB,CAEI,GAAIuD,SAAmB,EAAG,CACxBA,EAAY,GAClB,CAEI,GAAII,GAASe,GAAa,CACxB,MAAO,CAACA,EACd,CAEI,IAAIuT,EAAY1Z,OAAOqF,KAAKc,GAC5B,OAAOuT,EAAUlX,OAAO5B,MAAM8Y,EAAWzX,EAAc,GAAIL,EAAO8X,EAAUtR,KAAI,SAAU7C,GACxF,OAAOuT,EAAMO,UAAUlT,EAAWZ,GAAMP,GAAWoD,KAAI,SAAUjI,GAC/D,OAAOoF,EAAMP,EAAY7E,CACjC,GACA,KAAS,OACT,EAEE0Y,EAAMpY,UAAUsT,OAAS,WACvB,IAAInP,EAAK/D,KAGL,IAAIuX,EAAOxT,EAAGwT,KAEd,IAAIuB,EAAa7Y,EAAO8D,EAAI,CAAC,gBAAiB,cAAe,OAAQ,YAEzE,OAAO7E,EAASA,EAAS,GAAI4Z,GAAa,CACxCvB,KAAM9V,MAAMH,KAAKiW,IAEvB,EAEES,EAAMpY,UAAU2Y,QAAU,SAAUnU,GAClC,OAAOJ,EAAaI,EAAkBpE,KAAKY,MAC/C,EAOEoX,EAAMpY,UAAUmZ,OAAS,SAAUC,GACjC,OAAOhZ,KAAKuX,KAAKhC,IAAIyD,EACzB,EAWEhB,EAAMpY,UAAUqZ,IAAM,SAAUrU,GAC9B,IAAIb,EAMJ,IAAImV,GAAkBnV,EAAK/D,KAAKkM,WAAa,MAAQnI,SAAY,OAAS,EAAIA,EAAGoV,kBAAkBnZ,KAAM4E,GACzG,SAAUsU,IAAmB,MAAQA,SAAwB,OAAS,EAAIA,EAAerN,YAAYnM,SACrGwZ,EAAerN,YAAYmL,MAAK,SAAU3X,GACxC,OAAOA,EAAE0M,SAAWlE,WAAaxI,EAAE8O,QAAQzO,MACjD,GACA,EAEE,OAAOsY,CACT,CArNA,GCxDA,IAAIoB,GAAiB,CACnBC,YAAa,OAGf,IAAIC,GAIJ,WACE,SAASA,EAAUjN,GACjBrM,KAAKuZ,gBAAkB,MACvBvZ,KAAKwZ,MAAQ,GACbxZ,KAAKyZ,YAAc,MACnBzZ,KAAKqM,QAAUnN,EAASA,EAAS,GAAIka,IAAiB/M,EAC1D,CAEEiN,EAAU1Z,UAAU8Z,WAAa,SAAUC,GACzC3Z,KAAKyZ,YAAc,KAEnB,GAAIE,EAAU,CACZ,IAAK3Z,KAAKqM,QAAQgN,YAAa,CAC7BrZ,KAAK4Z,SAASD,GACd,MACR,CAEM3Z,KAAK6Z,QAAQF,EACnB,CAEI3Z,KAAK8Z,aACT,EAEER,EAAU1Z,UAAUga,SAAW,SAAUG,GACvC,IAAK/Z,KAAKyZ,aAAezZ,KAAKuZ,gBAAiB,CAC7CvZ,KAAKwZ,MAAMtY,KAAK6Y,GAChB,MACN,CAEI,GAAI/Z,KAAKwZ,MAAM9Z,SAAW,EAAG,CAC3B,MAAM,IAAIoF,MAAM,+DACtB,CAEI9E,KAAK6Z,QAAQE,GACb/Z,KAAK8Z,aACT,EAEER,EAAU1Z,UAAUoa,MAAQ,WAC1Bha,KAAKwZ,MAAQ,EACjB,EAEEF,EAAU1Z,UAAUka,YAAc,WAChC,IAAIG,EAAeja,KAAKwZ,MAAMU,QAE9B,MAAOD,EAAc,CACnBja,KAAK6Z,QAAQI,GACbA,EAAeja,KAAKwZ,MAAMU,OAChC,CACA,EAEEZ,EAAU1Z,UAAUia,QAAU,SAAUF,GACtC3Z,KAAKuZ,gBAAkB,KAEvB,IACEI,GACN,CAAM,MAAOzZ,GAGPF,KAAKga,QACL,MAAM9Z,CACZ,CAAK,QACCF,KAAKuZ,gBAAkB,KAC7B,CACA,EAEE,OAAOD,CACT,CAlEA,GCVA,IAAIb,GAAwB,IAAIjC,IAChC,IAAI2D,GAAiB,EACrB,IAAIC,GAAW,CACbC,OAAQ,WACN,MAAO,KAAK1Y,OAAOwY,KACvB,EACEG,SAAU,SAAU7N,EAAI8N,GACtB9B,GAAS9B,IAAIlK,EAAI8N,GACjB,OAAO9N,CACX,EACEqF,IAAK,SAAUrF,GACb,OAAOgM,GAAS3G,IAAIrF,EACxB,EACE+N,KAAM,SAAU/N,GACdgM,GAASgC,OAAOhO,EACpB,GCbA,SAASiO,KACP,UAAWC,aAAe,YAAa,CACrC,OAAOA,UACX,CAEE,UAAWzN,OAAS,YAAa,CAC/B,OAAOA,IACX,CAEE,UAAW0N,SAAW,YAAa,CACjC,OAAOA,MACX,CAEE,UAAWC,SAAW,YAAa,CACjC,OAAOA,MACX,CAKA,CAEA,SAASC,KACP,IAAID,EAASH,KAEb,GAAIG,GAAU,eAAgBA,EAAQ,CACpC,OAAOA,EAAOE,UAClB,CAEE,OAAOlT,SACT,CAEA,SAASmT,GAAgBnI,GACvB,IAAK6H,KAAa,CAChB,MACJ,CAEE,IAAIO,EAAWH,KAEf,GAAIG,EAAU,CACZA,EAASX,SAASzH,EACtB,CACA,CC4BA,SAASqI,GAAcC,EAAU9O,GAC/B,GAAIA,SAAiB,EAAG,CACtBA,EAAU,EACd,CAEE,IAAIhH,EAAQ8V,EAASpH,aACrB,IAAIqH,EAAY,IAAIpG,IACpB,IAAIqG,EAAU,GACd,IAAIC,EAAW,MAEf,IAAIC,EAAQ,WACV,GAAID,EAAU,CACZ,MACN,CAEIA,EAAW,KAEX,MAAOD,EAAQ3b,OAAS,EAAG,CACzB,IAAI8b,EAAUH,EAAQnB,QACtB7U,EAAQ8V,EAASrS,WAAWzD,EAAOmW,EAASC,GAC5CL,EAAUzI,SAAQ,SAAU+I,GAC1B,OAAOA,EAAS/a,KAAK0E,EAC7B,GACA,CAEIiW,EAAW,KACf,EAEE,IAAIf,EAAQtG,GAAW,CACrBxH,GAAIJ,EAAQI,GACZrK,KAAM,SAAUwC,GACdyW,EAAQna,KAAK0D,GACb2W,GACN,EACItI,YAAa,WACX,OAAO5N,CACb,EACI2F,UAAW,SAAUrK,EAAMgb,EAAavO,GACtC,IAAIsO,EAAW9O,GAAWjM,EAAMgb,EAAavO,GAC7CgO,EAAU5F,IAAIkG,GACdA,EAAS/a,KAAK0E,GACd,MAAO,CACL2N,YAAa,WACXoI,EAAUX,OAAOiB,EAC3B,EAEA,IAEE,IAAID,EAAW,CACbnG,OAAQjJ,EAAQiJ,OAChBpI,KAAMqN,EACN9N,GAAIJ,EAAQI,IAAM,YAClB2O,UAAWA,GAEb/V,EAAQ8V,EAASrZ,MAAQqZ,EAASrZ,MAAM2Z,GAAYpW,EACpD,OAAOkV,CACT,CClHA,IAAIqB,GAAwB,CAC1BC,KAAM,MACNC,YAAa,OAEf,IAAIC,IAEJ,SAAWA,GACTA,EAAkBA,EAAkB,cAAgB,GAAK,aACzDA,EAAkBA,EAAkB,WAAa,GAAK,UACtDA,EAAkBA,EAAkB,WAAa,GAAK,SACvD,EAJD,CAIGA,KAAsBA,GAAoB,KAE7C,IAAIC,GAIJ,WAOE,SAASA,EAAY9P,EAASG,GAC5B,GAAIA,SAAiB,EAAG,CACtBA,EAAU2P,EAAY5C,cAC5B,CAEI,IAAInB,EAAQjY,KAEZA,KAAKkM,QAAUA,EACflM,KAAKic,iBAAmB,GACxBjc,KAAKkc,UAAY,IAAIlH,IACrBhV,KAAKmc,iBAAmB,IAAInH,IAC5BhV,KAAKoc,cAAgB,IAAIpH,IACzBhV,KAAKqc,cAAgB,IAAIrH,IACzBhV,KAAKsc,eAAiB,IAAItH,IAC1BhV,KAAKuc,cAAgB,IAAIvH,IAKzBhV,KAAKyZ,YAAc,MACnBzZ,KAAKwc,OAAST,GAAkBU,WAChCzc,KAAKyY,SAAW,IAAIjC,IACpBxW,KAAK0c,UAAY,IAAI1H,IACrBhV,KAAK2c,eAAiB,GAKtB3c,KAAK6C,KAAO7C,KAAK8B,MAWjB9B,KAAKoC,KAAO,SAAUwC,EAAO0G,GAC3B,GAAIrG,GAAQL,GAAQ,CAClBqT,EAAM2E,MAAMhY,GAEZ,OAAOqT,EAAM5S,KACrB,CAEM,IAAI4C,EAASsD,GAAaF,GAAczG,EAAO0G,IAE/C,GAAI2M,EAAMuE,SAAWT,GAAkBc,QAAS,CAM9C,OAAO5E,EAAM5S,KACrB,CAEM,GAAI4S,EAAMuE,SAAWT,GAAkBe,UAAY7E,EAAM5L,QAAQgN,YAAa,CAC5E,MAAM,IAAIvU,MAAM,UAAWnD,OAAOsG,EAAO6C,KAAM,yCAA2CnJ,OAAOsW,EAAM/L,QAAQO,GAC7G,mHAAoH9K,OAAOob,KAAKC,UAAU/U,EAAOG,OAC3J,CAEM6P,EAAMgF,UAAUrD,UAAS,WAEvB3B,EAAMiF,QAAQjV,GAEd,IAAIkV,EAAYlF,EAAMmF,WAAWnV,GAEjCgQ,EAAM7U,OAAO+Z,EAAWlV,EAChC,IAEM,OAAOgQ,EAAMoF,MAEnB,EAEIrd,KAAKsd,OAAS,SAAU1Y,EAAOvD,EAAIkc,GACjC,IAAIC,EAAWvF,EAAM3C,SAAWjU,IAAOQ,EAAe4b,QAAUxF,EAAM3C,OAAO7I,KAAOpL,GACpF,IAAI0K,EAASyR,EAAWvF,EAAM3C,OAAS/Q,GAASlD,GAAMA,IAAOQ,EAAe4L,SAAWwK,EAAQA,EAAMQ,SAAS3G,IAAIzQ,IAAO+Y,GAAStI,IAAIzQ,GAAM+J,GAAQ/J,GAAMA,EAAKwG,UAE/J,IAAKkE,EAAQ,CACX,IAAKyR,EAAU,CACb,MAAM,IAAI1Y,MAAM,kCAAkCnD,OAAON,EAAI,oBAAoBM,OAAOsW,EAAMxL,GAAI,MAC5G,CAOQ,MACR,CAEM,GAAI,YAAaV,EAAQ,CAGvB,GAAIkM,EAAMuE,SAAWT,GAAkBc,SAAW5E,EAAM3C,SAAWvJ,GACnEkM,EAAM5S,MAAMxE,KAAM,CAEhB,IAAI2K,EAAatM,EAASA,EAAS,GAAI0F,GAAQ,CAC7CkG,KAAMlG,EAAMkG,OAAS4S,EAAU,GAAG/b,OAAOR,GAAM8W,EAAMxL,KAAO7H,EAAMkG,KAClE6S,OAAQ1F,EAAM2F,YAGhB,IAAKL,GAAatF,EAAM/L,QAAQ4K,OAAO+G,2BAA4B,CACjE5F,EAAM0E,eAAezb,KAAK,CAAC6K,EAAQP,GAC/C,KAAiB,CACLO,EAAO3J,KAAKoJ,EACxB,CACA,CACA,KAAa,CAEL,IAAK+R,GAAatF,EAAM/L,QAAQ4K,OAAO+G,2BAA4B,CACjE5F,EAAM0E,eAAezb,KAAK,CAAC6K,EAAQnH,EAAMwD,MACnD,KAAe,CACL2D,EAAO3J,KAAKwC,EAAMwD,KAC5B,CACA,CACA,EAEIpI,KAAK8d,MAAQ,SAAUxT,EAAQtC,EAASC,EAAQ6F,GAC9C,GAAIA,SAA2B,EAAG,CAChCA,EAAoBmK,EAAM/L,QAAQG,QAAQ8B,OAClD,CAEM,IAAI4P,EAAezT,EAAO2D,MAAQL,GAAkBtD,EAAOzF,KAAMiJ,GACjE,IAAIG,EAAO9F,GAAW4V,GAAgBA,EAAeA,EAAeA,EAAa9P,KAAO3D,EAAO2D,KAE/F,GAAIA,EAAM,CACR,IACE,OAAOA,EAAKjG,EAASC,EAAOG,MAAO6P,EAAM/L,QAAQ4K,OAAO+G,2BAA6B,CACnFvT,OAAQA,EACRjF,MAAO4S,EAAM5S,MACb4C,OAAQA,GACN,CACFqC,OAAQA,EACRrC,OAAQA,GAEpB,CAAU,MAAO+V,GACP,GAAI/F,EAAM3C,OAAQ,CAChB2C,EAAM3C,OAAOlT,KAAK,CAChByC,KAAM,eACNuD,KAAM4V,GAEpB,CAEU,MAAMA,CAChB,CACA,CAEM,OAAQ1T,EAAOzF,MACb,KAAK3C,EACH,CAEE,IAAI+b,EAAe3T,EAEnB2N,EAAMiG,MAAMD,GAEZ,KACZ,CAEQ,KAAK7b,EACH,IAAI+O,EAAa7G,EAEjB,UAAW6G,EAAWzD,QAAU,SAAU,CACxCuK,EAAMiG,MAAM/M,GAEZ,MACZ,KAAiB,CACL,GAAIA,EAAW9P,GAAI,CACjB4W,EAAMqF,OAAOnM,EAAWlJ,OAAQkJ,EAAW9P,GAAI4G,IAAW0F,GACxE,KAAmB,CACLsK,EAAM7V,KAAK+O,EAAWlJ,OACpC,CACA,CAEU,MAEF,KAAK3F,EACH2V,EAAM3V,OAAOgI,EAAO4E,QAEpB,MAEF,KAAKpN,EACH,CACE,GAAImW,EAAMuE,SAAWT,GAAkBe,QAAS,CAC9C,MACd,CAEY,IAAI1N,EAAW9E,EAAO8E,SAItB,IACC6I,EAAM/L,QAAQ4K,OAAO+G,6BAA+B5F,EAAM5S,MAAM6S,WAAW9I,EAAS3C,IAAM2C,EAASvK,MAAO,CACzG,KACd,CAGY,GAAIuK,EAASvK,OAASjD,EAAYoB,OAAQ,CACxC,IAAImb,EAAezR,GAAe0C,EAASzC,KAC3C,IAAI2G,EAAiB2E,EAAM/L,QAAQG,QAAQkH,SAAW0E,EAAM/L,QAAQG,QAAQkH,SAAS4K,EAAatZ,MAAQgD,UAC1G,IAAI4E,EAAK2C,EAAS3C,GACdrE,EAAOgH,EAAShH,KAOpB,IAAI0T,EAAc,gBAAiB1M,EAAWA,EAAS0M,cAAgB1M,EAAS8N,QAEhF,IAAK5J,EAAgB,CAMnB,MAChB,CAEc,IAAIE,EAAepL,EAAON,GAAWM,EAAMJ,EAASC,GAAUJ,UAE9D,UAAWyL,IAAmB,SAAU,CAEtC,MAChB,CAEc,IAAI8K,EAASjW,GAAWmL,GAAkBA,EAAetL,EAASC,EAAOG,KAAM,CAC7EA,KAAMoL,EACN7G,IAAKwR,EACL9T,KAAM+E,EAAS/E,OACZiJ,EAEL,IAAK8K,EAAQ,CAEX,MAChB,CAEc,IAAI/R,OAAe,EAEnB,GAAIlB,GAAUiT,GAAS,CACrBA,EAAS5K,EAAe4K,EAAOtK,YAAYN,GAAgB4K,EAC3D/R,EAAU,CACRyP,YAAaA,EAE/B,CAEc7D,EAAMoG,MAAMD,EAAQ3R,EAAIJ,EACtC,KAAmB,CACL4L,EAAMqG,cAAclP,EAClC,CAEY,KACZ,CAEQ,KAAKpN,EACH,CACEiW,EAAMsG,UAAUjU,EAAO8E,SAAS3C,IAEhC,KACZ,CAEQ,KAAK9J,EACH,IAAIoB,EAAKuG,EACLkU,EAAQza,EAAGya,MACX5d,EAAQmD,EAAGnD,MAEf,GAAI4d,EAAO,CACTvG,EAAMwG,OAAOD,EAAO5d,EAChC,KAAiB,CACLqX,EAAMwG,OAAO7d,EACzB,CAEU,MASV,EAEI,IAAI8d,EAAkBxf,EAASA,EAAS,GAAI8c,EAAY5C,gBAAiB/M,GAEzE,IAAIsS,EAAQD,EAAgBC,MACxBF,EAASC,EAAgBD,OACzBnJ,EAASoJ,EAAgBpJ,OACzB7I,EAAKiS,EAAgBjS,GACzB,IAAImS,EAAanS,IAAO5E,UAAY4E,EAAKP,EAAQO,GACjDzM,KAAKyM,GAAKmS,EACV5e,KAAKye,OAASA,EACdze,KAAK2e,MAAQA,EACb3e,KAAKsV,OAASA,EACdtV,KAAKqM,QAAUqS,EACf1e,KAAKid,UAAY,IAAI3D,GAAU,CAC7BD,YAAarZ,KAAKqM,QAAQgN,cAE5BrZ,KAAK4d,UAAYxD,GAASC,QAC9B,CAEElb,OAAOuZ,eAAesD,EAAYpc,UAAW,eAAgB,CAC3DkS,IAAK,WACH,IAAImG,EAAQjY,KAEZ,GAAIA,KAAK6e,cAAe,CACtB,OAAO7e,KAAK6e,aACpB,CAEM,OAAOjM,GAAQ5S,MAAM,WACnBiY,EAAM4G,cAAgB5G,EAAM/L,QAAQ6H,aACpC,OAAOkE,EAAM4G,aACrB,GACA,EACIC,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAesD,EAAYpc,UAAW,QAAS,CAIpDkS,IAAK,WAKH,OAAO9R,KAAKqd,MAClB,EACIyB,WAAY,MACZC,aAAc,OAShB/C,EAAYpc,UAAUof,QAAU,SAAU3Z,EAAO4Z,GAC/C,IAAIhZ,EAAKlC,EAET,IACE,IAAK,IAAImC,EAAK5F,EAAS+E,EAAM8I,SAAUhI,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CAC/E,IAAI2J,EAASnE,EAAGvF,MAChBZ,KAAKiO,KAAK3D,EAAQjF,EAAO4Z,EACjC,CACA,CAAM,MAAO5Y,GACPJ,EAAM,CACJ9E,MAAOkF,EAEf,CAAK,QACC,IACE,GAAIF,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACxD,CAAO,QACC,GAAID,EAAK,MAAMA,EAAI9E,KAC3B,CACA,CACA,EAEE6a,EAAYpc,UAAUwD,OAAS,SAAUiC,EAAO4C,GAC9C,IAAIvB,EAAK3C,EAAIkD,EAAKf,EAAI2O,EAAK1O,EAAI+B,EAAK4M,EAEpC,IAAImD,EAAQjY,KAGZqF,EAAM+S,WAAapY,KAAK4d,UAExB5d,KAAKqd,OAAShY,EAEd,KAAMrF,KAAKkM,QAAQ4K,OAAO+G,4BAE1B5V,IAAW0F,KAAc3N,KAAKqM,QAAQ2S,QAAS,CAC7Chf,KAAKgf,QAAQhf,KAAKqF,MACxB,KAAW,CACL,IAAIe,OAAY,EAEhB,MAAOA,EAAOpG,KAAK2c,eAAezC,QAAS,CACzC9T,EAAK,GAAGhE,KAAKgE,EAAK,GAC1B,CACA,CAGIpG,KAAKyY,SAAS9F,SAAQ,SAAUoD,GAC9BkC,EAAM5S,MAAMoT,SAAS1C,EAAMtJ,IAAMsJ,CACvC,IAEI,GAAI/V,KAAKib,SAAU,CACjBjb,KAAKib,SAAS7Y,KAAK6F,EAAOG,KAAM/C,EACtC,CAGI,GAAIA,EAAMT,MAAO,CACf,IACE,IAAK,IAAIiR,EAAKvV,EAASN,KAAKsc,gBAAiBxG,EAAKD,EAAGlV,QAASmV,EAAGjV,KAAMiV,EAAKD,EAAGlV,OAAQ,CACrF,IAAIue,EAAWpJ,EAAGlV,MAClBse,EAAS7Z,EAAMT,MACzB,CACA,CAAQ,MAAOkC,GACPJ,EAAM,CACJvF,MAAO2F,EAEjB,CAAO,QACC,IACE,GAAIgP,IAAOA,EAAGjV,OAASkD,EAAK8R,EAAGvP,QAASvC,EAAGjE,KAAK+V,EAC1D,CAAS,QACC,GAAInP,EAAK,MAAMA,EAAIvF,KAC7B,CACA,CACA,CAEI,IACE,IAAK,IAAIge,EAAK7e,EAASN,KAAKkc,WAAYkD,EAAKD,EAAGxe,QAASye,EAAGve,KAAMue,EAAKD,EAAGxe,OAAQ,CAChF,IAAIue,EAAWE,EAAGxe,MAClBse,EAAS7Z,EAAOA,EAAMT,MAC9B,CACA,CAAM,MAAOwC,GACPH,EAAM,CACJ9F,MAAOiG,EAEf,CAAK,QACC,IACE,GAAIgY,IAAOA,EAAGve,OAASqF,EAAKiZ,EAAG7Y,QAASJ,EAAGpG,KAAKqf,EACxD,CAAO,QACC,GAAIlY,EAAK,MAAMA,EAAI9F,KAC3B,CACA,CAEI,IACE,IAAK,IAAIke,EAAK/e,EAASN,KAAKmc,kBAAmBmD,EAAKD,EAAG1e,QAAS2e,EAAGze,KAAMye,EAAKD,EAAG1e,OAAQ,CACvF,IAAI4e,EAAkBD,EAAG1e,MACzB2e,EAAgBvf,KAAKqF,MAAM2C,QAAShI,KAAKqF,MAAMiT,QAAUtY,KAAKqF,MAAMiT,QAAQtQ,QAAUH,UAC9F,CACA,CAAM,MAAOqO,GACPrB,EAAM,CACJ1T,MAAO+U,EAEf,CAAK,QACC,IACE,GAAIoJ,IAAOA,EAAGze,OAASsF,EAAKkZ,EAAG/Y,QAASH,EAAGrG,KAAKuf,EACxD,CAAO,QACC,GAAIxK,EAAK,MAAMA,EAAI1T,KAC3B,CACA,CAEI,GAAInB,KAAKqF,MAAMxE,KAAM,CAEnB,IAAI2e,EAAsBna,EAAM8P,cAAczD,MAAK,SAAU8C,GAC3D,OAAOA,EAAG3P,OAAS,SAAW2P,EAAGc,SAAW2C,EAAM/L,OAC1D,IACM,IAAIuT,EAAWD,GAAuBA,EAAoBC,SAAW3X,GAAW0X,EAAoBC,SAAUpa,EAAM2C,QAASC,GAAUJ,UACvI7H,KAAK0f,WAAa3P,GAAW/P,KAAKyM,GAAIgT,GAEtC,IACE,IAAK,IAAIE,EAAKrf,EAASN,KAAKqc,eAAgBuD,EAAKD,EAAGhf,QAASif,EAAG/e,KAAM+e,EAAKD,EAAGhf,OAAQ,CACpF,IAAIue,EAAWU,EAAGhf,MAClBse,EAASlf,KAAK0f,WACxB,CACA,CAAQ,MAAOpX,GACPJ,EAAM,CACJ/G,MAAOmH,EAEjB,CAAO,QACC,IACE,GAAIsX,IAAOA,EAAG/e,OAASiU,EAAK6K,EAAGrZ,QAASwO,EAAGhV,KAAK6f,EAC1D,CAAS,QACC,GAAIzX,EAAK,MAAMA,EAAI/G,KAC7B,CACA,CAEMnB,KAAK6f,QAEL7f,KAAK8f,gBAEL1F,GAASI,KAAKxa,KAAK4d,UACzB,CACA,EASE5B,EAAYpc,UAAUmgB,aAAe,SAAUb,GAC7Clf,KAAKkc,UAAU1G,IAAI0J,GAEnB,GAAIlf,KAAKwc,SAAWT,GAAkBe,QAAS,CAC7CoC,EAASlf,KAAKqF,MAAOrF,KAAKqF,MAAMT,MACtC,CAEI,OAAO5E,IACX,EAEEgc,EAAYpc,UAAUoL,UAAY,SAAUgV,EAAwBC,EACpEC,GACE,IAAIjI,EAAQjY,KAEZ,IAAI0b,EAAW9O,GAAWoT,EAAwBC,EAAGC,GACrDlgB,KAAKkc,UAAU1G,IAAIkG,EAAS/a,MAE5B,GAAIX,KAAKwc,SAAWT,GAAkBU,WAAY,CAChDf,EAAS/a,KAAKX,KAAKqF,MACzB,CAEI,IAAI8a,EAAe,WACjBlI,EAAMoE,cAAc5B,OAAO0F,GAE3BlI,EAAMmE,cAAc3B,OAAO0F,GAE3BzE,EAAStO,UACf,EAEI,GAAIpN,KAAKwc,SAAWT,GAAkBc,QAAS,CAC7CnB,EAAStO,UACf,KAAW,CACLpN,KAAKogB,OAAOD,GACZngB,KAAKqgB,OAAOF,EAClB,CAEI,MAAO,CACLnN,YAAa,WACXiF,EAAMiE,UAAUzB,OAAOiB,EAAS/a,MAEhCsX,EAAMoE,cAAc5B,OAAO0F,GAE3BlI,EAAMmE,cAAc3B,OAAO0F,EACnC,EAEA,EAOEnE,EAAYpc,UAAU0gB,QAAU,SAAUpB,GACxClf,KAAKsc,eAAe9G,IAAI0J,GACxB,OAAOlf,IACX,EAOEgc,EAAYpc,UAAU2gB,OAAS,SAAUrB,GACvClf,KAAKuc,cAAc/G,IAAI0J,GACvB,OAAOlf,IACX,EAOEgc,EAAYpc,UAAU4gB,SAAW,SAAUtB,GACzClf,KAAKmc,iBAAiB3G,IAAI0J,GAC1B,OAAOlf,IACX,EAOEgc,EAAYpc,UAAUygB,OAAS,SAAUnB,GACvClf,KAAKoc,cAAc5G,IAAI0J,GACvB,OAAOlf,IACX,EAOEgc,EAAYpc,UAAUwgB,OAAS,SAAUlB,GACvC,GAAIlf,KAAKwc,SAAWT,GAAkBc,SAAW7c,KAAK0f,WAAY,CAChER,EAASlf,KAAK0f,WACpB,KAAW,CACL1f,KAAKqc,cAAc7G,IAAI0J,EAC7B,CAEI,OAAOlf,IACX,EAOEgc,EAAYpc,UAAU6gB,IAAM,SAAUvB,GACpClf,KAAKkc,UAAUzB,OAAOyE,GACtBlf,KAAKsc,eAAe7B,OAAOyE,GAC3Blf,KAAKuc,cAAc9B,OAAOyE,GAC1Blf,KAAKoc,cAAc3B,OAAOyE,GAC1Blf,KAAKqc,cAAc5B,OAAOyE,GAC1Blf,KAAKmc,iBAAiB1B,OAAOyE,GAC7B,OAAOlf,IACX,EAOEgc,EAAYpc,UAAUkC,MAAQ,SAAUiS,GACtC,IAAIkE,EAAQjY,KAEZ,GAAIA,KAAKwc,SAAWT,GAAkBe,QAAS,CAE7C,OAAO9c,IACb,CAMIA,KAAKkM,QAAQwU,QAEbtG,GAASE,SAASta,KAAK4d,UAAW5d,MAClCA,KAAKyZ,YAAc,KACnBzZ,KAAKwc,OAAST,GAAkBe,QAChC,IAAI6D,EAAgB5M,IAAiBlM,UAAY7H,KAAK+T,aAAenB,GAAQ5S,MAAM,WACjF,OAAO6X,GAAc9D,GAAgBkE,EAAM/L,QAAQ0U,aAAa7M,GAAgBkE,EAAM/L,QAAQ0U,aAAa5I,GAAM1W,KAAKyS,EAAckE,EAAM/L,QAAQlE,SACxJ,IAEI,GAAIhI,KAAKqM,QAAQ4O,SAAU,CACzBjb,KAAK6gB,WACX,CAEI7gB,KAAKid,UAAUvD,YAAW,WACxBzB,EAAM7U,OAAOud,EAAehT,GAClC,IACI,OAAO3N,IACX,EAEEgc,EAAYpc,UAAUkgB,cAAgB,WAEpC9f,KAAKyY,SAAS9F,SAAQ,SAAUoD,GAC9B,GAAI5N,GAAW4N,EAAM/T,MAAO,CAC1B+T,EAAM/T,MACd,CACA,IACIhC,KAAKyY,SAASuB,OAClB,EAEEgC,EAAYpc,UAAUigB,MAAQ,WAC5B,IAAI5W,EAAKlF,EAAIoG,EAAKjE,EAAI4a,EAAK3a,EAAI4a,EAAKjM,EAAIkM,EAAMnL,EAE9C,IACE,IAAK,IAAIC,EAAKxV,EAASN,KAAKkc,WAAYiD,EAAKrJ,EAAGnV,QAASwe,EAAGte,KAAMse,EAAKrJ,EAAGnV,OAAQ,CAChF,IAAIue,EAAWC,EAAGve,MAClBZ,KAAKkc,UAAUzB,OAAOyE,EAC9B,CACA,CAAM,MAAO5V,GACPL,EAAM,CACJ9H,MAAOmI,EAEf,CAAK,QACC,IACE,GAAI6V,IAAOA,EAAGte,OAASkD,EAAK+R,EAAGxP,QAASvC,EAAGjE,KAAKgW,EACxD,CAAO,QACC,GAAI7M,EAAK,MAAMA,EAAI9H,KAC3B,CACA,CAEI,IACE,IAAK,IAAIie,EAAK9e,EAASN,KAAKoc,eAAgBiD,EAAKD,EAAGze,QAAS0e,EAAGxe,KAAMwe,EAAKD,EAAGze,OAAQ,CACpF,IAAIue,EAAWG,EAAGze,MAElBse,IACAlf,KAAKoc,cAAc3B,OAAOyE,EAClC,CACA,CAAM,MAAOzU,GACPN,EAAM,CACJhJ,MAAOsJ,EAEf,CAAK,QACC,IACE,GAAI4U,IAAOA,EAAGxe,OAASqF,EAAKkZ,EAAG9Y,QAASJ,EAAGpG,KAAKsf,EACxD,CAAO,QACC,GAAIjV,EAAK,MAAMA,EAAIhJ,KAC3B,CACA,CAEI,IACE,IAAK,IAAIme,EAAKhf,EAASN,KAAKmc,kBAAmBwD,EAAKL,EAAG3e,QAASgf,EAAG9e,KAAM8e,EAAKL,EAAG3e,OAAQ,CACvF,IAAIue,EAAWS,EAAG/e,MAClBZ,KAAKmc,iBAAiB1B,OAAOyE,EACrC,CACA,CAAM,MAAO+B,GACPH,EAAM,CACJ3f,MAAO8f,EAEf,CAAK,QACC,IACE,GAAItB,IAAOA,EAAG9e,OAASsF,EAAKmZ,EAAGhZ,QAASH,EAAGrG,KAAKwf,EACxD,CAAO,QACC,GAAIwB,EAAK,MAAMA,EAAI3f,KAC3B,CACA,CAEI,IACE,IAAK,IAAIye,EAAKtf,EAASN,KAAKqc,eAAgB6E,EAAKtB,EAAGjf,QAASugB,EAAGrgB,KAAMqgB,EAAKtB,EAAGjf,OAAQ,CACpF,IAAIue,EAAWgC,EAAGtgB,MAClBZ,KAAKqc,cAAc5B,OAAOyE,EAClC,CACA,CAAM,MAAOiC,GACPJ,EAAM,CACJ5f,MAAOggB,EAEf,CAAK,QACC,IACE,GAAID,IAAOA,EAAGrgB,OAASiU,EAAK8K,EAAGtZ,QAASwO,EAAGhV,KAAK8f,EACxD,CAAO,QACC,GAAImB,EAAK,MAAMA,EAAI5f,KAC3B,CACA,CAEI,IAAKnB,KAAKyZ,YAAa,CAErB,OAAOzZ,IACb,CAEIA,KAAKyZ,YAAc,MACnBzZ,KAAKwc,OAAST,GAAkBc,QAChC7c,KAAK6e,cAAgBhX,UAErB,IAGE,IAAK,IAAIuZ,EAAK9gB,EAASnB,OAAOqF,KAAKxE,KAAKic,mBAAoBoF,EAAKD,EAAGzgB,QAAS0gB,EAAGxgB,KAAMwgB,EAAKD,EAAGzgB,OAAQ,CACpG,IAAI+D,EAAM2c,EAAGzgB,MACbZ,KAAK2e,MAAM2C,aAAathB,KAAKic,iBAAiBvX,GACtD,CACA,CAAM,MAAO6c,GACPP,EAAO,CACL7f,MAAOogB,EAEf,CAAK,QACC,IACE,GAAIF,IAAOA,EAAGxgB,OAASgV,EAAKuL,EAAG9a,QAASuP,EAAG/V,KAAKshB,EACxD,CAAO,QACC,GAAIJ,EAAM,MAAMA,EAAK7f,KAC7B,CACA,CAGInB,KAAKid,UAAUjD,QACfha,KAAKid,UAAY,IAAI3D,GAAU,CAC7BD,YAAarZ,KAAKqM,QAAQgN,aAEhC,EAQE2C,EAAYpc,UAAUoC,KAAO,WAE3B,IAAIiW,EAAQjY,KAGZ,IAAIid,EAAYjd,KAAKid,UAErBjd,KAAK6f,QAGL5C,EAAUrD,UAAS,WACjB,IAAI7V,EAEJ,IAAKA,EAAKkU,EAAMoF,UAAY,MAAQtZ,SAAY,OAAS,EAAIA,EAAGlD,KAAM,CACpE,MACR,CAGM,IAAIoH,EAASsD,GAAa,CACxB1G,KAAM,gBAGR,IAAIsY,EAAYvK,GAAQqF,GAAO,WAC7B,IAAIuJ,EAAcla,GAAQlG,EAAc,GAAIL,EAAOkX,EAAM5S,MAAM8P,eAAgB,OAAOsM,MAAK,SAAUhK,EAAGC,GACtG,OAAOA,EAAEgK,MAAQjK,EAAEiK,KAC7B,IAAWna,KAAI,SAAU6M,GACf,OAAOlG,GAAgBkG,EAAUuN,OAAQ1J,EAAM/L,QAAQG,QAAQ8B,QACzE,KAEQ,IAAIpK,EAAKhD,EAAOyP,GAAeyH,EAAM/L,QAAS+L,EAAM5S,MAAO4S,EAAM5S,MAAM2C,QAASC,EAAQ,CAAC,CACvFpD,KAAM,OACNsJ,QAASqT,IACPvJ,EAAM/L,QAAQ4K,OAAO+G,2BAA6B5F,EAAM6F,MAAQjW,UAAWoQ,EAAM/L,QAAQ4K,OAAO+G,4BAA8B5F,EAAM/L,QAAQ4K,OAAOlG,qBAAsB,GACzK8B,EAAkB3O,EAAG,GACrBgG,EAAiBhG,EAAG,GAExB,IAAI6d,EAAW,IAAI5J,GAAM,CACvBpX,MAAOqX,EAAM5S,MAAMzE,MACnBoH,QAAS+B,EACT9B,OAAQA,EACRmQ,WAAYH,EAAM2F,UAClBvF,aAAcxQ,UACdyQ,QAASL,EAAM5S,MACf8I,QAASuE,EAAgB6B,QAAO,SAAUjK,GACxC,OAAQkD,GAAiBlD,EACrC,IACU4N,WAAY,GACZC,OAAQ,GACRhD,cAAe,GACftJ,YAAa,GACb4M,SAAU,GACV5X,KAAMoX,EAAM5S,MAAMxE,KAClB0W,KAAMU,EAAM5S,MAAMkS,KAClBrL,QAAS+L,EAAM/L,UAEjB0V,EAASC,QAAU,KACnB,OAAOD,CACf,IAEM3J,EAAM7U,OAAO+Z,EAAWlV,GAExBgQ,EAAM6H,gBAEN1F,GAASI,KAAKvC,EAAM2F,UAC1B,IACI,OAAO5d,IACX,EAEEgc,EAAYpc,UAAUgd,MAAQ,SAAUzE,GACtC,IAAIF,EAAQjY,KAEZ,GAAIA,KAAKwc,SAAWT,GAAkBU,YAAczc,KAAKqM,QAAQgN,kBAK1D,GAAIrZ,KAAKwc,SAAWT,GAAkBe,QAAS,CACpD,MAAM,IAAIhY,MACV,GAAGnD,OAAOwW,EAAOzY,OAAQ,kDAAmDiC,OAAO3B,KAAKkM,QAAQO,GAAI,0GAC1G,CAEI,IAAK0L,EAAOzY,OAAQ,CAClB,MACN,CAEI,IAAIuO,IAASjO,KAAKkM,QAAQ4K,OAAO+G,4BAA8B7d,KAAK8d,MACpE9d,KAAKid,UAAUrD,UAAS,WACtB,IAAIkI,EAAM/d,EAEV,IAAIoZ,EAAYlF,EAAM5S,MACtB,IAAI0c,EAAe,MACnB,IAAIC,EAAiB,GAErB,IAAIC,EAAU,SAAUzG,GACtB,IAAIvT,EAASsD,GAAaiQ,GAE1BvD,EAAMiF,QAAQjV,GAEdkV,EAAYvK,GAAQqF,GAAO,WACzB,OAAOA,EAAM/L,QAAQpD,WAAWqU,EAAWlV,EAAQJ,UAAWoG,GAAQpG,UAChF,IACQma,EAAe9gB,KAAKnB,MAAMiiB,EAAgB5gB,EAAc,GAAIL,EAAOkX,EAAM/L,QAAQ4K,OAAO+G,2BAA6BV,EAAUhP,QAAUgP,EAAUhP,QAAQ5G,KAAI,SAAUkQ,GACvK,OAAOK,GAAkBL,EAAG0F,EACtC,KAAa,QACL4E,EAAeA,KAAkB5E,EAAU0E,OACnD,EAEM,IACE,IAAK,IAAIK,EAAW5hB,EAAS6X,GAASgK,EAAaD,EAASvhB,QAASwhB,EAAWthB,KAAMshB,EAAaD,EAASvhB,OAAQ,CAClH,IAAI6a,EAAU2G,EAAWvhB,MAEzBqhB,EAAQzG,EAClB,CACA,CAAQ,MAAO4G,GACPN,EAAO,CACL3gB,MAAOihB,EAEjB,CAAO,QACC,IACE,GAAID,IAAeA,EAAWthB,OAASkD,EAAKme,EAAS5b,QAASvC,EAAGjE,KAAKoiB,EAChF,CAAS,QACC,GAAIJ,EAAM,MAAMA,EAAK3gB,KAC/B,CACA,CAEMgc,EAAU0E,QAAUE,EACpB5E,EAAUhP,QAAU6T,EAEpB/J,EAAM7U,OAAO+Z,EAAW5R,GAAa4M,EAAOA,EAAOzY,OAAS,IAClE,GACA,EAQEsc,EAAYpc,UAAUyiB,OAAS,SAAUzd,GACvC,OAAO5E,KAAKoC,KAAK+K,KAAKnN,KAAM4E,EAChC,EAEEoX,EAAYpc,UAAUwd,WAAa,SAAUxY,EAAOqJ,GAClD,IAAIgK,EAAQjY,KAEZ,GAAIiO,SAAc,EAAG,CACnBA,IAASjO,KAAKkM,QAAQ4K,OAAO+G,4BAA8B7d,KAAK8d,KACtE,CAEI,IAAI7V,EAASsD,GAAa3G,GAE1B,GAAIqD,EAAO6C,KAAK3K,QAAQ8C,KAAmB,IAAMjD,KAAKqF,MAAM6R,WAAWF,MAAK,SAAUsL,GACpF,OAAOA,EAAUniB,QAAQ8C,KAAmB,CAClD,IAAQ,CACF,MAAMgF,EAAOG,KAAKA,IACxB,CAEI,IAAI+U,EAAYvK,GAAQ5S,MAAM,WAC5B,OAAOiY,EAAM/L,QAAQpD,WAAWmP,EAAM5S,MAAO4C,EAAQJ,UAAWoG,GAAQpG,UAC9E,IACI,OAAOsV,CACX,EAUEnB,EAAYpc,UAAUud,UAAY,SAAUvY,GAC1C,OAAO5E,KAAKod,WAAWxY,EAAO,MAClC,EAEEoX,EAAYpc,UAAUsd,QAAU,SAAUtY,GACxC,IAAI2d,EAAMxe,EAEV,IACE,IAAK,IAAImC,EAAK5F,EAASN,KAAK0c,WAAYvW,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CAChF,IAAI8L,EAAKtG,EAAGvF,MACZ,IAAImV,EAAQ/V,KAAKyY,SAAS3G,IAAIrF,GAE9B,IAAKsJ,EAAO,CACV,MAAM,IAAIjR,MAAM,4BAA4BnD,OAAOiD,EAAO,wBAAwBjD,OAAO3B,KAAKyM,GAAI,4BAA4B9K,OAAO8K,EAAI,MACnJ,CAEQsJ,EAAM3T,KAAKwC,EACnB,CACA,CAAM,MAAO4d,GACPD,EAAO,CACLphB,MAAOqhB,EAEf,CAAK,QACC,IACE,GAAIrc,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACxD,CAAO,QACC,GAAIqc,EAAM,MAAMA,EAAKphB,KAC7B,CACA,CACA,EAEE6a,EAAYpc,UAAUse,MAAQ,SAAU/M,GACtC,IAAI8G,EAAQjY,KAEZ,IAAIyiB,EAAUziB,KAAK2e,MAAM+D,YAAW,WAClC,GAAI,OAAQvR,GAAcA,EAAW9P,GAAI,CACvC4W,EAAMqF,OAAOnM,EAAWlJ,OAAQkJ,EAAW9P,GAAI,KACvD,KAAa,CACL4W,EAAM7V,KAAK+O,EAAWlJ,OAC9B,CACA,GAAOkJ,EAAWzD,OAEd,GAAIyD,EAAW1E,GAAI,CACjBzM,KAAKic,iBAAiB9K,EAAW1E,IAAMgW,CAC7C,CACA,EAEEzG,EAAYpc,UAAU0C,OAAS,SAAU4M,GACvClP,KAAK2e,MAAM2C,aAAathB,KAAKic,iBAAiB/M,WACvClP,KAAKic,iBAAiB/M,EACjC,EAEE8M,EAAYpc,UAAUqO,KAAO,SAAU3D,EAAQjF,EAAOyI,GACpD,GAAIA,SAA2B,EAAG,CAChCA,EAAoB9N,KAAKkM,QAAQG,QAAQ8B,OAC/C,CAEInO,KAAK8d,MAAMxT,EAAQjF,EAAM2C,QAAS3C,EAAM4C,OAAQ6F,EACpD,EAEEkO,EAAYpc,UAAU+iB,YAAc,SAAUC,GAC5C,IAAI7e,EAEJ/D,KAAKyY,SAASgC,OAAOmI,GACrB5iB,KAAK0c,UAAUjC,OAAOmI,IAGrB7e,EAAK/D,KAAKqF,SAAW,MAAQtB,SAAY,EAAI,YAAcA,EAAG0U,SAASmK,EAC5E,EAEE5G,EAAYpc,UAAU2e,UAAY,SAAUqE,GAC1C,IAAI7M,EAAQ/V,KAAKyY,SAAS3G,IAAI8Q,GAE9B,IAAK7M,EAAO,CACV,MACN,CAEI/V,KAAK2iB,YAAYC,GAEjB,GAAIza,GAAW4N,EAAM/T,MAAO,CAC1B+T,EAAM/T,MACZ,CACA,EAEEga,EAAYpc,UAAUye,MAAQ,SAAU1K,EAAQ7I,EAAMuB,GACpD,GAAIrM,KAAKwc,SAAWT,GAAkBe,QAAS,CAC7C,OAAOpJ,GAAoBC,EAAQ7I,EACzC,CAEI,GAAIpC,GAAciL,GAAS,CACzB,OAAO3T,KAAK6iB,aAAala,QAAQma,QAAQnP,GAAS7I,EACxD,MAAW,GAAI3C,GAAWwL,GAAS,CAC7B,OAAO3T,KAAK+iB,cAAcpP,EAAQ7I,EACxC,MAAW,GAAIkJ,GAAeL,GAAS,CACjC,OAAO3T,KAAKgjB,WAAWrP,EAAQ7I,EACrC,MAAW,GAAIC,GAAa4I,GAAS,CAC/B,OAAO3T,KAAKijB,gBAAgBtP,EAAQ7I,EAC1C,MAAW,GAAIK,GAAUwI,GAAS,CAC5B,OAAO3T,KAAKkjB,aAAavP,EAAQzU,EAASA,EAAS,GAAImN,GAAU,CAC/DI,GAAI3B,IAEZ,MAAW,GAAIjC,GAAW8K,GAAS,CAC7B,OAAO3T,KAAKkb,cAAcvH,EAAQ7I,EACxC,KAAW,CACL,MAAM,IAAIhG,MAAM,2BAA4BnD,OAAOmJ,EAAM,eAAiBnJ,cAAcgS,EAAQ,MACtG,CACA,EAEEqI,EAAYpc,UAAUsjB,aAAe,SAAUhX,EAASG,GACtD,IAAI4L,EAAQjY,KAEZ,GAAIqM,SAAiB,EAAG,CACtBA,EAAU,EAChB,CAEI,IAAI8W,EAAe,IAAInH,EAAY9P,EAAShN,EAASA,EAAS,GAAIc,KAAKqM,SAAU,CAC/EiJ,OAAQtV,KACRyM,GAAIJ,EAAQI,IAAMP,EAAQO,MAG5B,IAAIiS,EAAkBxf,EAASA,EAAS,GAAI0c,IAAwBvP,GAEpE,GAAIqS,EAAgB7C,KAAM,CACxBsH,EAAapD,cAAa,SAAU1a,GAClC4S,EAAM7V,KAAKgB,EAAQ,CACjBiC,MAAOA,EACPoH,GAAI0W,EAAa1W,IAE3B,GACA,CAEI,IAAI8N,EAAQ4I,EACZnjB,KAAKyY,SAAS9B,IAAIwM,EAAa1W,GAAI8N,GAEnC,GAAImE,EAAgB5C,YAAa,CAC/B9b,KAAK0c,UAAUlH,IAAI2N,EAAa1W,GACtC,CAEI0W,EAAa/C,QAAO,SAAUgD,GAC5BnL,EAAM0K,YAAYQ,EAAa1W,IAE/BwL,EAAM7V,KAAKmJ,GAAa6X,EAAW,CACjCzF,OAAQwF,EAAa1W,KAE7B,IAAO3K,QACH,OAAOyY,CACX,EAEEyB,EAAYpc,UAAUsb,cAAgB,SAAUC,EAAU1O,GACxD,IAAI6C,EAAW4L,GAAcC,EAAU,CACrC1O,GAAIA,EACJ6I,OAAQtV,OAEVA,KAAKyY,SAAS9B,IAAIlK,EAAI6C,GACtB,OAAOA,CACX,EAEE0M,EAAYpc,UAAUijB,aAAe,SAAUQ,EAAS5W,GACtD,IAAI1I,EAEJ,IAAIkU,EAAQjY,KAEZ,IAAIsjB,EAAW,MACf,IAAI9P,EACJ6P,EAAQza,MAAK,SAAU2a,GACrB,IAAKD,EAAU,CACb9P,EAAe+P,EAEftL,EAAM0K,YAAYlW,GAElBwL,EAAM7V,KAAKmJ,GAAawE,GAAWtD,EAAI8W,GAAW,CAChD5F,OAAQlR,IAElB,CACA,IAAO,SAAU+W,GACX,IAAKF,EAAU,CACbrL,EAAM0K,YAAYlW,GAElB,IAAIgX,EAAatiB,GAAMsL,EAAI+W,GAE3B,IAEEvL,EAAM7V,KAAKmJ,GAAakY,EAAY,CAClC9F,OAAQlR,IAEpB,CAAU,MAAOtL,GAGP,GAAI8W,EAAMgD,SAAU,CAClBhD,EAAMgD,SAAS7Y,KAAKqhB,EAAYxL,EAAM5S,MAClD,CAEU,GAAI4S,EAAM/L,QAAQwX,OAAQ,CAKxBzL,EAAMjW,MAClB,CACA,CACA,CACA,IACI,IAAIuY,GAASxW,EAAK,CAChB0I,GAAIA,EACJrK,KAAM,WACJ,YAAY,CACpB,EACM4I,UAAW,SAAUrK,EAAMgb,EAAavO,GACtC,IAAIsO,EAAW9O,GAAWjM,EAAMgb,EAAavO,GAC7C,IAAIuW,EAAe,MACnBN,EAAQza,MAAK,SAAU2a,GACrB,GAAII,EAAc,CAChB,MACZ,CAEUjI,EAAS/a,KAAK4iB,GAEd,GAAII,EAAc,CAChB,MACZ,CAEUjI,EAAStO,UACnB,IAAW,SAAU4Q,GACX,GAAI2F,EAAc,CAChB,MACZ,CAEUjI,EAASva,MAAM6c,EACzB,IACQ,MAAO,CACLhL,YAAa,WACX,OAAO2Q,EAAe,IAClC,EAEA,EACM3hB,KAAM,WACJshB,EAAW,IACnB,EACMpQ,OAAQ,WACN,MAAO,CACLzG,GAAIA,EAEd,EACMwG,YAAa,WACX,OAAOO,CACf,GACOzP,EAAGkH,IAAoB,WACxB,OAAOjL,IACb,EAAO+D,GACH/D,KAAKyY,SAAS9B,IAAIlK,EAAI8N,GACtB,OAAOA,CACX,EAEEyB,EAAYpc,UAAUmjB,cAAgB,SAAUpJ,EAAUlN,GACxD,IAAI1I,EAEJ,IAAIkU,EAAQjY,KAEZ,IAAIsjB,EAAW,MACf,IAAIM,EAAY,IAAI5O,IACpB,IAAIkH,EAAY,IAAIlH,IACpB,IAAI6O,EAEJ,IAAIC,EAAU,SAAU5jB,GACtB2jB,EAAU3jB,EACVgc,EAAUvJ,SAAQ,SAAUuM,GAC1B,OAAOA,EAAShf,EACxB,IAEM,GAAIojB,EAAU,CACZ,MACR,CAEMrL,EAAM7V,KAAKmJ,GAAarL,EAAG,CACzByd,OAAQlR,IAEhB,EAEI,IAAIsX,EAEJ,IACEA,EAAepK,EAASmK,GAAS,SAAUE,GACzCJ,EAAUpO,IAAIwO,EACtB,GACA,CAAM,MAAOhG,GACPhe,KAAKoC,KAAKjB,GAAMsL,EAAIuR,GAC1B,CAEI,GAAItV,GAAcqb,GAAe,CAG/B,OAAO/jB,KAAK6iB,aAAakB,EAActX,EAC7C,CAEI,IAAI8N,GAASxW,EAAK,CAChB0I,GAAIA,EACJrK,KAAM,SAAUwC,GACd,OAAOgf,EAAUjR,SAAQ,SAAUsR,GACjC,OAAOA,EAASrf,EAC1B,GACA,EACMoG,UAAW,SAAUrK,GACnB,IAAI+a,EAAW9O,GAAWjM,GAC1Bub,EAAU1G,IAAIkG,EAAS/a,MACvB,MAAO,CACLqS,YAAa,WACXkJ,EAAUzB,OAAOiB,EAAS/a,KACtC,EAEA,EACMqB,KAAM,WACJshB,EAAW,KAEX,GAAInb,GAAW4b,GAAe,CAC5BA,GACV,CACA,EACM7Q,OAAQ,WACN,MAAO,CACLzG,GAAIA,EAEd,EACMwG,YAAa,WACX,OAAO4Q,CACf,GACO9f,EAAGkH,IAAoB,WACxB,OAAOjL,IACb,EAAO+D,GACH/D,KAAKyY,SAAS9B,IAAIlK,EAAI8N,GACtB,OAAOA,CACX,EAEEyB,EAAYpc,UAAUqjB,gBAAkB,SAAU7E,EAAQ3R,GACxD,IAAI1I,EAEJ,IAAIkU,EAAQjY,KAEZ,IAAI6jB,EACJ,IAAIK,EAAe9F,EAAOpT,WAAU,SAAUpK,GAC5CijB,EAAUjjB,EAEVqX,EAAM7V,KAAKmJ,GAAa3K,EAAO,CAC7B+c,OAAQlR,IAEhB,IAAO,SAAUuR,GACX/F,EAAM0K,YAAYlW,GAElBwL,EAAM7V,KAAKmJ,GAAapK,GAAMsL,EAAIuR,GAAM,CACtCL,OAAQlR,IAEhB,IAAO,WACDwL,EAAM0K,YAAYlW,GAElBwL,EAAM7V,KAAKmJ,GAAawE,GAAWtD,GAAK,CACtCkR,OAAQlR,IAEhB,IACI,IAAI8N,GAASxW,EAAK,CAChB0I,GAAIA,EACJrK,KAAM,WACJ,YAAY,CACpB,EACM4I,UAAW,SAAUrK,EAAMgb,EAAavO,GACtC,OAAOgR,EAAOpT,UAAUrK,EAAMgb,EAAavO,EACnD,EACMpL,KAAM,WACJ,OAAOkiB,EAAalR,aAC5B,EACMC,YAAa,WACX,OAAO4Q,CACf,EACM3Q,OAAQ,WACN,MAAO,CACLzG,GAAIA,EAEd,GACO1I,EAAGkH,IAAoB,WACxB,OAAOjL,IACb,EAAO+D,GACH/D,KAAKyY,SAAS9B,IAAIlK,EAAI8N,GACtB,OAAOA,CACX,EAEEyB,EAAYpc,UAAUojB,WAAa,SAAUzI,EAAOzP,GAClD9K,KAAKyY,SAAS9B,IAAI7L,EAAMyP,GACxB,OAAOA,CACX,EAEEyB,EAAYpc,UAAU0e,cAAgB,SAAUlP,GAC9C,IAAI+U,EAAiBnkB,KAAKkM,QAAQG,SAAWrM,KAAKkM,QAAQG,QAAQ6L,WAAalY,KAAKkM,QAAQG,QAAQ6L,WAAW9I,EAASvK,MAAQgD,UAEhI,IAAKsc,EAAgB,CAMnB,MACN,CAGI,IAAIC,EAAUD,EAAenkB,KAAKqF,MAAM2C,QAASoH,GACjDpP,KAAKqkB,YAAYjV,EAAS3C,GAAI2X,EAClC,EAEEpI,EAAYpc,UAAUykB,YAAc,SAAU5X,EAAI2X,GAChD,IAAIrgB,EAEJ/D,KAAKyY,SAAS9B,IAAIlK,GAAK1I,EAAK,CAC1B0I,GAAIA,EACJrK,KAAM,WACJ,YAAY,CACpB,EACM4I,UAAW,WACT,MAAO,CACLgI,YAAa,WACX,YAAY,CACxB,EAEA,EACMhR,KAAMoiB,GAAWvc,UACjBoL,YAAa,WACX,OAAOpL,SACf,EACMqL,OAAQ,WACN,MAAO,CACLzG,GAAIA,EAEd,GACO1I,EAAGkH,IAAoB,WACxB,OAAOjL,IACb,EAAO+D,GACP,EAEEiY,EAAYpc,UAAUihB,UAAY,WAChC,IAAIhG,EAASH,KAEb,GAAI1a,KAAKqM,QAAQ4O,UAAYJ,EAAQ,CACnC,GAAIA,EAAOyJ,6BAA8B,CACvC,IAAIC,SAAyBvkB,KAAKqM,QAAQ4O,WAAa,SAAWjb,KAAKqM,QAAQ4O,SAAWpT,UAC1F7H,KAAKib,SAAWJ,EAAOyJ,6BAA6BE,QAAQtlB,EAASA,EAAS,CAC5E4L,KAAM9K,KAAKyM,GACXgY,UAAW,KACXC,eAAgB,SAAUrf,GACxB,MAAO,CACLzE,MAAOyE,EAAMzE,MACboH,QAAS3C,EAAM2C,QACfmG,QAAS9I,EAAM8I,QAE7B,GACWoW,GAAkB,CACnBI,SAAUzlB,EAAS,CACjB0lB,KAAM,MACNC,KAAM,OACLN,EAAkBA,EAAgBI,SAAW9c,aAC9C7H,KAAKkM,SACTlM,KAAKib,SAASpY,KAAK7C,KAAKqF,MAChC,CAGM2V,GAAgBhb,KACtB,CACA,EAEEgc,EAAYpc,UAAUsT,OAAS,WAC7B,MAAO,CACLzG,GAAIzM,KAAKyM,GAEf,EAEEuP,EAAYpc,UAAUqL,IAAoB,WACxC,OAAOjL,IACX,EAEEgc,EAAYpc,UAAUqT,YAAc,WAClC,GAAIjT,KAAKwc,SAAWT,GAAkBU,WAAY,CAChD,OAAOzc,KAAK+T,YAClB,CAEI,OAAO/T,KAAKqd,MAChB,EASErB,EAAY5C,eAAiB,CAC3B4F,QAAS,KACT3F,YAAa,KACbsF,MAAO,CACL+D,WAAY,SAAU5P,EAAIgS,GACxB,OAAOpC,WAAW5P,EAAIgS,EAC9B,EACMxD,aAAc,SAAU7U,GACtB,OAAO6U,aAAa7U,EAC5B,GAEIgS,OAAqBsG,QAAQpiB,IAAIwK,KAAK4X,SACtC9J,SAAU,OAEZe,EAAYgJ,UAAYA,GACxB,OAAOhJ,CACT,CAr6CA,GAy8CA,SAASgJ,GAAU9Y,EAASG,GAC1B,IAAI4Y,EAAc,IAAIjJ,GAAY9P,EAASG,GAC3C,OAAO4Y,CACT,CCp+CA,SAASvY,GAAeC,GACtB,UAAWA,IAAQ,SAAU,CAC3B,IAAIuY,EAAY,CACdrgB,KAAM8H,GAGRuY,EAAUhgB,SAAW,WACnB,OAAOyH,CACb,EAGI,OAAOuY,CACX,CAEE,OAAOvY,CACT,CACA,SAASwY,GAAmBC,GAC1B,OAAOlmB,EAASA,EAAS,CACvB2F,KAAM9B,GACLqiB,GAAe,CAChBlS,OAAQ,WAGF,IAAImS,EAAYplB,EAAOmlB,EAAc,CAAC,SAAU,YAEpD,OAAOlmB,EAASA,EAAS,GAAImmB,GAAY,CACvCxgB,KAAM9B,EACN4J,IAAKD,GAAe0Y,EAAazY,MAEzC,GAEA,CC1BA,IAAI2Y,GAAa,GACjB,IAAIC,GAAmB,IACvB,IAAIC,GAAW,IACf,IAAIC,GAAe,GAEnB,IAAIC,GAAY,SAAUC,GACxB,OAAOA,EAAI,KAAOJ,EACpB,EAEA,IAAIK,GAAuB,WACzB,MAAO,CACLzX,QAAS,GACT/B,OAAQ,GACRmH,SAAU,GACV2E,WAAY,GACZhH,OAAQ,GAEZ,EAEA,IAAI2U,GAAgC,SAAUzR,EAAWxP,EAAOiH,GAC9BA,EAAYnK,MAAM,GAAI,GAAGsV,MAAK,SAAUlO,GACtE,QAAS,SAAUA,MAAiB,OAAQA,KAAgBvE,GAASuE,EAAWiD,SAAWZ,GAAUrC,EAAWiD,QACpH,GAGA,EAEA,IAAI+Z,GAIJ,WACE,SAASA,EAIThP,EAAQzK,EAIR0Z,EACAC,GACE,GAAID,SAAkB,EAAG,CACvBA,EAAW,YAAajP,EAASA,EAAO9O,QAAUH,SACxD,CAEI,IAAIoQ,EAAQjY,KAEZ,IAAI+D,EAEJ/D,KAAK8W,OAASA,EACd9W,KAAK+lB,SAAWA,EAKhB/lB,KAAK0hB,OAAS,EACd1hB,KAAKimB,aAAe,KACpBjmB,KAAKkmB,QAAU,CACb/N,OAAQtQ,UACRse,cAAe,IAAI3P,IACnB4P,kBAAmBve,UACnBkM,aAAclM,UACdwe,GAAIxe,UACJgE,YAAahE,UACbye,WAAY,GACZC,mBAAoB1e,WAEtB7H,KAAKwmB,MAAQ,GACbxmB,KAAKuX,KAAO,GACZvX,KAAKqM,QAAUlN,OAAOC,OAAOwmB,KAAwBvZ,GACrDrM,KAAKsV,OAAS0Q,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAW1Q,OACjFtV,KAAK0E,IAAM1E,KAAK8W,OAAOpS,MAAQshB,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWthB,MAAQ1E,KAAK8W,OAAOrK,IAAM,YAC5HzM,KAAKkM,QAAUlM,KAAKsV,OAAStV,KAAKsV,OAAOpJ,QAAUlM,KACnDA,KAAKuG,KAAOvG,KAAKsV,OAAStV,KAAKsV,OAAO/O,KAAK5E,OAAO3B,KAAK0E,KAAO,GAC9D1E,KAAKmE,UAAYnE,KAAK8W,OAAO3S,YAAcnE,KAAKsV,OAAStV,KAAKsV,OAAOnR,UAAYT,GACjF1D,KAAKyM,GAAKzM,KAAK8W,OAAOrK,IAAMrL,EAAc,CAACpB,KAAKkM,QAAQxH,KAAM3D,EAAOf,KAAKuG,MAAO,OAAOkgB,KAAKzmB,KAAKmE,WAClGnE,KAAK0mB,QAAU1mB,KAAKsV,OAAStV,KAAKsV,OAAOoR,QAAU1mB,KAAK8W,OAAO4P,QAC/D1mB,KAAK6E,KAAO7E,KAAK8W,OAAOjS,OAAS7E,KAAK8W,OAAO6P,SAAW,WAAa3mB,KAAK8W,OAAOrN,QAAUtK,OAAOqF,KAAKxE,KAAK8W,OAAOrN,QAAQ/J,OAAS,WAAaM,KAAK8W,OAAOwB,QAAU,UAAY,UACnLtY,KAAK4mB,OAAS5mB,KAAKsV,OAAStV,KAAKkM,QAAQ0a,QAAU7iB,EAAK/D,KAAK8W,OAAO8P,UAAY,MAAQ7iB,SAAY,EAAIA,EAAK,GAC7G/D,KAAK6mB,YAAc7mB,KAAK8W,OAAO+P,YAM/B7mB,KAAK8mB,QAAU9mB,KAAK8W,OAAOgQ,QAC3B9mB,KAAKyJ,OAASzJ,KAAK8W,OAAOrN,OAAS/D,EAAU1F,KAAK8W,OAAOrN,QAAQ,SAAUsd,EAAariB,GACtF,IAAIX,EAEJ,IAAIqQ,EAAY,IAAI0R,EAAUiB,EAAa,GAAIlf,UAAW,CACxDyN,OAAQ2C,EACRvT,IAAKA,IAEPvF,OAAOC,OAAO6Y,EAAMuO,MAAOtnB,GAAU6E,EAAK,GAAIA,EAAGqQ,EAAU3H,IAAM2H,EAAWrQ,GAAKqQ,EAAUoS,QAC3F,OAAOpS,CACb,IAASqR,GAEL,IAAI/D,EAAQ,EAEZ,SAASsF,EAAI5S,GACX,IAAInO,EAAKlC,EAETqQ,EAAUsN,MAAQA,IAElB,IACE,IAAK,IAAIxb,EAAK5F,EAAS+T,GAAeD,IAAajO,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CAC3F,IAAIoV,EAAQ5P,EAAGvF,MACfomB,EAAIjR,EACd,CACA,CAAQ,MAAO1P,GACPJ,EAAM,CACJ9E,MAAOkF,EAEjB,CAAO,QACC,IACE,GAAIF,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EAC1D,CAAS,QACC,GAAID,EAAK,MAAMA,EAAI9E,KAC7B,CACA,CACA,CAEI6lB,EAAIhnB,MAEJA,KAAKsY,QAAUtY,KAAK8W,OAAOwB,UAAY,KAAO,UAAYtY,KAAK8W,OAAOwB,SAAW,MACjFtY,KAAKinB,aAAejnB,KAAK8W,OAAOoQ,UAAYlnB,KAAK8W,OAAOuP,GAAK,MAAQ5kB,MAAMwD,QAAQjF,KAAK8W,OAAOuP,IAAMrmB,KAAK8W,OAAOuP,GAAGrP,MAAK,SAAUjT,GACjI,IAAIa,EAAQb,EAAGa,MACf,OAAOA,IAAU0gB,EACvB,IAASA,MAActlB,KAAK8W,OAAOuP,IAC/BrmB,KAAK0jB,SAAW1jB,KAAK8W,OAAO4M,OAE5B1jB,KAAKmnB,QAAUvf,GAAQ5H,KAAK8W,OAAOsQ,OAASpnB,KAAK8W,OAAOqQ,SAAS5f,KAAI,SAAU+C,GAC7E,OAAOyD,GAAezD,EAC5B,IAEItK,KAAK2hB,OAAS/Z,GAAQ5H,KAAK8W,OAAOuQ,MAAQrnB,KAAK8W,OAAO6K,QAAQpa,KAAI,SAAU+C,GAC1E,OAAOyD,GAAezD,EAC5B,IACItK,KAAKqK,KAAOrK,KAAK8W,OAAOzM,KACxBrK,KAAKyf,SAAWzf,KAAK6E,OAAS,QAAU7E,KAAK8W,OAAO1O,KAAOP,UAC3D7H,KAAK+C,OAAS6E,GAAQ5H,KAAK8W,OAAO/T,QAAQwE,KAAI,SAAU6d,EAAc7lB,GACpE,IAAIwE,EAAImC,EAER,GAAIiF,GAAUia,GAAe,CAC3B,IAAIkC,EAAWja,GAAe4K,EAAMxL,GAAIlN,GACxC0Y,EAAM/L,QAAQG,QAAQkH,SAAWrU,GAAU6E,EAAK,GAAIA,EAAGujB,GAAYlC,EAAcrhB,GAAKkU,EAAM/L,QAAQG,QAAQkH,UAC5G,OAAO4R,GAAmB,CACxBxY,IAAK2a,EACL7a,GAAI6a,GAEd,MAAa,GAAI/iB,GAAS6gB,EAAazY,KAAM,CACrC,IAAI2a,EAAWlC,EAAa3Y,IAAMY,GAAe4K,EAAMxL,GAAIlN,GAC3D,OAAO4lB,GAAmBjmB,EAASA,EAAS,GAAIkmB,GAAe,CAC7D3Y,GAAI6a,EACJ3a,IAAKyY,EAAazY,MAE5B,MAAa,GAAIxB,GAAUia,EAAazY,MAAQxE,GAAWid,EAAazY,KAAM,CACtE,IAAI2a,EAAWlC,EAAa3Y,IAAMY,GAAe4K,EAAMxL,GAAIlN,GAC3D0Y,EAAM/L,QAAQG,QAAQkH,SAAWrU,GAAUgH,EAAK,GAAIA,EAAGohB,GAAYlC,EAAazY,IAAKzG,GAAK+R,EAAM/L,QAAQG,QAAQkH,UAChH,OAAO4R,GAAmBjmB,EAASA,EAAS,CAC1CuN,GAAI6a,GACHlC,GAAe,CAChBzY,IAAK2a,IAEf,KAAa,CACL,IAAInJ,EAAeiH,EAAazY,IAChC,OAAOwY,GAAmBjmB,EAASA,EAAS,CAC1CuN,GAAIY,GAAe4K,EAAMxL,GAAIlN,IAC5B6lB,GAAe,CAChBzY,IAAKwR,IAEf,CACA,IACIne,KAAKkY,WAAatQ,GAAQ5H,KAAK8W,OAAOoB,YAAYvW,OAAO3B,KAAK+C,QAAQwE,KAAI,SAAU6H,GAClF,OAAOf,GAAqBe,EAClC,IACIpP,KAAK8I,WAAa9I,KAAK8I,WAAWqE,KAAKnN,MACvCA,KAAKuX,KAAO3P,GAAQ5H,KAAK8W,OAAOS,KAKpC,CAEEuO,EAAUlmB,UAAU8gB,MAAQ,WAC1B,GAAI1gB,KAAKkmB,QAAQra,YAAa,CAC5B,MACN,CAEI4I,GAAiBzU,MAAM2S,SAAQ,SAAUyB,GACvC,OAAOA,EAAUiS,EACvB,GACA,EASEP,EAAUlmB,UAAU2nB,WAAa,SAAUlb,EAASrE,GAClD,IAAIjE,EAAK/D,KAAKqM,QACV8B,EAAUpK,EAAGoK,QACb+J,EAAanU,EAAGmU,WAChB9L,EAASrI,EAAGqI,OACZmH,EAAWxP,EAAGwP,SACdrC,EAASnN,EAAGmN,OAChB,OAAO,IAAI4U,EAAU9lB,KAAK8W,OAAQ,CAChC3I,QAASjP,EAASA,EAAS,GAAIiP,GAAU9B,EAAQ8B,SACjD+J,WAAYhZ,EAASA,EAAS,GAAIgZ,GAAa7L,EAAQ6L,YACvD9L,OAAQlN,EAASA,EAAS,GAAIkN,GAASC,EAAQD,QAC/CmH,SAAUrU,EAASA,EAAS,GAAIqU,GAAWlH,EAAQkH,UACnDrC,OAAQhS,EAASA,EAAS,GAAIgS,GAAS7E,EAAQ6E,SAC9ClJ,IAAY,MAAQA,SAAiB,EAAIA,EAAUhI,KAAKgI,QAC/D,EAQE8d,EAAUlmB,UAAUkU,YAAc,SAAU9L,GAC1C,OAAO,IAAI8d,EAAU9lB,KAAK8W,OAAQ9W,KAAKqM,QAASrE,EACpD,EAEE7I,OAAOuZ,eAAeoN,EAAUlmB,UAAW,UAAW,CACpDkS,IAAK,WACH,OAAO3J,GAAWnI,KAAK+lB,UAAY/lB,KAAK+lB,WAAa/lB,KAAK+lB,QAChE,EACIjH,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,aAAc,CAIvDkS,IAAK,WACH,MAAO,CACLrF,GAAIzM,KAAKyM,GACT/H,IAAK1E,KAAK0E,IACVgiB,QAAS1mB,KAAK0mB,QACd1e,QAAShI,KAAKgI,QACdnD,KAAM7E,KAAK6E,KACXiiB,QAAS9mB,KAAK8mB,QACdxO,QAAStY,KAAKsY,QACd7O,OAAQ/D,EAAU1F,KAAKyJ,QAAQ,SAAUpE,GACvC,OAAOA,EAAMmiB,UACvB,IACQnB,GAAIrmB,KAAKqmB,GACTxa,YAAa7L,KAAK6L,YAClBub,MAAOpnB,KAAKmnB,QACZE,KAAMrnB,KAAK2hB,OACXzJ,WAAYlY,KAAKkY,YAAc,GAC/B7N,KAAMrK,KAAKqK,KACXqX,MAAO1hB,KAAK0hB,QAAU,EACtBtZ,KAAMpI,KAAKyf,SACX1c,OAAQ/C,KAAK+C,OACb8jB,YAAa7mB,KAAK6mB,YAClBtP,KAAMvX,KAAKuX,KAEnB,EACIuH,WAAY,MACZC,aAAc,OAGhB+G,EAAUlmB,UAAUsT,OAAS,WAC3B,OAAOlT,KAAKwnB,UAChB,EAEEroB,OAAOuZ,eAAeoN,EAAUlmB,UAAW,KAAM,CAI/CkS,IAAK,WACH,GAAI9R,KAAKkmB,QAAQG,GAAI,CACnB,OAAOrmB,KAAKkmB,QAAQG,EAC5B,CAEM,IAAIxa,EAAc7L,KAAK6L,YACvB,OAAO7L,KAAKkmB,QAAQG,GAAKxa,EAAY7B,QAAO,SAAUzC,EAAKuB,GACzDvB,EAAIuB,EAAWN,WAAajB,EAAIuB,EAAWN,YAAc,GACzDjB,EAAIuB,EAAWN,WAAWtH,KAAK4H,GAC/B,OAAOvB,CACf,GAAS,GACT,EACIuX,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,QAAS,CAClDkS,IAAK,WACH,OAAO9R,KAAKkmB,QAAQK,qBAAuBvmB,KAAKkmB,QAAQK,mBAAqBvmB,KAAKynB,wBAAyBznB,KAAKkmB,QAAQK,mBAC9H,EACIzH,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,cAAe,CAIxDkS,IAAK,WACH,OAAO9R,KAAKkmB,QAAQra,cAAgB7L,KAAKkmB,QAAQra,YAAc7L,KAAK0nB,oBAAqB1nB,KAAKkmB,QAAQra,YAC5G,EACIiT,WAAY,MACZC,aAAc,OAGhB+G,EAAUlmB,UAAU+nB,cAAgB,SAAUC,GAC5C,GAAI5nB,KAAKkmB,QAAQI,WAAWsB,GAAY,CACtC,OAAO5nB,KAAKkmB,QAAQI,WAAWsB,EACrC,CAEI,IAAIC,EAAYD,IAActC,GAC9B,IAAIgB,EAAatmB,KAAK6L,YAAY0I,QAAO,SAAUzL,GACjD,IAAIgf,EAAgBhf,EAAWN,YAAcof,EAE7C,OAAOC,EAAYC,EAAgBA,GAAiBhf,EAAWN,YAAcgd,EACnF,IACIxlB,KAAKkmB,QAAQI,WAAWsB,GAAatB,EACrC,OAAOA,CACX,EAMER,EAAUlmB,UAAU6nB,sBAAwB,WAC1C,IAAIxP,EAAQjY,KAEZ,IAAI+nB,EAAc/nB,KAAK8W,OAAOpH,MAE9B,IAAKqY,EAAa,CAChB,MAAO,EACb,CAEI,IAAIC,EAAkB,SAAUta,EAAOnO,GACrC,IAAIoQ,EAAWxH,GAAWuF,GAAS,GAAG/L,OAAOsW,EAAMxL,GAAI,WAAW9K,OAAOpC,EAAG,KAAOmO,EACnF,IAAIlF,EAAYkH,GAAMC,EAAUsI,EAAMxL,IAEtCwL,EAAMkP,QAAQjmB,KAAKkB,GAAKoG,EAAW,CACjCkF,MAAOA,KAGTuK,EAAM0J,OAAOzgB,KAAKoB,GAAOkG,IAEzB,OAAOA,CACb,EAEI,IAAI+d,EAAqBthB,GAAQ8iB,GAAeA,EAAYxgB,KAAI,SAAUuB,EAAYvJ,GACpF,IAAIiJ,EAAYwf,EAAgBlf,EAAW4E,MAAOnO,GAClD,OAAOL,EAASA,EAAS,GAAI4J,GAAa,CACxClE,MAAO4D,GAEf,IAASlB,GAAQnI,OAAOqF,KAAKujB,GAAaxgB,KAAI,SAAUmG,EAAOnO,GACzD,IAAI0oB,EAAmBF,EAAYra,GACnC,IAAIwa,EAAqB3jB,GAAS0jB,GAAoB,CACpDlc,OAAQkc,GACNA,EACJ,IAAItZ,GAAiBwZ,OAAOza,IAAUA,EAAQA,EAC9C,IAAIlF,EAAYwf,EAAgBrZ,EAAepP,GAC/C,OAAOqI,GAAQsgB,GAAoB3gB,KAAI,SAAUuB,GAC/C,OAAO5J,EAASA,EAAS,GAAI4J,GAAa,CACxClE,MAAO4D,EACPkF,MAAOiB,GAEjB,GACA,KACI,OAAO4X,EAAmBhf,KAAI,SAAU6gB,GACtC,IAAI1a,EAAQ0a,EAAkB1a,MAC9B,OAAOxO,EAASA,EAAS,GAAI+Y,EAAMoQ,iBAAiBD,IAAqB,CACvE1a,MAAOA,GAEf,GACA,EAQEoY,EAAUlmB,UAAU0oB,cAAgB,SAAUjjB,GAC5C,IAAItB,EAEJ,IAAIkU,EAAQjY,KAEZ,IAAKqF,EAAO,CACV,MAAO,EACb,CAEI,IAAIC,EAAaD,aAAiB2S,GAAQ3S,EAAMzE,MAAQyD,EAAagB,EAAOrF,KAAKmE,WAEjF,GAAII,GAASe,GAAa,CACxB,IAAI8gB,EAAoBpmB,KAAKuoB,aAAajjB,GAAYwhB,QACtD,OAAOV,IAAsBve,UAAY7H,KAAKsoB,eAAevkB,EAAK,GAAIA,EAAGuB,GAAc8gB,EAAmBriB,IAAO,CAAC/D,KAAMA,KAAKyJ,OAAOnE,GAC1I,CAEI,IAAIkjB,EAAerpB,OAAOqF,KAAKc,GAC/B,IAAImjB,EAAgB,CAACzoB,MACrByoB,EAAcvnB,KAAKnB,MAAM0oB,EAAernB,EAAc,GAAIL,EAAOuG,GAAQkhB,EAAajhB,KAAI,SAAUmhB,GAClG,OAAOzQ,EAAMsQ,aAAaG,GAAaJ,cAAchjB,EAAWojB,GACtE,MAAU,QACN,OAAOD,CACX,EAQE3C,EAAUlmB,UAAU+oB,QAAU,SAAU/jB,GACtC,IAAI4D,EAAY7D,EAAaC,GAC7B,OAAO5E,KAAKmY,OAAOyQ,SAASpgB,EAChC,EAUEsd,EAAUlmB,UAAUghB,aAAe,SAAUvb,GAC3C,IAAIwjB,EAAkBxjB,aAAiB2S,GAAQ3S,EAAQ2S,GAAMW,OAAOtT,GACpE,IAAI8P,EAAgB1T,MAAMH,KAAKqT,GAAiB,GAAI3U,KAAKsoB,cAAcO,EAAgBjoB,SACvF,OAAO,IAAIoX,GAAM9Y,EAASA,EAAS,GAAI2pB,GAAkB,CACvDjoB,MAAOZ,KAAK8iB,QAAQ+F,EAAgBjoB,OACpCuU,cAAeA,EACftU,KAAMuW,GAAejC,EAAenV,MACpCuX,KAAMD,GAAyBnC,GAC/BjJ,QAASlM,KAAKkM,UAEpB,EAEE4Z,EAAUlmB,UAAUkpB,mBAAqB,SAAUxjB,EAAYD,EAAO4C,GACpE,IAAImM,EAAYpU,KAAKuoB,aAAajjB,GAClC,IAAI3E,EAAOyT,EAAUzT,KAAK0E,EAAO4C,GAEjC,IAAKtH,IAASA,EAAKkL,YAAYnM,OAAQ,CACrC,OAAOM,KAAKW,KAAK0E,EAAO4C,EAC9B,CAEI,OAAOtH,CACX,EAEEmlB,EAAUlmB,UAAUmpB,uBAAyB,SAAUzjB,EAAYD,EAAO4C,GACxE,IAAIugB,EAAerpB,OAAOqF,KAAKc,GAC/B,IAAI8O,EAAYpU,KAAKuoB,aAAaC,EAAa,IAE/C,IAAI7nB,EAAOyT,EAAU4U,YAAY1jB,EAAWkjB,EAAa,IAAKnjB,EAAO4C,GAErE,IAAKtH,IAASA,EAAKkL,YAAYnM,OAAQ,CACrC,OAAOM,KAAKW,KAAK0E,EAAO4C,EAC9B,CAEI,OAAOtH,CACX,EAEEmlB,EAAUlmB,UAAUqpB,uBAAyB,SAAU3jB,EAAYD,EAAO4C,GACxE,IAAIvB,EAAK3C,EAET,IAAImlB,EAAgB,GAEpB,IACE,IAAK,IAAIhjB,EAAK5F,EAASnB,OAAOqF,KAAKc,IAAca,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CACzF,IAAI+nB,EAAcviB,EAAGvF,MACrB,IAAI4G,EAAgBlC,EAAWojB,GAE/B,IAAKlhB,EAAe,CAClB,QACV,CAEQ,IAAI2hB,EAAenpB,KAAKuoB,aAAaG,GAErC,IAAI/nB,EAAOwoB,EAAaH,YAAYxhB,EAAenC,EAAO4C,GAE1D,GAAItH,EAAM,CACRuoB,EAAcR,GAAe/nB,CACvC,CACA,CACA,CAAM,MAAOmG,GACPJ,EAAM,CACJvF,MAAO2F,EAEf,CAAK,QACC,IACE,GAAIX,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACxD,CAAO,QACC,GAAIQ,EAAK,MAAMA,EAAIvF,KAC3B,CACA,CAEI,IAAIioB,EAAmBjqB,OAAOqF,KAAK0kB,GAAe3hB,KAAI,SAAU7C,GAC9D,OAAOwkB,EAAcxkB,EAC3B,IACI,IAAI2kB,EAAqB/hB,GAAQ8hB,EAAiB7hB,KAAI,SAAU+hB,GAC9D,OAAOA,EAAGzd,WAChB,KACI,IAAI0d,EAAiBH,EAAiBpS,MAAK,SAAUsS,GACnD,OAAOA,EAAGzd,YAAYnM,OAAS,CACrC,IAEI,IAAK6pB,EAAgB,CACnB,OAAOvpB,KAAKW,KAAK0E,EAAO4C,EAC9B,CAEI,IAAIkN,EAAgB7N,GAAQnI,OAAOqF,KAAK0kB,GAAe3hB,KAAI,SAAU7C,GACnE,OAAOwkB,EAAcxkB,GAAKyQ,aAChC,KACI,MAAO,CACLtJ,YAAawd,EACbG,QAASliB,GAAQ8hB,EAAiB7hB,KAAI,SAAUlI,GAC9C,OAAOA,EAAEmqB,OACjB,KACMrU,cAAeA,EACfiJ,OAAQ/Y,EACR8I,QAAS7G,GAAQnI,OAAOqF,KAAK0kB,GAAe3hB,KAAI,SAAU7C,GACxD,OAAOwkB,EAAcxkB,GAAKyJ,OAClC,KAEA,EAEE2X,EAAUlmB,UAAUopB,YAAc,SAAU1jB,EAAYD,EAAO4C,GAE7D,GAAI1D,GAASe,GAAa,CACxB,OAAOtF,KAAK8oB,mBAAmBxjB,EAAYD,EAAO4C,EACxD,CAGI,GAAI9I,OAAOqF,KAAKc,GAAY5F,SAAW,EAAG,CACxC,OAAOM,KAAK+oB,uBAAuBzjB,EAAYD,EAAO4C,EAC5D,CAGI,OAAOjI,KAAKipB,uBAAuB3jB,EAAYD,EAAO4C,EAC1D,EAEE6d,EAAUlmB,UAAUuZ,kBAAoB,SAAU9T,EAAOT,GACvD,OAAO5E,KAAKgpB,YAAY3jB,EAAMzE,MAAOyE,EAAOkG,GAAa3G,GAC7D,EAEEkhB,EAAUlmB,UAAUe,KAAO,SAAU0E,EAAO4C,GAC1C,IAAIhB,EAAKlD,EAET,IAAIkU,EAAQjY,KAEZ,IAAI4nB,EAAY3f,EAAO6C,KACvB,IAAIqD,EAAU,GACd,IAAIsb,EAAiB,GACrB,IAAIC,EAEJ,IACE,IAAK,IAAIxjB,EAAK5F,EAASN,KAAK2nB,cAAcC,IAAazhB,EAAKD,EAAGvF,QAASwF,EAAGtF,KAAMsF,EAAKD,EAAGvF,OAAQ,CAC/F,IAAIgpB,EAAYxjB,EAAGvF,MACnB,IAAI2L,EAAOod,EAAUpd,KACjBqd,EAAUD,EAAUE,GACxB,IAAI7X,EAAkB3M,EAAM2C,QAC5B,IAAI8hB,EAAYF,EAAUrlB,GAASqlB,IAAYlE,GAAUkE,GACzDvkB,EAAMkT,QAAQlU,EAAarE,KAAK+pB,iBAAiBH,GAASrjB,KAAMvG,KAAKmE,YACrEH,EAAaK,EAAaulB,EAAS5pB,KAAKmE,WAAYoC,GAAKvG,KAAKuG,KAAK7E,MAAM,GAAI,GAAzB6E,CAA6BlB,EAAMzE,QAAU,KACjG,IAAIopB,EAAc,MAElB,IACEA,GAAezd,GAAQN,GAAcjM,KAAKkM,QAASK,EAAMyF,EAAiB/J,EAAQ5C,EAC5F,CAAU,MAAO2Y,GACP,MAAM,IAAIlZ,MAAM,6BAA6BnD,OAAO4K,EAAKzB,MAAQyB,EAAK1H,KAAM,+BAA+BlD,OAAOimB,EAAW,qBAAqBjmB,OAAO3B,KAAKyM,GAAI,QAAQ9K,OAAOqc,EAAIiM,SAC/L,CAEQ,GAAID,GAAeF,EAAW,CAC5B,GAAIH,EAAU5d,SAAWlE,UAAW,CAClC4hB,EAAiBE,EAAU5d,MACvC,CAEUoC,EAAQjN,KAAKnB,MAAMoO,EAAS/M,EAAc,GAAIL,EAAO4oB,EAAUxb,SAAU,QACzEub,EAAqBC,EACrB,KACV,CACA,CACA,CAAM,MAAOviB,GACPH,EAAM,CACJ9F,MAAOiG,EAEf,CAAK,QACC,IACE,GAAIjB,IAAOA,EAAGtF,OAASkD,EAAKmC,EAAGI,QAASvC,EAAGjE,KAAKoG,EACxD,CAAO,QACC,GAAIe,EAAK,MAAMA,EAAI9F,KAC3B,CACA,CAEI,IAAKuoB,EAAoB,CACvB,OAAO7hB,SACb,CAEI,IAAK4hB,EAAe/pB,OAAQ,CAC1B,MAAO,CACLmM,YAAa,CAAC6d,GACdF,QAAS,GACTrU,cAAe9P,EAAMzE,MAAQ,CAACZ,MAAQ,GACtCoe,OAAQ/Y,EACR8I,QAASA,EAEjB,CAEI,IAAI+b,EAAoB5iB,GAAQmiB,EAAeliB,KAAI,SAAU6M,GAC3D,OAAO6D,EAAMkS,sBAAsB/V,EAAW/O,EAAMgT,aAC1D,KACI,IAAI+R,IAAeV,EAAmBW,SACtC,MAAO,CACLxe,YAAa,CAAC6d,GACdF,QAASY,EAAa,GAAK9iB,GAAQmiB,EAAeliB,KAAI,SAAU+iB,GAC9D,OAAOrS,EAAMsS,8BAA8BD,EACnD,KACMnV,cAAe+U,EACf9L,OAAQ/Y,EACR8I,QAASA,EAEf,EAKE2X,EAAUlmB,UAAU2qB,8BAAgC,SAAUD,GAC5D,GAAItqB,KAAK0hB,MAAQ4I,EAAW5I,MAAO,CACjC,MAAO,CAAC1hB,KACd,CAEI,IAAIwqB,EAAQ,GACZ,IAAI/kB,EAASzF,KACb,IAAIyqB,EAAmBH,EAEvB,MAAO7kB,GAAUA,IAAWglB,EAAkB,CAC5CD,EAAMtpB,KAAKuE,GACXA,EAASA,EAAO6P,MACtB,CAEI,GAAI7P,IAAWglB,EAAkB,CAG/B,MAAO,EACb,CAEID,EAAMtpB,KAAKupB,GACX,OAAOD,CACX,EAEE1E,EAAUlmB,UAAU8qB,WAAa,SAAUC,EAAgBC,EAAQ9hB,EAAY4H,EAAgBzI,EAAQ4iB,EAAWla,GAChH,IAAIkE,EAAK9Q,EAAImE,EAAKhC,EAElB,IAAI+R,EAAQjY,KAEZ,IAAI8qB,EAAaD,EAAYlW,GAAiB,GAAI3U,KAAKsoB,cAAcuC,EAAUjqB,QAAU,GACzF,IAAImqB,EAAW,IAAI/V,IAEnB,IACE,IAAK,IAAI7O,EAAK7F,EAASmB,MAAMH,KAAKqpB,GAAgBlJ,MAAK,SAAUhK,EAAGC,GAClE,OAAOD,EAAEiK,MAAQhK,EAAEgK,KAC3B,KAAW5M,EAAK3O,EAAGxF,QAASmU,EAAGjU,KAAMiU,EAAK3O,EAAGxF,OAAQ,CAC7C,IAAI6T,EAAKM,EAAGlU,MAEZ,IAAK2U,GAAIuV,EAAYtW,IAAOe,GAAIzM,EAAW0gB,QAAShV,IAAOA,EAAGc,QAAUyV,EAASxV,IAAIf,EAAGc,QAAS,CAC/FyV,EAASvV,IAAIhB,EACvB,CACA,CACA,CAAM,MAAO0B,GACPrB,EAAM,CACJ1T,MAAO+U,EAEf,CAAK,QACC,IACE,GAAIpB,IAAOA,EAAGjU,OAASkD,EAAKoC,EAAGG,QAASvC,EAAGjE,KAAKqG,EACxD,CAAO,QACC,GAAI0O,EAAK,MAAMA,EAAI1T,KAC3B,CACA,CAEI,IACE,IAAK,IAAI6pB,EAAe1qB,EAASwqB,GAAaG,EAAiBD,EAAarqB,QAASsqB,EAAepqB,KAAMoqB,EAAiBD,EAAarqB,OAAQ,CAC9I,IAAI6T,EAAKyW,EAAerqB,MAExB,IAAK2U,GAAIoV,EAAgBnW,IAAOe,GAAIzM,EAAW0gB,QAAShV,EAAGc,QAAS,CAClExM,EAAW0gB,QAAQtoB,KAAKsT,EAClC,CACA,CACA,CAAM,MAAOlM,GACPJ,EAAM,CACJ/G,MAAOmH,EAEf,CAAK,QACC,IACE,GAAI2iB,IAAmBA,EAAepqB,OAASqF,EAAK8kB,EAAa1kB,QAASJ,EAAGpG,KAAKkrB,EAC1F,CAAO,QACC,GAAI9iB,EAAK,MAAMA,EAAI/G,KAC3B,CACA,CAEI2H,EAAW0gB,QAAQ/H,MAAK,SAAUhK,EAAGC,GACnC,OAAOA,EAAEgK,MAAQjK,EAAEiK,KACzB,IACI,IAAIwJ,EAAczpB,MAAMH,KAAKypB,GAAUtJ,MAAK,SAAUhK,EAAGC,GACvD,OAAOD,EAAEiK,MAAQhK,EAAEgK,KACzB,IACI,IAAIyJ,EAAa,IAAInW,IAAIlM,EAAW0gB,SACpC,IAAI4B,EAAa9jB,GAAQ4jB,EAAY3jB,KAAI,SAAUiN,GACjD,IAAI2D,EAAS,GAEb,GAAI3D,EAAG3P,OAAS,QAAS,CACvB,OAAOsT,CACf,CAEM,IAAI7C,EAASd,EAAGc,OAEhB,IAAKA,EAAOA,OAAQ,CAClB,OAAO6C,CACf,CAEMA,EAAOjX,KAAKL,GAAK2T,EAAG/H,GAAI+H,EAAGiL,UAC3B5e,GAAKyU,EAAO7I,GAAI+H,EAAGiL,SAAW3X,GAAW0M,EAAGiL,SAAU/O,EAAgBzI,GAAUJ,YAChF,IAAIwjB,EAAc/V,EAAOA,OAEzB,GAAI+V,EAAYxmB,OAAS,WAAY,CACnC,GAAIyP,GAAY+W,GAAa5mB,OAAM,SAAU6mB,GAC3C,OAAOlU,GAAetO,EAAWqM,cAAemW,EAC1D,IAAY,CACFnT,EAAOjX,KAAKL,GAAKwqB,EAAY5e,IACvC,CACA,CAEM,OAAO0L,CACb,KACI,IAAIoT,EAAeL,EAAY3jB,KAAI,SAAU6M,GAC3C,IAAImX,EAAenX,EAAU+S,QAC7B,IAAIqE,EAAgBpX,EAAU8D,WAAW3Q,KAAI,SAAU6H,GACrD,OAAOtN,GAAMsN,EACrB,IACM,MAAO,CACLvK,KAAM,QACNsJ,QAASD,GAAgByC,EAAkBvP,EAAcA,EAAc,GAAIL,EAAOwqB,GAAe,OAAQxqB,EAAOyqB,GAAgB,OAASpqB,EAAcA,EAAc,GAAIL,EAAOyqB,GAAgB,OAAQzqB,EAAOwqB,GAAe,OAAQtT,EAAM/L,QAAQG,QAAQ8B,SAEpQ,IAAOxM,OAAO,CACRkD,KAAM,aACNsJ,QAASid,EAAW7jB,KAAI,SAAU3C,GAChC,OAAO1C,GAAM0C,EACrB,MAEI,IAAI4c,EAAc/f,MAAMH,KAAK6pB,GAAY5jB,KAAI,SAAU6M,GACrD,MAAO,CACLvP,KAAM,OACNsJ,QAASD,GAAgB9M,EAAcA,EAAc,GAAIL,EAAOqT,EAAUuN,QAAS,OAAQ5gB,EAAOqT,EAAU8D,WAAW3Q,KAAI,SAAU6H,GACnI,OAAOpN,GAAKoN,EACtB,KAAa,OAAQ6I,EAAM/L,QAAQG,QAAQ8B,SAE3C,IACI,IAAIA,EAAUqT,EAAY7f,OAAO,CAC/BkD,KAAM,aACNsJ,QAASD,GAAgBpF,EAAWqF,QAASnO,KAAKkM,QAAQG,QAAQ8B,WACjExM,OAAO4pB,GAEV,GAAIX,EAAQ,CACV,IAAIa,EAAcvd,GAAgB5G,GAAQlG,EAAc,GAAIL,EAAO4pB,GAAiB,OAAOlJ,MAAK,SAAUhK,EAAGC,GAC3G,OAAOA,EAAEgK,MAAQjK,EAAEiK,KAC3B,IAASna,KAAI,SAAU6M,GACf,OAAOA,EAAUuN,MACzB,KAAW3hB,KAAKkM,QAAQG,QAAQ8B,SAASoG,QAAO,SAAUjK,GAClD,OAAQkD,GAAiBlD,EACjC,IACM,OAAO6D,EAAQxM,OAAO,CACpBkD,KAAM,OACNsJ,QAASsd,GAEjB,CAEI,OAAOtd,CACX,EAUE2X,EAAUlmB,UAAUkJ,WAAa,SAAUzD,EAAOT,EAAOoD,EAASiG,GAChE,GAAI5I,SAAe,EAAG,CACpBA,EAAQrF,KAAK+T,YACnB,CAEI,IAAI9L,EAASsD,GAAa3G,GAE1B,IAAI6L,EAEJ,GAAIpL,aAAiB2S,GAAO,CAC1BvH,EAAezI,IAAYH,UAAYxC,EAAQrF,KAAK4gB,aAAa5I,GAAM1W,KAAK+D,EAAO2C,GACzF,KAAW,CACL,IAAI0jB,EAAqBnnB,GAASc,GAASrF,KAAK8iB,QAAQvd,EAAiBvF,KAAK2rB,gBAAgBtmB,KAAWrF,KAAK8iB,QAAQzd,GACtH,IAAI2M,EAAkBhK,IAAY,MAAQA,SAAiB,EAAIA,EAAUhI,KAAKkM,QAAQlE,QACtFyI,EAAezQ,KAAK4gB,aAAa5I,GAAM1W,KAAKoqB,EAAoB1Z,GACtE,CAEI,IAAKlO,GAAiBmE,EAAO6C,OAAS0a,GAAU,CAC9C,MAAM,IAAI1gB,MAAM,4CAA4CnD,OAAO6jB,GAAU,MACnF,CAEI,GAAIxlB,KAAK0jB,OAAQ,CACf,IAAK1jB,KAAKmY,OAAOyQ,SAAS3gB,EAAO6C,QAAUvC,GAAeN,EAAO6C,MAAO,CACtE,MAAM,IAAIhG,MAAM,YAAYnD,OAAO3B,KAAKyM,GAAI,6BAA6B9K,OAAOsG,EAAO6C,KAAM,KACrG,CACA,CAEI,IAAI8gB,EAAkB5rB,KAAKgpB,YAAYvY,EAAa7P,MAAO6P,EAAcxI,IAAW,CAClF4D,YAAa,GACbsJ,cAAe,GACfqU,QAAS,GACTpL,OAAQ3N,EACRtC,QAAS,IAEX,IAAI2c,EAAanW,GAAiB,GAAI3U,KAAKsoB,cAAc7X,EAAa7P,QACtE,IAAI+pB,EAAiBiB,EAAgBzW,cAAczV,OAASiV,GAAiBmW,EAAYc,EAAgBzW,eAAiB2V,EAC1Hc,EAAgBzW,cAAgB/T,EAAc,GAAIL,EAAO4pB,GAAiB,OAC1E,OAAO3qB,KAAK6rB,kBAAkBD,EAAiBnb,EAAcA,EAAazI,QAASiG,EAAMhG,EAC7F,EAEE6d,EAAUlmB,UAAUksB,wBAA0B,SAAUzmB,EAAO4C,EAAQ8jB,EAAepb,GACpF,IAAI5M,EAEJ,IAAIioB,EAAiB3mB,EAAM8I,QAC3B9I,EAAQrF,KAAK8I,WAAWzD,EAAO4C,EAAQJ,UAAW8I,GAGlDtL,EAAM4C,OAAS8jB,EACf1mB,EAAMT,MAAQmnB,EAAc3jB,MAE3BrE,EAAKsB,EAAM8I,SAAS8d,QAAQlsB,MAAMgE,EAAI3C,EAAc,GAAIL,EAAOirB,GAAiB,QAEjF,OAAO3mB,CACX,EAEEygB,EAAUlmB,UAAUisB,kBAAoB,SAAUD,EAAiBnb,EAAczI,EAAS2I,EAAiB1I,GACzG,IAAIgB,EAAKlF,EAAIoG,EAAKjE,EAElB,IAAI+R,EAAQjY,KAEZ,GAAIiI,SAAgB,EAAG,CACrBA,EAAS0F,EACf,CAEI,IAAIwH,EAAgByW,EAAgBzW,cAIpC,IAAIoU,GAAkB9Y,GAAgBmb,EAAgB/f,YAAYnM,OAAS,EAC3E,IAAIwsB,EAAwB3C,EAAiBqC,EAAgBzW,cAAgB1E,EAAeA,EAAa0E,cAAgB,GACzH,IAAIyV,EAASxT,GAAe8U,EAAuBlsB,MACnD,IAAI0rB,EAAqBnC,EAAiB3S,GAAS5W,KAAKkM,QAASiJ,GAAiBtN,UAClF,IAAIwQ,EAAe5H,EAAeA,EAAa4H,aAAe5H,EAAa4H,aAAeuT,EAAgBxN,OAASpe,KAAKkM,QAAQmM,aAAa5H,EAAa7P,OAASiH,UAAYA,UAC/K,IAAIqI,EAAelQ,KAAK0qB,WAAW,IAAI1V,IAAIkX,GAAwBtB,EAAQgB,EAAiB5jB,EAASC,EAAQwI,EAAcE,GAC3H,IAAIuH,EAAazH,EAAevR,EAAS,GAAIuR,EAAayH,YAAc,GAExE,IACE,IAAK,IAAI/H,EAAiB7P,EAAS4P,GAAeE,EAAmBD,EAAexP,QAASyP,EAAiBvP,KAAMuP,EAAmBD,EAAexP,OAAQ,CAC5J,IAAI0P,EAAQD,EAAiBxP,MAE7B,IACE,IAAK,IAAIuF,GAAMgE,OAAW,EAAG7J,EAAS+P,EAAMlC,UAAW2G,EAAK3O,EAAGxF,QAASmU,EAAGjU,KAAMiU,EAAK3O,EAAGxF,OAAQ,CAC/F,IAAI2J,EAASwK,EAAGlU,MAEhB,GAAI0J,EAAOzF,OAASsnB,EAAS,CAC3BjU,EAAW5N,EAAO8E,SAAS3C,IAAMnC,EAAO8E,SAASvK,MAAQyF,CACvE,MAAmB,GAAIA,EAAOzF,OAASoN,EAAQ,CACjCiG,EAAW5N,EAAO8E,SAAS3C,IAAMnC,EAAO8E,SAASvK,MAAQ,KACvE,CACA,CACA,CAAU,MAAO4F,GACPN,EAAM,CACJhJ,MAAOsJ,EAEnB,CAAS,QACC,IACE,GAAIqK,IAAOA,EAAGjU,OAASqF,EAAKC,EAAGG,QAASJ,EAAGpG,KAAKqG,EAC5D,CAAW,QACC,GAAIgE,EAAK,MAAMA,EAAIhJ,KAC/B,CACA,CACA,CACA,CAAM,MAAOmI,GACPL,EAAM,CACJ9H,MAAOmI,EAEf,CAAK,QACC,IACE,GAAI8G,IAAqBA,EAAiBvP,OAASkD,EAAKoM,EAAe7J,QAASvC,EAAGjE,KAAKqQ,EAChG,CAAO,QACC,GAAIlH,EAAK,MAAMA,EAAI9H,KAC3B,CACA,CAEI,IAAI0U,EAAK9U,EAAOyP,GAAexQ,KAAMyQ,EAAczI,EAASC,EAAQiI,EAAcS,EAAiB3Q,KAAKkM,QAAQ4K,OAAO+G,4BAA8B7d,KAAKkM,QAAQ4K,OAAOlG,qBAAsB,GAC3L8B,EAAkBmD,EAAG,GACrB9L,EAAiB8L,EAAG,GAExB,IAAIC,EAAK/U,EAAOgI,GAAU2J,EAAiBlF,IAAmB,GAC1D4e,EAAetW,EAAG,GAClBuW,EAAmBvW,EAAG,GAE1B,IAAI0V,EAAgB9Y,EAAgB6B,QAAO,SAAUjK,GACnD,IAAIvG,EAEJ,OAAOuG,EAAOzF,OAASsnB,KAAapoB,EAAKuG,EAAO8E,YAAc,MAAQrL,SAAY,OAAS,EAAIA,EAAGc,QAAU9B,CAClH,IACI,IAAI0V,EAAW+S,EAAcxhB,QAAO,SAAUC,EAAKK,GACjDL,EAAIK,EAAO8E,SAAS3C,IAAM0G,GAAqB7I,EAAO8E,SAAU6I,EAAM/L,QAASnC,EAAgB9B,GAC/F,OAAOgC,CACb,GAAOwG,EAAevR,EAAS,GAAIuR,EAAagI,UAAY,IACxD,IAAI0E,EAAY,IAAInF,GAAM,CACxBpX,MAAO8qB,GAAsBjb,EAAa7P,MAC1CoH,QAAS+B,EACT9B,OAAQA,EAERmQ,WAAY3H,EAAeA,EAAa2H,WAAa,KACrDC,aAAcqT,EAAqBrT,EAAezO,GAAmByO,EAAcqT,GAAsB7jB,UAAY4I,EAAeA,EAAa4H,aAAexQ,UAChKyQ,SAAUoT,GAAsBE,EAAgBxN,OAAS3N,EAAe5I,UACxEsG,QAASud,EAAqBW,EAAmB,GACjDnU,WAAYwT,EAAqBxT,EAAazH,EAAeA,EAAayH,WAAa,GACvFC,OAAQ,GACRhD,cAAe+W,EACfrgB,YAAa+f,EAAgB/f,YAC7B4M,SAAUA,EACV5X,KAAM+pB,EACNrT,KAAMD,GAAyB4U,GAC/BhgB,QAASlM,OAEX,IAAIssB,EAAmBtkB,IAAY+B,EACnCoT,EAAU0E,QAAU5Z,EAAO6C,OAAS1H,GAAUkpB,EAE9C,IAAIhU,EAAU6E,EAAU7E,QAExB,GAAIA,EAAS,QACJA,EAAQA,OACrB,CAII,IAAIiU,GAAwB3B,IAAW5qB,KAAKinB,YAAc9R,EAAc6B,MAAK,SAAU5C,GACrF,OAAOA,EAAU6S,UACvB,KASI,IAAKsC,KAAoBgD,GAAwBtkB,EAAO6C,OAASwa,IAAa,CAC5E,OAAOnI,CACb,CAEI,IAAIqP,EAAiBrP,EAErB,IAAKyN,EAAQ,CACX,GAAI2B,EAAsB,CACxBC,EAAiBxsB,KAAK8rB,wBAAwBU,EAAgB,CAC5D3nB,KAAMrC,GACLyF,EAAQ0I,EACnB,CAEM,MAAOyb,EAAa1sB,OAAQ,CAC1B,IAAI+sB,EAAcL,EAAalS,QAC/BsS,EAAiBxsB,KAAK8rB,wBAAwBU,EAAgBC,EAAYxkB,OAAQA,EAAQ0I,EAClG,CACA,CAGI,IAAIkR,EAAU2K,EAAe3K,UAAYvJ,IAAYkU,EAAere,QAAQzO,QAAU4sB,UAA2BhU,EAAQ1X,eAAiB4rB,EAAe5rB,QAAU4W,GAAiBgV,EAAe5rB,MAAO0X,EAAQ1X,OAASiH,WAC3N2kB,EAAe3K,QAAUA,EAEzB2K,EAAelU,QAAUA,EACzB,OAAOkU,CACX,EAME1G,EAAUlmB,UAAU2oB,aAAe,SAAUmE,GAC3C,GAAIhH,GAAUgH,GAAW,CACvB,OAAO1sB,KAAKkM,QAAQ6d,iBAAiB2C,EAC3C,CAEI,IAAK1sB,KAAKyJ,OAAQ,CAChB,MAAM,IAAI3E,MAAM,mCAAmCnD,OAAO+qB,EAAU,YAAY/qB,OAAO3B,KAAKyM,GAAI,6BACtG,CAEI,IAAI5G,EAAS7F,KAAKyJ,OAAOijB,GAEzB,IAAK7mB,EAAQ,CACX,MAAM,IAAIf,MAAM,gBAAgBnD,OAAO+qB,EAAU,yBAAyB/qB,OAAO3B,KAAKyM,GAAI,KAChG,CAEI,OAAO5G,CACX,EAQEigB,EAAUlmB,UAAUmqB,iBAAmB,SAAU/kB,GAC/C,IAAI2nB,EAAkBjH,GAAU1gB,GAAWA,EAAQtD,MAAM6jB,GAAiB7lB,QAAUsF,EAEpF,GAAI2nB,IAAoB3sB,KAAKyM,GAAI,CAC/B,OAAOzM,IACb,CAEI,IAAIoU,EAAYpU,KAAKkM,QAAQsa,MAAMmG,GAEnC,IAAKvY,EAAW,CACd,MAAM,IAAItP,MAAM,sBAAsBnD,OAAOgrB,EAAiB,iCAAiChrB,OAAO3B,KAAKyM,GAAI,KACrH,CAEI,OAAO2H,CACX,EAQE0R,EAAUlmB,UAAUgtB,mBAAqB,SAAUpnB,GACjD,UAAWA,IAAc,UAAYkgB,GAAUlgB,GAAY,CACzD,IACE,OAAOxF,KAAK+pB,iBAAiBvkB,EAAU9D,MAAM,GACrD,CAAQ,MAAOxB,GAEf,CACA,CAEI,IAAI2sB,EAAiB9nB,EAAYS,EAAWxF,KAAKmE,WAAWzC,QAC5D,IAAIorB,EAAmB9sB,KAEvB,MAAO6sB,EAAentB,OAAQ,CAC5B,IAAIgF,EAAMmoB,EAAe3S,QAEzB,IAAKxV,EAAIhF,OAAQ,CACf,KACR,CAEMotB,EAAmBA,EAAiBvE,aAAa7jB,EACvD,CAEI,OAAOooB,CACX,EAQEhH,EAAUlmB,UAAUkjB,QAAU,SAAUxd,GACtC,IAAIvB,EAEJ,IAAIkU,EAAQjY,KAEZ,IAAKsF,EAAY,CACf,OAAOtF,KAAKomB,mBAAqBX,EACvC,CAEI,OAAQzlB,KAAK6E,MACX,IAAK,WACH,OAAOa,EAAU1F,KAAKomB,mBAAmB,SAAU5e,EAAekhB,GAChE,OAAOlhB,EAAgByQ,EAAMsQ,aAAaG,GAAa5F,QAAQxd,EAAWojB,IAAgBlhB,GAAiBie,EACrH,IAEM,IAAK,WACH,GAAIlhB,GAASe,GAAa,CACxB,IAAI6jB,EAAenpB,KAAKuoB,aAAajjB,GAErC,GAAI6jB,EAAatkB,OAAS,YAAcskB,EAAatkB,OAAS,WAAY,CACxE,OAAOd,EAAK,GAAIA,EAAGuB,GAAc6jB,EAAa/C,kBAAmBriB,CAC7E,CAEU,OAAOuB,CACjB,CAEQ,IAAKnG,OAAOqF,KAAKc,GAAY5F,OAAQ,CACnC,OAAOM,KAAKomB,mBAAqB,EAC3C,CAEQ,OAAO1gB,EAAUJ,GAAY,SAAUkC,EAAekhB,GACpD,OAAOlhB,EAAgByQ,EAAMsQ,aAAaG,GAAa5F,QAAQtb,GAAiBie,EAC1F,IAEM,QACE,OAAOngB,GAAcmgB,GAE7B,EAEEK,EAAUlmB,UAAU+rB,gBAAkB,SAAUoB,GAC9C,GAAIrH,GAAUqH,GAAkB,CAC9B,IAAI3Y,EAAYpU,KAAKkM,QAAQsa,MAAMuG,EAAgBrrB,MAAM6jB,GAAiB7lB,SAE1E,IAAK0U,EAAW,CACd,MAAM,IAAItP,MAAM,8BAA8BnD,OAAOorB,EAAiB,KAC9E,CAEM,OAAO3Y,EAAU7N,IACvB,CAEI,OAAOxB,EAAYgoB,EAAiB/sB,KAAKmE,UAC7C,EAEEhF,OAAOuZ,eAAeoN,EAAUlmB,UAAW,oBAAqB,CAC9DkS,IAAK,WACH,IAAI/N,EAEJ,GAAI/D,KAAKkmB,QAAQE,kBAAmB,CAClC,OAAOpmB,KAAKkmB,QAAQE,iBAC5B,CAEM,IAAIA,EAEJ,GAAIpmB,KAAK6E,OAAS,WAAY,CAC5BuhB,EAAoBrgB,GAAgB/F,KAAKyJ,QAAQ,SAAUpE,GACzD,OAAOA,EAAM+gB,mBAAqBX,EAC5C,IAAW,SAAUrR,GACX,QAASA,EAAUvP,OAAS,UACtC,GACA,MAAa,GAAI7E,KAAK8mB,UAAYjf,UAAW,CACrC,IAAK7H,KAAKyJ,OAAOzJ,KAAK8mB,SAAU,CAC9B,MAAM,IAAIhiB,MAAM,kBAAkBnD,OAAO3B,KAAK8mB,QAAS,oBAAoBnlB,OAAO3B,KAAK0E,IAAK,KACtG,CAEQ0hB,EAAoBjS,GAAWnU,KAAKyJ,OAAOzJ,KAAK8mB,UAAY9mB,KAAK8mB,SAAW/iB,EAAK,GAAIA,EAAG/D,KAAK8mB,SAAW9mB,KAAKyJ,OAAOzJ,KAAK8mB,SAASV,kBAAmBriB,EAC7J,KAAa,CAELqiB,EAAoB,EAC5B,CAEMpmB,KAAKkmB,QAAQE,kBAAoBA,EACjC,OAAOpmB,KAAKkmB,QAAQE,iBAC1B,EACItH,WAAY,MACZC,aAAc,OAGhB+G,EAAUlmB,UAAUotB,gBAAkB,SAAU1nB,EAAY0C,GAC1DhI,KAAK0gB,QAGL,IAAIvL,EAAgBnV,KAAKsoB,cAAchjB,GACvC,OAAOtF,KAAK6rB,kBAAkB,CAC5B1W,cAAeA,EACfqU,QAAS,GACT3d,YAAa,GACbuS,OAAQvW,UACRsG,QAAS,IACRtG,UAAWG,IAAY,MAAQA,SAAiB,EAAIA,EAAUhI,KAAKkM,QAAQlE,QAASH,UAC3F,EAEE1I,OAAOuZ,eAAeoN,EAAUlmB,UAAW,eAAgB,CAKzDkS,IAAK,WACH,IAAIsU,EAAoBpmB,KAAKomB,kBAE7B,IAAKA,EAAmB,CACtB,MAAM,IAAIthB,MAAM,oDAAoDnD,OAAO3B,KAAKyM,GAAI,MAC5F,CAEM,OAAOzM,KAAKgtB,gBAAgB5G,EAClC,EACItH,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,SAAU,CAKnDkS,IAAK,WACH,IAAI/F,EAEJ,GAAI/L,KAAK6E,OAAS,UAAW,CAC3B,IAAIooB,EAAgBjtB,KAAK8W,OAEzB,GAAIvS,GAAS0oB,EAAclhB,QAAS,CAClCA,EAAS2Z,GAAUuH,EAAclhB,QAAUxG,EAAiBvF,KAAKkM,QAAQ6d,iBAAiBkD,EAAclhB,QAAQxF,KAAK7E,MAAM1B,KAAKuG,KAAK7G,OAAS,IAAMutB,EAAclhB,MAC5K,KAAe,CACLA,EAASkhB,EAAclhB,MACjC,CACA,CAEM,OAAOA,CACb,EACI+S,WAAY,MACZC,aAAc,OAUhB+G,EAAUlmB,UAAUuqB,sBAAwB,SAAU+C,EAAiB7U,EAAcyK,GACnF,GAAIA,SAAiB,EAAG,CACtBA,EAAU,IAChB,CAEI,OAAOA,EAAUoK,EAAgBroB,OAAS,UAAYqoB,EAAgBC,eAAe9U,GAAgB6U,EAAgBtX,kBAAoB,CAACsX,EAC9I,EAEE/tB,OAAOuZ,eAAeoN,EAAUlmB,UAAW,oBAAqB,CAC9DkS,IAAK,WACH,IAAImG,EAAQjY,KAEZ,GAAImU,GAAWnU,MAAO,CACpB,MAAO,CAACA,KAChB,CAGM,GAAIA,KAAK6E,OAAS,aAAe7E,KAAK8mB,QAAS,CAC7C,IAAKhjB,EAAe,CAClB4G,GAAK,MAAO,wBAAwB/I,OAAO3B,KAAKyM,GAAI,2BAC9D,CAEQ,MAAO,CAACzM,KAChB,CAEM,IAAIotB,EAAwB/lB,GAAarH,KAAKomB,mBAC9C,OAAO9e,GAAQ8lB,EAAsB7lB,KAAI,SAAU8lB,GACjD,OAAOpV,EAAMqV,oBAAoBD,EACzC,IACA,EACIvO,WAAY,MACZC,aAAc,OAShB+G,EAAUlmB,UAAU0tB,oBAAsB,SAAUC,GAClD,IAAKA,EAAa7tB,OAAQ,CACxB,MAAO,CAACM,KACd,CAEI,IAAI+D,EAAKhD,EAAOwsB,GACZb,EAAW3oB,EAAG,GACdypB,EAAiBzpB,EAAGrC,MAAM,GAE9B,IAAK1B,KAAKyJ,OAAQ,CAChB,MAAM,IAAI3E,MAAM,4BAA4BnD,OAAO+qB,EAAU,8BACnE,CAEI,IAAIpW,EAAiBtW,KAAKuoB,aAAamE,GAEvC,GAAIpW,EAAezR,OAAS,UAAW,CACrC,OAAOyR,EAAe6W,gBAC5B,CAEI,IAAKntB,KAAKyJ,OAAOijB,GAAW,CAC1B,MAAM,IAAI5nB,MAAM,gBAAgBnD,OAAO+qB,EAAU,yBAAyB/qB,OAAO3B,KAAKyM,GAAI,KAChG,CAEI,OAAOzM,KAAKyJ,OAAOijB,GAAUY,oBAAoBE,EACrD,EAEE1H,EAAUlmB,UAAUyY,aAAe,SAAUoV,GAC3C,IAAKtuB,OAAOqF,KAAKxE,KAAKyJ,QAAQ/J,OAAQ,CACpC,OAAOmI,SACb,CAEI,MAAO,CACL8B,QAAS8jB,GAAsBztB,KAAKomB,kBACpC3c,OAAQ1D,GAAgB/F,KAAKyJ,QAAQ,SAAU2K,EAAW1P,GACxD,IAAK+oB,EAAoB,CACvB,OAAOrZ,EAAUiE,cAC3B,CAEQ,IAAI7Q,EAAgBjD,GAASkpB,GAAsB5lB,UAAY4lB,EAAmB/oB,GAClF,OAAO0P,EAAUiE,aAAa7Q,GAAiB4M,EAAUgS,kBACjE,IAAS,SAAUhS,GACX,OAAQA,EAAUkE,OAC1B,IAEA,EASEwN,EAAUlmB,UAAUutB,eAAiB,SAAU9U,GAC7C,IAAIJ,EAAQjY,KAEZ,GAAIA,KAAK6E,OAAS,UAAW,CAC3B,MAAO,CAAC7E,KACd,CAEI,IAAIsV,EAAStV,KAAKsV,OAElB,IAAK+C,EAAc,CACjB,IAAIqV,EAAgB1tB,KAAK+L,OACzB,OAAO2hB,EAAgBpmB,GAAQD,GAAaqmB,GAAenmB,KAAI,SAAUomB,GACvE,OAAOrY,EAAOgY,oBAAoBK,EAC1C,KAAYrY,EAAOM,iBACnB,CAEI,IAAIgY,EAAkB7mB,GAAWuO,EAAO/O,KAAM,SAAxBQ,CAAkCsR,GAAc1O,QAEtE,GAAIpF,GAASqpB,GAAkB,CAC7B,MAAO,CAACtY,EAAOiT,aAAaqF,GAClC,CAEI,OAAOtmB,GAAQD,GAAaumB,GAAiBrmB,KAAI,SAAUsmB,GACzD,OAAO5V,EAAMK,UAAY,OAAShD,EAAOgY,oBAAoBO,GAAgB,CAACvY,EAAO7L,OAAOokB,EAAa,IAC/G,IACA,EAEE1uB,OAAOuZ,eAAeoN,EAAUlmB,UAAW,WAAY,CAIrDkS,IAAK,WACH,IAAImG,EAAQjY,KAEZ,IAAI8tB,EAAgBxmB,GAAQnI,OAAOqF,KAAKxE,KAAKyJ,QAAQlC,KAAI,SAAUmlB,GACjE,OAAOzU,EAAMxO,OAAOijB,GAAUqB,QACtC,KACM,MAAO,CAAC/tB,KAAKyM,IAAI9K,OAAOmsB,EAC9B,EACIhP,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,SAAU,CAInDkS,IAAK,WACH,IAAIgP,EAAK/c,EAAIgd,EAAK7a,EAElB,GAAIlG,KAAKkmB,QAAQ/N,OAAQ,CACvB,OAAOnY,KAAKkmB,QAAQ/N,MAC5B,CAEM,IAAI1O,EAASzJ,KAAKyJ,OAClB,IAAI0O,EAAS,IAAInD,IAAIhV,KAAKmX,WAE1B,GAAI1N,EAAQ,CACV,IACE,IAAK,IAAItD,EAAK7F,EAASnB,OAAOqF,KAAKiF,IAAUqL,EAAK3O,EAAGxF,QAASmU,EAAGjU,KAAMiU,EAAK3O,EAAGxF,OAAQ,CACrF,IAAIqE,EAAU8P,EAAGlU,MACjB,IAAIyE,EAAQoE,EAAOzE,GAEnB,GAAIK,EAAMoE,OAAQ,CAChB,IACE,IAAK,IAAIoM,GAAMkL,OAAW,EAAGzgB,EAAS+E,EAAM8S,SAAUrC,EAAKD,EAAGlV,QAASmV,EAAGjV,KAAMiV,EAAKD,EAAGlV,OAAQ,CAC9F,IAAI6a,EAAU1F,EAAGlV,MACjBuX,EAAO3C,IAAI,GAAG7T,OAAO6Z,GACvC,CACA,CAAgB,MAAO2F,GACPJ,EAAM,CACJ5f,MAAOggB,EAEzB,CAAe,QACC,IACE,GAAIrL,IAAOA,EAAGjV,OAASqF,EAAK2P,EAAGvP,QAASJ,EAAGpG,KAAK+V,EAClE,CAAiB,QACC,GAAIkL,EAAK,MAAMA,EAAI5f,KACrC,CACA,CACA,CACA,CACA,CAAU,MAAO8f,GACPH,EAAM,CACJ3f,MAAO8f,EAEnB,CAAS,QACC,IACE,GAAInM,IAAOA,EAAGjU,OAASkD,EAAKoC,EAAGG,QAASvC,EAAGjE,KAAKqG,EAC5D,CAAW,QACC,GAAI2a,EAAK,MAAMA,EAAI3f,KAC/B,CACA,CACA,CAEM,OAAOnB,KAAKkmB,QAAQ/N,OAAS1W,MAAMH,KAAK6W,EAC9C,EACI2G,WAAY,MACZC,aAAc,OAEhB5f,OAAOuZ,eAAeoN,EAAUlmB,UAAW,YAAa,CAMtDkS,IAAK,WACH,IAAIqG,EAAS,IAAInD,IAAIhV,KAAK6L,YAAY0I,QAAO,SAAUzL,GACrD,SAAUA,EAAWiD,SAAWjD,EAAWqF,QAAQzO,QAAUoJ,EAAWuhB,SAChF,IAAS9iB,KAAI,SAAUuB,GACf,OAAOA,EAAWN,SAC1B,KACM,OAAO/G,MAAMH,KAAK6W,EACxB,EACI2G,WAAY,MACZC,aAAc,OAGhB+G,EAAUlmB,UAAUouB,cAAgB,SAAUC,GAC5C,IAAIhW,EAAQjY,KAEZ,GAAIiuB,IAAYpmB,UAAW,CAEzB,OAAOA,SACb,CAEI,OAAOomB,EAAQ1mB,KAAI,SAAUwE,GAC3B,IAAKxH,GAASwH,GAAS,CACrB,OAAOA,CACf,CAEM,IAAImiB,EAAmBniB,EAAO,KAAOkM,EAAM9T,UAG3C,GAAI+pB,IAAqBjW,EAAM3C,OAAQ,CACrC,OAAO2C,EAAM2U,mBAAmB7gB,EAAOrK,MAAM,GACrD,CAEM,IAAIqN,EAAiBmf,EAAmBjW,EAAMvT,IAAMqH,EAASA,EAE7D,GAAIkM,EAAM3C,OAAQ,CAChB,IACE,IAAI6Y,EAAkBlW,EAAM3C,OAAOsX,mBAAmB7d,GAEtD,OAAOof,CACjB,CAAU,MAAOnQ,GACP,MAAM,IAAIlZ,MAAM,iDAAiDnD,OAAOsW,EAAMxL,GAAI,QAAQ9K,OAAOqc,EAAIiM,SAC/G,CACA,KAAa,CACL,OAAOhS,EAAM2U,mBAAmB7d,EACxC,CACA,GACA,EAEE+W,EAAUlmB,UAAUyoB,iBAAmB,SAAU+F,GAC/C,IAAInW,EAAQjY,KAEZ,IAAIquB,EAAmBriB,GAAgBoiB,EAAiBriB,QACxD,IAAIse,EAAW,aAAc+D,EAAmBA,EAAiB/D,SAAWgE,EAAmBA,EAAiBrX,MAAK,SAAUiX,GAC7H,OAAO1pB,GAAS0pB,IAAYA,EAAQ,KAAOhW,EAAM9T,SACvD,IAAS,KACL,IAAIiI,EAASpM,KAAKkM,QAAQG,QAAQD,OAClC,IAAIL,EAAS/L,KAAKguB,cAAcK,GAEhC,IAAIvlB,EAAa5J,EAASA,EAAS,GAAIkvB,GAAmB,CACxDjgB,QAASD,GAAgBtG,GAAQwmB,EAAiBjgB,UAClD5B,KAAM5B,GAAQyjB,EAAiB7hB,KAAMH,GACrCL,OAAQA,EACRqS,OAAQpe,KACRqqB,SAAUA,EACV7hB,UAAW4lB,EAAiBxpB,MAC5BsO,OAAQ,WACN,OAAOhU,EAASA,EAAS,GAAI4J,GAAa,CACxCiD,OAAQjD,EAAWiD,OAASjD,EAAWiD,OAAOxE,KAAI,SAAUlI,GAC1D,MAAO,IAAIsC,OAAOtC,EAAEoN,GAChC,IAAe5E,UACLuW,OAAQ,IAAIzc,OAAOsW,EAAMxL,KAEnC,IAGI,OAAO3D,CACX,EAEEgd,EAAUlmB,UAAU8nB,kBAAoB,WACtC,IAAI1G,EAAMjd,EAEV,IAAIkU,EAAQjY,KAEZ,IAAIsuB,EAEJ,IAAKtuB,KAAK8W,OAAOuP,GAAI,CACnBiI,EAAW,EACjB,MAAW,GAAI7sB,MAAMwD,QAAQjF,KAAK8W,OAAOuP,IAAK,CACxCiI,EAAWtuB,KAAK8W,OAAOuP,EAC7B,KAAW,CACL,IAAIngB,EAAKlG,KAAK8W,OAAOuP,GACjBlgB,EAAKqf,GACL1Q,EAAK5O,EAAGC,GACRooB,EAAkBzZ,SAAY,EAAI,GAAKA,EACvC0Z,EAA4BvuB,EAAOiG,EAAI,QAAQC,IAAO,SAAWA,EAAKA,EAAK,KAE/EmoB,EAAWhnB,GAAQnI,OAAOqF,KAAKgqB,GAA2BjnB,KAAI,SAAU7C,GACtE,IAAKZ,GAAiBY,IAAQ4gB,GAAY,CACxC5a,GAAK,MAAO,4KAA8K,6CAA8C/I,OAAOsW,EAAMxL,GAAI,MACnQ,CAEQ,IAAIgiB,EAAwB9iB,GAAwBjH,EAAK8pB,EAA0B9pB,IAEnF,IAAKZ,EAAe,CAClB+hB,GAA8B5N,EAAOvT,EAAK+pB,EACpD,CAEQ,OAAOA,CACf,IAAS9sB,OAAOgK,GAAwB6Z,GAAU+I,IAClD,CAEI,IAAIG,EAAkB1uB,KAAK8W,OAAOoQ,OAASvb,GAAwB,GAAI3L,KAAK8W,OAAOoQ,QAAU,GAC7F,IAAIyH,EAAa3uB,KAAK8W,OAAOsJ,OAASzU,GAAwBijB,OAAO/tB,GAAKb,KAAKyM,KAAMzM,KAAK8W,OAAOsJ,QAAU,GAE3G,IAAKtc,EAAe,CAClB4G,KAAO1K,KAAK8W,OAAOsJ,SAAWpgB,KAAKsV,QAAS,+EAAkF3T,OAAO3B,KAAKyM,GAAI,MACpJ,CAEI,IAAI2Y,EAAe9d,GAAQtH,KAAK+C,OAAOwE,KAAI,SAAU8d,GACnD,IAAIwJ,EAAoB,GAExB,GAAIxJ,EAAUjF,OAAQ,CACpByO,EAAkB3tB,KAAKnB,MAAM8uB,EAAmBztB,EAAc,GAAIL,EAAO4K,GAAwBijB,OAAO7e,GAAWsV,EAAU5Y,KAAM4Y,EAAUjF,SAAU,OAC/J,CAEM,GAAIiF,EAAUyJ,QAAS,CACrBD,EAAkB3tB,KAAKnB,MAAM8uB,EAAmBztB,EAAc,GAAIL,EAAO4K,GAAwBijB,OAAOztB,GAAMkkB,EAAU5Y,KAAM4Y,EAAUyJ,UAAW,OAC3J,CAEM,OAAOD,CACb,KACI,IAAItI,EAAqBvmB,KAAK0P,MAC9B,IAAIqf,EAAuBznB,GAAQlG,EAAcA,EAAcA,EAAcA,EAAc,GAAIL,EAAO4tB,GAAa,OAAQ5tB,EAAOqkB,GAAe,OAAQrkB,EAAOutB,GAAW,OAAQvtB,EAAO2tB,GAAkB,OAAOnnB,KAAI,SAAU6mB,GAC/N,OAAOxmB,GAAQwmB,GAAkB7mB,KAAI,SAAUuB,GAC7C,OAAOmP,EAAMoQ,iBAAiBvf,EACtC,GACA,KAEI,IACE,IAAK,IAAIkmB,EAAuB1uB,EAASimB,GAAqB0I,EAAyBD,EAAqBruB,QAASsuB,EAAuBpuB,KAAMouB,EAAyBD,EAAqBruB,OAAQ,CACtM,IAAIynB,EAAoB6G,EAAuBruB,MAC/CmuB,EAAqB7tB,KAAKknB,EAClC,CACA,CAAM,MAAO7G,GACPP,EAAO,CACL7f,MAAOogB,EAEf,CAAK,QACC,IACE,GAAI0N,IAA2BA,EAAuBpuB,OAASkD,EAAKirB,EAAqB1oB,QAASvC,EAAGjE,KAAKkvB,EAClH,CAAO,QACC,GAAIhO,EAAM,MAAMA,EAAK7f,KAC7B,CACA,CAEI,OAAO4tB,CACX,EAEE,OAAOjJ,CACT,CArgDA,GCtCA,SAASoJ,GAAQpY,EAAQzK,EAAS8iB,GAChC,GAAIA,SAAwB,EAAG,CAC7BA,EAAiBrY,EAAO9O,OAC5B,CAEE,OAAO,IAAI8d,GAAUhP,EAAQzK,EAAS8iB,EACxC,CCSO,MAAMC,GAA8C,CAACC,EAAU9a,IAC3D8a,EAASC,YAAYC,cAAcC,WAAWjb,EAAOgb,eAGzD,MAAME,GAAqB,CAAC,IAAK,K,SAIxBC,GAAgBC,GAE5B,OAAOF,GAAmB7G,SAAS+G,EACvC,CC3BO,MAAMC,GAIR,EAAEC,WAAUC,SAAQC,eAErB,MAAMC,EAAoC,GAE1C,GAAIF,EAAOG,UAAW,CAClBD,EAAM,SAAWF,EAAOG,S,CAE5B,GAAIH,EAAOI,oBAAqB,CAC5BF,EAAM,oBAAsBF,EAAOI,mB,CAGvC,OACIC,EAAA,SAAOC,MAAM,kBAAkBJ,MAAOA,EAAOK,QAAUnwB,GAAMA,EAAEowB,4BAC3DH,EAAA,WAAML,EAAOS,aAETV,EACI,KACAM,EAAA,OAAKE,QAAS,IAAMN,EAASD,IACzBK,EAAA,OAAKK,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYP,MAAM,QACrFD,EAAA,QAAMS,EAAE,+DACFC,KAAMf,EAAOG,UACba,UAAU,qBAI5B,E,SCsBAC,GAA0BnsB,EAAsB6L,EAAmC5L,GAC/F,MAAMmsB,EAAmBC,EAAkCrsB,GAE3D,GAAGosB,IAAqB,UAAW,CAC/B,MAAO,E,CAGX,OAAQvgB,GACJ,IAAK,SAED,OAAQugB,GACJ,IAAK,UACD,OAAQnsB,GACJ,IAAK,SACL,IAAK,WACD,MAAO,GACX,IAAK,sBACL,IAAK,wBAED,MAAO,CAAC,CAACqsB,KAAM,YAAanlB,OAAQ,aAI5C,MACJ,IAAK,aACD,OAAQlH,GACJ,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,SAC3C,IAAK,wBACL,IAAK,sBACD,MAAO,CAAC,CAACmlB,KAAM,cAAe,CAACA,KAAM,kBAAmBnlB,OAAQ,UACpE,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAe,CAACA,KAAM,cAAenlB,OAAQ,UAIpE,MACJ,IAAK,cACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBAED,MAAO,GACX,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,SAC3C,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAe,CAACA,KAAM,cAAenlB,OAAQ,UAIpE,MACJ,IAAK,WACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,cAAe,CAACA,KAAM,kBAAmBnlB,OAAQ,SACpE,IAAK,WACD,MACJ,IAAK,SACD,MAAO,CAAC,CAACmlB,KAAM,eAAgBnlB,OAAQ,aAI/C,MACJ,IAAK,aACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBAED,MAAO,GACX,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,aAM/C,MACJ,IAAK,iBACL,IAAK,eACD,OAAQlH,GACJ,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,cAAe,CAACA,KAAM,cAAenlB,OAAQ,UAChE,IAAK,sBACL,IAAK,wBACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,eAIvB,MACJ,IAAK,QACL,IAAK,QACD,OAAQrsB,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,GACX,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACqsB,KAAM,cAAe,CAACA,KAAM,cAAenlB,OAAQ,gBAIpE,MACJ,IAAK,SACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,2BACnB,IAAK,SACL,IAAK,WACD,MAAO,GAIf,MACJ,IAAK,UACD,OAAQrsB,GACJ,IAAK,sBACD,MAAO,GACX,IAAK,wBACD,MAAO,GACX,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,UAC3C,IAAK,WACD,MAAO,GAIf,MACJ,IAAK,YACD,OAAQlH,GACJ,IAAK,sBACD,MAAO,GACX,IAAK,wBACD,MAAO,GACX,IAAK,SACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,SAC3C,IAAK,WACD,MAAO,GAIf,MAIR,MACJ,IAAK,SAED,OAAQilB,GACJ,IAAK,SACD,OAAQnsB,GACJ,IAAK,SACL,IAAK,WACL,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,cAAeC,WAAY,QAIlD,MACJ,IAAK,eACD,OAAQtsB,GACJ,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACqsB,KAAM,cAAeC,WAAY,QAC9C,IAAK,sBACL,IAAK,wBAED,MAAO,GAIf,MACJ,IAAK,MACD,OAAQtsB,GACJ,IAAK,sBACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,mBAAoB,CAACmlB,KAAM,cAAeC,WAAY,QACjG,IAAK,wBACD,MAAO,CAAC,CAACD,KAAM,cAAeC,WAAY,QAC9C,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACD,KAAM,cAAeC,WAAY,OAIlD,MACJ,IAAK,UACD,OAAQtsB,GACJ,IAAK,sBAED,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,mBAAoB,CAACmlB,KAAM,cAAeC,WAAY,OAAQ,CAACD,KAAM,YAAanlB,OAAQ,aACrI,IAAK,wBAED,MAAO,CAAC,CAACmlB,KAAM,cAAeC,WAAY,OAAQ,CAACD,KAAM,YAAanlB,OAAQ,aAClF,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAeC,WAAY,OAIlD,MACJ,IAAK,WACD,OAAQtsB,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,kBAAmBnlB,OAAQ,aAC9C,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAenlB,OAAQ,aAI9C,MACJ,IAAK,aACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBAED,MAAO,GACX,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACqsB,KAAM,cAAenlB,OAAQ,aAI9C,MACJ,IAAK,aACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,kBAAmBnlB,OAAQ,SAC9C,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAenlB,OAAQ,SAI9C,MACJ,IAAK,cACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBAED,MAAO,GACX,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACqsB,KAAM,cAAenlB,OAAQ,SAI9C,MACJ,IAAK,UACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,kBAAmBnlB,OAAQ,UAC9C,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAenlB,OAAQ,UAI9C,MACJ,IAAK,YACD,OAAQlH,GACJ,IAAK,sBACL,IAAK,wBACD,MAAO,CAAC,CAACqsB,KAAM,kBAAmBnlB,OAAQ,SAC9C,IAAK,SACL,IAAK,WACD,MAAO,CAAC,CAACmlB,KAAM,cAAenlB,OAAQ,SAI9C,MACJ,IAAK,QACD,OAAQlH,GACJ,IAAK,sBACD,MAAO,CAAC,CAACqsB,KAAM,eAAgBnlB,OAAQ,oBAC3C,IAAK,wBACD,MAAO,CAAC,CAACmlB,KAAM,eAAgBnlB,OAAQ,oBAQ/C,MAIR,MACJ,QACI,MAAMjH,MAAM,iBAEpB,MAAO,EACX,CCjWA,MAAMssB,GAAY,ozVAClB,MAAAC,GAAeD,GCqDf,MAAME,GAA4E,CAC9E5sB,IAAK,SACLoiB,QAAS,SACTrd,OAAQ,CACJ8nB,OAAQ,CACJnK,MAAO,CAAC,SACRf,GAAI,CACAmL,MAAO,SACPC,KAAM,SACNC,gBAAiB,CAACvjB,QAAS,CAAC,mBAGpCwjB,OAAQ,CACJvK,MAAO,CAAC,QACRf,GAAI,CACAmL,MAAO,SACPI,MAAO,SACPF,gBAAiB,CAACvjB,QAAS,CAAC,qBAM5C,MAAM0jB,GAAyB,CAAC,WAAY,S,MA0E/BC,GAAM,M,mLAEP9xB,KAAA+xB,oBAA4C,GAI5C/xB,KAAAgyB,SAAW,cAAcC,OAGzBjyB,KAAAkyB,UAAYC,EAAiB,W,cAiCT,M,UAKiB,I,gHAqBzB,M,cAMA,M,cAIA,M,kBAII,M,gBAQF,M,mCAWL,M,qCAQiD,CAACC,EAAaC,IAAkBC,EAAQF,EAAaC,G,4BAQpE,M,uBAMdxqB,U,sBAEiB,Q,CAgBtD,UAAM0qB,GACFvyB,KAAKwyB,aAAapwB,KAAK,O,CAK3B,WAAMqwB,GACFzyB,KAAKwyB,aAAapwB,KAAK,Q,CAI3B,oBAAAswB,CAAqBC,GACjB3yB,KAAK4yB,oBAAoBD,E,CAYrB,mBAAAC,CAAoBhyB,EAAYiyB,EAAiB,KAAMC,EAA8B,M,MAEzF,IAAKlyB,GAASiyB,EAAgB,CAC1B7yB,KAAK+yB,O,CAET,GAAI/yB,KAAKgzB,SAAU,CAEf,IAAKvxB,MAAMwD,QAAQrE,GAAQ,CACvBA,EAAQ,CAACA,E,CAIbZ,KAAKizB,0BAA4BryB,EAAMlB,OAAS,GAAIqE,EAAAtC,MAAMH,KAAKtB,KAAKqM,SAASqF,MAAKwhB,GAAOlzB,KAAKmzB,YAAYD,EAAItyB,MAAOA,EAAMA,EAAMlB,OAAS,SAAI,MAAAqE,SAAA,EAAAA,EAAI,KAAO,KAEzJ,GAAI/D,KAAKozB,WAAY,CAGjB,MAAMC,EAAgBC,EAAatzB,KAAKuzB,OAAOhsB,KAAIisB,GAAKA,EAAE5yB,QAAQA,EAAOZ,KAAKmzB,aAC9EE,EAAcI,MAAM9gB,SAAQ+gB,IACxB,MAAM5D,EAASruB,MAAMH,KAAKtB,KAAKqM,SAASqF,MAAKwhB,GAAOlzB,KAAKmzB,YAAYD,EAAItyB,MAAO8yB,KAChF,GAAI5D,EAAQ,CACR9vB,KAAKuzB,OAAOryB,KAAK,CACbN,MAAOkvB,EAAOlvB,MACd2vB,YAAaT,EAAO6D,UACpB1D,UAAWH,EAAOG,UAClBC,oBAAqBJ,EAAOI,sBAEhCJ,EAAO8D,SAAW,I,KAM1BP,EAAcQ,KAAKlhB,SAASmhB,IACxB,MAAMhE,EAASruB,MAAMH,KAAKtB,KAAKqM,SAASqF,MAAKwhB,GAAOlzB,KAAKmzB,YAAYD,EAAItyB,MAAOkzB,KAChF,GAAIhE,EAAQ,CACRA,EAAO8D,SAAW,I,KAK1BP,EAAcU,QAAQphB,SAAQqhB,IAC1Bh0B,KAAKuzB,OAASvzB,KAAKuzB,OAAOhf,QAAOif,IAAMxzB,KAAKmzB,YAAYK,EAAE5yB,MAAOozB,KACjE,MAAMC,EAAuBxyB,MAAMH,KAAKtB,KAAKqM,SAASqF,MAAKwhB,GAAOlzB,KAAKmzB,YAAYD,EAAItyB,MAAOozB,KAC9F,GAAIC,EAAsB,CACtBA,EAAqBL,SAAW,K,SAGrC,CACH5zB,KAAKuzB,OAAS,GAEdvzB,KAAKqM,QAAQsG,SAASugB,IAClB,MAAMgB,EAAatzB,EACfA,EAAMuzB,WAAUX,GAAKxzB,KAAKmzB,YAAYD,EAAItyB,MAAO4yB,QAAS,EACxD,MACN,GAAIU,EAAY,CACZl0B,KAAKuzB,OAAOryB,KAAK,CACbN,MAAOsyB,EAAItyB,MACX2vB,YAAa2C,EAAIS,UACjB1D,UAAWiD,EAAIjD,UACfC,oBAAqBgD,EAAIhD,qB,CAGjCgD,EAAIU,SAAWM,CAAU,G,CAIjCl0B,KAAKuwB,YAAcvwB,KAAKuzB,OAAO7zB,SAAW,EACpCM,KAAKuzB,OAAOhsB,KAAIisB,GAAKA,EAAEjD,cAAa9J,KAAK,MACzC5e,S,KACH,CACH,IAAIusB,EAAmC,MACvCp0B,KAAKqM,QAAQsG,SAASugB,IAClB,MAAMgB,EAAal0B,KAAKmzB,YAAYD,EAAItyB,MAAOA,GAC/C,GAAIszB,EAAY,CACZE,EAAmC,KACnCp0B,KAAKuwB,YAAc2C,EAAIS,UACvB3zB,KAAKizB,0BAA4BC,EACjC,GAAIlzB,KAAKq0B,aAAc,CACnBr0B,KAAKs0B,qBAAqBpB,EAAIS,UAAW,MAAO,MAAOb,E,EAG/DI,EAAIU,SAAWM,CAAU,IAK7B,GAAIl0B,KAAKozB,aAAegB,EAAkC,CACtDp0B,KAAKs0B,qBAAqB,GAAI,MAAO,MAAOxB,GAC5C9yB,KAAKuwB,YAAc,E,GAUvB,KAAAwC,GACJ/yB,KAAKuzB,OAAS,GACdvzB,KAAKuwB,YAAc1oB,UACnB,GAAI7H,KAAKq0B,aAAc,CAGnBr0B,KAAKs0B,qBAAqB,GAAI,K,CAElCt0B,KAAKqM,QAAQsG,SAASugB,IAClBA,EAAIU,SAAW,KAAK,G,CAI5B,gBAAAW,GACIv0B,KAAKw0B,UAAYx0B,KAAKy0B,GAAGC,WAAWC,cAAc,uBAClD30B,KAAK40B,UAAY50B,KAAKy0B,GAAGC,WAAWC,cAAc,uBAElD,MAAME,EAAe3F,GACjBoC,GACAtxB,KAAK80B,sBAIT90B,KAAKwyB,aAAexN,GAAU6P,GAE9B,GAAI70B,KAAKgzB,SAAU,CACfhzB,KAAKuzB,OAAS,E,CAGlBvzB,KAAKwyB,aAAa1wB,QAClB,GAAI9B,KAAKw0B,UAAUG,cAAc,UAAY,KAAM,CAC/C30B,KAAK+0B,iCACL/0B,KAAKg1B,iC,CAGT,GAAIh1B,KAAKY,QAAUiH,UAAW,CAC1B7H,KAAK4yB,oBAAoB5yB,KAAKY,M,CAGlCZ,KAAKi1B,OAASj1B,KAAKk1B,uBAInBl1B,KAAKm1B,aAAeC,EAAcp1B,KAAKy0B,IACvC,GAAIz0B,KAAKm1B,aAAc,CACnBn1B,KAAKm1B,aAAa1oB,GAAKzM,KAAKgyB,SAAW,M,EAIvC,oBAAAkD,GACJ,OAAOG,EAAar1B,KAAK40B,UAAW50B,KAAKw0B,UAAW,CAChDc,UAAW,SACXC,UAAW,CACP,CACIzqB,KAAM,SACNuB,QAAS,CACLmpB,OAAQ,CAAC,EAAG,O,CAOxB,UAAAC,CAAW9C,GACf3yB,KAAK01B,UAAUC,KAAK,CAChB/0B,MAAO+xB,G,CAIP,8BAAAoC,GACJtzB,MAAMH,KAAKtB,KAAKy0B,GAAGmB,iBAAiB,sBAC/BjjB,SAAQmd,IACL,GAAIA,EAAOxE,aAAetrB,KAAKy0B,GAAI,CAC/Bz0B,KAAKy0B,GAAG9R,YAAYmN,GACpB9vB,KAAKw0B,UAAUqB,YAAY/F,E,KAKnC,+BAAAkF,GACJ,MAAMtZ,EAAW,IAAIoa,kBAAkBC,IACnC,IAAK,MAAMC,KAAYD,EAAe,CAClC,GAAIC,EAASnxB,OAAS,YAAa,CAC/B7E,KAAK+0B,gC,MAIjBrZ,EAASua,QAAQj2B,KAAKy0B,GAAI,CAACyB,UAAW,M,CAG1C,mBAAAC,GACI,GAAIn2B,KAAKgzB,SAAU,CACfhzB,KAAKqM,QACFsG,SAASugB,GAAoCA,EAAIF,SAAW,M,EAIvE,iBAAAoD,GACI,IAAK1G,GAAgB1vB,KAAK2vB,MAAO,CAC7B5K,QAAQra,KAAK,wCAAwC1K,KAAK2vB,0BAA0BF,GAAmBhJ,KAAK,UAC5GzmB,KAAK2vB,KAAO,G,CAMhB,GAAI3vB,KAAKq0B,aAAc,CACnBr0B,KAAK+xB,oBAAmB5yB,OAAAC,OAAAD,OAAAC,OAAA,GACjBi3B,EAAsBr2B,KAAKy0B,KAC3B6B,EAAkBt2B,KAAKy0B,GAAI5C,I,EAM1C,sBAAM0E,CAAiBC,EAAyB51B,GAC5C,GAAGZ,KAAKq0B,eAAiB,MAAO,CAC5BoC,EAAqBz2B,KAAKy0B,GAAI+B,EAAM51B,E,KACjC,CACH61B,EAAqBz2B,KAAK02B,kBAAmBF,EAAM51B,E,EAI3D,WAAYyL,G,MACR,MAAMsqB,GAAO5yB,EAAA/D,KAAKy0B,MAAE,MAAA1wB,SAAA,SAAAA,EAAE6xB,iBAAiB,qBACvC,GAAIe,GAAQA,EAAKj3B,SAAW,EAAG,CAC3B,OAAOi3B,C,CAEX,MAAO,E,CAGX,sBAAYC,G,MACR,MAAMD,GAAO5yB,EAAA/D,KAAKy0B,MAAE,MAAA1wB,SAAA,SAAAA,EAAE6xB,iBAAiB,wDACvC,GAAIe,GAAQA,EAAKj3B,SAAW,EAAG,CAC3B,OAAOi3B,C,CAEX,MAAO,E,CAGH,kBAAA7B,GACJ,MAAO,CACH3mB,QAAS,CACLokB,KAAM,K,MACF,IAAKvyB,KAAK6vB,SAAU,CAChB7vB,KAAK62B,SAAW,KAChB72B,KAAK82B,QAAU,MACf,GAAG92B,KAAKgzB,WAAa,OAAShzB,KAAKq0B,cAAgBr0B,KAAK+2B,WAAa,MAAO,CAKxE,GAAI/2B,KAAKg3B,mBAAqBh3B,KAAKg3B,oBAAsB,GAAI,CACzDh3B,KAAKs0B,qBAAqBt0B,KAAKg3B,kB,EAGvCh3B,KAAKi3B,wCACL,GAAIj3B,KAAK42B,mBAAmBl3B,OAAS,EAAG,CACpCM,KAAKk3B,0BAA2BnzB,EAAA/D,KAAKizB,6BAAyB,MAAAlvB,SAAA,EAAAA,EAAI/D,KAAK42B,mBAAmB,GAC1FO,uBAAsB,K,QAClBn3B,KAAKq0B,cACCtwB,EAAA/D,KAAK02B,qBAAiB,MAAA3yB,SAAA,SAAAA,EAAEqzB,SACxBlxB,EAAAlG,KAAKk3B,4BAAwB,MAAAhxB,SAAA,SAAAA,EAAEkxB,OAAO,G,IAK5D3E,MAAO,CAACxS,EAAGrb,K,QACP,GAAIA,EAAMC,OAAS,QAAS,CACxB7E,KAAKi3B,wCACL,IAAIlzB,EAAAa,EAAMhE,SAAK,MAAAmD,SAAA,SAAAA,EAAEotB,WAAY,CACzBnxB,KAAK82B,QAAU,K,KACZ,CACH,GAAI92B,KAAKq0B,gBAAgBnuB,EAAAtB,EAAMhE,SAAK,MAAAsF,SAAA,SAAAA,EAAEmxB,cAAc,CAIhDr3B,KAAKs3B,wB,KACF,CAEHt3B,KAAKy0B,GAAG2C,O,CAEZp3B,KAAK82B,QAAU,I,CAGnB,GAAI92B,KAAKq0B,cAAgBr0B,KAAKuwB,aAAevwB,KAAKgzB,WAAa,MAAO,CAClEhzB,KAAKs0B,qBAAqBt0B,KAAKuwB,Y,EAGvCvwB,KAAK62B,SAAW,KAAK,EAEzBU,aAAc,CAACtX,EAAGrb,KACd,GAAIA,EAAMC,OAAS,kBAAmB,CAClC,GAAI7E,KAAKgzB,SAAU,CACfhzB,KAAKw3B,+BAA+B5yB,EAAMhE,MAAMkvB,O,KAC7C,CACH9vB,KAAKy3B,6BAA6B7yB,EAAMhE,MAAMkvB,QAC9C9vB,KAAKwyB,aAAapwB,KAAK,QAAS,CAACxB,MAAO,CAACy2B,aAAczyB,EAAMhE,MAAMy2B,e,CAGvE,GAAIr3B,KAAKq0B,aAAc,CACnB,GAAIr0B,KAAKgzB,SAAU,CACfmE,uBAAsB,KAClBn3B,KAAK02B,kBAAkBU,OAAO,G,KAE/B,CAEHp3B,KAAKs0B,qBAAqB1vB,EAAMhE,MAAMkvB,OAAOS,Y,EAGrDvwB,KAAKy1B,WAAWz1B,KAAKY,M,IAIjCwL,OAAQ,CACJsrB,QAAS,KAAO13B,KAAK6vB,U,CAKzB,8BAAA2H,CAA+B5yB,GACnC,MAAM2I,EAAQvN,KAAKuzB,OAAOY,WAAUX,GAAKxzB,KAAKmzB,YAAYK,EAAE5yB,MAAOgE,EAAMhE,SACzE,GAAI2M,KAAW,EAAG,CAEdvN,KAAKY,MAAQ,IAAIZ,KAAKuzB,OAAOhsB,KAAIisB,GAAKA,EAAE5yB,QAAQgE,EAAMhE,M,KACnD,CAEHZ,KAAKY,MAAQZ,KAAKuzB,OAAOhf,QAAOif,IAAMxzB,KAAKmzB,YAAYK,EAAE5yB,MAAOgE,EAAMhE,SAAQ2G,KAAIisB,GAAKA,EAAE5yB,O,EAIzF,4BAAA62B,CAA6B7yB,GACjC5E,KAAKY,MAAQgE,EAAMhE,K,CAGvB,oBAAA+2B,G,OACI5zB,EAAA/D,KAAKwyB,gBAAY,MAAAzuB,SAAA,SAAAA,EAAE/B,M,CAGvB,YAAY+0B,GAER,OAAO/2B,KAAKuwB,cAAgB1oB,S,CAIhC,SAAA+vB,CAAUhzB,GACN,MAAMizB,EAAgBC,EAAUlzB,EAAMmH,UAC9BnH,EAAMmzB,QAAUnzB,EAAMmH,OAAOisB,aAC1BpzB,EAAMqzB,QAAUrzB,EAAMmH,OAAOmsB,cAC7BtzB,EAAMqzB,QAAU,GAE3B,MAAME,EAAoBvzB,EAAMwzB,eAC3B7jB,QAAO8jB,IACJ,MAAM5D,EAAM4D,EACZ,OAAO5D,EAAG6D,WAAa,OAAS7D,EAAG8D,UAAUC,SAAS,OAAO,IAEhE94B,OAAS,EAEd,IAAKm4B,IAAkBM,EAAmB,CACtCn4B,KAAKwyB,aAAapwB,KAAK,Q,EAK/B,kBAAAq2B,CAAmB7zB,GACf,MAAM8zB,EAAyB9zB,EAAMwzB,eAAe7jB,QAAO8jB,GAAMA,EAAkBC,WAAa,eAAc,GAC9G,MAAMK,EAAuBD,IAA2B14B,KAAKy0B,GAG7D,GAAIz0B,KAAK62B,WAAa8B,EAAsB,CACxC34B,KAAKwyB,aAAapwB,KAAK,CAACyC,KAAM,QAASjE,MAAO,CAACuwB,WAAY,KAAMkG,aAAc,Q,EAKvF,SAAAuB,CAAU3wB,GACN,MAAMwI,EAAezQ,KAAKwyB,aAAavf,cAAcsF,QAAQ,UAAY,SAAW,SACpF,IAAI1T,EACJ,GAAI7E,KAAKq0B,aAAc,CACnBxvB,EAAO7E,KAAKgzB,SAAW,wBAA0B,qB,KAC9C,CACHnuB,EAAO7E,KAAKgzB,SAAW,WAAa,Q,CAExC,MAAM6F,EAA6D9H,GAA0B9oB,EAAQwI,EAAc5L,GAInH,GAAIg0B,EAA0Bn5B,QAAU,GAAKm5B,EAA0BtkB,QAAOkD,GAAKA,EAAEyZ,OAAS,cAAaxxB,SAAW,EAAG,CACrHuI,EAAO6wB,gB,CAGX,IAAK,MAAMC,KAA2BF,EAA2B,CAC7D74B,KAAKg5B,0CAA0CD,EAAyB9wB,E,EAIhF,yCAAA+wB,CAA0CD,EAAwDn0B,G,QAC9F,OAAQm0B,EAAwB7H,MAC5B,IAAK,cACDlxB,KAAKwyB,aAAapwB,KAAK,CACnByC,KAAM,QACNjE,MAAO,CAACuwB,WAAY4H,EAAwB5H,WAAYkG,aAAc,QAE1E,MACJ,IAAK,aACDr3B,KAAKwyB,aAAapwB,KAAK,QACvB,MACJ,IAAK,eACD,OAAQ22B,EAAwBhtB,QAC5B,IAAK,OACD/L,KAAKi5B,oBAAoB,QACzB,MACJ,IAAK,WACDj5B,KAAKi5B,oBAAoB,YACzB,MACJ,IAAK,QACDj5B,KAAKk5B,oBACL,MACJ,IAAK,OACDl5B,KAAKm5B,mBACL,MACJ,IAAK,kBAAmB,CAGpB,MAAMC,EAAgB33B,MAAMH,KAAKtB,KAAK42B,oBAAoBz2B,QAAQH,KAAKq5B,8BAEvE,GAAID,KAAmB,EAAG,CACtBp5B,KAAKizB,0BAA4BjzB,KAAKq5B,6BACtCr5B,KAAKu3B,aAAa6B,EAAe,K,CAErC,K,EAGR,MACJ,IAAK,yBACDp5B,KAAKs0B,qBAAqB,GAAI,MAAO,OACrC,MACJ,IAAK,iBACDt0B,KAAKi3B,wCACL,MACJ,IAAK,kBACD,OAAQ8B,EAAwBhtB,QAC5B,IAAK,OACD/L,KAAKs5B,uBAAuB,QAC5B,MACJ,IAAK,WACDt5B,KAAKs5B,uBAAuB,YAC5B,MACJ,IAAK,QACDt5B,KAAKu5B,uBACL,MACJ,IAAK,OACDv5B,KAAKw5B,sBACL,MAIR,MACJ,IAAK,cACD,OAAQT,EAAwBhtB,QAC5B,IAAK,OACD/L,KAAKy5B,mBAAmB,QACxB,MACJ,IAAK,WACDz5B,KAAKy5B,mBAAmB,YACxB,MACJ,IAAK,QACDz5B,KAAK05B,mBACL,MACJ,IAAK,OACD15B,KAAK25B,kBACL,MACJ,IAAK,cACD,GAAI35B,KAAKk3B,0BAA4B,KAAM,CACvCl3B,KAAK45B,YAAYn4B,MAAMH,KAAKtB,KAAK42B,oBAAoBz2B,QAAQH,KAAKk3B,0B,CAEtE,MAIR,MACJ,IAAK,YACD,OAAQ6B,EAAwBhtB,QAC5B,IAAK,WAAY,CACb,IAAI8tB,GAA0B91B,EAAA/D,KAAKy0B,GAAGqF,0BAAsB,MAAA/1B,SAAA,EAAAA,EAAI/D,KAAKy0B,GAAGsF,cACxE,MAAOF,EAAgB,CACnB,GAAIG,EAAYH,GAAiB,MACjCA,GAAiB3zB,EAAA2zB,EAAeC,0BAAsB,MAAA5zB,SAAA,EAAAA,EAAI2zB,EAAeE,a,CAE7E,GAAIF,EAAgB,CAChBj1B,EAAMk0B,iBACLe,EAA+BzC,O,CAEpC,K,EAKR,MACJ,QACI,MAAM,IAAItyB,MAAM,kB,CAIpB,mCAAAm1B,CAAoCC,EAAgC70B,GACxE,IAAI80B,EACJ,OAAQ90B,GACJ,IAAK,UACD80B,EAAkBn6B,KAAKk3B,yBACvB,MACJ,IAAK,WACDiD,EAAkBn6B,KAAKizB,0BACvB,MACJ,IAAK,cACDkH,EAAkBn6B,KAAKq5B,6BACvB,MACJ,QACIc,EAAkB,KAE1B,IAAIC,EAAe34B,MAAMH,KAAKtB,KAAK42B,oBAAoBz2B,QAAQg6B,GAE/D,MAAME,EAAY,EAClB,MAAMC,EAAYt6B,KAAK42B,mBAAmBl3B,OAAS,EAEnD,GAAIw6B,IAAc,QAAUE,EAAeE,EAAW,CAClDF,G,MACG,GAAIF,IAAc,YAAcE,EAAeC,EAAW,CAC7DD,G,KACG,CACH,IAAKp6B,KAAKq0B,aACN,MAAO,UAGX,GAAI6F,IAAc,QAAUE,GAAgBE,EAAW,CACnDF,EAAe,C,CAEnB,GAAIF,IAAc,YAAcE,IAAiBC,EAAW,CACxDD,EAAeE,C,EAGvB,OAAOF,C,CAUH,YAAA7C,CAAa6B,EAAuB/B,EAAe,OACvD,MAAMkD,EAAiBv6B,KAAK42B,mBAAmBwC,GAE/C,IAAKmB,EAAgB,OAErBv6B,KAAKw6B,iCAAiC,CAClCpc,OAAQmc,EACR35B,MAAO25B,EAAe35B,MACtB2vB,YAAagK,EAAe5G,WAC7B0D,E,CAGC,mBAAA4B,CAAoBiB,GACxB,MAAMd,EAAgBp5B,KAAKi6B,oCAAoCC,EAAW,YAC1E,GAAId,IAAkB,UAAW,OACjCp5B,KAAKu3B,aAAa6B,EAAe,K,CAG7B,iBAAAF,GACJ,GAAIl5B,KAAK42B,mBAAmBl3B,OAAS,EAAG,CACpC,M,CAGJM,KAAKu3B,aAAa,EAAG,K,CAGjB,gBAAA4B,GACJ,GAAIn5B,KAAK42B,mBAAmBl3B,OAAS,EAAG,CACpC,M,CAGJM,KAAKu3B,aAAav3B,KAAK42B,mBAAmBl3B,OAAS,EAAG,K,CAGlD,WAAAk6B,CAAYa,G,MAChBz6B,KAAKk3B,yBAA2Bl3B,KAAK42B,mBAAmB6D,IACxD12B,EAAA/D,KAAKk3B,4BAAwB,MAAAnzB,SAAA,SAAAA,EAAEqzB,QAC/Bp3B,KAAKy0B,GAAGiG,aAAa,wBAAyB16B,KAAKk3B,yBAAyBzqB,G,CAGxE,kBAAAgtB,CAAmBS,GACvB,MAAMO,EAAez6B,KAAKi6B,oCAAoCC,EAAW,WACzE,GAAIO,IAAiB,UAAW,OAEhCz6B,KAAK45B,YAAYa,E,CAGb,gBAAAf,GACJ15B,KAAK45B,YAAY,E,CAGb,eAAAD,GACJ35B,KAAK45B,YAAY55B,KAAK42B,mBAAmBl3B,OAAS,E,CAItD,qBAAAi7B,CAAsB/1B,GAClB5E,KAAKw6B,iCAAiC51B,EAAMg2B,O,CAGhD,gCAAAJ,CAAiC51B,EAAgCyyB,EAAe,OAC5Er3B,KAAKwyB,aAAapwB,KAAK,CAACyC,KAAM,kBAAmBjE,MAAO,CAACkvB,OAAQlrB,EAAOyyB,iB,CAG5E,YAAAwD,GACI,IAAK76B,KAAKozB,YAAepzB,KAAKq0B,cAAgBr0B,KAAKuwB,cAAgBvwB,KAAKg3B,kBAAoB,CAIxFh3B,KAAK4yB,oBAAoB5yB,KAAKY,MAAO,MAAO,M,KACzC,CACHZ,KAAK86B,kD,CAIT,GAAI96B,KAAKq0B,cAAgBr0B,KAAKozB,WAAY,CACtCpzB,KAAK+6B,uBAAyB/6B,KAAKqM,QAAQ3M,OAAS,C,CAGxD,GAAIM,KAAKgzB,SAAU,CACfhzB,KAAKqM,QACAsG,SAASugB,GAAoCA,EAAIF,SAAW,M,EASjE,gDAAA8H,GACJ96B,KAAKqM,QAAQsG,SAASugB,IAClB,MAAMgB,EAAal0B,KAAKmzB,YAAYD,EAAItyB,MAAOZ,KAAKY,OACpDsyB,EAAIU,SAAWM,CAAU,G,CAIjC,UAAA8G,CAAWxH,GACPxzB,KAAKqM,QACAsG,SAAQugB,IACL,GAAIA,EAAItyB,QAAU4yB,EAAE5yB,MAAO,CACvBZ,KAAKw6B,iCAAgCr7B,OAAAC,OAAAD,OAAAC,OAAA,GAC9Bo0B,GAAC,CACJpV,OAAQ8U,I,KAQpB,eAAA+H,CAAgBC,GACpBl7B,KAAKi3B,wCACLj3B,KAAKq5B,6BAA+Br5B,KAAK42B,mBAAmBsE,GAC5D,GAAIl7B,KAAKq5B,6BAA8B,CACnCr5B,KAAKq5B,6BAA6B8B,YAAc,KAChDn7B,KAAK02B,kBAAkBgE,aAAa,wBAAyB16B,KAAKq5B,6BAA6B5sB,IAC/F0qB,uBAAsB,KAClBn3B,KAAKq5B,6BAA6B+B,eAAe,CAAC/qB,MAAO,UAAWgrB,OAAQ,WAAW,G,EAK3F,oBAAA9B,GACJv5B,KAAKi7B,gBAAgB,E,CAGjB,mBAAAzB,GACJx5B,KAAKi7B,gBAAgBj7B,KAAK42B,mBAAmBl3B,OAAS,E,CAGlD,sBAAA45B,CAAuBY,GAC3B,MAAMgB,EAAmBl7B,KAAKi6B,oCAAoCC,EAAW,eAC7E,GAAIgB,IAAqB,UAAW,OAEpCl7B,KAAKi7B,gBAAgBC,E,CAQjB,qCAAAjE,GACJ,GAAIj3B,KAAKq5B,6BAA8B,CACnCr5B,KAAKq5B,6BAA6B8B,YAAc,MAChDn7B,KAAKq5B,6BAA+B,I,EAIpC,wBAAAiC,CAAyBp7B,G,MAC7B,MAAMqU,GAASxQ,EAAA/D,KAAK02B,kBAAkB91B,SAAK,MAAAmD,SAAA,EAAAA,EAAI,GAE/C/D,KAAKs0B,qBAAqB/f,EAAQ,MAAO,MAEzCrU,EAAEq7B,iB,CAYE,oBAAAjH,CAAqB/f,EAAgBinB,EAAU,MAAOC,EAAsB,MAAO3I,EAA8B,M,QACrH9yB,KAAKi3B,wCACL,MAAMyE,EAA4C17B,KAAKizB,2BAA6B,QAAQlvB,EAAA/D,KAAKizB,6BAAyB,MAAAlvB,SAAA,SAAAA,EAAEurB,eAAgBtvB,KAAKg3B,kBAEjJ,IAAKh3B,KAAK62B,UAAY6E,IAA8CF,GAAWC,EAAqB,CAChGz7B,KAAKuyB,M,CAIT,IAAKvyB,KAAKozB,WAAY,CAClB,GAAI7e,EAAO7U,OAAQ,CACf,MAAOi8B,EAAiBC,GAAiB,CAAC,GAAI,IAC9C,MAAMC,GAAuC31B,EAAAlG,KAAK87B,YAAQ,MAAA51B,SAAA,EAAAA,EAAIkpB,GAC9DpvB,KAAKqM,QAAQsG,SAAS0c,IACjBwM,EAAkBxM,EAAU9a,GAAUonB,EAAkBC,GAAe16B,KAAKmuB,KAGjFrvB,KAAK+6B,uBAAyBY,EAAgBj8B,SAAW,EACzDi8B,EAAgBhpB,SAAQpS,IACpBA,EAAEw7B,OAAS,MACXx7B,EAAEy7B,gBAAgB,cAAc,IAEpCJ,EAAcjpB,SAAQpS,IAClBA,EAAEw7B,OAAS,KACXx7B,EAAEm6B,aAAa,cAAe,OAAO,G,KAEtC,CACH16B,KAAK+6B,uBAAyB,MAC9B/6B,KAAKqM,QAAQsG,SAAQpS,IACjBA,EAAEw7B,OAAS,MACXx7B,EAAEy7B,gBAAgB,cAAc,G,EAK5C,MAAMC,EAAuB1nB,IAAM,MAANA,SAAM,EAANA,EAAU,GACvC,MAAM2nB,EAAkBl8B,KAAKg3B,oBAAsBiF,EAEnD,GAAIC,EAAiB,CACjBl8B,KAAKg3B,kBAAoBiF,C,CAG7B,GAAInJ,GAA+BoJ,EAAiB,CAChDl8B,KAAKm8B,gBAAgBxG,KAAK,CACtB/0B,MAAO2T,G,EAMnB,OAAA6nB,CAAQx3B,GACJ,GAAI5E,KAAKq0B,aAAc,CACnBr0B,KAAKs3B,wB,CAETt3B,KAAKq8B,SAAS1G,KAAK/wB,E,CAGf,sBAAA0yB,G,OACJvzB,EAAA/D,KAAK02B,qBAAiB,MAAA3yB,SAAA,SAAAA,EAAEqzB,O,CAM5B,MAAAkF,CAAO13B,GAEH,MAAMmH,EAASnH,EAAM23B,cACrB,GAAIv8B,KAAKy0B,GAAG+D,SAASzsB,GAAS,CAC1B,M,CAGJ/L,KAAKw8B,QAAQ7G,KAAK/wB,E,CAGtB,kBAAA63B,G,OACI14B,EAAA/D,KAAKi1B,UAAM,MAAAlxB,SAAA,SAAAA,EAAEX,Q,CAGT,iBAAAs5B,GACJ,OAAQ18B,KAAK6vB,SAAW,CAAE8M,SAAU,GAAM,E,CAG9C,MAAAC,G,MACI,MAAMC,EAAiB,GAAG78B,KAAKm1B,aAAen1B,KAAKm1B,aAAaxB,UAAY,MAAM3zB,KAAK+2B,SAAW/2B,KAAKuwB,YAAc,KAAKuM,UAC1H,MAAMC,EAAsB,sBAE5B,OACI5M,EAAC6M,EAAI79B,OAAAC,OAAA,CAAAsF,IAAA,2CAAC0rB,MAAOpwB,KAAK62B,SAAW,YAAc,GACrCoG,iBAAkBj9B,KAAKi9B,kBACnBj9B,KAAK08B,oBAAmB,CAC5BQ,MAAOl9B,KAAKq0B,aAAe,WAAa,KAAI,iBAC5Br0B,KAAKq0B,aAAe,UAAY,KAAI,aACxCr0B,KAAKq0B,aAAer0B,KAAKkyB,UAAY,KAAI,iBACrClyB,KAAKq0B,aAAer0B,KAAKkyB,UAAY,KAAI,iBACzClyB,KAAKq0B,aAAgBr0B,KAAK6vB,SAAW,OAAS,KAAQ,KAAI,iBAC1D7vB,KAAKq0B,aAAgBr0B,KAAKm9B,SAAW,OAAS,QAAW,KAAI,iBAC7Dn9B,KAAKq0B,aAAgBr0B,KAAK62B,SAAW,OAAS,QAAW,KAAI,wBACtD72B,KAAKq0B,aAAgBr0B,KAAKgzB,SAAW,OAAS,QAAW,KAAI,cACvEhzB,KAAKq0B,aAAewI,EAAiB,OACpD1M,EAAA,OAAAzrB,IAAA,2CAAK0rB,MAAM,sBACPD,EAAA,OAAAzrB,IAAA,2CAAK0rB,MAAM,8BACNpwB,KAAK+2B,SAED/2B,KAAKo9B,MACFp9B,KAAKuzB,OAAOhsB,KAAKuoB,GACbK,EAACP,GAAW,CAACC,SAAU7vB,KAAK6vB,SAAUC,OAAQA,EACjCC,SAAU/vB,KAAKg7B,WAAW7tB,KAAKnN,YAE5CA,KAAKq0B,cAAgBr0B,KAAKq0B,cAAgBr0B,KAAKgzB,WACnD7C,EAAA,SAAOC,MAAM,oBAAoBpwB,KAAKuwB,cACvCvwB,KAAKq0B,cAAgBlE,EAAA,SAAOC,MAAM,0BAA0BpwB,KAAKq9B,aAEvEr9B,KAAKq0B,cAAgBlE,EAAA,QAAAhxB,OAAAC,OAAA,CAAAsF,IAAA,2CAAO0rB,MAAM,qBACFxvB,MAAOZ,KAAKg3B,kBACZkG,KAAK,WAAU,gBACD,UAAS,aACXL,EAAc,mBACRE,EAAmB,gBACtB/8B,KAAK6vB,SAAW,OAAS,KAAI,gBAC7B7vB,KAAK62B,SAAW,OAAS,QAAO,gBAChC72B,KAAKkyB,UAAS,YAClBlyB,KAAKkyB,UAAS,uBACHlyB,KAAKgzB,SAAW,OAAS,QAAO,oBACpC,OAClBqB,aAAa,MACbxE,SAAU7vB,KAAK6vB,SACfsN,SAAUn9B,KAAKm9B,SACfE,cAAat5B,EAAA/D,KAAKuzB,UAAM,MAAAxvB,SAAA,SAAAA,EAAErE,QAAS,KAAOM,KAAKq9B,YAC/CC,QAAUp9B,GAAMF,KAAKs7B,yBAAyBp7B,GAC9Cq9B,IAAK9I,GAAMz0B,KAAK02B,kBAAoBjC,GAChCz0B,KAAK+xB,uBAG9C5B,EAACqN,EAAW,CAAA94B,IAAA,2CAAC+4B,GAAIz9B,KAAK62B,YAE1B1G,EAAA,OAAAzrB,IAAA,2CAAK0rB,MAAM,qBAAqB3jB,GAAIzM,KAAKkyB,UAAWgL,KAAK,WACrD/M,EAAA,QAAAzrB,IAAA,2CAAMoG,KAAK,UAAU+vB,aAAc76B,KAAK66B,aAAa1tB,KAAKnN,QACxDA,KAAKq0B,cAAgBr0B,KAAK+6B,wBACxB5K,EAAA,OAAAzrB,IAAA,2CAAKw4B,KAAK,QAAQzwB,GAAIswB,EAAqB3M,MAAM,sBAC7CD,EAAA,QAAAzrB,IAAA,2CAAMoG,KAAK,oBACPqlB,EAAA,QAAAzrB,IAAA,iE,wFAUhC,IAAIutB,GAAY,E,YC7pChB,MAAMyL,GAAkB,mmJACxB,MAAAC,GAAeD,G,MCwCFE,GAAY,M,kGAKuC,M,cAGA,M,iBAOG,M,+FAiBH,K,CAQ5D,iBAAAxH,GACIp2B,KAAK69B,eAAiB1L,EAAiBnyB,KAAKy0B,GAAGqJ,SAE/C,GAAI99B,KAAKY,QAAUiH,UAAW,CAE1B7H,KAAKY,MAAQZ,KAAKy0B,GAAGd,WAAa,E,EAIlC,YAAAoK,CAAan5B,GACjB,IAAK5E,KAAK6vB,SAAU,CAChBjrB,EAAM22B,kBAEN,MAAMhL,EAAcvwB,KAAKy0B,GAAGd,UAC5B3zB,KAAKg+B,qBAAqBrI,KAAK,CAC3BvX,OAAQpe,KAAKy0B,GACb7zB,MAAOZ,KAAKY,MACZ2vB,e,EAMZ,SAAAqH,CAAUhzB,GACN5E,KAAK+9B,aAAan5B,E,CAQtB,aAAAq5B,CAAcr5B,GACV,GAAGs5B,EAAWt5B,IAAUu5B,EAAWv5B,GAAQ,CACvC5E,KAAK+9B,aAAan5B,GAClBA,EAAMk0B,iBACNl0B,EAAM22B,iB,EAId,MAAAqB,GACI,OACIzM,EAAC6M,EAAI,CAAAt4B,IAAA,2CAAC+H,GAAIzM,KAAK69B,eAAc,gBAAiB79B,KAAK4zB,UAAY5zB,KAAKm7B,YAAc,OAAS,QAASiD,KAAK,UAAUlB,KAAK,SAASmB,SAAS,MACrIr+B,KAAKgzB,UACF7C,EAAA,gBAAAzrB,IAAA,2CAAc25B,SAAS,KAAKC,QAASt+B,KAAK4zB,SAAU/D,SAAU7vB,KAAK6vB,WAEvEM,EAAA,QAAAzrB,IAAA,6C"} \ No newline at end of file diff --git a/public/wcs/p-22620c69.entry.js b/public/wcs/p-22620c69.entry.js new file mode 100644 index 0000000..9fa76b6 --- /dev/null +++ b/public/wcs/p-22620c69.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as r,H as s,g as o}from"./p-32e583ea.js";import{i as t}from"./p-a0f32ead.js";import{z as i,i as c,a,s as l}from"./p-52d77e1f.js";import{i as d}from"./p-a7468a3a.js";const f=":host{--wcs-error-color:var(--wcs-semantic-color-text-critical);--wcs-error-font-size:var(--wcs-semantic-font-size-caption-2);--wcs-error-font-weight:var(--wcs-semantic-font-weight-book);color:var(--wcs-error-color);font-size:var(--wcs-error-font-size);font-weight:var(--wcs-error-font-weight)}";const n=f;const u=class{constructor(r){e(this,r)}render(){return r(s,{key:"7dffcb3487f7210c5c9a45af709fc942a1410679",role:"alert",slot:"error"},r("slot",{key:"251fbdc26fe58be4296328c4ebaed77329c6c507"}))}};u.style=n;const w=":host{--wcs-form-field-gap:var(--wcs-semantic-spacing-small);--wcs-form-field-prefix-suffix-border-radius:var(--wcs-semantic-border-radius-base);--wcs-form-field-prefix-icon-color:var(--wcs-semantic-color-foreground-primary);--wcs-form-field-prefix-value-color:var(--wcs-semantic-color-text-inverse);--wcs-form-field-prefix-placeholder-color:var(--wcs-semantic-color-text-inverse);display:flex;flex-direction:column;gap:var(--wcs-form-field-gap);}:host .input-container{display:flex}:host ::slotted([slot=prefix]){--wcs-select-value-color:var(--wcs-semantic-color-text-inverse);--wcs-select-placeholder-color:var(--wcs-semantic-color-text-inverse);--wcs-select-control-background-color:var(--wcs-semantic-color-background-action-primary-default);--wcs-select-control-arrow-color:var(--wcs-form-field-prefix-icon-color);--wcs-select-control-border-radius:var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);--wcs-select-control-border-width-default:0;--wcs-select-control-border-style-focus:dashed;--wcs-select-control-border-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-native-select-value-color:var(--wcs-semantic-color-text-inverse);--wcs-native-select-placeholder-color:var(--wcs-semantic-color-text-inverse);--wcs-native-select-arrow-color:var(--wcs-form-field-prefix-icon-color);--wcs-native-select-background-color:var(--wcs-semantic-color-background-action-primary-default);--wcs-native-select-border-width:0;--wcs-native-select-border-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-native-select-border-style-focus:dashed;--wcs-native-select-border-radius:var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);--wcs-native-select-option-color:var(--wcs-semantic-color-text-inverse);--wcs-button-border-radius:var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius)}:host ::slotted([slot=suffix]){--wcs-button-border-radius:0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;--wcs-select-control-border-radius:0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;--wcs-native-select-border-radius:0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0}::slotted([slot=prefix][disabled]),::slotted([slot=prefix]:disabled),::slotted([slot=prefix][aria-disabled=true]),::slotted([slot=prefix][data-disabled]){--wcs-semantic-color-background-control-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-semantic-color-text-disabled:var(--wcs-semantic-color-foreground-disabled);--wcs-select-control-background-color:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-select-value-color:var(--wcs-semantic-color-text-disabled);--wcs-select-placeholder-color:var(--wcs-semantic-color-text-disabled);--wcs-native-select-background-color:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-native-select-placeholder-color:var(--wcs-semantic-color-text-disabled);--wcs-native-select-value-color:var(--wcs-semantic-color-text-disabled)}::slotted([slot=prefix]:hover:not([disabled]):not([data-disabled])){--wcs-select-control-background-color:var(--wcs-semantic-color-background-action-primary-hover);--wcs-native-select-background-color:var(--wcs-semantic-color-background-action-primary-hover)}::slotted([slot=prefix]:active:not([disabled]):not([data-disabled])){--wcs-select-control-background-color:var(--wcs-semantic-color-background-action-primary-press);--wcs-native-select-background-color:var(--wcs-semantic-color-background-action-primary-press)}.input-container{display:flex}::slotted(wcs-select:not([slot=prefix])){width:100%}::slotted(wcs-native-select:not([slot=prefix])){width:100%}:host(.has-prefix) ::slotted(:not([slot=prefix])){--wcs-input-border-radius-left:0;--wcs-select-control-border-radius:0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;--wcs-native-select-border-radius:0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0}:host(.has-suffix) ::slotted(:not([slot=suffix])){--wcs-input-border-radius-right:0;--wcs-select-control-border-radius:var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);--wcs-native-select-border-radius:var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius)}:host(.has-prefix.has-suffix) ::slotted(:not([slot=prefix]):not([slot=suffix])){--wcs-input-border-radius-left:0;--wcs-input-border-radius-right:0;--wcs-select-control-border-radius:0;--wcs-native-select-border-radius:0}";const b=w;const v=class{constructor(r){e(this,r);this.isError=false;this.hasPrefix=false;this.hasSuffix=false;this.spiedElement=undefined}componentWillLoad(){this.hasSuffix=this.el.querySelector("[slot=suffix]")!==null;this.hasPrefix=this.el.querySelector("[slot=prefix]")!==null}componentDidLoad(){this.initSpiedElement();this.addRequiredMarkerToLabel();this.updateErrorStateOnInput(this.isError)}isErrorChange(e){this.updateErrorStateOnInput(e);this.updateAriaAttributes()}updateErrorStateOnInput(e){if(this.spiedElementIsOfType("wcs-input","wcs-textarea")){if(e){this.spiedElement.setAttribute("state","error")}else{this.spiedElement.setAttribute("state","initial")}}}spiedElementIsOfType(...e){var r;for(const s of e){if(((r=this.spiedElement)===null||r===void 0?void 0:r.tagName)===s.toUpperCase())return true}return false}addRequiredMarkerToLabel(){var e;const r=this.el.querySelector("wcs-label");this.observer=new MutationObserver((e=>{var s;const o=e.filter((e=>e.attributeName==="required"))[0];if(o){this.updateLabelRequiredFlag((s=this.spiedElement)===null||s===void 0?void 0:s.hasAttribute("required"),r)}}));if(this.spiedElement){this.observer.observe(this.spiedElement,{attributes:true})}const s=(e=this.spiedElement)===null||e===void 0?void 0:e.hasAttribute("required");this.updateLabelRequiredFlag(s,r)}initSpiedElement(){var e,r;const s=["wcs-input","wcs-select","wcs-native-select","wcs-textarea","wcs-radio-group","wcs-switch","wcs-checkbox","wcs-native-select","wcs-counter"];this.spiedElement=(e=this.el.shadowRoot.querySelector("slot:not([name])"))===null||e===void 0?void 0:e.assignedElements().filter((e=>[...s,"SLOT"].map((e=>e.toUpperCase())).indexOf(e.nodeName)!==-1))[0];if(((r=this.spiedElement)===null||r===void 0?void 0:r.tagName)==="SLOT"){this.spiedElement=this.spiedElement.assignedElements().filter((e=>s.map((e=>e.toUpperCase())).indexOf(e.nodeName)!==-1))[0]}if(!this.spiedElement){console.warn("Form-field component support only "+s.toString()+". Some features may not work with the provided component.");return}}async updateAriaAttributes(){if(t(this.spiedElement)){const e=[];if(d(this.spiedElement)){const r=await this.spiedElement.getLabel();const s=`${this.label||""} ${r||""}`.trim();if(s){e.push(i(s))}}else{if(this.label){e.push(i(this.label))}}if(this.description){e.push(i(this.description))}if(this.isError){this.spiedElement.setAriaAttribute("aria-invalid","true");if(this.error){e.push(i(this.error))}}else{this.spiedElement.setAriaAttribute("aria-invalid","false")}this.spiedElement.setAriaAttribute("aria-label",e.length>0?e.join(" "):null)}}get label(){var e;return((e=this.el.querySelector("wcs-label"))===null||e===void 0?void 0:e.textContent)||null}get description(){var e;return((e=this.el.querySelector("wcs-hint"))===null||e===void 0?void 0:e.textContent)||null}get error(){var e;return((e=this.el.querySelector("wcs-error"))===null||e===void 0?void 0:e.textContent)||null}updateLabelRequiredFlag(e,r){if(e&&r){r.setAttribute("required","true")}else if(!e&&r){r.removeAttribute("required")}}disconnectedCallback(){var e;(e=this.observer)===null||e===void 0?void 0:e.disconnect()}render(){let e="";const o=this.isError;if(this.hasSuffix){e+=" has-suffix"}if(this.hasPrefix){e+=" has-prefix"}return r(s,{key:"d8a5d2023add393b0a31173351a3d16d9fa0b1a6",class:e},r("slot",{key:"3f347f4dce239c0106fbbe52bdc217fa37c05d01",name:"label"}),r("div",{key:"d6cb92104d72530059ecb9a383ff832afb0c2141",class:"input-container"},r("slot",{key:"8be28f721ff351d41dced80c97c0e34337703d0e",name:"prefix"}),r("slot",{key:"cc58d463877a1e8513736a987286e965870e096d",onSlotchange:()=>this.onFormInputSlotChange()}),r("slot",{key:"898709cfcf0ae1cd43dabd55547d62199d6230c9",name:"suffix"})),o?r("slot",{name:"error"}):"",r("slot",{key:"aaf2d35dfbdfda47b440f96d7f9aa22cb09f6a06",name:"messages"}))}onFormInputSlotChange(){this.initSpiedElement();this.updateAriaAttributes();this.addRequiredMarkerToLabel();this.updateErrorStateOnInput(this.isError)}get el(){return o(this)}static get watchers(){return{isError:["isErrorChange"]}}};v.style=b;const h=':host{--wcs-label-font-weight:var(--wcs-semantic-font-weight-book);--wcs-label-color:var(--wcs-semantic-color-text-primary);--wcs-label-required-marker-color:var(--wcs-semantic-color-text-critical);--wcs-label-gap:var(--wcs-semantic-spacing-small);font-weight:var(--wcs-label-font-weight)}:host([required])>label::after{font-weight:var(--wcs-label-font-weight);color:var(--wcs-label-required-marker-color);content:" *"}label{display:inline-flex;align-items:center;gap:var(--wcs-label-gap);color:var(--wcs-label-color);font-weight:var(--wcs-label-font-weight)}';const p=h;const m=["title"];const x=class{constructor(r){e(this,r);this.inheritedAttributes={};this.required=false}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},c(this.el)),a(this.el,m))}async setAriaAttribute(e,r){l(this.nativeLabel,e,r)}render(){return r(s,{key:"62f8ca37637cc792483f24476dbbd63ff3c077e5",slot:"label"},r("label",Object.assign({key:"3cef9a517d57652b75af3157d2c96a34693b258f",ref:e=>this.nativeLabel=e},this.inheritedAttributes),r("slot",{key:"a614b379b45ac3d4cc1d58c45d39b64c0312c1d7"})))}get el(){return o(this)}};x.style=p;export{u as wcs_error,v as wcs_form_field,x as wcs_label}; +//# sourceMappingURL=p-22620c69.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-22620c69.entry.js.map b/public/wcs/p-22620c69.entry.js.map new file mode 100644 index 0000000..a25e9c0 --- /dev/null +++ b/public/wcs/p-22620c69.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["errorCss","WcsErrorStyle0","Label","render","h","Host","key","role","slot","formFieldCss","WcsFormFieldStyle0","FormField","componentWillLoad","this","hasSuffix","el","querySelector","hasPrefix","componentDidLoad","initSpiedElement","addRequiredMarkerToLabel","updateErrorStateOnInput","isError","isErrorChange","newValue","updateAriaAttributes","spiedElementIsOfType","spiedElement","setAttribute","types","type","_a","tagName","toUpperCase","label","observer","MutationObserver","mutations","requiredAttMutation","filter","m","attributeName","updateLabelRequiredFlag","hasAttribute","observe","attributes","isRequired","SUPPORTED_COMPONENTS","shadowRoot","assignedElements","n","map","x","indexOf","nodeName","_b","console","warn","toString","isMutableAriaAttribute","ariaLabelParts","isControlComponentWithLabel","innerLabel","getLabel","combinedLabel","trim","push","normalizeWhitespace","description","setAriaAttribute","error","length","join","textContent","removeAttribute","disconnectedCallback","disconnect","classes","class","name","onSlotchange","onFormInputSlotChange","labelCss","WcsLabelStyle0","LABEL_INHERITED_ATTRS","inheritedAttributes","Object","assign","inheritAriaAttributes","inheritAttributes","attr","value","setOrRemoveAttribute","nativeLabel","ref"],"sources":["src/components/error/error.scss?tag=wcs-error&encapsulation=shadow","src/components/error/error.tsx","src/components/form-field/form-field.scss?tag=wcs-form-field&encapsulation=shadow","src/components/form-field/form-field.tsx","src/components/label/label.scss?tag=wcs-label&encapsulation=shadow","src/components/label/label.tsx"],"sourcesContent":[":host {\n --wcs-error-color: var(--wcs-semantic-color-text-critical);\n --wcs-error-font-size: var(--wcs-semantic-font-size-caption-2);\n --wcs-error-font-weight: var(--wcs-semantic-font-weight-book);\n\n color: var(--wcs-error-color);\n font-size: var(--wcs-error-font-size);\n font-weight: var(--wcs-error-font-weight);\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n/**\n * The `wcs-error` should always be wrapped in a `wcs-form-field`.\n * It is used to display a red message under the field indicating an incorrect user input.\n * \n * ## Accessibility guidelines 💡\n * - Provide a relevant error message to inform the users what they should change to make the field valid\n * - Always add the error icon, to ensure the visual indication of the error state other than the color\n * - `aria-description` will be automatically added to the field for screen readers\n * - `aria-invalid=\"true\"` will be automatically added to the field for screen readers\n * \n * @cssprop --wcs-error-color - Color of the text\n * @cssprop --wcs-error-font-size - Font size\n * @cssprop --wcs-error-font-weight - Font weight\n */\n@Component({\n tag: 'wcs-error',\n styleUrl: 'error.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n render() {\n return (\n \n \n \n );\n }\n}\n",":host {\n --wcs-form-field-gap: var(--wcs-semantic-spacing-small);\n\n --wcs-form-field-prefix-suffix-border-radius: var(--wcs-semantic-border-radius-base);\n\n --wcs-form-field-prefix-icon-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-form-field-prefix-value-color: var(--wcs-semantic-color-text-inverse);\n --wcs-form-field-prefix-placeholder-color: var(--wcs-semantic-color-text-inverse);\n\n display: flex;\n flex-direction: column;\n gap: var(--wcs-form-field-gap);\n\n .input-container {\n display: flex;\n }\n\n /* Components in the prefix slot */\n ::slotted([slot=prefix]) {\n /* Select */\n --wcs-select-value-color: var(--wcs-semantic-color-text-inverse);\n --wcs-select-placeholder-color: var(--wcs-semantic-color-text-inverse);\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-select-control-arrow-color: var(--wcs-form-field-prefix-icon-color);\n --wcs-select-control-border-radius: var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);\n --wcs-select-control-border-width-default: 0;\n --wcs-select-control-border-style-focus: dashed;\n --wcs-select-control-border-color-focus: var(--wcs-semantic-color-border-focus-base);\n\n /* Native select */\n --wcs-native-select-value-color: var(--wcs-semantic-color-text-inverse);\n --wcs-native-select-placeholder-color: var(--wcs-semantic-color-text-inverse);\n --wcs-native-select-arrow-color: var(--wcs-form-field-prefix-icon-color);\n --wcs-native-select-background-color: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-native-select-border-width: 0;\n --wcs-native-select-border-color-focus: var(--wcs-semantic-color-border-focus-base);\n --wcs-native-select-border-style-focus: dashed;\n --wcs-native-select-border-radius: var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);\n --wcs-native-select-option-color: var(--wcs-semantic-color-text-inverse);\n\n /* Button */\n --wcs-button-border-radius: var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);\n }\n\n /* Components in the suffix slot */\n ::slotted([slot=suffix]) {\n --wcs-button-border-radius: 0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;\n --wcs-select-control-border-radius: 0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;\n --wcs-native-select-border-radius: 0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;\n }\n}\n\n/* Disabled components in the prefix slot */\n::slotted([slot=prefix][disabled]),\n::slotted([slot=prefix]:disabled),\n::slotted([slot=prefix][aria-disabled=true]),\n::slotted([slot=prefix][data-disabled]) {\n --wcs-semantic-color-background-control-disabled: var(--wcs-semantic-color-background-action-primary-disabled);\n --wcs-semantic-color-text-disabled: var(--wcs-semantic-color-foreground-disabled);\n\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-action-primary-disabled);\n --wcs-select-value-color: var(--wcs-semantic-color-text-disabled);\n --wcs-select-placeholder-color: var(--wcs-semantic-color-text-disabled);\n\n --wcs-native-select-background-color: var(--wcs-semantic-color-background-action-primary-disabled);\n --wcs-native-select-placeholder-color: var(--wcs-semantic-color-text-disabled);\n --wcs-native-select-value-color: var(--wcs-semantic-color-text-disabled);\n}\n\n/* Hover and press states */\n::slotted([slot=prefix]:hover:not([disabled]):not([data-disabled])) {\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-action-primary-hover);\n --wcs-native-select-background-color: var(--wcs-semantic-color-background-action-primary-hover);\n}\n\n::slotted([slot=prefix]:active:not([disabled]):not([data-disabled])) {\n --wcs-select-control-background-color: var(--wcs-semantic-color-background-action-primary-press);\n --wcs-native-select-background-color: var(--wcs-semantic-color-background-action-primary-press);\n}\n\n.input-container {\n display: flex;\n}\n\n::slotted(wcs-select:not([slot=prefix])) {\n width: 100%;\n}\n\n::slotted(wcs-native-select:not([slot=prefix])) {\n width: 100%;\n}\n\n/* Components in the center that are prefixed */\n:host(.has-prefix) {\n ::slotted(:not([slot=prefix])) {\n --wcs-input-border-radius-left: 0;\n --wcs-select-control-border-radius: 0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;\n --wcs-native-select-border-radius: 0 var(--wcs-form-field-prefix-suffix-border-radius) var(--wcs-form-field-prefix-suffix-border-radius) 0;\n }\n}\n\n/* Components in the center that are suffixed */\n:host(.has-suffix) {\n ::slotted(:not([slot=suffix])) {\n --wcs-input-border-radius-right: 0;\n --wcs-select-control-border-radius: var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);\n --wcs-native-select-border-radius: var(--wcs-form-field-prefix-suffix-border-radius) 0 0 var(--wcs-form-field-prefix-suffix-border-radius);\n }\n\n}\n\n/* Components in the center that are prefixed AND suffixed */\n:host(.has-prefix.has-suffix) {\n ::slotted(:not([slot=prefix]):not([slot=suffix])) {\n --wcs-input-border-radius-left: 0;\n --wcs-input-border-radius-right: 0;\n --wcs-select-control-border-radius: 0;\n --wcs-native-select-border-radius: 0;\n }\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { isMutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { normalizeWhitespace } from '../../utils/helpers';\nimport { isControlComponentWithLabel } from \"../../utils/control-component-interface\";\n\n/**\n * Form field component wraps the native input element and add some more functionality on top of it.\n *\n * You can use the `wcs-form-field` to wrap any of these components :\n * - `wcs-input`\n * - `wcs-textarea`\n * - `wcs-radio-group`\n * - `wcs-switch`\n * - `wcs-checkbox`\n * - `wcs-native-select`\n * - `wcs-select`\n * - `wcs-counter`\n *\n * For non-supported slotted component, you can use the `required` attribute on the wrapped component to tell the\n * form-field that it is required. It will add a red star after the label of the form field.\n * \n * ## Accessibility guidelines 💡\n * - Each form control should be identified with a unique `wcs-label`\n * - Don't forget to add form validation to make sure the data is correctly formatted\n * - If the `wcs-label` is required, the form control must have the `required` HTML attribute and vice-versa (this is normally automatically set)\n * - The form should not be submittable if at least one required form control is not filled\n * - Hints are optional and should only be used to add extra information\n * - Additional aria attributes put on `` won't inherit onto the native component : you must use the `setAriaAttribute` method.\n * \n * @slot label - Automatically filled when a `wcs-label` is provided\n * @slot - The main slot containing the wrapped component\n * @slot prefix - (Optional) Display a component as prefix. See \"Prefix Suffix Group\" story for more info.\n * @slot suffix - (Optional) Display a component as suffix. See \"Prefix Suffix Group\" story for more info.\n * @slot error - Automatically filled when a `wcs-error` is provided\n * @slot messages - Automatically filled when a `wcs-hint` is provided\n *\n * @cssprop --wcs-form-field-gap - Defines the spacing between the label, input control, and hint messages.\n * @cssprop --wcs-form-field-prefix-suffix-border-radius - Sets the border radius for both prefix and suffix elements.\n * \n * @cssprop --wcs-form-field-prefix-background-color-default - Background color default for prefix elements\n * @cssprop --wcs-form-field-prefix-background-color-disabled - Background color for prefix elements when disabled\n * @cssprop --wcs-form-field-prefix-background-color-hover - Background color for prefix elements when hovered\n * @cssprop --wcs-form-field-prefix-border-color-default - Defines the default border color for prefix\n * @cssprop --wcs-form-field-prefix-border-color-focus - Sets the border color for prefix elements when focused.\n * @cssprop --wcs-form-field-prefix-border-color-disabled - Determines the border color for prefix elements when disabled.\n * \n * @cssprop --wcs-form-field-prefix-icon-color - Specifies the color of icons within prefix elements.\n * @cssprop --wcs-form-field-prefix-value-color - Sets the color of values within prefix elements.\n * @cssprop --wcs-form-field-prefix-placeholder-color - Defines the placeholder text color within prefix elements.\n * @cssprop --wcs-form-field-prefix-color-disabled - Determines the text color for prefix elements when disabled.\n */\n@Component({\n tag: 'wcs-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField implements ComponentInterface {\n @Element() private el!: HTMLWcsFormFieldElement;\n\n /**\n * Specifies whether the form field is in an error state. Displays the field border in red and the message contained in the wcs-error component\n */\n @Prop({mutable: true, reflect: true}) isError: boolean = false;\n\n @State() private hasPrefix: boolean = false;\n @State() private hasSuffix: boolean = false;\n @State() private spiedElement: Element;\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.hasSuffix = this.el.querySelector('[slot=suffix]') !== null;\n this.hasPrefix = this.el.querySelector('[slot=prefix]') !== null;\n }\n\n componentDidLoad() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n\n @Watch('isError')\n // @ts-ignore\n private isErrorChange(newValue: boolean) {\n this.updateErrorStateOnInput(newValue);\n this.updateAriaAttributes();\n }\n\n private updateErrorStateOnInput(newValue: boolean) {\n if (this.spiedElementIsOfType('wcs-input', 'wcs-textarea')) {\n if (newValue) {\n this.spiedElement.setAttribute('state', 'error');\n } else {\n this.spiedElement.setAttribute('state', 'initial');\n }\n }\n }\n\n /**\n * This function return true if the form field contains an element with tagName matches a value of the types param\n * @param types\n * @private\n */\n private spiedElementIsOfType(...types: string[]): boolean {\n for (const type of types) {\n if (this.spiedElement?.tagName === type.toUpperCase()) return true;\n }\n return false\n }\n\n\n private addRequiredMarkerToLabel() {\n // TODO: deprecate this in favor of the 'required' component attribute\n const label = this.el.querySelector('wcs-label');\n this.observer = new MutationObserver(mutations => {\n const requiredAttMutation = mutations.filter(m => m.attributeName === 'required')[0];\n if (requiredAttMutation) {\n this.updateLabelRequiredFlag(this.spiedElement?.hasAttribute('required'), label);\n }\n });\n if (this.spiedElement) {\n this.observer.observe(this.spiedElement, {attributes: true});\n }\n\n const isRequired = this.spiedElement?.hasAttribute('required');\n this.updateLabelRequiredFlag(isRequired, label);\n }\n\n\n private initSpiedElement() {\n const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-native-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox', 'wcs-native-select', 'wcs-counter'];\n\n this.spiedElement = (this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement)\n ?.assignedElements()\n .filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];\n\n // If the component is used in another web component\n if (this.spiedElement?.tagName === 'SLOT') {\n this.spiedElement = ((this.spiedElement as HTMLSlotElement)\n .assignedElements()\n .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]) as HTMLElement;\n }\n\n if (!this.spiedElement) {\n // tslint:disable-next-line:no-console\n console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');\n return;\n }\n }\n \n private async updateAriaAttributes(): Promise {\n if (isMutableAriaAttribute(this.spiedElement)) {\n const ariaLabelParts: string[] = [];\n if (isControlComponentWithLabel(this.spiedElement)) {\n const innerLabel = await this.spiedElement.getLabel();\n const combinedLabel = `${this.label || ''} ${innerLabel || ''}`.trim();\n if(combinedLabel) {\n ariaLabelParts.push(normalizeWhitespace(combinedLabel));\n }\n } else {\n if(this.label) {\n ariaLabelParts.push(normalizeWhitespace(this.label));\n }\n }\n\n if(this.description) {\n ariaLabelParts.push(normalizeWhitespace(this.description));\n }\n \n // Sur les autres DS, généralement seul l'erreur est affichée et pas avec la description\n if(this.isError) {\n this.spiedElement.setAriaAttribute('aria-invalid', 'true');\n if(this.error) {\n ariaLabelParts.push(normalizeWhitespace(this.error));\n }\n } else {\n this.spiedElement.setAriaAttribute('aria-invalid', 'false');\n }\n\n this.spiedElement.setAriaAttribute('aria-label', ariaLabelParts.length > 0 ? ariaLabelParts.join(' ') : null);\n }\n }\n \n private get label(): string | null {\n return this.el.querySelector('wcs-label')?.textContent || null;\n }\n \n private get description(): string | null {\n return this.el.querySelector('wcs-hint')?.textContent || null;\n }\n \n private get error(): string | null {\n return this.el.querySelector('wcs-error')?.textContent || null;\n }\n\n private updateLabelRequiredFlag(isRequired: boolean, label: Element) {\n if (isRequired && label) {\n label.setAttribute('required', 'true');\n } else if (!isRequired && label) {\n label.removeAttribute('required');\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n let classes = '';\n const isError = this.isError;\n\n if (this.hasSuffix) {\n classes += ' has-suffix';\n }\n if (this.hasPrefix) {\n classes += ' has-prefix';\n }\n return (\n \n \n
    \n \n this.onFormInputSlotChange()}/>\n \n
    \n {\n isError ? () : ''\n }\n \n
    \n );\n }\n\n private onFormInputSlotChange() {\n this.initSpiedElement();\n this.updateAriaAttributes()\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n}\n",":host {\n --wcs-label-font-weight: var(--wcs-semantic-font-weight-book);\n --wcs-label-color: var(--wcs-semantic-color-text-primary);\n --wcs-label-required-marker-color: var(--wcs-semantic-color-text-critical);\n\n --wcs-label-gap: var(--wcs-semantic-spacing-small);\n\n font-weight: var(--wcs-label-font-weight);\n}\n\n:host([required]) > label::after {\n font-weight: var(--wcs-label-font-weight);\n color: var(--wcs-label-required-marker-color);\n content: ' *';\n}\n\nlabel {\n display: inline-flex;\n align-items: center;\n gap: var(--wcs-label-gap);\n \n color: var(--wcs-label-color);\n font-weight: var(--wcs-label-font-weight);\n}\n","import { Component, ComponentInterface, h, Host, Method, Prop, Element } from '@stencil/core';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\n\nconst LABEL_INHERITED_ATTRS = ['title'];\n\n/**\n * The `wcs-label` should always be wrapped in a `wcs-form-field`.\n * It is used to caption a form control component.\n *\n * ## Accessibility guidelines 💡\n * - Use concise name for the label. If you want to describe more your form control, add a `wcs-hint`\n * - Use the required flag only as an indication to inform users that the form control is required\n * \n * @cssprop --wcs-label-color - Color of the text\n * @cssprop --wcs-label-font-weight - Font weight of the text\n * \n * @cssprop --wcs-label-required-marker-color - Color of the required marker\n * \n * @cssprop --wcs-label-gap - Gap between text and required marker\n */\n@Component({\n tag: 'wcs-label',\n styleUrl: 'label.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private nativeLabel?: HTMLLabelElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n /**\n * If `true`, marks the label with a red star.\n * Automatically added if the wrapped component inside the `wcs-form-field` already has the `required` attribute. \n */\n @Prop({ reflect: true }) required: boolean = false;\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, LABEL_INHERITED_ATTRS),\n };\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeLabel, attr, value);\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/wcs/p-2329af04.entry.js b/public/wcs/p-2329af04.entry.js new file mode 100644 index 0000000..beee3a0 --- /dev/null +++ b/public/wcs/p-2329af04.entry.js @@ -0,0 +1,2 @@ +import{r as o,c as a,h as c,H as r,g as e}from"./p-32e583ea.js";import{S as n}from"./p-84e22272.js";import{i as s,a as i,s as t}from"./p-52d77e1f.js";const d=":host{display:flex;flex-direction:column;cursor:pointer;--wcs-accordion-panel-color-default:var(--wcs-semantic-color-text-primary);--wcs-accordion-panel-color-highlight:var(--wcs-semantic-color-text-primary);--wcs-accordion-panel-color-hover:var(--wcs-semantic-color-text-primary);--wcs-accordion-panel-color-press:var(--wcs-semantic-color-text-primary);--wcs-accordion-panel-action-color-default:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-accordion-panel-action-color-highlight:var(--wcs-semantic-color-foreground-action-secondary-press);--wcs-accordion-panel-action-color-hover:var(--wcs-semantic-color-foreground-action-secondary-hover);--wcs-accordion-panel-action-color-press:var(--wcs-semantic-color-foreground-action-secondary-press);--wcs-accordion-panel-background-color-default:var(--wcs-semantic-color-background-action-secondary-default);--wcs-accordion-panel-background-color-highlight:var(--wcs-semantic-color-background-action-secondary-press);--wcs-accordion-panel-background-color-hover:var(--wcs-semantic-color-background-action-secondary-hover);--wcs-accordion-panel-background-color-press:var(--wcs-semantic-color-background-action-secondary-press);--wcs-accordion-panel-header-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-accordion-panel-header-font-size:var(--wcs-semantic-font-size-heading-6);--wcs-accordion-panel-header-gap:calc(3 * var(--wcs-semantic-spacing-base));--wcs-accordion-panel-border-radius:var(--wcs-semantic-border-radius-base);--wcs-accordion-panel-border-radius-open:var(--wcs-accordion-panel-border-radius) var(--wcs-accordion-panel-border-radius) 0 0;--wcs-accordion-panel-padding-vertical:var(--wcs-semantic-spacing-large);--wcs-accordion-panel-padding-horizontal:calc(var(--wcs-semantic-spacing-base) * 3);--wcs-accordion-panel-header-border-width:var(--wcs-semantic-border-width-default);--wcs-accordion-panel-border-width:var(--wcs-semantic-border-width-default);--wcs-accordion-panel-border-width-focus:var(--wcs-semantic-border-width-large);--wcs-accordion-panel-border-color:var(--wcs-semantic-color-border-secondary);--wcs-accordion-panel-border-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-accordion-panel-border-style-focus:var(--wcs-semantic-border-style-focus-base);--wcs-accordion-transition-duration:var(--wcs-semantic-motion-duration-feedback-base);border:var(--wcs-accordion-panel-border-width) solid var(--wcs-accordion-panel-border-color);border-radius:var(--wcs-accordion-panel-border-radius)}:host .header{display:flex;align-items:center;justify-content:space-between;gap:var(--wcs-accordion-panel-header-gap);padding:var(--wcs-accordion-panel-padding-vertical) var(--wcs-accordion-panel-padding-horizontal);border-radius:var(--wcs-accordion-panel-border-radius);font-weight:var(--wcs-accordion-panel-header-font-weight);font-size:var(--wcs-accordion-panel-header-font-size);font-family:var(--wcs-font-sans-serif);color:var(--wcs-accordion-panel-color-default);background-color:var(--wcs-accordion-panel-background-color-default);border:none;transition:background-color var(--wcs-accordion-transition-duration)}@media (forced-colors: active){:host .header{border:var(--wcs-accordion-panel-header-border-width) solid ButtonBorder}}:host .header:focus-visible{outline:var(--wcs-accordion-panel-border-width-focus) var(--wcs-accordion-panel-border-style-focus) var(--wcs-accordion-panel-border-color-focus)}:host .header:hover{cursor:pointer;color:var(--wcs-accordion-panel-color-hover);background-color:var(--wcs-accordion-panel-background-color-hover)}:host .header:hover .header-action{color:var(--wcs-accordion-panel-action-color-hover)}:host .header:hover .header-action .arrow{fill:var(--wcs-accordion-panel-action-color-hover)}:host .header:active{background-color:var(--wcs-accordion-panel-background-color-press)}:host .header-action{display:flex;align-items:center;user-select:none;color:var(--wcs-accordion-panel-action-color-default)}:host .header-action .arrow{fill:var(--wcs-accordion-panel-action-color-default)}:host .content{display:none}:host([open]){margin-bottom:0;}:host([open]) .header{border-radius:var(--wcs-accordion-panel-border-radius-open)}:host([open]) .content{display:block}:host([open]):host([highlight]){}:host([open]):host([highlight]) .header{background-color:var(--wcs-accordion-panel-background-color-highlight);color:var(--wcs-accordion-panel-color-highlight)}:host([open]):host([highlight]) .header-action{color:var(--wcs-accordion-panel-action-color-highlight)}:host([open]):host([highlight]) .header-action .arrow{fill:var(--wcs-accordion-panel-action-color-highlight)}";const l=d;const h=["tabindex","title"];const p=class{constructor(c){o(this,c);this.wcsOpenChange=a(this,"wcsOpenChange",7);this.inheritedAttributes={};this.open=false;this.hideActionText=false;this.highlight=false;this.groupContentWithHeader=false}openChange(o){this.wcsOpenChange.emit(o)}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},s(this.el)),i(this.el,h));this.openChange(this.open)}async setAriaAttribute(o,a){t(this.nativeButton,o,a)}async close(){this.open=false}render(){return c(r,{key:"e8a0d26ab4355bad7a351a672de03a9be460db41"},c("button",Object.assign({key:"8a8b6657ffe8508fa8051e836289e262c248e20d","aria-expanded":this.open?"true":"false","aria-controls":"content",class:"header",ref:o=>this.nativeButton=o,onClick:()=>this.open=!this.open},this.inheritedAttributes),c("slot",{key:"7addb6db5a516834dc2f27b7b00b655aa228548e",name:"header"}),c("span",{key:"f97d43a2c46ea36fb19aacc35744f60abf3467ce",class:"header-action"},!this.hideActionText&&c("span",{key:"f40a6b43deccc8a4436d8f267b5763cb75a8c074"},this.open?"Fermez":"Ouvrez"),c(n,{key:"28f6eb62c4e99c4d5c82afffc222c07e65ac30a2",up:this.open}))),c("div",{key:"7950a5031c2b6319054bb237be7b5b5a709158cd",class:"content",id:"content"},c("slot",{key:"bddb7506e586b90552ce6211418d7d2852a431f1",name:"content"})))}get el(){return e(this)}static get watchers(){return{open:["openChange"]}}};p.style=l;export{p as wcs_accordion_panel}; +//# sourceMappingURL=p-2329af04.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-2329af04.entry.js.map b/public/wcs/p-2329af04.entry.js.map new file mode 100644 index 0000000..1450708 --- /dev/null +++ b/public/wcs/p-2329af04.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["accordionPanelCss","WcsAccordionPanelStyle0","ACCORDION_INHERITED_ATTRS","AccordionPanel","this","inheritedAttributes","openChange","newValue","wcsOpenChange","emit","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","open","setAriaAttribute","attr","value","setOrRemoveAttribute","nativeButton","close","render","h","Host","key","class","ref","onClick","name","hideActionText","SelectArrow","up","id"],"sources":["src/components/accordion-panel/accordion-panel.scss?tag=wcs-accordion-panel&encapsulation=shadow","src/components/accordion-panel/accordion-panel.tsx"],"sourcesContent":["@mixin accordion-panel-focus {\n outline: var(--wcs-accordion-panel-border-width-focus) var(--wcs-accordion-panel-border-style-focus) var(--wcs-accordion-panel-border-color-focus);\n}\n\n:host {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n\n --wcs-accordion-panel-color-default: var(--wcs-semantic-color-text-primary);\n --wcs-accordion-panel-color-highlight: var(--wcs-semantic-color-text-primary);\n --wcs-accordion-panel-color-hover: var(--wcs-semantic-color-text-primary);\n --wcs-accordion-panel-color-press: var(--wcs-semantic-color-text-primary);\n --wcs-accordion-panel-action-color-default: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-accordion-panel-action-color-highlight: var(--wcs-semantic-color-foreground-action-secondary-press);\n --wcs-accordion-panel-action-color-hover: var(--wcs-semantic-color-foreground-action-secondary-hover);\n --wcs-accordion-panel-action-color-press: var(--wcs-semantic-color-foreground-action-secondary-press);\n --wcs-accordion-panel-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-accordion-panel-background-color-highlight: var(--wcs-semantic-color-background-action-secondary-press);\n --wcs-accordion-panel-background-color-hover: var(--wcs-semantic-color-background-action-secondary-hover);\n --wcs-accordion-panel-background-color-press: var(--wcs-semantic-color-background-action-secondary-press);\n\n --wcs-accordion-panel-header-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-accordion-panel-header-font-size: var(--wcs-semantic-font-size-heading-6);\n --wcs-accordion-panel-header-gap: calc(3 * var(--wcs-semantic-spacing-base));\n --wcs-accordion-panel-border-radius: var(--wcs-semantic-border-radius-base);\n --wcs-accordion-panel-border-radius-open: var(--wcs-accordion-panel-border-radius) var(--wcs-accordion-panel-border-radius) 0 0;\n --wcs-accordion-panel-padding-vertical: var(--wcs-semantic-spacing-large);\n --wcs-accordion-panel-padding-horizontal: calc(var(--wcs-semantic-spacing-base) * 3);\n\n --wcs-accordion-panel-header-border-width: var(--wcs-semantic-border-width-default);\n --wcs-accordion-panel-border-width: var(--wcs-semantic-border-width-default);\n --wcs-accordion-panel-border-width-focus: var(--wcs-semantic-border-width-large);\n --wcs-accordion-panel-border-color: var(--wcs-semantic-color-border-secondary);\n\n --wcs-accordion-panel-border-color-focus: var(--wcs-semantic-color-border-focus-base);\n --wcs-accordion-panel-border-style-focus: var(--wcs-semantic-border-style-focus-base);\n\n --wcs-accordion-transition-duration: var(--wcs-semantic-motion-duration-feedback-base);\n\n border: var(--wcs-accordion-panel-border-width) solid var(--wcs-accordion-panel-border-color);\n border-radius: var(--wcs-accordion-panel-border-radius);\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wcs-accordion-panel-header-gap);\n padding: var(--wcs-accordion-panel-padding-vertical) var(--wcs-accordion-panel-padding-horizontal);\n border-radius: var(--wcs-accordion-panel-border-radius);\n font-weight: var(--wcs-accordion-panel-header-font-weight);\n // TODO replace px to rem\n font-size: var(--wcs-accordion-panel-header-font-size);\n font-family: var(--wcs-font-sans-serif);\n color: var(--wcs-accordion-panel-color-default);\n background-color: var(--wcs-accordion-panel-background-color-default);\n border: none;\n\n transition: background-color var(--wcs-accordion-transition-duration);\n\n @media (forced-colors: active) {\n // for WHCM\n border: var(--wcs-accordion-panel-header-border-width) solid ButtonBorder;\n }\n &:focus-visible {\n @include accordion-panel-focus;\n }\n\n &:hover {\n cursor: pointer;\n\n color: var(--wcs-accordion-panel-color-hover);\n background-color: var(--wcs-accordion-panel-background-color-hover);\n\n .header-action {\n color: var(--wcs-accordion-panel-action-color-hover);\n\n .arrow {\n fill: var(--wcs-accordion-panel-action-color-hover);\n }\n }\n }\n\n &:active {\n background-color: var(--wcs-accordion-panel-background-color-press);\n }\n }\n\n .header-action {\n display: flex;\n align-items: center;\n user-select: none;\n\n color: var(--wcs-accordion-panel-action-color-default);\n\n .arrow {\n fill: var(--wcs-accordion-panel-action-color-default);\n }\n }\n\n .content {\n display: none;\n }\n\n}\n\n:host([open]) {\n margin-bottom: 0;\n\n .header {\n border-radius: var(--wcs-accordion-panel-border-radius-open);\n }\n\n .content {\n display: block;\n }\n\n\n /* FIXME GroupContentWithHeader is deprecated. Remove this.\n &:host([group-content-with-header]) {\n .header {\n border-radius: var(--wcs-accordion-panel-border-radius-open);\n padding-bottom: 0;\n }\n\n .content {\n border-radius: 0 0 var(--wcs-accordion-panel-border-radius) var(--wcs-accordion-panel-border-radius);\n margin-bottom: var(--wcs-);\n background-color: var(--wcs-accordion-panel-background-color-default);\n }\n }\n */\n\n &:host([highlight]) {\n .header {\n background-color: var(--wcs-accordion-panel-background-color-highlight);\n color: var(--wcs-accordion-panel-color-highlight);\n }\n\n .header-action {\n color: var(--wcs-accordion-panel-action-color-highlight);\n\n .arrow {\n fill: var(--wcs-accordion-panel-action-color-highlight);\n }\n }\n\n /* FIXME GroupContentWithHeader is deprecated. Remove this.\n &:host([group-content-with-header]) {\n .content {\n background-color: var(--wcs-accordion-panel-background-color-highlight);\n color: var(--wcs-accordion-panel-color-highlight);\n }\n }\n */\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n Watch\n} from '@stencil/core';\nimport { SelectArrow } from '../select/select-arrow';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\n\nconst ACCORDION_INHERITED_ATTRS = ['tabindex', 'title'];\n\n/**\n * The accordion-panel is a subcomponent of `wcs-accordion`. It represents every panel of the accordion that can be expanded.\n * \n *\n * @cssprop --wcs-accordion-panel-color-default - Default color of the accordion panel\n * @cssprop --wcs-accordion-panel-color-highlight - Highlight color of the accordion panel\n * @cssprop --wcs-accordion-panel-color-hover - Hover color of the accordion panel\n * @cssprop --wcs-accordion-panel-color-press - Press color of the accordion panel\n * @cssprop --wcs-accordion-panel-action-color-default - Default action color of the accordion panel\n * @cssprop --wcs-accordion-panel-action-color-highlight - Highlight action color of the accordion panel\n * @cssprop --wcs-accordion-panel-action-color-hover - Hovered action color of the accordion panel\n * @cssprop --wcs-accordion-panel-action-color-press - Pressed action color of the accordion panel\n * @cssprop --wcs-accordion-panel-background-color-default - Default background color of the accordion panel\n * @cssprop --wcs-accordion-panel-background-color-highlight - Highlight background color of the accordion panel\n * @cssprop --wcs-accordion-panel-background-color-hover - Hover background color of the accordion panel\n * @cssprop --wcs-accordion-panel-background-color-press - Press background color of the accordion panel\n * @cssprop --wcs-accordion-panel-header-font-size - Font size of the accordion panel header\n * @cssprop --wcs-accordion-panel-header-font-weight - Font weight of the accordion panel header\n * @cssprop --wcs-accordion-panel-border-radius - Border radius of the accordion panel\n * @cssprop --wcs-accordion-panel-border-radius-open - Border radius of the open accordion panel\n * @cssprop --wcs-accordion-panel-padding-vertical - Vertical padding of the accordion panel\n * @cssprop --wcs-accordion-panel-padding-horizontal - Horizontal padding of the accordion panel\n * @cssprop --wcs-accordion-panel-header-border-width - Border width of the accordion panel header\n * @cssprop --wcs-accordion-panel-border-width - Border width of the accordion panel\n * @cssprop --wcs-accordion-panel-border-width-focus - Border width of the accordion panel when focused\n * @cssprop --wcs-accordion-panel-border-color - Border color of the accordion panel\n * @cssprop --wcs-accordion-panel-border-color-focus - Border color of the accordion panel when focused\n * @cssprop --wcs-accordion-panel-border-style-focus - Border style of the accordion panel when focused\n * @cssprop --wcs-accordion-transition-duration - Transition duration of the accordion panel\n */\n@Component({\n tag: 'wcs-accordion-panel',\n styleUrl: 'accordion-panel.scss',\n shadow: true\n})\nexport class AccordionPanel implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private nativeButton?: HTMLButtonElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n @Prop({reflect: true, mutable: true}) open: boolean = false;\n\n /**\n * Specifies whether the component should display the open/close text.\n * if false, it won't show the open/close text.\n */\n @Prop({reflect: true}) hideActionText: boolean = false;\n\n /**\n * Specifies whether the component should highlight when open with primary color.\n * if true, the background color will be the primary color.\n * if false, the background color will be wcs-light.\n */\n @Prop({reflect: true}) highlight: boolean = false;\n\n /**\n * Specifies wether the component should group the content with header in one card\n * if true, there will be only one card with the header and the content\n * Nothing change when the panel is close\n */\n @Prop({reflect: true}) groupContentWithHeader: boolean = false;\n\n /**\n * Emitted when the open property changes. \n * Note that this event is stopped from propagating when using the component inside a wcs-accordion as the \n * accordion handles the open state of its accordion-panel children.\n */\n @Event() wcsOpenChange!: EventEmitter;\n\n @Watch('open')\n openChange(newValue: boolean) {\n this.wcsOpenChange.emit(newValue);\n }\n\n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, ACCORDION_INHERITED_ATTRS),\n };\n this.openChange(this.open);\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeButton, attr, value);\n }\n\n @Method()\n async close() {\n this.open = false;\n }\n\n render() {\n \n \n \n return (\n \n \n
    \n \n
    \n
    \n );\n }\n}\n"],"mappings":"sJAAA,MAAMA,EAAoB,mhJAC1B,MAAAC,EAAeD,ECef,MAAME,EAA4B,CAAC,WAAY,S,MAqClCC,EAAc,M,sEAGfC,KAAAC,oBAA4C,G,UAEE,M,oBAML,M,eAOL,M,4BAOa,K,CAUzD,UAAAC,CAAWC,GACPH,KAAKI,cAAcC,KAAKF,E,CAG5B,iBAAAG,GACIN,KAAKC,oBAAmBM,OAAAC,OAAAD,OAAAC,OAAA,GACjBC,EAAsBT,KAAKU,KAC3BC,EAAkBX,KAAKU,GAAIZ,IAElCE,KAAKE,WAAWF,KAAKY,K,CAIzB,sBAAMC,CAAiBC,EAAyBC,GAC5CC,EAAqBhB,KAAKiB,aAAcH,EAAMC,E,CAIlD,WAAMG,GACFlB,KAAKY,KAAO,K,CAGhB,MAAAO,GAII,OACIC,EAACC,EAAI,CAAAC,IAAA,4CACDF,EAAA,SAAAb,OAAAC,OAAA,CAAAc,IAAA,2DAAuBtB,KAAKY,KAAO,OAAQ,QAAO,gBAC5B,UACdW,MAAM,SACNC,IAAMd,GAAOV,KAAKiB,aAAeP,EACjCe,QAAS,IAAMzB,KAAKY,MAAQZ,KAAKY,MAC7BZ,KAAKC,qBACbmB,EAAA,QAAAE,IAAA,2CAAMI,KAAK,WACXN,EAAA,QAAAE,IAAA,2CAAMC,MAAM,kBACNvB,KAAK2B,gBACHP,EAAA,QAAAE,IAAA,4CAAOtB,KAAKY,KAAO,SAAW,UAElCQ,EAACQ,EAAW,CAAAN,IAAA,2CAACO,GAAI7B,KAAKY,SAG9BQ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UAAUO,GAAG,WACpBV,EAAA,QAAAE,IAAA,2CAAMI,KAAK,a"} \ No newline at end of file diff --git a/public/wcs/p-27b438c0.entry.js b/public/wcs/p-27b438c0.entry.js new file mode 100644 index 0000000..b565041 --- /dev/null +++ b/public/wcs/p-27b438c0.entry.js @@ -0,0 +1,2 @@ +import{r as t,h as e,H as r}from"./p-32e583ea.js";const o=":host{--wcs-list-item-property-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-list-item-property-color:var(--wcs-semantic-color-text-secondary);font-weight:var(--wcs-list-item-property-font-weight);color:var(--wcs-list-item-property-color)}";const s=o;const c=class{constructor(e){t(this,e)}render(){return e(r,{key:"8f87008b8f9a847e0ef6ca55d87b2eec24eb1763",slot:"property"},e("slot",{key:"5ad7e2f0f44d93c9ba599f23a850648f88dbefb9"}))}};c.style=s;export{c as wcs_list_item_property}; +//# sourceMappingURL=p-27b438c0.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-27b438c0.entry.js.map b/public/wcs/p-27b438c0.entry.js.map new file mode 100644 index 0000000..11bcd0a --- /dev/null +++ b/public/wcs/p-27b438c0.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["listItemPropertyCss","WcsListItemPropertyStyle0","ListItemProperty","render","h","Host","key","slot"],"sources":["src/components/list-item-property/list-item-property.scss?tag=wcs-list-item-property&encapsulation=shadow","src/components/list-item-property/list-item-property.tsx"],"sourcesContent":[":host {\n --wcs-list-item-property-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-list-item-property-color: var(--wcs-semantic-color-text-secondary);\n\n font-weight: var(--wcs-list-item-property-font-weight);\n color: var(--wcs-list-item-property-color);\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n/**\n * The list-item-property is a subcomponent of `wcs-list-item`.\n * Wrapped in a `wcs-list-item-properties`, it represents a property to describe an item.\n * \n * @slot - Main container slot\n * \n * @cssprop --wcs-list-item-property-font-weight - Font weight of the property\n * @cssprop --wcs-list-item-property-color - Color of the property\n */\n@Component({\n tag: 'wcs-list-item-property',\n styleUrl: 'list-item-property.scss',\n shadow: true\n})\nexport class ListItemProperty implements ComponentInterface {\n render() {\n return (\n \n \n \n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAsB,6PAC5B,MAAAC,EAAeD,E,MCeFE,EAAgB,M,yBACzB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,YACPH,EAAA,QAAAE,IAAA,6C"} \ No newline at end of file diff --git a/public/wcs/p-32e583ea.js b/public/wcs/p-32e583ea.js new file mode 100644 index 0000000..0873052 --- /dev/null +++ b/public/wcs/p-32e583ea.js @@ -0,0 +1,3 @@ +const e="wcs";const t={allRenderFn:true,appendChildSlotFix:false,asyncLoading:true,asyncQueue:false,attachStyles:true,cloneNodeFix:false,cmpDidLoad:true,cmpDidRender:true,cmpDidUnload:false,cmpDidUpdate:false,cmpShouldUpdate:false,cmpWillLoad:true,cmpWillRender:true,cmpWillUpdate:true,connectedCallback:true,constructableCSS:true,cssAnnotations:true,devTools:false,disconnectedCallback:true,element:false,event:true,experimentalScopedSlotChanges:false,experimentalSlotFixes:false,formAssociated:false,hasRenderFn:true,hostListener:true,hostListenerTarget:true,hostListenerTargetBody:false,hostListenerTargetDocument:true,hostListenerTargetParent:false,hostListenerTargetWindow:true,hotModuleReplacement:false,hydrateClientSide:false,hydrateServerSide:false,hydratedAttribute:false,hydratedClass:true,initializeNextTick:false,invisiblePrehydration:true,isDebug:false,isDev:false,isTesting:false,lazyLoad:true,lifecycle:true,lifecycleDOMEvents:false,member:true,method:true,mode:false,observeAttribute:true,profile:false,prop:true,propBoolean:true,propMutable:true,propNumber:true,propString:true,reflect:true,scoped:false,scopedSlotTextContentFix:false,scriptDataOpts:false,shadowDelegatesFocus:true,shadowDom:true,slot:true,slotChildNodesFix:false,slotRelocation:true,state:true,style:true,svg:true,taskQueue:true,transformTagName:false,updatable:true,vdomAttribute:true,vdomClass:true,vdomFunctional:true,vdomKey:true,vdomListener:true,vdomPropOrAttr:true,vdomRef:true,vdomRender:true,vdomStyle:true,vdomText:true,vdomXlink:true,watchCallback:true};var r=Object.defineProperty;var l=(e,t)=>{for(var l in t)r(e,l,{get:t[l],enumerable:true})};var n={};var s="http://www.w3.org/2000/svg";var i="http://www.w3.org/1999/xhtml";var a=e=>e!=null;var o=e=>{e=typeof e;return e==="object"||e==="function"};function f(e){var t,r,l;return(l=(r=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:r.getAttribute("content"))!=null?l:void 0}var c={};l(c,{err:()=>v,map:()=>d,ok:()=>u,unwrap:()=>p,unwrapErr:()=>m});var u=e=>({isOk:true,isErr:false,value:e});var v=e=>({isOk:false,isErr:true,value:e});function d(e,t){if(e.isOk){const r=t(e.value);if(r instanceof Promise){return r.then((e=>u(e)))}else{return u(r)}}if(e.isErr){const t=e.value;return v(t)}throw"should never get here"}var p=e=>{if(e.isOk){return e.value}else{throw e.value}};var m=e=>{if(e.isErr){return e.value}else{throw e.value}};var h=(e,t="")=>{{return()=>{}}};var y=(e,t)=>{{return()=>{}}};var b="{visibility:hidden}.hydrated{visibility:inherit}";var w="slot-fb{display:contents}slot-fb[hidden]{display:none}";var g="http://www.w3.org/1999/xlink";var $=(e,t,...r)=>{let l=null;let n=null;let s=null;let i=false;let a=false;const f=[];const c=t=>{for(let r=0;re[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,f,O)}const u=S(e,null);u.l=t;if(f.length>0){u.i=f}{u.o=n}{u.u=s}return u};var S=(e,t)=>{const r={v:0,p:e,t,m:null,i:null};{r.l=null}{r.o=null}{r.u=null}return r};var k={};var C=e=>e&&e.p===k;var O={forEach:(e,t)=>e.map(j).forEach(t),map:(e,t)=>e.map(j).map(t).map(x)};var j=e=>({vattrs:e.l,vchildren:e.i,vkey:e.o,vname:e.u,vtag:e.p,vtext:e.t});var x=e=>{if(typeof e.vtag==="function"){const t={...e.vattrs};if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return $(e.vtag,t,...e.vchildren||[])}const t=S(e.vtag,e.vtext);t.l=e.vattrs;t.i=e.vchildren;t.o=e.vkey;t.u=e.vname;return t};var R=(e,t)=>{if(e!=null&&!o(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var T=e=>ze(e).$hostElement$;var L=(e,t,r)=>{const l=T(e);return{emit:e=>D(l,t,{bubbles:!!(r&4),composed:!!(r&2),cancelable:!!(r&1),detail:e})}};var D=(e,t,r)=>{const l=Ge.ce(t,r);e.dispatchEvent(l);return l};var F=new WeakMap;var M=(e,t,r)=>{let l=Ve.get(e);if(Ze&&r){l=l||new CSSStyleSheet;if(typeof l==="string"){l=t}else{l.replaceSync(t)}}else{l=t}Ve.set(e,l)};var A=(e,t,r)=>{var l;const n=P(t);const s=Ve.get(n);e=e.nodeType===11?e:_e;if(s){if(typeof s==="string"){e=e.head||e;let r=F.get(e);let i;if(!r){F.set(e,r=new Set)}if(!r.has(n)){{i=_e.createElement("style");i.innerHTML=s;const t=(l=Ge.h)!=null?l:f(_e);if(t!=null){i.setAttribute("nonce",t)}e.insertBefore(i,e.querySelector("link"))}if(t.v&4){i.innerHTML+=w}if(r){r.add(n)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]}}return n};var E=e=>{const t=e.$;const r=e.$hostElement$;const l=t.v;const n=h("attachStyles",t.S);const s=A(r.shadowRoot?r.shadowRoot:r.getRootNode(),t);if(l&10){r["s-sc"]=s;r.classList.add(s+"-h")}n()};var P=(e,t)=>"sc-"+e.S;var N=(e,t,r,l,n,s)=>{if(r!==l){let i=Qe(e,t);let a=t.toLowerCase();if(t==="class"){const t=e.classList;const n=W(r);const s=W(l);t.remove(...n.filter((e=>e&&!s.includes(e))));t.add(...s.filter((e=>e&&!n.includes(e))))}else if(t==="style"){{for(const t in r){if(!l||l[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in l){if(!r||l[t]!==r[t]){if(t.includes("-")){e.style.setProperty(t,l[t])}else{e.style[t]=l[t]}}}}else if(t==="key");else if(t==="ref"){if(l){l(e)}}else if(!i&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(Qe(Xe,a)){t=a.slice(2)}else{t=a[2]+t.slice(3)}if(r||l){const n=t.endsWith(z);t=t.replace(B,"");if(r){Ge.rel(e,t,r,n)}if(l){Ge.ael(e,t,l,n)}}}else{const f=o(l);if((i||f&&l!==null)&&!n){try{if(!e.tagName.includes("-")){const n=l==null?"":l;if(t==="list"){i=false}else if(r==null||e[t]!=n){e[t]=n}}else{e[t]=l}}catch(e){}}let c=false;{if(a!==(a=a.replace(/^xlink\:?/,""))){t=a;c=true}}if(l==null||l===false){if(l!==false||e.getAttribute(t)===""){if(c){e.removeAttributeNS(g,t)}else{e.removeAttribute(t)}}}else if((!i||s&4||n)&&!f){l=l===true?"":l;if(c){e.setAttributeNS(g,t,l)}else{e.setAttribute(t,l)}}}}};var U=/\s/;var W=e=>!e?[]:e.split(U);var z="Capture";var B=new RegExp(z+"$");var H=(e,t,r)=>{const l=t.m.nodeType===11&&t.m.host?t.m.host:t.m;const s=e&&e.l||n;const i=t.l||n;{for(const e of Q(Object.keys(s))){if(!(e in i)){N(l,e,s[e],void 0,r,t.v)}}}for(const e of Q(Object.keys(i))){N(l,e,s[e],i[e],r,t.v)}};function Q(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var q;var I;var K;var V=false;var X=false;var _=false;var G=false;var J=(e,t,r,l)=>{var n;const o=t.i[r];let f=0;let c;let u;let v;if(!V){_=true;if(o.p==="slot"){if(q){l.classList.add(q+"-s")}o.v|=o.i?2:1}}if(o.t!==null){c=o.m=_e.createTextNode(o.t)}else if(o.v&1){c=o.m=_e.createTextNode("")}else{if(!G){G=o.p==="svg"}c=o.m=_e.createElementNS(G?s:i,o.v&2?"slot-fb":o.p);if(G&&o.p==="foreignObject"){G=false}{H(null,o,G)}if(a(q)&&c["s-si"]!==q){c.classList.add(c["s-si"]=q)}if(o.i){for(f=0;f{Ge.v|=1;const l=Array.from(e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===K){l.push(t)}}}for(let e=l.length-1;e>=0;e--){const t=l[e];if(t["s-hn"]!==K&&t["s-ol"]){ne(t).insertBefore(t,le(t));t["s-ol"].remove();t["s-ol"]=void 0;t["s-sh"]=void 0;_=true}if(r){Y(t,r)}}Ge.v&=~1};var Z=(e,t,r,l,n,s)=>{let i=e["s-cr"]&&e["s-cr"].parentNode||e;let a;if(i.shadowRoot&&i.tagName===K){i=i.shadowRoot}for(;n<=s;++n){if(l[n]){a=J(null,r,n,e);if(a){l[n].m=a;i.insertBefore(a,le(t))}}}};var ee=(e,t,r)=>{for(let l=t;l<=r;++l){const t=e[l];if(t){const e=t.m;ce(t);if(e){{X=true;if(e["s-ol"]){e["s-ol"].remove()}else{Y(e,true)}}e.remove()}}}};var te=(e,t,r,l,n=false)=>{let s=0;let i=0;let a=0;let o=0;let f=t.length-1;let c=t[0];let u=t[f];let v=l.length-1;let d=l[0];let p=l[v];let m;let h;while(s<=f&&i<=v){if(c==null){c=t[++s]}else if(u==null){u=t[--f]}else if(d==null){d=l[++i]}else if(p==null){p=l[--v]}else if(re(c,d,n)){se(c,d,n);c=t[++s];d=l[++i]}else if(re(u,p,n)){se(u,p,n);u=t[--f];p=l[--v]}else if(re(c,p,n)){if(c.p==="slot"||p.p==="slot"){Y(c.m.parentNode,false)}se(c,p,n);e.insertBefore(c.m,u.m.nextSibling);c=t[++s];p=l[--v]}else if(re(u,d,n)){if(c.p==="slot"||p.p==="slot"){Y(u.m.parentNode,false)}se(u,d,n);e.insertBefore(u.m,c.m);u=t[--f];d=l[++i]}else{a=-1;{for(o=s;o<=f;++o){if(t[o]&&t[o].o!==null&&t[o].o===d.o){a=o;break}}}if(a>=0){h=t[a];if(h.p!==d.p){m=J(t&&t[i],r,a,e)}else{se(h,d,n);t[a]=void 0;m=h.m}d=l[++i]}else{m=J(t&&t[i],r,i,e);d=l[++i]}if(m){{ne(c.m).insertBefore(m,le(c.m))}}}}if(s>f){Z(e,l[v+1]==null?null:l[v+1].m,r,l,i,v)}else if(i>v){ee(t,s,f)}};var re=(e,t,r=false)=>{if(e.p===t.p){if(e.p==="slot"){return e.u===t.u}if(!r){return e.o===t.o}return true}return false};var le=e=>e&&e["s-ol"]||e;var ne=e=>(e["s-ol"]?e["s-ol"]:e).parentNode;var se=(e,t,r=false)=>{const l=t.m=e.m;const n=e.i;const s=t.i;const i=t.p;const a=t.t;let o;if(a===null){{G=i==="svg"?true:i==="foreignObject"?false:G}{if(i==="slot"&&!V);else{H(e,t,G)}}if(n!==null&&s!==null){te(l,n,t,s,r)}else if(s!==null){if(e.t!==null){l.textContent=""}Z(l,null,t,s,0,s.length-1)}else if(n!==null){ee(n,0,n.length-1)}if(G&&i==="svg"){G=false}}else if(o=l["s-cr"]){o.parentNode.textContent=a}else if(e.t!==a){l.data=a}};var ie=e=>{const t=e.childNodes;for(const e of t){if(e.nodeType===1){if(e["s-sr"]){const r=e["s-sn"];e.hidden=false;for(const l of t){if(l!==e){if(l["s-hn"]!==e["s-hn"]||r!==""){if(l.nodeType===1&&(r===l.getAttribute("slot")||r===l["s-sn"])||l.nodeType===3&&r===l["s-sn"]){e.hidden=true;break}}else{if(l.nodeType===1||l.nodeType===3&&l.textContent.trim()!==""){e.hidden=true;break}}}}}ie(e)}}};var ae=[];var oe=e=>{let r;let l;let n;for(const s of e.childNodes){if(s["s-sr"]&&(r=s["s-cr"])&&r.parentNode){l=r.parentNode.childNodes;const e=s["s-sn"];for(n=l.length-1;n>=0;n--){r=l[n];if(!r["s-cn"]&&!r["s-nr"]&&r["s-hn"]!==s["s-hn"]&&!t.experimentalSlotFixes){if(fe(r,e)){let t=ae.find((e=>e.k===r));X=true;r["s-sn"]=r["s-sn"]||e;if(t){t.k["s-sh"]=s["s-hn"];t.C=s}else{r["s-sh"]=s["s-hn"];ae.push({C:s,k:r})}if(r["s-sr"]){ae.map((e=>{if(fe(e.k,r["s-sn"])){t=ae.find((e=>e.k===r));if(t&&!e.C){e.C=t.C}}}))}}else if(!ae.some((e=>e.k===r))){ae.push({k:r})}}}}if(s.nodeType===1){oe(s)}}};var fe=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};var ce=e=>{{e.l&&e.l.ref&&e.l.ref(null);e.i&&e.i.map(ce)}};var ue=(e,t,r=false)=>{var l,n,s,i;const a=e.$hostElement$;const o=e.$;const f=e.O||S(null,null);const c=C(t)?t:$(null,null,t);K=a.tagName;if(o.j){c.l=c.l||{};o.j.map((([e,t])=>c.l[t]=a[e]))}if(r&&c.l){for(const e of Object.keys(c.l)){if(a.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){c.l[e]=a[e]}}}c.p=null;c.v|=4;e.O=c;c.m=f.m=a.shadowRoot||a;{q=a["s-sc"]}V=(o.v&1)!==0;{I=a["s-cr"];X=false}se(f,c,r);{Ge.v|=1;if(_){oe(c.m);for(const e of ae){const t=e.k;if(!t["s-ol"]){const e=_e.createTextNode("");e["s-nr"]=t;t.parentNode.insertBefore(t["s-ol"]=e,t)}}for(const e of ae){const t=e.k;const a=e.C;if(a){const e=a.parentNode;let r=a.nextSibling;{let s=(l=t["s-ol"])==null?void 0:l.previousSibling;while(s){let l=(n=s["s-nr"])!=null?n:null;if(l&&l["s-sn"]===t["s-sn"]&&e===l.parentNode){l=l.nextSibling;while(l===t||(l==null?void 0:l["s-sr"])){l=l==null?void 0:l.nextSibling}if(!l||!l["s-nr"]){r=l;break}}s=s.previousSibling}}if(!r&&e!==t.parentNode||t.nextSibling!==r){if(t!==r){if(!t["s-hn"]&&t["s-ol"]){t["s-hn"]=t["s-ol"].parentNode.nodeName}e.insertBefore(t,r);if(t.nodeType===1){t.hidden=(s=t["s-ih"])!=null?s:false}}}t&&typeof a["s-rf"]==="function"&&a["s-rf"](t)}else{if(t.nodeType===1){if(r){t["s-ih"]=(i=t.hidden)!=null?i:false}t.hidden=true}}}}if(X){ie(c.m)}Ge.v&=~1;ae.length=0}I=void 0};var ve=(e,t)=>{if(t&&!e.R&&t["s-p"]){t["s-p"].push(new Promise((t=>e.R=t)))}};var de=(e,t)=>{{e.v|=16}if(e.v&4){e.v|=512;return}ve(e,e.T);const r=()=>pe(e,t);return ot(r)};var pe=(e,t)=>{const r=h("scheduleUpdate",e.$.S);const l=e.L;let n;if(t){{e.v|=256;if(e.D){e.D.map((([e,t])=>Se(l,e,t)));e.D=void 0}}{n=Se(l,"componentWillLoad")}}else{{n=Se(l,"componentWillUpdate")}}{n=me(n,(()=>Se(l,"componentWillRender")))}r();return me(n,(()=>ye(e,l,t)))};var me=(e,t)=>he(e)?e.then(t):t();var he=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var ye=async(e,t,r)=>{var l;const n=e.$hostElement$;const s=h("update",e.$.S);const i=n["s-rc"];if(r){E(e)}const a=h("render",e.$.S);{be(e,t,n,r)}if(i){i.map((e=>e()));n["s-rc"]=void 0}a();s();{const t=(l=n["s-p"])!=null?l:[];const r=()=>we(e);if(t.length===0){r()}else{Promise.all(t).then(r);e.v|=4;t.length=0}}};var be=(e,t,r,l)=>{try{t=t.render();{e.v&=~16}{e.v|=2}{{{ue(e,t,l)}}}}catch(t){qe(t,e.$hostElement$)}return null};var we=e=>{const t=e.$.S;const r=e.$hostElement$;const l=h("postUpdate",t);const n=e.L;const s=e.T;{Se(n,"componentDidRender")}if(!(e.v&64)){e.v|=64;{ke(r)}{Se(n,"componentDidLoad")}l();{e.F(r);if(!s){$e()}}}else{l()}{e.M(r)}{if(e.R){e.R();e.R=void 0}if(e.v&512){it((()=>de(e,false)))}e.v&=~(4|512)}};var ge=e=>{{const t=ze(e);const r=t.$hostElement$.isConnected;if(r&&(t.v&(2|16))===2){de(t,false)}return r}};var $e=t=>{{ke(_e.documentElement)}it((()=>D(Xe,"appload",{detail:{namespace:e}})))};var Se=(e,t,r)=>{if(e&&e[t]){try{return e[t](r)}catch(e){qe(e)}}return void 0};var ke=e=>e.classList.add("hydrated");var Ce=(e,t)=>ze(e).A.get(t);var Oe=(e,t,r,l)=>{const n=ze(e);const s=n.$hostElement$;const i=n.A.get(t);const a=n.v;const o=n.L;r=R(r,l.P[t][0]);const f=Number.isNaN(i)&&Number.isNaN(r);const c=r!==i&&!f;if((!(a&8)||i===void 0)&&c){n.A.set(t,r);if(o){if(l.N&&a&128){const e=l.N[t];if(e){e.map((e=>{try{o[e](r,i,t)}catch(e){qe(e,s)}}))}}if((a&(2|16))===2){de(n,false)}}}};var je=(e,t,r)=>{var l;const n=e.prototype;if(t.P){if(e.watchers){t.N=e.watchers}const s=Object.entries(t.P);s.map((([e,[l]])=>{if(l&31||r&2&&l&32){Object.defineProperty(n,e,{get(){return Ce(this,e)},set(r){Oe(this,e,r,t)},configurable:true,enumerable:true})}else if(r&1&&l&64){Object.defineProperty(n,e,{value(...t){var r;const l=ze(this);return(r=l==null?void 0:l.U)==null?void 0:r.then((()=>{var r;return(r=l.L)==null?void 0:r[e](...t)}))}})}}));if(r&1){const r=new Map;n.attributeChangedCallback=function(e,l,s){Ge.jmp((()=>{var i;const a=r.get(e);if(this.hasOwnProperty(a)){s=this[a];delete this[a]}else if(n.hasOwnProperty(a)&&typeof this[a]==="number"&&this[a]==s){return}else if(a==null){const r=ze(this);const n=r==null?void 0:r.v;if(n&&!(n&8)&&n&128&&s!==l){const n=r.L;const a=(i=t.N)==null?void 0:i[e];a==null?void 0:a.forEach((t=>{if(n[t]!=null){n[t].call(n,s,l,e)}}))}return}this[a]=s===null&&typeof this[a]==="boolean"?false:s}))};e.observedAttributes=Array.from(new Set([...Object.keys((l=t.N)!=null?l:{}),...s.filter((([e,t])=>t[0]&15)).map((([e,l])=>{var n;const s=l[1]||e;r.set(s,e);if(l[0]&512){(n=t.j)==null?void 0:n.push([e,s])}return s}))]))}}return e};var xe=async(e,t,r,l)=>{let n;if((t.v&32)===0){t.v|=32;const l=r.W;if(l){n=Ke(r);if(n.then){const e=y();n=await n;e()}if(!n.isProxied){{r.N=n.watchers}je(n,r,2);n.isProxied=true}const e=h("createInstance",r.S);{t.v|=8}try{new n(t)}catch(e){qe(e)}{t.v&=~8}{t.v|=128}e();Re(t.L)}else{n=e.constructor;customElements.whenDefined(r.S).then((()=>t.v|=128))}if(n.style){let e=n.style;const t=P(r);if(!Ve.has(t)){const l=h("registerStyles",r.S);M(t,e,!!(r.v&1));l()}}}const s=t.T;const i=()=>de(t,true);if(s&&s["s-rc"]){s["s-rc"].push(i)}else{i()}};var Re=e=>{{Se(e,"connectedCallback")}};var Te=e=>{if((Ge.v&1)===0){const t=ze(e);const r=t.$;const l=h("connectedCallback",r.S);if(!(t.v&1)){t.v|=1;{if(r.v&(4|8)){Le(e)}}{let r=e;while(r=r.parentNode||r.host){if(r["s-p"]){ve(t,t.T=r);break}}}if(r.P){Object.entries(r.P).map((([t,[r]])=>{if(r&31&&e.hasOwnProperty(t)){const r=e[t];delete e[t];e[t]=r}}))}{xe(e,t,r)}}else{Ae(e,t,r.B);if(t==null?void 0:t.L){Re(t.L)}else if(t==null?void 0:t.H){t.H.then((()=>Re(t.L)))}}l()}};var Le=e=>{const t=e["s-cr"]=_e.createComment("");t["s-cn"]=true;e.insertBefore(t,e.firstChild)};var De=e=>{{Se(e,"disconnectedCallback")}};var Fe=async e=>{if((Ge.v&1)===0){const t=ze(e);{if(t.q){t.q.map((e=>e()));t.q=void 0}}if(t==null?void 0:t.L){De(t.L)}else if(t==null?void 0:t.H){t.H.then((()=>De(t.L)))}}};var Me=(e,t={})=>{var r;const l=h();const n=[];const s=t.exclude||[];const i=Xe.customElements;const a=_e.head;const o=a.querySelector("meta[charset]");const c=_e.createElement("style");const u=[];let v;let d=true;Object.assign(Ge,t);Ge.I=new URL(t.resourcesUrl||"./",_e.baseURI).href;let p=false;e.map((e=>{e[1].map((t=>{var r;const l={v:t[0],S:t[1],P:t[2],B:t[3]};if(l.v&4){p=true}{l.P=t[2]}{l.B=t[3]}{l.j=[]}{l.N=(r=t[4])!=null?r:{}}const a=l.S;const o=class extends HTMLElement{constructor(e){super(e);e=this;He(e,l);if(l.v&1){{{e.attachShadow({mode:"open",delegatesFocus:!!(l.v&16)})}}}}connectedCallback(){if(v){clearTimeout(v);v=null}if(d){u.push(this)}else{Ge.jmp((()=>Te(this)))}}disconnectedCallback(){Ge.jmp((()=>Fe(this)))}componentOnReady(){return ze(this).H}};l.W=e[0];if(!s.includes(a)&&!i.get(a)){n.push(a);i.define(a,je(o,l,1))}}))}));if(n.length>0){if(p){c.textContent+=w}{c.textContent+=n+b}if(c.innerHTML.length){c.setAttribute("data-styles","");const e=(r=Ge.h)!=null?r:f(_e);if(e!=null){c.setAttribute("nonce",e)}a.insertBefore(c,o?o.nextSibling:a.firstChild)}}d=false;if(u.length){u.map((e=>e.connectedCallback()))}else{{Ge.jmp((()=>v=setTimeout($e,30)))}}l()};var Ae=(e,t,r,l)=>{if(r){r.map((([r,l,n])=>{const s=Pe(e,r);const i=Ee(t,n);const a=Ne(r);Ge.ael(s,l,i,a);(t.q=t.q||[]).push((()=>Ge.rel(s,l,i,a)))}))}};var Ee=(e,t)=>r=>{try{{if(e.v&256){e.L[t](r)}else{(e.D=e.D||[]).push([t,r])}}}catch(e){qe(e)}};var Pe=(e,t)=>{if(t&4)return _e;if(t&8)return Xe;return e};var Ne=e=>Je?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;var Ue=e=>Ge.h=e;var We=new WeakMap;var ze=e=>We.get(e);var Be=(e,t)=>We.set(t.L=e,t);var He=(e,t)=>{const r={v:0,$hostElement$:e,$:t,A:new Map};{r.U=new Promise((e=>r.M=e))}{r.H=new Promise((e=>r.F=e));e["s-p"]=[];e["s-rc"]=[]}Ae(e,r,t.B);return We.set(e,r)};var Qe=(e,t)=>t in e;var qe=(e,t)=>(0,console.error)(e,t);var Ie=new Map;var Ke=(e,t,r)=>{const l=e.S.replace(/-/g,"_");const n=e.W;const s=Ie.get(n);if(s){return s[l]} +/*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${n}.entry.js${""}`).then((e=>{{Ie.set(n,e)}return e[l]}),qe)};var Ve=new Map;var Xe=typeof window!=="undefined"?window:{};var _e=Xe.document||{head:{}};var Ge={v:0,I:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,l)=>e.addEventListener(t,r,l),rel:(e,t,r,l)=>e.removeEventListener(t,r,l),ce:(e,t)=>new CustomEvent(e,t)};var Je=(()=>{let e=false;try{_e.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=true}}))}catch(e){}return e})();var Ye=e=>Promise.resolve(e);var Ze=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var et=false;var tt=[];var rt=[];var lt=(e,t)=>r=>{e.push(r);if(!et){et=true;if(t&&Ge.v&4){it(st)}else{Ge.raf(st)}}};var nt=e=>{for(let t=0;t{nt(tt);{nt(rt);if(et=tt.length>0){Ge.raf(st)}}};var it=e=>Ye().then(e);var at=lt(tt,false);var ot=lt(rt,true);export{k as H,at as a,Me as b,L as c,ge as f,T as g,$ as h,Ye as p,Be as r,Ue as s}; +//# sourceMappingURL=p-32e583ea.js.map \ No newline at end of file diff --git a/public/wcs/p-32e583ea.js.map b/public/wcs/p-32e583ea.js.map new file mode 100644 index 0000000..7e5969f --- /dev/null +++ b/public/wcs/p-32e583ea.js.map @@ -0,0 +1 @@ +{"version":3,"names":["NAMESPACE","BUILD","allRenderFn","appendChildSlotFix","asyncLoading","asyncQueue","attachStyles","cloneNodeFix","cmpDidLoad","cmpDidRender","cmpDidUnload","cmpDidUpdate","cmpShouldUpdate","cmpWillLoad","cmpWillRender","cmpWillUpdate","connectedCallback","constructableCSS","cssAnnotations","devTools","disconnectedCallback","element","event","experimentalScopedSlotChanges","experimentalSlotFixes","formAssociated","hasRenderFn","hostListener","hostListenerTarget","hostListenerTargetBody","hostListenerTargetDocument","hostListenerTargetParent","hostListenerTargetWindow","hotModuleReplacement","hydrateClientSide","hydrateServerSide","hydratedAttribute","hydratedClass","initializeNextTick","invisiblePrehydration","isDebug","isDev","isTesting","lazyLoad","lifecycle","lifecycleDOMEvents","member","method","mode","observeAttribute","profile","prop","propBoolean","propMutable","propNumber","propString","reflect","scoped","scopedSlotTextContentFix","scriptDataOpts","shadowDelegatesFocus","shadowDom","slot","slotChildNodesFix","slotRelocation","state","style","svg","taskQueue","transformTagName","updatable","vdomAttribute","vdomClass","vdomFunctional","vdomKey","vdomListener","vdomPropOrAttr","vdomRef","vdomRender","vdomStyle","vdomText","vdomXlink","watchCallback","__defProp","Object","defineProperty","__export","target","all","name","get","enumerable","EMPTY_OBJ","SVG_NS","HTML_NS","isDef","v","isComplexType","o","queryNonceMetaTagContent","doc2","_a","_b","_c","head","querySelector","getAttribute","result_exports","err","map","ok","unwrap","unwrapErr","value","isOk","isErr","result","fn","val","Promise","then","newVal","createTime","fnName","tagName","uniqueTime","key","measureText","HYDRATED_CSS","SLOT_FB_CSS","XLINK_NS","h","nodeName","vnodeData","children","child","slotName","simple","lastSimple","vNodeChildren","walk","c","i2","length","Array","isArray","String","$text$","push","newVNode","classData","className","class","keys","filter","k","join","vdomFnUtils","vnode","$attrs$","$children$","$key$","$name$","tag","text","$flags$","$tag$","$elm$","Host","isHost","node","forEach","cb","convertToPublic","convertToPrivate","vattrs","vchildren","vkey","vname","vtag","vtext","parsePropertyValue","propValue","propType","parseFloat","getElement","ref","getHostRef","$hostElement$","createEvent","flags","elm","emit","detail","emitEvent","bubbles","composed","cancelable","opts","ev","plt","ce","dispatchEvent","rootAppliedStyles","WeakMap","registerStyle","scopeId2","cssText","allowCS","styles","supportsConstructableStylesheets","CSSStyleSheet","replaceSync","set","addStyle","styleContainerNode","cmpMeta","getScopeId","nodeType","doc","appliedStyles","styleElm","Set","has","createElement","innerHTML","nonce","$nonce$","setAttribute","insertBefore","add","adoptedStyleSheets","includes","hostRef","$cmpMeta$","endAttachStyles","$tagName$","shadowRoot","getRootNode","classList","cmp","setAccessor","memberName","oldValue","newValue","isSvg","isProp","isMemberInElement","ln","toLowerCase","oldClasses","parseClassList","newClasses","remove","removeProperty","setProperty","slice","win","capture","endsWith","CAPTURE_EVENT_SUFFIX","replace","CAPTURE_EVENT_REGEX","rel","ael","isComplex","n","e","xlink","removeAttributeNS","removeAttribute","setAttributeNS","parseClassListRegex","split","RegExp","updateElement","oldVnode","newVnode","isSvgMode2","host","oldVnodeAttrs","newVnodeAttrs","sortedAttrNames","attrNames","attr","scopeId","contentRef","hostTagName","useNativeShadowDom","checkSlotFallbackVisibility","checkSlotRelocate","isSvgMode","createElm","oldParentVNode","newParentVNode","childIndex","parentElm","newVNode2","childNode","oldVNode","createTextNode","createElementNS","appendChild","putBackInOriginalLocation","recursive","oldSlotChildNodes","from","childNodes","BUILD11","nextSibling","parentReferenceNode","referenceNode","addVnodes","before","parentVNode","vnodes","startIdx","endIdx","containerElm","parentNode","removeVnodes","index","nullifyVNodeRefs","updateChildren","oldCh","newCh","isInitialRender","oldStartIdx","newStartIdx","idxInOld","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","elmToMove","isSameVnode","patch","leftVNode","rightVNode","oldChildren","newChildren","defaultHolder","textContent","data","updateFallbackSlotVisibility","hidden","siblingNode","trim","relocateNodes","markSlotContentForRelocation","hostContentNodes","j","isNodeLocatedInSlot","relocateNodeData","find","r","$nodeToRelocate$","$slotRefNode$","relocateNode","some","nodeToRelocate","vNode","renderVdom","renderFnResults","isInitialLoad","_d","hostElm","$vnode$","rootVnode","$attrsToReflect$","propName","attribute","hasAttribute","relocateData","orgLocationNode","slotRefNode","parentNodeRef","insertBeforeNode","previousSibling","refNode","attachToAncestor","ancestorComponent","$onRenderResolve$","scheduleUpdate","$ancestorComponent$","dispatch","dispatchHooks","writeTask","endSchedule","instance","$lazyInstance$","maybePromise","$queuedListeners$","methodName","safeCall","enqueue","updateComponent","isPromisey","async","endUpdate","rc","endRender","callRender","childrenPromises","postUpdate","postUpdateComponent","render","consoleError","endPostUpdate","addHydratedFlag","$onReadyResolve$","appDidLoad","$onInstanceResolve$","nextTick","forceUpdate","isConnected","who","documentElement","namespace","arg","getValue","$instanceValues$","setValue","oldVal","$members$","areBothNaN","Number","isNaN","didValueChange","$watchers$","watchMethods","watchMethodName","proxyComponent","Cstr","prototype","watchers","members","entries","memberFlags","this","configurable","args","_a2","$onInstancePromise$","_a3","attrNameToPropName","Map","attributeChangedCallback","attrName","jmp","hasOwnProperty","flags2","entry","callbackName","call","observedAttributes","_","m","initializeComponent","hmrVersionId","bundleId","$lazyBundleId$","loadModule","endLoad","isProxied","endNewInstance","fireConnectedCallback","constructor","customElements","whenDefined","endRegisterStyles","schedule","endConnected","setContentReference","addHostEventListeners","$listeners$","$onReadyPromise$","contentRefElm","createComment","firstChild","disconnectInstance","$rmListeners$","rmListener","bootstrapLazy","lazyBundles","options","endBootstrap","cmpTags","exclude","customElements2","metaCharset","dataStyles","deferredConnectedCallbacks","appLoadFallback","isBootstrapping","assign","$resourcesUrl$","URL","resourcesUrl","baseURI","href","hasSlotRelocation","lazyBundle","compactMeta","HostElement","HTMLElement","self","super","registerHost","attachShadow","delegatesFocus","clearTimeout","componentOnReady","define","setTimeout","listeners","attachParentListeners","getHostListenerTarget","handler","hostListenerProxy","hostListenerOpts","supportsListenerOptions","passive","setNonce","hostRefs","registerInstance","lazyInstance","hostElement","el","console","error","cmpModules","exportName","module","import","importedModule","window","document","h2","raf","requestAnimationFrame","eventName","listener","addEventListener","removeEventListener","CustomEvent","supportsListenerOptions2","promiseResolve","resolve","queuePending","queueDomReads","queueDomWrites","queueTask","queue","write","flush","consume","performance","now","readTask"],"sources":["@stencil/core/internal/app-data","node_modules/@stencil/core/internal/client/index.js?app-data=conditional"],"sourcesContent":["export const NAMESPACE = 'wcs';\nexport const BUILD = /* wcs */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: true, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };\nexport const Env = /* wcs */ {};\n","/*\n Stencil Client Platform v4.17.2 | MIT Licensed | https://stenciljs.com\n */\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/client/client-build.ts\nimport { BUILD } from \"@stencil/core/internal/app-data\";\nvar Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false\n};\n\n// src/client/client-host-ref.ts\nimport { BUILD as BUILD22 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/asset-path.ts\nvar getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nvar setAssetPath = (path) => plt.$resourcesUrl$ = path;\n\n// src/runtime/bootstrap-custom-element.ts\nimport { BUILD as BUILD19 } from \"@stencil/core/internal/app-data\";\n\n// src/utils/constants.ts\nvar EMPTY_OBJ = {};\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar HTML_NS = \"http://www.w3.org/1999/xhtml\";\n\n// src/utils/helpers.ts\nvar isDef = (v) => v != null;\nvar isComplexType = (o) => {\n o = typeof o;\n return o === \"object\" || o === \"function\";\n};\n\n// src/utils/query-nonce-meta-tag-content.ts\nfunction queryNonceMetaTagContent(doc2) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) == null ? void 0 : _b.getAttribute(\"content\")) != null ? _c : void 0;\n}\n\n// src/utils/result.ts\nvar result_exports = {};\n__export(result_exports, {\n err: () => err,\n map: () => map,\n ok: () => ok,\n unwrap: () => unwrap,\n unwrapErr: () => unwrapErr\n});\nvar ok = (value) => ({\n isOk: true,\n isErr: false,\n value\n});\nvar err = (value) => ({\n isOk: false,\n isErr: true,\n value\n});\nfunction map(result, fn) {\n if (result.isOk) {\n const val = fn(result.value);\n if (val instanceof Promise) {\n return val.then((newVal) => ok(newVal));\n } else {\n return ok(val);\n }\n }\n if (result.isErr) {\n const value = result.value;\n return err(value);\n }\n throw \"should never get here\";\n}\nvar unwrap = (result) => {\n if (result.isOk) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar unwrapErr = (result) => {\n if (result.isErr) {\n return result.value;\n } else {\n throw result.value;\n }\n};\n\n// src/runtime/connected-callback.ts\nimport { BUILD as BUILD16 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/client-hydrate.ts\nimport { BUILD as BUILD4 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/profile.ts\nimport { BUILD as BUILD2 } from \"@stencil/core/internal/app-data\";\nvar i = 0;\nvar createTime = (fnName, tagName = \"\") => {\n if (BUILD2.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n performance.mark(key);\n return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);\n } else {\n return () => {\n return;\n };\n }\n};\nvar uniqueTime = (key, measureText) => {\n if (BUILD2.profile && performance.mark) {\n if (performance.getEntriesByName(key, \"mark\").length === 0) {\n performance.mark(key);\n }\n return () => {\n if (performance.getEntriesByName(measureText, \"measure\").length === 0) {\n performance.measure(measureText, key);\n }\n };\n } else {\n return () => {\n return;\n };\n }\n};\nvar inspect = (ref) => {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return void 0;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 /* hasRendered */),\n hasConnected: !!(flags & 1 /* hasConnected */),\n isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),\n isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),\n isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),\n hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),\n hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),\n isWatchReady: !!(flags & 128 /* isWatchReady */),\n isListenReady: !!(flags & 256 /* isListenReady */),\n needsRerender: !!(flags & 512 /* needsRerender */)\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n [\"s-id\"]: hostElement[\"s-id\"],\n [\"s-cr\"]: hostElement[\"s-cr\"],\n [\"s-lr\"]: hostElement[\"s-lr\"],\n [\"s-p\"]: hostElement[\"s-p\"],\n [\"s-rc\"]: hostElement[\"s-rc\"],\n [\"s-sc\"]: hostElement[\"s-sc\"]\n };\n};\nvar installDevTools = () => {\n if (BUILD2.devTools) {\n const stencil = win.stencil = win.stencil || {};\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) => {\n let result = inspect(ref);\n if (!result && typeof originalInspect === \"function\") {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\n\n// src/runtime/runtime-constants.ts\nvar CONTENT_REF_ID = \"r\";\nvar ORG_LOCATION_ID = \"o\";\nvar SLOT_NODE_ID = \"s\";\nvar TEXT_NODE_ID = \"t\";\nvar HYDRATE_ID = \"s-id\";\nvar HYDRATED_STYLE_ID = \"sty-id\";\nvar HYDRATE_CHILD_ID = \"c-id\";\nvar HYDRATED_CSS = \"{visibility:hidden}.hydrated{visibility:inherit}\";\nvar SLOT_FB_CSS = \"slot-fb{display:contents}slot-fb[hidden]{display:none}\";\nvar XLINK_NS = \"http://www.w3.org/1999/xlink\";\nvar FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [\n \"formAssociatedCallback\",\n \"formResetCallback\",\n \"formDisabledCallback\",\n \"formStateRestoreCallback\"\n];\n\n// src/runtime/vdom/h.ts\nimport { BUILD as BUILD3 } from \"@stencil/core/internal/app-data\";\nvar h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n const vNodeChildren = [];\n const walk = (c) => {\n for (let i2 = 0; i2 < c.length; i2++) {\n child = c[i2];\n if (Array.isArray(child)) {\n walk(child);\n } else if (child != null && typeof child !== \"boolean\") {\n if (simple = typeof nodeName !== \"function\" && !isComplexType(child)) {\n child = String(child);\n } else if (BUILD3.isDev && typeof nodeName !== \"function\" && child.$flags$ === void 0) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n } else {\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD3.isDev && nodeName === \"input\") {\n validateInputProperties(vnodeData);\n }\n if (BUILD3.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD3.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD3.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class = typeof classData !== \"object\" ? classData : Object.keys(classData).filter((k) => classData[k]).join(\" \");\n }\n }\n }\n if (BUILD3.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD3.vdomFunctional && typeof nodeName === \"function\") {\n return nodeName(\n vnodeData === null ? {} : vnodeData,\n vNodeChildren,\n vdomFnUtils\n );\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD3.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD3.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null\n };\n if (BUILD3.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD3.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD3.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = (node) => node && node.$tag$ === Host;\nvar vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)\n};\nvar convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$\n});\nvar convertToPrivate = (node) => {\n if (typeof node.vtag === \"function\") {\n const vnodeData = { ...node.vattrs };\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nvar validateInputProperties = (inputElm) => {\n const props = Object.keys(inputElm);\n const value = props.indexOf(\"value\");\n if (value === -1) {\n return;\n }\n const typeIndex = props.indexOf(\"type\");\n const minIndex = props.indexOf(\"min\");\n const maxIndex = props.indexOf(\"max\");\n const stepIndex = props.indexOf(\"step\");\n if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {\n consoleDevWarn(`The \"value\" prop of should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n\n// src/runtime/client-hydrate.ts\nvar initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {\n const endHydrate = createTime(\"hydrateClient\", tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD4.shadowDom && shadowRoot ? [] : null;\n const vnode = hostRef.$vnode$ = newVNode(tagName, null);\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map((c) => {\n const orgLocationId = c.$hostId$ + \".\" + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode[\"s-en\"] === \"\") {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node[\"s-hn\"] = tagName;\n if (orgLocationNode) {\n node[\"s-ol\"] = orgLocationNode;\n node[\"s-ol\"][\"s-nr\"] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD4.shadowDom && shadowRoot) {\n shadowRootNodes.map((shadowRootNode) => {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nvar clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i2;\n if (node.nodeType === 1 /* ElementNode */) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n childIdSplt = childNodeType.split(\".\");\n if (childIdSplt[0] === hostId || childIdSplt[0] === \"0\") {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.childNodes[i2],\n hostId\n );\n }\n if (node.shadowRoot) {\n for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.shadowRoot.childNodes[i2],\n hostId\n );\n }\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[1] === hostId || childIdSplt[1] === \"0\") {\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n } else if (childVNode.$hostId$ === hostId) {\n if (childNodeType === SLOT_NODE_ID) {\n childVNode.$tag$ = \"slot\";\n if (childIdSplt[5]) {\n node[\"s-sn\"] = childVNode.$name$ = childIdSplt[5];\n } else {\n node[\"s-sn\"] = \"\";\n }\n node[\"s-sr\"] = true;\n if (BUILD4.shadowDom && shadowRootNodes) {\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n childVNode.$elm$.setAttribute(\"name\", childVNode.$name$);\n }\n node.parentNode.insertBefore(childVNode.$elm$, node);\n node.remove();\n if (childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n } else if (childNodeType === CONTENT_REF_ID) {\n if (BUILD4.shadowDom && shadowRootNodes) {\n node.remove();\n } else if (BUILD4.slotRelocation) {\n hostElm[\"s-cr\"] = node;\n node[\"s-cn\"] = true;\n }\n }\n }\n }\n } else if (parentVNode && parentVNode.$tag$ === \"style\") {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = \"0\";\n parentVNode.$children$ = [vnode];\n }\n};\nvar initializeDocumentHydrate = (node, orgLocNodes) => {\n if (node.nodeType === 1 /* ElementNode */) {\n let i2 = 0;\n for (; i2 < node.childNodes.length; i2++) {\n initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);\n }\n if (node.shadowRoot) {\n for (i2 = 0; i2 < node.shadowRoot.childNodes.length; i2++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);\n }\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n const childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + \".\" + childIdSplt[2], node);\n node.nodeValue = \"\";\n node[\"s-en\"] = childIdSplt[3];\n }\n }\n};\n\n// src/runtime/initialize-component.ts\nimport { BUILD as BUILD15 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/mode.ts\nvar computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);\nvar setMode = (handler) => modeResolutionChain.push(handler);\nvar getMode = (ref) => getHostRef(ref).$modeName$;\n\n// src/runtime/proxy-component.ts\nimport { BUILD as BUILD14 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/set-value.ts\nimport { BUILD as BUILD13 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/parse-property-value.ts\nimport { BUILD as BUILD5 } from \"@stencil/core/internal/app-data\";\nvar parsePropertyValue = (propValue, propType) => {\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD5.propBoolean && propType & 4 /* Boolean */) {\n return propValue === \"false\" ? false : propValue === \"\" || !!propValue;\n }\n if (BUILD5.propNumber && propType & 2 /* Number */) {\n return parseFloat(propValue);\n }\n if (BUILD5.propString && propType & 1 /* String */) {\n return String(propValue);\n }\n return propValue;\n }\n return propValue;\n};\n\n// src/runtime/update-component.ts\nimport { BUILD as BUILD12, NAMESPACE } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/event-emitter.ts\nimport { BUILD as BUILD7 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/element.ts\nimport { BUILD as BUILD6 } from \"@stencil/core/internal/app-data\";\nvar getElement = (ref) => BUILD6.lazyLoad ? getHostRef(ref).$hostElement$ : ref;\n\n// src/runtime/event-emitter.ts\nvar createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n if (BUILD7.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail\n });\n }\n };\n};\nvar emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\n\n// src/runtime/styles.ts\nimport { BUILD as BUILD8 } from \"@stencil/core/internal/app-data\";\nvar rootAppliedStyles = /* @__PURE__ */ new WeakMap();\nvar registerStyle = (scopeId2, cssText, allowCS) => {\n let style = styles.get(scopeId2);\n if (supportsConstructableStylesheets && allowCS) {\n style = style || new CSSStyleSheet();\n if (typeof style === \"string\") {\n style = cssText;\n } else {\n style.replaceSync(cssText);\n }\n } else {\n style = cssText;\n }\n styles.set(scopeId2, style);\n};\nvar addStyle = (styleContainerNode, cmpMeta, mode) => {\n var _a;\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = styles.get(scopeId2);\n if (!BUILD8.attachStyles) {\n return scopeId2;\n }\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === \"string\") {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());\n }\n if (!appliedStyles.has(scopeId2)) {\n if (BUILD8.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId2}\"]`))) {\n styleElm.innerHTML = style;\n } else {\n styleElm = doc.createElement(\"style\");\n styleElm.innerHTML = style;\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n styleElm.setAttribute(\"nonce\", nonce);\n }\n if (BUILD8.hydrateServerSide || BUILD8.hotModuleReplacement) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector(\"link\"));\n }\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n styleElm.innerHTML += SLOT_FB_CSS;\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId2);\n }\n }\n } else if (BUILD8.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId2;\n};\nvar attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime(\"attachStyles\", cmpMeta.$tagName$);\n const scopeId2 = addStyle(\n BUILD8.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),\n cmpMeta,\n hostRef.$modeName$\n );\n if ((BUILD8.shadowDom || BUILD8.scoped) && BUILD8.cssAnnotations && flags & 10 /* needsScopedEncapsulation */) {\n elm[\"s-sc\"] = scopeId2;\n elm.classList.add(scopeId2 + \"-h\");\n if (BUILD8.scoped && flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId2 + \"-s\");\n }\n }\n endAttachStyles();\n};\nvar getScopeId = (cmp, mode) => \"sc-\" + (BUILD8.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + \"-\" + mode : cmp.$tagName$);\nvar convertScopedToShadow = (css) => css.replace(/\\/\\*!@([^\\/]+)\\*\\/[^\\{]+\\{/g, \"$1{\");\n\n// src/runtime/vdom/vdom-render.ts\nimport { BUILD as BUILD11 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/update-element.ts\nimport { BUILD as BUILD10 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/set-accessor.ts\nimport { BUILD as BUILD9 } from \"@stencil/core/internal/app-data\";\nvar setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD9.vdomClass && memberName === \"class\") {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n } else if (BUILD9.vdomStyle && memberName === \"style\") {\n if (BUILD9.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD9.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.removeProperty(prop);\n } else {\n elm.style[prop] = \"\";\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD9.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.setProperty(prop, newValue[prop]);\n } else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n } else if (BUILD9.vdomKey && memberName === \"key\") {\n } else if (BUILD9.vdomRef && memberName === \"ref\") {\n if (newValue) {\n newValue(elm);\n }\n } else if (BUILD9.vdomListener && (BUILD9.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) && memberName[0] === \"o\" && memberName[1] === \"n\") {\n if (memberName[2] === \"-\") {\n memberName = memberName.slice(3);\n } else if (isMemberInElement(win, ln)) {\n memberName = ln.slice(2);\n } else {\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue || newValue) {\n const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);\n memberName = memberName.replace(CAPTURE_EVENT_REGEX, \"\");\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, capture);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, capture);\n }\n }\n } else if (BUILD9.vdomPropOrAttr) {\n const isComplex = isComplexType(newValue);\n if ((isProp || isComplex && newValue !== null) && !isSvg) {\n try {\n if (!elm.tagName.includes(\"-\")) {\n const n = newValue == null ? \"\" : newValue;\n if (memberName === \"list\") {\n isProp = false;\n } else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n } else {\n elm[memberName] = newValue;\n }\n } catch (e) {\n }\n }\n let xlink = false;\n if (BUILD9.vdomXlink) {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, \"\"))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === \"\") {\n if (BUILD9.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n } else {\n elm.removeAttribute(memberName);\n }\n }\n } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? \"\" : newValue;\n if (BUILD9.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n } else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);\nvar CAPTURE_EVENT_SUFFIX = \"Capture\";\nvar CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + \"$\");\n\n// src/runtime/vdom/update-element.ts\nvar updateElement = (oldVnode, newVnode, isSvgMode2) => {\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD10.updatable) {\n for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);\n }\n }\n }\n for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);\n }\n};\nfunction sortedAttrNames(attrNames) {\n return attrNames.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...attrNames.filter((attr) => attr !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n attrNames\n );\n}\n\n// src/runtime/vdom/vdom-render.ts\nvar scopeId;\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n var _a;\n const newVNode2 = newParentVNode.$children$[childIndex];\n let i2 = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD11.slotRelocation && !useNativeShadowDom) {\n checkSlotRelocate = true;\n if (newVNode2.$tag$ === \"slot\") {\n if (scopeId) {\n parentElm.classList.add(scopeId + \"-s\");\n }\n newVNode2.$flags$ |= newVNode2.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2 /* isSlotFallback */\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1 /* isSlotReference */\n );\n }\n }\n if (BUILD11.isDev && newVNode2.$elm$) {\n consoleDevError(\n `The JSX ${newVNode2.$text$ !== null ? `\"${newVNode2.$text$}\" text` : `\"${newVNode2.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`\n );\n }\n if (BUILD11.vdomText && newVNode2.$text$ !== null) {\n elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);\n } else if (BUILD11.slotRelocation && newVNode2.$flags$ & 1 /* isSlotReference */) {\n elm = newVNode2.$elm$ = BUILD11.isDebug || BUILD11.hydrateServerSide ? slotReferenceDebugNode(newVNode2) : doc.createTextNode(\"\");\n } else {\n if (BUILD11.svg && !isSvgMode) {\n isSvgMode = newVNode2.$tag$ === \"svg\";\n }\n elm = newVNode2.$elm$ = BUILD11.svg ? doc.createElementNS(\n isSvgMode ? SVG_NS : HTML_NS,\n BUILD11.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n ) : doc.createElement(\n BUILD11.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n );\n if (BUILD11.svg && isSvgMode && newVNode2.$tag$ === \"foreignObject\") {\n isSvgMode = false;\n }\n if (BUILD11.vdomAttribute) {\n updateElement(null, newVNode2, isSvgMode);\n }\n if ((BUILD11.shadowDom || BUILD11.scoped) && isDef(scopeId) && elm[\"s-si\"] !== scopeId) {\n elm.classList.add(elm[\"s-si\"] = scopeId);\n }\n if (newVNode2.$children$) {\n for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {\n childNode = createElm(oldParentVNode, newVNode2, i2, elm);\n if (childNode) {\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD11.svg) {\n if (newVNode2.$tag$ === \"svg\") {\n isSvgMode = false;\n } else if (elm.tagName === \"foreignObject\") {\n isSvgMode = true;\n }\n }\n }\n elm[\"s-hn\"] = hostTagName;\n if (BUILD11.slotRelocation) {\n if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n elm[\"s-sr\"] = true;\n elm[\"s-cr\"] = contentRef;\n elm[\"s-sn\"] = newVNode2.$name$ || \"\";\n elm[\"s-rf\"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {\n if (BUILD11.experimentalSlotFixes) {\n relocateToHostRoot(oldParentVNode.$elm$);\n } else {\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n }\n return elm;\n};\nvar relocateToHostRoot = (parentElm) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const host = parentElm.closest(hostTagName.toLowerCase());\n if (host != null) {\n const contentRefNode = Array.from(host.childNodes).find((ref) => ref[\"s-cr\"]);\n const childNodeArray = Array.from(parentElm.childNodes);\n for (const childNode of contentRefNode ? childNodeArray.reverse() : childNodeArray) {\n if (childNode[\"s-sh\"] != null) {\n host.insertBefore(childNode, contentRefNode != null ? contentRefNode : null);\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = Array.from(parentElm.childNodes);\n if (parentElm[\"s-sr\"] && BUILD11.experimentalSlotFixes) {\n let node = parentElm;\n while (node = node.nextSibling) {\n if (node && node[\"s-sn\"] === parentElm[\"s-sn\"] && node[\"s-sh\"] === hostTagName) {\n oldSlotChildNodes.push(node);\n }\n }\n }\n for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {\n const childNode = oldSlotChildNodes[i2];\n if (childNode[\"s-hn\"] !== hostTagName && childNode[\"s-ol\"]) {\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n childNode[\"s-ol\"].remove();\n childNode[\"s-ol\"] = void 0;\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = BUILD11.slotRelocation && parentElm[\"s-cr\"] && parentElm[\"s-cr\"].parentNode || parentElm;\n let childNode;\n if (BUILD11.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, BUILD11.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nvar removeVnodes = (vnodes, startIdx, endIdx) => {\n for (let index = startIdx; index <= endIdx; ++index) {\n const vnode = vnodes[index];\n if (vnode) {\n const elm = vnode.$elm$;\n nullifyVNodeRefs(vnode);\n if (elm) {\n if (BUILD11.slotRelocation) {\n checkSlotFallbackVisibility = true;\n if (elm[\"s-ol\"]) {\n elm[\"s-ol\"].remove();\n } else {\n putBackInOriginalLocation(elm, true);\n }\n }\n elm.remove();\n }\n }\n }\n};\nvar updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i2 = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {\n patch(oldStartVnode, newStartVnode, isInitialRender);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {\n patch(oldEndVnode, newEndVnode, isInitialRender);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {\n if (BUILD11.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode, isInitialRender);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {\n if (BUILD11.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode, isInitialRender);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n idxInOld = -1;\n if (BUILD11.vdomKey) {\n for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {\n if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {\n idxInOld = i2;\n break;\n }\n }\n }\n if (BUILD11.vdomKey && idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);\n } else {\n patch(elmToMove, newStartVnode, isInitialRender);\n oldCh[idxInOld] = void 0;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n } else {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD11.slotRelocation) {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n } else {\n oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(\n parentElm,\n newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,\n newVNode2,\n newCh,\n newStartIdx,\n newEndIdx\n );\n } else if (BUILD11.updatable && newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {\n if (leftVNode.$tag$ === rightVNode.$tag$) {\n if (BUILD11.slotRelocation && leftVNode.$tag$ === \"slot\") {\n return leftVNode.$name$ === rightVNode.$name$;\n }\n if (BUILD11.vdomKey && !isInitialRender) {\n return leftVNode.$key$ === rightVNode.$key$;\n }\n return true;\n }\n return false;\n};\nvar referenceNode = (node) => {\n return node && node[\"s-ol\"] || node;\n};\nvar parentReferenceNode = (node) => (node[\"s-ol\"] ? node[\"s-ol\"] : node).parentNode;\nvar patch = (oldVNode, newVNode2, isInitialRender = false) => {\n const elm = newVNode2.$elm$ = oldVNode.$elm$;\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode2.$children$;\n const tag = newVNode2.$tag$;\n const text = newVNode2.$text$;\n let defaultHolder;\n if (!BUILD11.vdomText || text === null) {\n if (BUILD11.svg) {\n isSvgMode = tag === \"svg\" ? true : tag === \"foreignObject\" ? false : isSvgMode;\n }\n if (BUILD11.vdomAttribute || BUILD11.reflect) {\n if (BUILD11.slot && tag === \"slot\" && !useNativeShadowDom) {\n if (BUILD11.experimentalSlotFixes && oldVNode.$name$ !== newVNode2.$name$) {\n newVNode2.$elm$[\"s-sn\"] = newVNode2.$name$ || \"\";\n relocateToHostRoot(newVNode2.$elm$.parentElement);\n }\n } else {\n updateElement(oldVNode, newVNode2, isSvgMode);\n }\n }\n if (BUILD11.updatable && oldChildren !== null && newChildren !== null) {\n updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);\n } else if (newChildren !== null) {\n if (BUILD11.updatable && BUILD11.vdomText && oldVNode.$text$ !== null) {\n elm.textContent = \"\";\n }\n addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);\n } else if (BUILD11.updatable && oldChildren !== null) {\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD11.svg && isSvgMode && tag === \"svg\") {\n isSvgMode = false;\n }\n } else if (BUILD11.vdomText && BUILD11.slotRelocation && (defaultHolder = elm[\"s-cr\"])) {\n defaultHolder.parentNode.textContent = text;\n } else if (BUILD11.vdomText && oldVNode.$text$ !== text) {\n elm.data = text;\n }\n};\nvar updateFallbackSlotVisibility = (elm) => {\n const childNodes = elm.childNodes;\n for (const childNode of childNodes) {\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode[\"s-sr\"]) {\n const slotName = childNode[\"s-sn\"];\n childNode.hidden = false;\n for (const siblingNode of childNodes) {\n if (siblingNode !== childNode) {\n if (siblingNode[\"s-hn\"] !== childNode[\"s-hn\"] || slotName !== \"\") {\n if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute(\"slot\") || slotName === siblingNode[\"s-sn\"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode[\"s-sn\"]) {\n childNode.hidden = true;\n break;\n }\n } else {\n if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== \"\") {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nvar relocateNodes = [];\nvar markSlotContentForRelocation = (elm) => {\n let node;\n let hostContentNodes;\n let j;\n for (const childNode of elm.childNodes) {\n if (childNode[\"s-sr\"] && (node = childNode[\"s-cr\"]) && node.parentNode) {\n hostContentNodes = node.parentNode.childNodes;\n const slotName = childNode[\"s-sn\"];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node[\"s-cn\"] && !node[\"s-nr\"] && node[\"s-hn\"] !== childNode[\"s-hn\"] && (!BUILD11.experimentalSlotFixes || !node[\"s-sh\"] || node[\"s-sh\"] !== childNode[\"s-hn\"])) {\n if (isNodeLocatedInSlot(node, slotName)) {\n let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n checkSlotFallbackVisibility = true;\n node[\"s-sn\"] = node[\"s-sn\"] || slotName;\n if (relocateNodeData) {\n relocateNodeData.$nodeToRelocate$[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodeData.$slotRefNode$ = childNode;\n } else {\n node[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node\n });\n }\n if (node[\"s-sr\"]) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node[\"s-sn\"])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n relocateNodes.push({\n $nodeToRelocate$: node\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n markSlotContentForRelocation(childNode);\n }\n }\n};\nvar isNodeLocatedInSlot = (nodeToRelocate, slotName) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute(\"slot\") === null && slotName === \"\") {\n return true;\n }\n if (nodeToRelocate.getAttribute(\"slot\") === slotName) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate[\"s-sn\"] === slotName) {\n return true;\n }\n return slotName === \"\";\n};\nvar nullifyVNodeRefs = (vNode) => {\n if (BUILD11.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);\n }\n};\nvar renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {\n var _a, _b, _c, _d, _e;\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n if (BUILD11.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);\n }\n if (BUILD11.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(\n ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]\n );\n }\n if (isInitialLoad && rootVnode.$attrs$) {\n for (const key of Object.keys(rootVnode.$attrs$)) {\n if (hostElm.hasAttribute(key) && ![\"key\", \"ref\", \"style\", \"class\"].includes(key)) {\n rootVnode.$attrs$[key] = hostElm[key];\n }\n }\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = BUILD11.shadowDom ? hostElm.shadowRoot || hostElm : hostElm;\n if (BUILD11.scoped || BUILD11.shadowDom) {\n scopeId = hostElm[\"s-sc\"];\n }\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n if (BUILD11.slotRelocation) {\n contentRef = hostElm[\"s-cr\"];\n checkSlotFallbackVisibility = false;\n }\n patch(oldVNode, rootVnode, isInitialLoad);\n if (BUILD11.slotRelocation) {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n markSlotContentForRelocation(rootVnode.$elm$);\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate[\"s-ol\"]) {\n const orgLocationNode = BUILD11.isDebug || BUILD11.hydrateServerSide ? originalLocationDebugNode(nodeToRelocate) : doc.createTextNode(\"\");\n orgLocationNode[\"s-nr\"] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore(nodeToRelocate[\"s-ol\"] = orgLocationNode, nodeToRelocate);\n }\n }\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n const slotRefNode = relocateData.$slotRefNode$;\n if (slotRefNode) {\n const parentNodeRef = slotRefNode.parentNode;\n let insertBeforeNode = slotRefNode.nextSibling;\n if (!BUILD11.experimentalSlotFixes || insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {\n let orgLocationNode = (_a = nodeToRelocate[\"s-ol\"]) == null ? void 0 : _a.previousSibling;\n while (orgLocationNode) {\n let refNode = (_b = orgLocationNode[\"s-nr\"]) != null ? _b : null;\n if (refNode && refNode[\"s-sn\"] === nodeToRelocate[\"s-sn\"] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode[\"s-sr\"])) {\n refNode = refNode == null ? void 0 : refNode.nextSibling;\n }\n if (!refNode || !refNode[\"s-nr\"]) {\n insertBeforeNode = refNode;\n break;\n }\n }\n orgLocationNode = orgLocationNode.previousSibling;\n }\n }\n if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {\n if (nodeToRelocate !== insertBeforeNode) {\n if (!BUILD11.experimentalSlotFixes && !nodeToRelocate[\"s-hn\"] && nodeToRelocate[\"s-ol\"]) {\n nodeToRelocate[\"s-hn\"] = nodeToRelocate[\"s-ol\"].parentNode.nodeName;\n }\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = (_c = nodeToRelocate[\"s-ih\"]) != null ? _c : false;\n }\n }\n }\n nodeToRelocate && typeof slotRefNode[\"s-rf\"] === \"function\" && slotRefNode[\"s-rf\"](nodeToRelocate);\n } else {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (isInitialLoad) {\n nodeToRelocate[\"s-ih\"] = (_d = nodeToRelocate.hidden) != null ? _d : false;\n }\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n relocateNodes.length = 0;\n }\n if (BUILD11.experimentalScopedSlotChanges && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n for (const childNode of rootVnode.$elm$.childNodes) {\n if (childNode[\"s-hn\"] !== hostTagName && !childNode[\"s-sh\"]) {\n if (isInitialLoad && childNode[\"s-ih\"] == null) {\n childNode[\"s-ih\"] = (_e = childNode.hidden) != null ? _e : false;\n }\n childNode.hidden = true;\n }\n }\n }\n contentRef = void 0;\n};\nvar slotReferenceDebugNode = (slotVNode) => doc.createComment(\n ` (host=${hostTagName.toLowerCase()})`\n);\nvar originalLocationDebugNode = (nodeToRelocate) => doc.createComment(\n `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate[\"s-hn\"]})` : `[${nodeToRelocate.textContent}]`)\n);\n\n// src/runtime/update-component.ts\nvar attachToAncestor = (hostRef, ancestorComponent) => {\n if (BUILD12.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent[\"s-p\"]) {\n ancestorComponent[\"s-p\"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));\n }\n};\nvar scheduleUpdate = (hostRef, isInitialLoad) => {\n if (BUILD12.taskQueue && BUILD12.updatable) {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (BUILD12.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return BUILD12.taskQueue ? writeTask(dispatch) : dispatch();\n};\nvar dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime(\"scheduleUpdate\", hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD12.lazyLoad ? hostRef.$lazyInstance$ : elm;\n let maybePromise;\n if (isInitialLoad) {\n if (BUILD12.lazyLoad && BUILD12.hostListener) {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = void 0;\n }\n }\n emitLifecycleEvent(elm, \"componentWillLoad\");\n if (BUILD12.cmpWillLoad) {\n maybePromise = safeCall(instance, \"componentWillLoad\");\n }\n } else {\n emitLifecycleEvent(elm, \"componentWillUpdate\");\n if (BUILD12.cmpWillUpdate) {\n maybePromise = safeCall(instance, \"componentWillUpdate\");\n }\n }\n emitLifecycleEvent(elm, \"componentWillRender\");\n if (BUILD12.cmpWillRender) {\n maybePromise = enqueue(maybePromise, () => safeCall(instance, \"componentWillRender\"));\n }\n endSchedule();\n return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nvar enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();\nvar isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === \"function\";\nvar updateComponent = async (hostRef, instance, isInitialLoad) => {\n var _a;\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime(\"update\", hostRef.$cmpMeta$.$tagName$);\n const rc = elm[\"s-rc\"];\n if (BUILD12.style && isInitialLoad) {\n attachStyles(hostRef);\n }\n const endRender = createTime(\"render\", hostRef.$cmpMeta$.$tagName$);\n if (BUILD12.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n if (BUILD12.hydrateServerSide) {\n await callRender(hostRef, instance, elm, isInitialLoad);\n } else {\n callRender(hostRef, instance, elm, isInitialLoad);\n }\n if (BUILD12.isDev) {\n hostRef.$renderCount$ = hostRef.$renderCount$ === void 0 ? 1 : hostRef.$renderCount$ + 1;\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n if (BUILD12.hydrateServerSide) {\n try {\n serverSideConnected(elm);\n if (isInitialLoad) {\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n elm[\"s-en\"] = \"\";\n } else if (hostRef.$cmpMeta$.$flags$ & 2 /* scopedCssEncapsulation */) {\n elm[\"s-en\"] = \"c\";\n }\n }\n } catch (e) {\n consoleError(e, elm);\n }\n }\n if (BUILD12.asyncLoading && rc) {\n rc.map((cb) => cb());\n elm[\"s-rc\"] = void 0;\n }\n endRender();\n endUpdate();\n if (BUILD12.asyncLoading) {\n const childrenPromises = (_a = elm[\"s-p\"]) != null ? _a : [];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n } else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n } else {\n postUpdateComponent(hostRef);\n }\n};\nvar renderingRef = null;\nvar callRender = (hostRef, instance, elm, isInitialLoad) => {\n const allRenderFn = BUILD12.allRenderFn ? true : false;\n const lazyLoad = BUILD12.lazyLoad ? true : false;\n const taskQueue = BUILD12.taskQueue ? true : false;\n const updatable = BUILD12.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n if (BUILD12.hasRenderFn || BUILD12.reflect) {\n if (BUILD12.vdomRender || BUILD12.reflect) {\n if (BUILD12.hydrateServerSide) {\n return Promise.resolve(instance).then((value) => renderVdom(hostRef, value, isInitialLoad));\n } else {\n renderVdom(hostRef, instance, isInitialLoad);\n }\n } else {\n const shadowRoot = elm.shadowRoot;\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n shadowRoot.textContent = instance;\n } else {\n elm.textContent = instance;\n }\n }\n }\n } catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n renderingRef = null;\n return null;\n};\nvar getRenderingRef = () => renderingRef;\nvar postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime(\"postUpdate\", tagName);\n const instance = BUILD12.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD12.cmpDidRender) {\n if (BUILD12.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidRender\");\n if (BUILD12.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidRender\");\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n if (BUILD12.asyncLoading && BUILD12.cssAnnotations) {\n addHydratedFlag(elm);\n }\n if (BUILD12.cmpDidLoad) {\n if (BUILD12.isDev) {\n hostRef.$flags$ |= 2048 /* devOnDidLoad */;\n }\n safeCall(instance, \"componentDidLoad\");\n if (BUILD12.isDev) {\n hostRef.$flags$ &= ~2048 /* devOnDidLoad */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidLoad\");\n endPostUpdate();\n if (BUILD12.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n } else {\n if (BUILD12.cmpDidUpdate) {\n if (BUILD12.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidUpdate\");\n if (BUILD12.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidUpdate\");\n endPostUpdate();\n }\n if (BUILD12.method && BUILD12.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n if (BUILD12.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = void 0;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n};\nvar forceUpdate = (ref) => {\n if (BUILD12.updatable && (Build.isBrowser || Build.isTesting)) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n return isConnected;\n }\n return false;\n};\nvar appDidLoad = (who) => {\n if (BUILD12.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD12.asyncQueue) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(() => emitEvent(win, \"appload\", { detail: { namespace: NAMESPACE } }));\n if (BUILD12.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, \"st:app:start\");\n }\n};\nvar safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n } catch (e) {\n consoleError(e);\n }\n }\n return void 0;\n};\nvar emitLifecycleEvent = (elm, lifecycleName) => {\n if (BUILD12.lifecycleDOMEvents) {\n emitEvent(elm, \"stencil_\" + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE\n }\n });\n }\n};\nvar addHydratedFlag = (elm) => BUILD12.hydratedClass ? elm.classList.add(\"hydrated\") : BUILD12.hydratedAttribute ? elm.setAttribute(\"hydrated\", \"\") : void 0;\nvar serverSideConnected = (elm) => {\n const children = elm.children;\n if (children != null) {\n for (let i2 = 0, ii = children.length; i2 < ii; i2++) {\n const childElm = children[i2];\n if (typeof childElm.connectedCallback === \"function\") {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\n\n// src/runtime/set-value.ts\nvar getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nvar setValue = (ref, propName, newVal, cmpMeta) => {\n const hostRef = getHostRef(ref);\n const elm = BUILD13.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD13.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);\n const didValueChange = newVal !== oldVal && !areBothNaN;\n if ((!BUILD13.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD13.isDev) {\n if (hostRef.$flags$ & 1024 /* devOnRender */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n } else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n }\n }\n if (!BUILD13.lazyLoad || instance) {\n if (BUILD13.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n watchMethods.map((watchMethodName) => {\n try {\n instance[watchMethodName](newVal, oldVal, propName);\n } catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if (BUILD13.updatable && (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n if (BUILD13.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\n\n// src/runtime/proxy-component.ts\nvar proxyComponent = (Cstr, cmpMeta, flags) => {\n var _a;\n const prototype = Cstr.prototype;\n if (BUILD14.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {\n FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(\n (cbName) => Object.defineProperty(prototype, cbName, {\n value(...args) {\n const hostRef = getHostRef(this);\n const elm = BUILD14.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD14.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (!instance) {\n hostRef.$onReadyPromise$.then((instance2) => {\n const cb = instance2[cbName];\n typeof cb === \"function\" && cb.call(instance2, ...args);\n });\n } else {\n const cb = instance[cbName];\n typeof cb === \"function\" && cb.call(instance, ...args);\n }\n }\n })\n );\n }\n if (BUILD14.member && cmpMeta.$members$) {\n if (BUILD14.watchCallback && Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n const members = Object.entries(cmpMeta.$members$);\n members.map(([memberName, [memberFlags]]) => {\n if ((BUILD14.prop || BUILD14.state) && (memberFlags & 31 /* Prop */ || (!BUILD14.lazyLoad || flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {\n Object.defineProperty(prototype, memberName, {\n get() {\n return getValue(this, memberName);\n },\n set(newValue) {\n if (BUILD14.isDev) {\n const ref = getHostRef(this);\n if (\n // we are proxying the instance (not element)\n (flags & 1 /* isElementConstructor */) === 0 && // the element is not constructing\n (ref && ref.$flags$ & 8 /* isConstructingInstance */) === 0 && // the member is a prop\n (memberFlags & 31 /* Prop */) !== 0 && // the member is not mutable\n (memberFlags & 1024 /* Mutable */) === 0\n ) {\n consoleDevWarn(\n `@Prop() \"${memberName}\" on <${cmpMeta.$tagName$}> is immutable but was modified from within the component.\nMore information: https://stenciljs.com/docs/properties#prop-mutability`\n );\n }\n }\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true\n });\n } else if (BUILD14.lazyLoad && BUILD14.method && flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n var _a2;\n const ref = getHostRef(this);\n return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {\n var _a3;\n return (_a3 = ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);\n });\n }\n });\n }\n });\n if (BUILD14.observeAttribute && (!BUILD14.lazyLoad || flags & 1 /* isElementConstructor */)) {\n const attrNameToPropName = /* @__PURE__ */ new Map();\n prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {\n plt.jmp(() => {\n var _a2;\n const propName = attrNameToPropName.get(attrName);\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === \"number\" && this[propName] == newValue) {\n return;\n } else if (propName == null) {\n const hostRef = getHostRef(this);\n const flags2 = hostRef == null ? void 0 : hostRef.$flags$;\n if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {\n const elm = BUILD14.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD14.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];\n entry == null ? void 0 : entry.forEach((callbackName) => {\n if (instance[callbackName] != null) {\n instance[callbackName].call(instance, newValue, oldValue, attrName);\n }\n });\n }\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === \"boolean\" ? false : newValue;\n });\n };\n Cstr.observedAttributes = Array.from(\n /* @__PURE__ */ new Set([\n ...Object.keys((_a = cmpMeta.$watchers$) != null ? _a : {}),\n ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {\n var _a2;\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD14.reflect && m[0] & 512 /* ReflectAttr */) {\n (_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);\n }\n return attrName;\n })\n ])\n );\n }\n }\n return Cstr;\n};\n\n// src/runtime/initialize-component.ts\nvar initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {\n let Cstr;\n if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n const bundleId = cmpMeta.$lazyBundleId$;\n if ((BUILD15.lazyLoad || BUILD15.hydrateClientSide) && bundleId) {\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n const endLoad = uniqueTime(\n `st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`,\n `[Stencil] Load module for <${cmpMeta.$tagName$}>`\n );\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD15.isDev || BUILD15.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD15.member && !Cstr.isProxied) {\n if (BUILD15.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime(\"createInstance\", cmpMeta.$tagName$);\n if (BUILD15.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n try {\n new Cstr(hostRef);\n } catch (e) {\n consoleError(e);\n }\n if (BUILD15.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD15.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else {\n Cstr = elm.constructor;\n customElements.whenDefined(cmpMeta.$tagName$).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);\n }\n if (BUILD15.style && Cstr.style) {\n let style = Cstr.style;\n if (BUILD15.mode && typeof style !== \"string\") {\n style = style[hostRef.$modeName$ = computeMode(elm)];\n if (BUILD15.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute(\"s-mode\", hostRef.$modeName$);\n }\n }\n const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId2)) {\n const endRegisterStyles = createTime(\"registerStyles\", cmpMeta.$tagName$);\n if (!BUILD15.hydrateServerSide && BUILD15.shadowDom && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n BUILD15.shadowDomShim && cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import(\"./shadow-css.js\").then((m) => m.scopeCss(style, scopeId2, false));\n }\n registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD15.asyncLoading && ancestorComponent && ancestorComponent[\"s-rc\"]) {\n ancestorComponent[\"s-rc\"].push(schedule);\n } else {\n schedule();\n }\n};\nvar fireConnectedCallback = (instance) => {\n if (BUILD15.lazyLoad && BUILD15.connectedCallback) {\n safeCall(instance, \"connectedCallback\");\n }\n};\n\n// src/runtime/connected-callback.ts\nvar connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime(\"connectedCallback\", cmpMeta.$tagName$);\n if (BUILD16.hostListenerTargetParent) {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD16.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD16.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId2 = BUILD16.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute(\"s-mode\")) : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId2 + \"-h\", scopeId2 + \"-s\");\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD16.slotRelocation && !hostId) {\n if (BUILD16.hydrateServerSide || (BUILD16.slot || BUILD16.shadowDom) && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {\n setContentReference(elm);\n }\n }\n if (BUILD16.asyncLoading) {\n let ancestorComponent = elm;\n while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {\n if (BUILD16.hydrateClientSide && ancestorComponent.nodeType === 1 /* ElementNode */ && ancestorComponent.hasAttribute(\"s-id\") && ancestorComponent[\"s-p\"] || ancestorComponent[\"s-p\"]) {\n attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);\n break;\n }\n }\n }\n if (BUILD16.prop && !BUILD16.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD16.initializeNextTick) {\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n } else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n } else {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));\n }\n }\n endConnected();\n }\n};\nvar setContentReference = (elm) => {\n const contentRefElm = elm[\"s-cr\"] = doc.createComment(\n BUILD16.isDebug ? `content-ref (host=${elm.localName})` : \"\"\n );\n contentRefElm[\"s-cn\"] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\n\n// src/runtime/disconnected-callback.ts\nimport { BUILD as BUILD17 } from \"@stencil/core/internal/app-data\";\nvar disconnectInstance = (instance) => {\n if (BUILD17.lazyLoad && BUILD17.disconnectedCallback) {\n safeCall(instance, \"disconnectedCallback\");\n }\n if (BUILD17.cmpDidUnload) {\n safeCall(instance, \"componentDidUnload\");\n }\n};\nvar disconnectedCallback = async (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n if (BUILD17.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = void 0;\n }\n }\n if (!BUILD17.lazyLoad) {\n disconnectInstance(elm);\n } else if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n disconnectInstance(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));\n }\n }\n};\n\n// src/runtime/dom-extras.ts\nimport { BUILD as BUILD18 } from \"@stencil/core/internal/app-data\";\nvar patchPseudoShadowDom = (hostElementPrototype, descriptorPrototype) => {\n patchCloneNode(hostElementPrototype);\n patchSlotAppendChild(hostElementPrototype);\n patchSlotAppend(hostElementPrototype);\n patchSlotPrepend(hostElementPrototype);\n patchSlotInsertAdjacentElement(hostElementPrototype);\n patchSlotInsertAdjacentHTML(hostElementPrototype);\n patchSlotInsertAdjacentText(hostElementPrototype);\n patchTextContent(hostElementPrototype);\n patchChildSlotNodes(hostElementPrototype, descriptorPrototype);\n patchSlotRemoveChild(hostElementPrototype);\n};\nvar patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function(deep) {\n const srcNode = this;\n const isShadowDom = BUILD18.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD18.slot && !isShadowDom && deep) {\n let i2 = 0;\n let slotted, nonStencilNode;\n const stencilPrivates = [\n \"s-id\",\n \"s-cr\",\n \"s-lr\",\n \"s-rc\",\n \"s-sc\",\n \"s-p\",\n \"s-cn\",\n \"s-sr\",\n \"s-sn\",\n \"s-hn\",\n \"s-ol\",\n \"s-nr\",\n \"s-si\",\n \"s-rf\"\n ];\n for (; i2 < srcNode.childNodes.length; i2++) {\n slotted = srcNode.childNodes[i2][\"s-nr\"];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i2][privateField]);\n if (slotted) {\n if (BUILD18.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n } else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i2].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nvar patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function(newChild) {\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n const insertedNode = appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n updateFallbackSlotVisibility(this);\n return insertedNode;\n }\n return this.__appendChild(newChild);\n };\n};\nvar patchSlotRemoveChild = (ElementPrototype) => {\n ElementPrototype.__removeChild = ElementPrototype.removeChild;\n ElementPrototype.removeChild = function(toRemove) {\n if (toRemove && typeof toRemove[\"s-sn\"] !== \"undefined\") {\n const slotNode = getHostSlotNode(this.childNodes, toRemove[\"s-sn\"], this.tagName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove[\"s-sn\"]);\n const existingNode = slotChildNodes.find((n) => n === toRemove);\n if (existingNode) {\n existingNode.remove();\n updateFallbackSlotVisibility(this);\n return;\n }\n }\n }\n return this.__removeChild(toRemove);\n };\n};\nvar patchSlotPrepend = (HostElementPrototype) => {\n const originalPrepend = HostElementPrototype.prepend;\n HostElementPrototype.prepend = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotPlaceholder = document.createTextNode(\"\");\n slotPlaceholder[\"s-nr\"] = newChild;\n slotNode[\"s-cr\"].parentNode.__appendChild(slotPlaceholder);\n newChild[\"s-ol\"] = slotPlaceholder;\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[0];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n if (newChild.nodeType === 1 && !!newChild.getAttribute(\"slot\")) {\n newChild.hidden = true;\n }\n return originalPrepend.call(this, newChild);\n });\n };\n};\nvar patchSlotAppend = (HostElementPrototype) => {\n HostElementPrototype.append = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n this.appendChild(newChild);\n });\n };\n};\nvar patchSlotInsertAdjacentHTML = (HostElementPrototype) => {\n const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;\n HostElementPrototype.insertAdjacentHTML = function(position, text) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentHtml.call(this, position, text);\n }\n const container = this.ownerDocument.createElement(\"_\");\n let node;\n container.innerHTML = text;\n if (position === \"afterbegin\") {\n while (node = container.firstChild) {\n this.prepend(node);\n }\n } else if (position === \"beforeend\") {\n while (node = container.firstChild) {\n this.append(node);\n }\n }\n };\n};\nvar patchSlotInsertAdjacentText = (HostElementPrototype) => {\n HostElementPrototype.insertAdjacentText = function(position, text) {\n this.insertAdjacentHTML(position, text);\n };\n};\nvar patchSlotInsertAdjacentElement = (HostElementPrototype) => {\n const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;\n HostElementPrototype.insertAdjacentElement = function(position, element) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentElement.call(this, position, element);\n }\n if (position === \"afterbegin\") {\n this.prepend(element);\n return element;\n } else if (position === \"beforeend\") {\n this.append(element);\n return element;\n }\n return element;\n };\n};\nvar patchTextContent = (hostElementPrototype) => {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"textContent\");\n Object.defineProperty(hostElementPrototype, \"__textContent\", descriptor);\n if (BUILD18.experimentalScopedSlotChanges) {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n // To mimic shadow root behavior, we need to return the text content of all\n // nodes in a slot reference node\n get() {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n const textContent = slotRefNodes.map((node) => {\n var _a, _b;\n const text = [];\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n if (slotContent.nodeType === 3 /* TEXT_NODE */ || slotContent.nodeType === 1 /* ELEMENT_NODE */) {\n text.push((_b = (_a = slotContent.textContent) == null ? void 0 : _a.trim()) != null ? _b : \"\");\n }\n slotContent = slotContent.nextSibling;\n }\n return text.filter((ref) => ref !== \"\").join(\" \");\n }).filter((text) => text !== \"\").join(\" \");\n return \" \" + textContent + \" \";\n },\n // To mimic shadow root behavior, we need to overwrite all nodes in a slot\n // reference node. If a default slot reference node exists, the text content will be\n // placed there. Otherwise, the new text node will be hidden\n set(value) {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n slotRefNodes.forEach((node) => {\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n const tmp = slotContent;\n slotContent = slotContent.nextSibling;\n tmp.remove();\n }\n if (node[\"s-sn\"] === \"\") {\n const textNode = this.ownerDocument.createTextNode(value);\n textNode[\"s-sn\"] = \"\";\n node.parentElement.insertBefore(textNode, node.nextSibling);\n } else {\n node.remove();\n }\n });\n }\n });\n } else {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n get() {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n } else if (slotNode) {\n return slotNode.textContent;\n } else {\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n } else if (slotNode) {\n slotNode.textContent = value;\n } else {\n this.__textContent = value;\n const contentRefElm = this[\"s-cr\"];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n }\n });\n }\n};\nvar patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__(\"childNodes\");\n Object.defineProperty(elm, \"children\", {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n }\n });\n Object.defineProperty(elm, \"childElementCount\", {\n get() {\n return elm.children.length;\n }\n });\n Object.defineProperty(elm, \"childNodes\", {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 && getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i2 = 0; i2 < childNodes.length; i2++) {\n const slot = childNodes[i2][\"s-nr\"];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n }\n });\n }\n};\nvar getAllChildSlotNodes = (childNodes) => {\n const slotRefNodes = [];\n for (const childNode of Array.from(childNodes)) {\n if (childNode[\"s-sr\"]) {\n slotRefNodes.push(childNode);\n }\n slotRefNodes.push(...getAllChildSlotNodes(childNode.childNodes));\n }\n return slotRefNodes;\n};\nvar getSlotName = (node) => node[\"s-sn\"] || node.nodeType === 1 && node.getAttribute(\"slot\") || \"\";\nvar getHostSlotNode = (childNodes, slotName, hostName) => {\n let i2 = 0;\n let childNode;\n for (; i2 < childNodes.length; i2++) {\n childNode = childNodes[i2];\n if (childNode[\"s-sr\"] && childNode[\"s-sn\"] === slotName && childNode[\"s-hn\"] === hostName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nvar getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n[\"s-sn\"] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\n\n// src/runtime/bootstrap-custom-element.ts\nvar defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nvar proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1]\n };\n if (BUILD19.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD19.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD19.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD19.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD19.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n if (BUILD19.experimentalSlotFixes) {\n if (BUILD19.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(Cstr.prototype, cmpMeta);\n }\n } else {\n if (BUILD19.slotChildNodesFix) {\n patchChildSlotNodes(Cstr.prototype, cmpMeta);\n }\n if (BUILD19.cloneNodeFix) {\n patchCloneNode(Cstr.prototype);\n }\n if (BUILD19.appendChildSlotFix) {\n patchSlotAppendChild(Cstr.prototype);\n }\n if (BUILD19.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(Cstr.prototype);\n }\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD19.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD19.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (BUILD19.shadowDelegatesFocus) {\n this.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n this.attachShadow({ mode: \"open\" });\n }\n } else {\n this.shadowRoot = this;\n }\n }\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nvar forceModeUpdate = (elm) => {\n if (BUILD19.style && BUILD19.mode && !BUILD19.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm[\"s-sc\"];\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId2)) {\n registerStyle(scopeId2, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + \"-h\", oldScopeId + \"-s\");\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\n\n// src/runtime/bootstrap-lazy.ts\nimport { BUILD as BUILD20 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/hmr-component.ts\nvar hmrStart = (hostElement, cmpMeta, hmrVersionId) => {\n const hostRef = getHostRef(hostElement);\n hostRef.$flags$ = 1 /* hasConnected */;\n initializeComponent(hostElement, hostRef, cmpMeta, hmrVersionId);\n};\n\n// src/runtime/bootstrap-lazy.ts\nvar bootstrapLazy = (lazyBundles, options = {}) => {\n var _a;\n if (BUILD20.profile && performance.mark) {\n performance.mark(\"st:app:start\");\n }\n installDevTools();\n const endBootstrap = createTime(\"bootstrapLazy\");\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements2 = win.customElements;\n const head = doc.head;\n const metaCharset = /* @__PURE__ */ head.querySelector(\"meta[charset]\");\n const dataStyles = /* @__PURE__ */ doc.createElement(\"style\");\n const deferredConnectedCallbacks = [];\n const styles2 = /* @__PURE__ */ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i2 = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || \"./\", doc.baseURI).href;\n if (BUILD20.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD20.hydrateClientSide) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD20.hydrateClientSide && BUILD20.shadowDom) {\n for (; i2 < styles2.length; i2++) {\n registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);\n }\n }\n let hasSlotRelocation = false;\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n var _a2;\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3]\n };\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n hasSlotRelocation = true;\n }\n if (BUILD20.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD20.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD20.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD20.watchCallback) {\n cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};\n }\n if (BUILD20.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD20.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD20.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n if (supportsShadow) {\n if (BUILD20.shadowDelegatesFocus) {\n self.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n self.attachShadow({ mode: \"open\" });\n }\n } else if (!BUILD20.hydrateServerSide && !(\"shadowRoot\" in self)) {\n self.shadowRoot = self;\n }\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n deferredConnectedCallbacks.push(this);\n } else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD20.experimentalSlotFixes) {\n if (BUILD20.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(HostElement.prototype, cmpMeta);\n }\n } else {\n if (BUILD20.slotChildNodesFix) {\n patchChildSlotNodes(HostElement.prototype, cmpMeta);\n }\n if (BUILD20.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD20.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD20.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(HostElement.prototype);\n }\n }\n if (BUILD20.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */) {\n HostElement.formAssociated = true;\n }\n if (BUILD20.hotModuleReplacement) {\n HostElement.prototype[\"s-hmr\"] = function(hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements2.get(tagName)) {\n cmpTags.push(tagName);\n customElements2.define(\n tagName,\n proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */)\n );\n }\n });\n });\n if (cmpTags.length > 0) {\n if (hasSlotRelocation) {\n dataStyles.textContent += SLOT_FB_CSS;\n }\n if (BUILD20.invisiblePrehydration && (BUILD20.hydratedClass || BUILD20.hydratedAttribute)) {\n dataStyles.textContent += cmpTags + HYDRATED_CSS;\n }\n if (dataStyles.innerHTML.length) {\n dataStyles.setAttribute(\"data-styles\", \"\");\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n dataStyles.setAttribute(\"nonce\", nonce);\n }\n head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n }\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n } else {\n if (BUILD20.profile) {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30, \"timeout\"));\n } else {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30));\n }\n }\n endBootstrap();\n};\n\n// src/runtime/fragment.ts\nvar Fragment = (_, children) => children;\n\n// src/runtime/host-listener.ts\nimport { BUILD as BUILD21 } from \"@stencil/core/internal/app-data\";\nvar addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {\n if (BUILD21.hostListener && listeners) {\n if (BUILD21.hostListenerTargetParent) {\n if (attachParentListeners) {\n listeners = listeners.filter(([flags]) => flags & 32 /* TargetParent */);\n } else {\n listeners = listeners.filter(([flags]) => !(flags & 32 /* TargetParent */));\n }\n }\n listeners.map(([flags, name, method]) => {\n const target = BUILD21.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));\n });\n }\n};\nvar hostListenerProxy = (hostRef, methodName) => (ev) => {\n try {\n if (BUILD21.lazyLoad) {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n hostRef.$lazyInstance$[methodName](ev);\n } else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n } else {\n hostRef.$hostElement$[methodName](ev);\n }\n } catch (e) {\n consoleError(e);\n }\n};\nvar getHostListenerTarget = (elm, flags) => {\n if (BUILD21.hostListenerTargetDocument && flags & 4 /* TargetDocument */)\n return doc;\n if (BUILD21.hostListenerTargetWindow && flags & 8 /* TargetWindow */)\n return win;\n if (BUILD21.hostListenerTargetBody && flags & 16 /* TargetBody */)\n return doc.body;\n if (BUILD21.hostListenerTargetParent && flags & 32 /* TargetParent */)\n return elm.parentElement;\n return elm;\n};\nvar hostListenerOpts = (flags) => supportsListenerOptions ? {\n passive: (flags & 1 /* Passive */) !== 0,\n capture: (flags & 2 /* Capture */) !== 0\n} : (flags & 2 /* Capture */) !== 0;\n\n// src/runtime/nonce.ts\nvar setNonce = (nonce) => plt.$nonce$ = nonce;\n\n// src/runtime/platform-options.ts\nvar setPlatformOptions = (opts) => Object.assign(plt, opts);\n\n// src/runtime/vdom/vdom-annotations.ts\nvar insertVdomAnnotations = (doc2, staticComponents) => {\n if (doc2 != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents)\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc2, doc2.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n var _a, _b;\n if (orgLocationNode != null && orgLocationNode[\"s-nr\"]) {\n const nodeRef = orgLocationNode[\"s-nr\"];\n let hostId = nodeRef[\"s-host-id\"];\n let nodeId = nodeRef[\"s-node-id\"];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();\n if (textContent === \"\") {\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc2.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n (_b = nodeRef.parentNode) == null ? void 0 : _b.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode[\"s-en\"] === \"\") {\n orgLocationNodeId += `.`;\n } else if (orgLocationParentNode[\"s-en\"] === \"c\") {\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nvar parseVNodeAnnotations = (doc2, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node[\"s-nr\"] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0\n };\n insertVNodeAnnotations(doc2, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc2, childNode, docData, orgLocationNodes);\n });\n }\n};\nvar insertVNodeAnnotations = (doc2, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm[\"s-cr\"] != null) {\n hostElm[\"s-cr\"].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc2, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute(HYDRATE_CHILD_ID)) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find(\n (node) => node.nodeType === 8 /* CommentNode */ && node[\"s-sr\"]\n );\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(\n HYDRATE_CHILD_ID,\n `${comment[\"s-host-id\"]}.${comment[\"s-node-id\"]}.0.${index}`\n );\n }\n }\n }\n }\n};\nvar insertChildVNodeAnnotations = (doc2, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm[\"s-host-id\"] = hostId;\n childElm[\"s-node-id\"] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode == null ? void 0 : parentNode.nodeName;\n if (nodeName !== \"STYLE\" && nodeName !== \"SCRIPT\") {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc2.createComment(textNodeId);\n parentNode == null ? void 0 : parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n } else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm[\"s-sr\"]) {\n const slotName = childElm[\"s-sn\"] || \"\";\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index2) => {\n insertChildVNodeAnnotations(doc2, vnode, cmpData, hostId, childDepth, index2);\n });\n }\n};\n\n// src/client/client-host-ref.ts\nvar hostRefs = BUILD22.hotModuleReplacement ? window.__STENCIL_HOSTREFS__ || (window.__STENCIL_HOSTREFS__ = /* @__PURE__ */ new WeakMap()) : /* @__PURE__ */ new WeakMap();\nvar getHostRef = (ref) => hostRefs.get(ref);\nvar registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);\nvar registerHost = (hostElement, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: hostElement,\n $cmpMeta$: cmpMeta,\n $instanceValues$: /* @__PURE__ */ new Map()\n };\n if (BUILD22.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD22.method && BUILD22.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);\n }\n if (BUILD22.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);\n hostElement[\"s-p\"] = [];\n hostElement[\"s-rc\"] = [];\n }\n addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(hostElement, hostRef);\n};\nvar isMemberInElement = (elm, memberName) => memberName in elm;\n\n// src/client/client-load-module.ts\nimport { BUILD as BUILD24 } from \"@stencil/core/internal/app-data\";\n\n// src/client/client-log.ts\nimport { BUILD as BUILD23 } from \"@stencil/core/internal/app-data\";\nvar customError;\nvar consoleError = (e, el) => (customError || console.error)(e, el);\nvar STENCIL_DEV_MODE = BUILD23.isTesting ? [\"STENCIL:\"] : [\n \"%cstencil\",\n \"color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px\"\n];\nvar consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nvar consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nvar consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nvar setErrorHandler = (handler) => customError = handler;\n\n// src/client/client-load-module.ts\nvar cmpModules = /* @__PURE__ */ new Map();\nvar MODULE_IMPORT_PREFIX = \"./\";\nvar loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n const exportName = cmpMeta.$tagName$.replace(/-/g, \"_\");\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD24.isDev && typeof bundleId !== \"string\") {\n consoleDevError(\n `Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`\n );\n return void 0;\n }\n const module = !BUILD24.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n /*!__STENCIL_STATIC_IMPORT_SWITCH__*/\n return import(\n /* @vite-ignore */\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD24.hotModuleReplacement && hmrVersionId ? \"?s-hmr=\" + hmrVersionId : \"\"}`\n ).then((importedModule) => {\n if (!BUILD24.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\n\n// src/client/client-style.ts\nvar styles = /* @__PURE__ */ new Map();\nvar modeResolutionChain = [];\n\n// src/client/client-task-queue.ts\nimport { BUILD as BUILD26 } from \"@stencil/core/internal/app-data\";\n\n// src/client/client-window.ts\nimport { BUILD as BUILD25 } from \"@stencil/core/internal/app-data\";\nvar win = typeof window !== \"undefined\" ? window : {};\nvar doc = win.document || { head: {} };\nvar H = win.HTMLElement || class {\n};\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (h2) => h2(),\n raf: (h2) => requestAnimationFrame(h2),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts)\n};\nvar setPlatformHelpers = (helpers) => {\n Object.assign(plt, helpers);\n};\nvar supportsShadow = (\n // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n BUILD25.shadowDomShim && BUILD25.shadowDom ? /* @__PURE__ */ (() => (doc.head.attachShadow + \"\").indexOf(\"[native\") > -1)() : true\n);\nvar supportsListenerOptions = /* @__PURE__ */ (() => {\n let supportsListenerOptions2 = false;\n try {\n doc.addEventListener(\n \"e\",\n null,\n Object.defineProperty({}, \"passive\", {\n get() {\n supportsListenerOptions2 = true;\n }\n })\n );\n } catch (e) {\n }\n return supportsListenerOptions2;\n})();\nvar promiseResolve = (v) => Promise.resolve(v);\nvar supportsConstructableStylesheets = BUILD25.constructableCSS ? /* @__PURE__ */ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replaceSync === \"function\";\n } catch (e) {\n }\n return false;\n})() : false;\n\n// src/client/client-task-queue.ts\nvar queueCongestion = 0;\nvar queuePending = false;\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueDomWritesLow = [];\nvar queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n } else {\n plt.raf(flush);\n }\n }\n};\nvar consume = (queue) => {\n for (let i2 = 0; i2 < queue.length; i2++) {\n try {\n queue[i2](performance.now());\n } catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar consumeTimeout = (queue, timeout) => {\n let i2 = 0;\n let ts = 0;\n while (i2 < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i2++](ts);\n } catch (e) {\n consoleError(e);\n }\n }\n if (i2 === queue.length) {\n queue.length = 0;\n } else if (i2 !== 0) {\n queue.splice(0, i2);\n }\n};\nvar flush = () => {\n if (BUILD26.asyncQueue) {\n queueCongestion++;\n }\n consume(queueDomReads);\n if (BUILD26.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ ? performance.now() + 14 * Math.ceil(queueCongestion * (1 / 10)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if (queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0) {\n plt.raf(flush);\n } else {\n queueCongestion = 0;\n }\n } else {\n consume(queueDomWrites);\n if (queuePending = queueDomReads.length > 0) {\n plt.raf(flush);\n }\n }\n};\nvar nextTick = (cb) => promiseResolve().then(cb);\nvar readTask = /* @__PURE__ */ queueTask(queueDomReads, false);\nvar writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);\n\n// src/client/index.ts\nimport { BUILD as BUILD27, Env, NAMESPACE as NAMESPACE2 } from \"@stencil/core/internal/app-data\";\nexport {\n BUILD27 as BUILD,\n Build,\n Env,\n Fragment,\n H,\n H as HTMLElement,\n Host,\n NAMESPACE2 as NAMESPACE,\n STENCIL_DEV_MODE,\n addHostEventListeners,\n bootstrapLazy,\n cmpModules,\n connectedCallback,\n consoleDevError,\n consoleDevInfo,\n consoleDevWarn,\n consoleError,\n createEvent,\n defineCustomElement,\n disconnectedCallback,\n doc,\n forceModeUpdate,\n forceUpdate,\n getAssetPath,\n getElement,\n getHostRef,\n getMode,\n getRenderingRef,\n getValue,\n h,\n insertVdomAnnotations,\n isMemberInElement,\n loadModule,\n modeResolutionChain,\n nextTick,\n parsePropertyValue,\n plt,\n postUpdateComponent,\n promiseResolve,\n proxyComponent,\n proxyCustomElement,\n readTask,\n registerHost,\n registerInstance,\n renderVdom,\n setAssetPath,\n setErrorHandler,\n setMode,\n setNonce,\n setPlatformHelpers,\n setPlatformOptions,\n setValue,\n styles,\n supportsConstructableStylesheets,\n supportsListenerOptions,\n supportsShadow,\n win,\n writeTask\n};\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/wcs/p-352e1f99.entry.js b/public/wcs/p-352e1f99.entry.js new file mode 100644 index 0000000..1b07495 --- /dev/null +++ b/public/wcs/p-352e1f99.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as i,H as t}from"./p-32e583ea.js";const s=":host{--wcs-skeleton-width:100%;--wcs-skeleton-height:100%;--wcs-skeleton-min-height:1rem;--wcs-skeleton-background-color:linear-gradient(90deg, rgba(0, 0, 0, 0.06) 25%, rgba(0, 0, 0, 0.15) 37%, rgba(0, 0, 0, 0.06) 63%);--wcs-skeleton-animation-duration:var(--wcs-semantic-motion-duration-animation-base);display:block;position:relative;overflow:hidden}:host span{display:flex;flex:1 1 auto;height:var(--wcs-skeleton-height);width:var(--wcs-skeleton-width);min-height:var(--wcs-skeleton-min-height);background:var(--wcs-skeleton-background-color);background-size:400% 100%}:host([animation=glide]) span{animation:glide var(--wcs-skeleton-animation-duration) ease-in-out infinite}:host([animation=pulse]){animation:pulse var(--wcs-skeleton-animation-duration) ease-in-out infinite}@keyframes glide{from{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}:host{--wcs-skeleton-circle-border-radius:var(--wcs-semantic-border-radius-full);aspect-ratio:1/1;border-radius:var(--wcs-skeleton-circle-border-radius)}";const a=s;const o=class{constructor(i){e(this,i);this.animation="glide";this.radius=50}render(){return i(t,{key:"0d5704fdc6c41256665994d2a2d63c525e14ee6c",style:{width:`${this.radius}px`,height:`${this.radius}px`}},i("span",{key:"e2712e309be66af8be9fd3aee2b34ee20b67a980","aria-hidden":"true"}))}};o.style=a;export{o as wcs_skeleton_circle}; +//# sourceMappingURL=p-352e1f99.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-352e1f99.entry.js.map b/public/wcs/p-352e1f99.entry.js.map new file mode 100644 index 0000000..c02255f --- /dev/null +++ b/public/wcs/p-352e1f99.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["skeletonCircleCss","WcsSkeletonCircleStyle0","SkeletonCircle","render","h","Host","key","style","width","this","radius","height"],"sources":["src/components/skeleton-circle/skeleton-circle.scss?tag=wcs-skeleton-circle&encapsulation=shadow","src/components/skeleton-circle/skeleton-circle.tsx"],"sourcesContent":["@import \"../skeleton/skeleton.scss\";\n\n:host {\n --wcs-skeleton-circle-border-radius: var(--wcs-semantic-border-radius-full);\n\n aspect-ratio: 1/1;\n border-radius: var(--wcs-skeleton-circle-border-radius);\n}\n","import { Component, ComponentInterface, h, Host, Prop } from \"@stencil/core\";\nimport { WcsSkeletonAnimation } from \"../skeleton/skeleton-interface\";\n\n/**\n * Use a skeleton circle as a placeholder round images, illustrations or components\n * \n * @cssprop --wcs-skeleton-circle-border-radius - Border radius of the circle\n * \n * @cssprop --wcs-skeleton-height - _(Shared among all skeleton types)_
    Height of the skeleton\n * @cssprop --wcs-skeleton-min-height - _(Shared among all skeleton types)_
    Minimum height of the skeleton\n * @cssprop --wcs-skeleton-width - _(Shared among all skeleton types)_
    Width of the skeleton\n * @cssprop --wcs-skeleton-background-color - _(Shared among all skeleton types)_
    Background color of the skeleton (default is a gradient)\n * @cssprop --wcs-skeleton-animation-duration - _(Shared among all skeleton types)_
    Duration of the skeleton animation, if applicable\n */\n@Component({\n tag: 'wcs-skeleton-circle',\n styleUrl: 'skeleton-circle.scss',\n shadow: true\n})\nexport class SkeletonCircle implements ComponentInterface {\n\n /**\n * Specifies the animation of the skeleton\n */\n @Prop({reflect: true}) animation: WcsSkeletonAnimation = 'glide';\n\n /**\n * Specifies the radius of the circle in px\n */\n @Prop({reflect: true}) radius: number = 50;\n\n render() {\n return (\n \n \n \n );\n }\n\n}\n"],"mappings":"kDAAA,MAAMA,EAAoB,ujCAC1B,MAAAC,EAAeD,E,MCkBFE,EAAc,M,wCAKkC,Q,YAKjB,E,CAExC,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAACC,MAAO,GAAGC,KAAKC,WAAYC,OAAQ,GAAGF,KAAKC,aACrDN,EAAA,QAAAE,IAAA,yDAAkB,S"} \ No newline at end of file diff --git a/public/wcs/p-367946fe.entry.js b/public/wcs/p-367946fe.entry.js new file mode 100644 index 0000000..14196fb --- /dev/null +++ b/public/wcs/p-367946fe.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as a,H as o}from"./p-32e583ea.js";const r=":host{--wcs-dropdown-header-color:var(--wcs-semantic-color-text-tertiary);--wcs-dropdown-header-padding-vertical:var(--wcs-semantic-spacing-base);--wcs-dropdown-header-padding-horizontal:var(--wcs-semantic-spacing-base);--wcs-dropdown-header-font-size:var(--wcs-semantic-font-size-label-2);--wcs-dropdown-header-font-weight:var(--wcs-semantic-font-weight-medium);display:block;padding:var(--wcs-dropdown-header-padding-vertical) var(--wcs-dropdown-header-padding-horizontal);font-size:var(--wcs-dropdown-header-font-size);font-weight:var(--wcs-dropdown-header-font-weight);text-transform:uppercase;color:var(--wcs-dropdown-header-color);white-space:nowrap}";const d=r;const s=class{constructor(a){e(this,a)}render(){return a(o,{key:"a9f4cf33ebcc666bd3f703c3d51d17b655f28ed8",slot:"item",tabindex:"-1"},a("slot",{key:"ccabe9a8805d48d8b2bec9326b5aaa1b6338f06b"}))}};s.style=d;export{s as wcs_dropdown_header}; +//# sourceMappingURL=p-367946fe.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-367946fe.entry.js.map b/public/wcs/p-367946fe.entry.js.map new file mode 100644 index 0000000..96e0316 --- /dev/null +++ b/public/wcs/p-367946fe.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["dropdownHeaderCss","WcsDropdownHeaderStyle0","DropdownHeader","render","h","Host","key","slot","tabindex"],"sources":["src/components/dropdown-header/dropdown-header.scss?tag=wcs-dropdown-header&encapsulation=shadow","src/components/dropdown-header/dropdown-header.tsx"],"sourcesContent":[":host {\n --wcs-dropdown-header-color: var(--wcs-semantic-color-text-tertiary);\n --wcs-dropdown-header-padding-vertical: var(--wcs-semantic-spacing-base);\n --wcs-dropdown-header-padding-horizontal: var(--wcs-semantic-spacing-base);\n --wcs-dropdown-header-font-size: var(--wcs-semantic-font-size-label-2);\n --wcs-dropdown-header-font-weight: var(--wcs-semantic-font-weight-medium);\n\n display: block;\n padding: var(--wcs-dropdown-header-padding-vertical) var(--wcs-dropdown-header-padding-horizontal);\n font-size: var(--wcs-dropdown-header-font-size);\n font-weight: var(--wcs-dropdown-header-font-weight);\n text-transform: uppercase;\n color: var(--wcs-dropdown-header-color);\n white-space: nowrap;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n\n/**\n * You can add `wcs-dropdown-header` before a group of items to describe it\n * @slot the slot that contains the header's name\n * \n * @cssprop --wcs-dropdown-header-color - Text color of the header\n * @cssprop --wcs-dropdown-header-padding-vertical - Vertical padding of the header\n * @cssprop --wcs-dropdown-header-padding-horizontal - Horizontal padding of the header\n * @cssprop --wcs-dropdown-header-font-size - Font size of the header\n * @cssprop --wcs-dropdown-header-font-weight - Font weight of the header\n *\n */\n@Component({\n tag: 'wcs-dropdown-header',\n styleUrl: 'dropdown-header.scss',\n shadow: true\n})\nexport class DropdownHeader {\n\n render() {\n return (\n \n \n \n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAoB,mpBAC1B,MAAAC,EAAeD,E,MCkBFE,EAAc,M,yBAEvB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,OAAOC,SAAS,MACvBJ,EAAA,QAAAE,IAAA,6C"} \ No newline at end of file diff --git a/public/wcs/p-3823f54e.entry.js b/public/wcs/p-3823f54e.entry.js new file mode 100644 index 0000000..6b6dc89 --- /dev/null +++ b/public/wcs/p-3823f54e.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as s,H as t}from"./p-32e583ea.js";const d=class{constructor(s){e(this,s);this.columnId=undefined;this.rowId=undefined}render(){return s(t,{key:"3353e4de7a3eeb4d903a63d5adf257ed3427beb8",slot:this.columnId+"-"+this.rowId},s("slot",{key:"cc3297d327379b74a385c4909964b8371da68a97"}))}};export{d as wcs_grid_custom_cell}; +//# sourceMappingURL=p-3823f54e.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-3823f54e.entry.js.map b/public/wcs/p-3823f54e.entry.js.map new file mode 100644 index 0000000..2afb139 --- /dev/null +++ b/public/wcs/p-3823f54e.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["GridCustomCell","render","h","Host","key","slot","this","columnId","rowId"],"sources":["src/components/grid-custom-cell/grid-custom-cell.tsx"],"sourcesContent":["import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n/**\n * The grid custom cell is a subcomponent of `wcs-grid`.\n */\n@Component({\n tag: 'wcs-grid-custom-cell',\n shadow: true\n})\nexport class GridCustomCell implements ComponentInterface {\n /**\n * ID of the column for which to render the cell\n */\n @Prop() columnId: string;\n /**\n * Key value of the object rendered for the cell's row\n */\n @Prop() rowId: any;\n\n render(): any {\n return (\n \n \n \n );\n }\n}\n"],"mappings":"wDASaA,EAAc,M,sEAUvB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAMC,KAAKC,SAAW,IAAMD,KAAKE,OACnCN,EAAA,QAAAE,IAAA,6C"} \ No newline at end of file diff --git a/public/wcs/p-3a18535f.entry.js b/public/wcs/p-3a18535f.entry.js new file mode 100644 index 0000000..cfe91ec --- /dev/null +++ b/public/wcs/p-3a18535f.entry.js @@ -0,0 +1,2 @@ +import{r as e,h as t,H as c}from"./p-32e583ea.js";const i=":host{--wcs-field-label-color:var(--wcs-semantic-color-text-secondary);--wcs-field-label-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-field-label-font-size:var(--wcs-semantic-font-size-body-3);--wcs-field-label-line-height:var(--wcs-semantic-font-line-height-large);--wcs-field-content-color:var(--wcs-semantic-color-text-secondary);--wcs-field-content-font-weight:var(--wcs-semantic-font-weight-book);--wcs-field-content-font-size:var(--wcs-semantic-font-size-body-3);--wcs-field-content-line-height:var(--wcs-semantic-font-line-height-medium);--wcs-field-margin-top:var(--wcs-semantic-spacing-base);--wcs-field-margin-bottom:var(--wcs-semantic-spacing-large);--wcs-field-gap:var(--wcs-semantic-spacing-small);display:flex;flex-direction:column;margin-top:var(--wcs-field-margin-top);margin-bottom:var(--wcs-field-margin-bottom);gap:var(--wcs-field-gap)}::slotted([slot=label]){color:var(--wcs-field-label-color);font-weight:var(--wcs-field-label-font-weight);font-size:var(--wcs-field-label-font-size);line-height:var(--wcs-field-label-line-height)}::slotted([slot=content]){color:var(--wcs-field-content-color);font-weight:var(--wcs-field-content-font-weight);font-size:var(--wcs-field-content-font-size);line-height:var(--wcs-field-content-line-height)}";const a=i;const s=class{constructor(t){e(this,t)}render(){return t(c,{key:"ae0a6c7224dc199cd6cd342d77878bfff17aa49b"},t("slot",{key:"408c146f3e6bfa1868964a29934494215627fb59",name:"label"}),t("slot",{key:"9c2151491f6acc4a5a6da36676e21e8dee6f156a",name:"content"}))}};s.style=a;export{s as wcs_field}; +//# sourceMappingURL=p-3a18535f.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-3a18535f.entry.js.map b/public/wcs/p-3a18535f.entry.js.map new file mode 100644 index 0000000..13f075b --- /dev/null +++ b/public/wcs/p-3a18535f.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["fieldCss","WcsFieldStyle0","Field","render","h","Host","key","name"],"sources":["src/components/field/field.scss?tag=wcs-field&encapsulation=shadow","src/components/field/field.tsx"],"sourcesContent":[":host{\n --wcs-field-label-color: var(--wcs-semantic-color-text-secondary);\n --wcs-field-label-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-field-label-font-size: var(--wcs-semantic-font-size-body-3);\n --wcs-field-label-line-height: var(--wcs-semantic-font-line-height-large);\n\n --wcs-field-content-color: var(--wcs-semantic-color-text-secondary);\n --wcs-field-content-font-weight: var(--wcs-semantic-font-weight-book);\n --wcs-field-content-font-size: var(--wcs-semantic-font-size-body-3);\n --wcs-field-content-line-height: var(--wcs-semantic-font-line-height-medium);\n\n --wcs-field-margin-top: var(--wcs-semantic-spacing-base);\n --wcs-field-margin-bottom: var(--wcs-semantic-spacing-large);\n --wcs-field-gap: var(--wcs-semantic-spacing-small);\n\n display: flex;\n flex-direction: column;\n margin-top: var(--wcs-field-margin-top);\n margin-bottom: var(--wcs-field-margin-bottom);\n gap: var(--wcs-field-gap);\n}\n::slotted([slot=label]) {\n color: var(--wcs-field-label-color);\n font-weight: var(--wcs-field-label-font-weight);\n font-size: var(--wcs-field-label-font-size);\n line-height: var(--wcs-field-label-line-height);\n}\n\n::slotted([slot=content]) {\n color: var(--wcs-field-content-color);\n font-weight: var(--wcs-field-content-font-weight);\n font-size: var(--wcs-field-content-font-size);\n line-height: var(--wcs-field-content-line-height);\n}\n","import { Component, ComponentInterface, h, Host, } from '@stencil/core';\n\n/**\n * This field component can be used to display the details of an entity. It is built around the label and the content of the field.\n * \n * @slot label Label of the field\n * @slot content Content of the field\n *\n * @cssprop --wcs-field-label-color - The color of the label\n * @cssprop --wcs-field-label-font-weight - The font weight of the label\n * @cssprop --wcs-field-label-font-size - The font size of the label\n * @cssprop --wcs-field-label-line-height - The line height of the label\n * \n * @cssprop --wcs-field-content-color - The color of the content\n * @cssprop --wcs-field-content-font-weight - The font weight of the content\n * @cssprop --wcs-field-content-font-size - The font size of the content\n * \n * @cssprop --wcs-field-margin-top - The margin top of the field \n * @cssprop --wcs-field-margin-bottom - The margin bottom of the field\n * @cssprop --wcs-field-gap - The gap between the label and the content\n *\n */\n@Component({\n tag: 'wcs-field',\n styleUrl: 'field.scss',\n shadow: true\n})\nexport class Field implements ComponentInterface {\n render() {\n return (\n \n \n \n \n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,wvCACjB,MAAAC,EAAeD,E,MC0BFE,EAAK,M,yBACd,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,4CACDF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,UACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,Y"} \ No newline at end of file diff --git a/public/wcs/p-3abf8a42.js b/public/wcs/p-3abf8a42.js new file mode 100644 index 0000000..17777d0 --- /dev/null +++ b/public/wcs/p-3abf8a42.js @@ -0,0 +1,2 @@ +const e="Fil d'Ariane";const n="Étendre le fil d'Ariane";const s="";export{n as E,s as I,e as N}; +//# sourceMappingURL=p-3abf8a42.js.map \ No newline at end of file diff --git a/public/wcs/p-3abf8a42.js.map b/public/wcs/p-3abf8a42.js.map new file mode 100644 index 0000000..867ec4e --- /dev/null +++ b/public/wcs/p-3abf8a42.js.map @@ -0,0 +1 @@ +{"version":3,"names":["NAV_ARIA_LABEL_DEFAULT","EXPAND_BTN_ARIA_LABEL_DEFAULT","ICONS_FONT_CHEVRON_UNICODE"],"sources":["src/components/breadcrumb/breadcrumb-constants.ts"],"sourcesContent":["export const NAV_ARIA_LABEL_DEFAULT = 'Fil d\\'Ariane';\nexport const EXPAND_BTN_ARIA_LABEL_DEFAULT = 'Étendre le fil d\\'Ariane';\n\nexport const ICONS_FONT_CHEVRON_UNICODE = '\\uF107';\n"],"mappings":"MAAaA,EAAyB,e,MACzBC,EAAgC,0B,MAEhCC,EAA6B,W"} \ No newline at end of file diff --git a/public/wcs/p-41b946b2.entry.js b/public/wcs/p-41b946b2.entry.js new file mode 100644 index 0000000..55156ce --- /dev/null +++ b/public/wcs/p-41b946b2.entry.js @@ -0,0 +1,2 @@ +import{r as a,h as c}from"./p-32e583ea.js";const r=":host{--wcs-badge-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-badge-height-l:calc(4 * var(--wcs-semantic-size-base));--wcs-badge-font-size-l:var(--wcs-semantic-font-size-label-1);--wcs-badge-height-m:calc(3 * var(--wcs-semantic-size-base));--wcs-badge-font-size-m:var(--wcs-semantic-font-size-label-2);--wcs-badge-height-s:calc(2.5 * var(--wcs-semantic-size-base));--wcs-badge-font-size-s:var(--wcs-semantic-font-size-label-3);--wcs-badge-border-radius-default:var(--wcs-semantic-border-radius-base);--wcs-badge-border-radius-circular:var(--wcs-semantic-border-radius-full);--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-brand);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-accent-lighter);--wcs-badge-color:var(--wcs-semantic-color-foreground-primary);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-inverse);--wcs-badge-padding-horizontal-l:var(--wcs-semantic-spacing-base);--wcs-badge-padding-horizontal-m:var(--wcs-semantic-spacing-base);--wcs-badge-padding-horizontal-s:calc(0.75 * var(--wcs-semantic-spacing-base));--wcs-badge-height:var(--wcs-badge-height-m);--wcs-badge-gap:calc(var(--wcs-semantic-spacing-base) / 2);--wcs-badge-font-size:var(--wcs-badge-font-size-m);--wcs-badge-padding-horizontal:var(--wcs-badge-padding-horizontal-m);display:inline-flex;gap:var(--wcs-badge-gap);padding:0 var(--wcs-badge-padding-horizontal);height:var(--wcs-badge-height);inline-size:fit-content;font-size:var(--wcs-badge-font-size);box-sizing:border-box;font-weight:var(--wcs-badge-font-weight);line-height:1;text-align:center;align-content:center;align-items:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--wcs-badge-border-radius-default);color:var(--wcs-badge-color);background-color:var(--wcs-badge-background-color)}:host([color=lighter]){--wcs-badge-color:var(--wcs-badge-color-lighter) !important;--wcs-badge-background-color:var(--wcs-badge-background-color-lighter) !important}:host([shape=rounded]){border-radius:var(--wcs-badge-border-radius-circular)}:host([size=l]){--wcs-badge-height:var(--wcs-badge-height-l);--wcs-badge-gap:calc(var(--wcs-semantic-spacing-large) / 2);--wcs-badge-font-size:var(--wcs-badge-font-size-l);--wcs-badge-padding-horizontal:var(--wcs-badge-padding-horizontal-l)}:host([size=m]){--wcs-badge-height:var(--wcs-badge-height-m);--wcs-badge-gap:calc(var(--wcs-semantic-spacing-base) / 2);--wcs-badge-font-size:var(--wcs-badge-font-size-m);--wcs-badge-padding-horizontal:var(--wcs-badge-padding-horizontal-m)}:host([size=s]){--wcs-badge-height:var(--wcs-badge-height-s);--wcs-badge-gap:calc(var(--wcs-semantic-spacing-small) / 2);--wcs-badge-font-size:var(--wcs-badge-font-size-s);--wcs-badge-padding-horizontal:var(--wcs-badge-padding-horizontal-s)}:host(.wcs-secondary){--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-inverse);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-secondary);--wcs-badge-color:var(--wcs-semantic-color-foreground-primary);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-inverse)}:host(.wcs-success){--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-success-default);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-success-lighter);--wcs-badge-color:var(--wcs-semantic-color-foreground-primary);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-inverse)}:host(.wcs-info){--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-information-default);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-information-lighter);--wcs-badge-color:var(--wcs-semantic-color-foreground-primary);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-inverse)}:host(.wcs-warning){--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-warning-default);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-warning-lighter);--wcs-badge-color:var(--wcs-semantic-color-foreground-inverse);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-inverse)}:host(.wcs-critical),:host(.wcs-danger){--wcs-badge-background-color:var(--wcs-semantic-color-background-surface-critical-default);--wcs-badge-background-color-lighter:var(--wcs-semantic-color-background-surface-critical-lightest);--wcs-badge-color:var(--wcs-semantic-color-foreground-primary);--wcs-badge-color-lighter:var(--wcs-semantic-color-foreground-critical)}";const e=r;const s=class{constructor(c){a(this,c);this.shape="normal";this.color="initial";this.size="m"}render(){return c("slot",{key:"6d9646b28344f4d1f05a3efaf798a6273252a8bf"})}};s.style=e;export{s as wcs_badge}; +//# sourceMappingURL=p-41b946b2.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-41b946b2.entry.js.map b/public/wcs/p-41b946b2.entry.js.map new file mode 100644 index 0000000..fa0fd98 --- /dev/null +++ b/public/wcs/p-41b946b2.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["badgeCss","WcsBadgeStyle0","Badge","render","h","key"],"sources":["src/components/badge/badge.scss?tag=wcs-badge&encapsulation=shadow","src/components/badge/badge.tsx"],"sourcesContent":[":host {\n --wcs-badge-font-weight: var(--wcs-semantic-font-weight-medium);\n\n --wcs-badge-height-l: calc(4 * var(--wcs-semantic-size-base));\n --wcs-badge-font-size-l: var(--wcs-semantic-font-size-label-1);\n --wcs-badge-height-m: calc(3 * var(--wcs-semantic-size-base));\n --wcs-badge-font-size-m: var(--wcs-semantic-font-size-label-2);\n --wcs-badge-height-s: calc(2.5 * var(--wcs-semantic-size-base));\n --wcs-badge-font-size-s: var(--wcs-semantic-font-size-label-3);\n\n --wcs-badge-border-radius-default: var(--wcs-semantic-border-radius-base);\n --wcs-badge-border-radius-circular: var(--wcs-semantic-border-radius-full);\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-brand);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-accent-lighter);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-inverse);\n --wcs-badge-padding-horizontal-l: var(--wcs-semantic-spacing-base);\n --wcs-badge-padding-horizontal-m: var(--wcs-semantic-spacing-base);\n --wcs-badge-padding-horizontal-s: calc(0.75 * var(--wcs-semantic-spacing-base));\n\n // Default\n --wcs-badge-height: var(--wcs-badge-height-m);\n --wcs-badge-gap: calc(var(--wcs-semantic-spacing-base) / 2);\n --wcs-badge-font-size: var(--wcs-badge-font-size-m);\n --wcs-badge-padding-horizontal: var(--wcs-badge-padding-horizontal-m);\n\n display: inline-flex;\n gap: var(--wcs-badge-gap);\n padding: 0 var(--wcs-badge-padding-horizontal);\n height: var(--wcs-badge-height);\n inline-size: fit-content;\n font-size: var(--wcs-badge-font-size);\n box-sizing: border-box;\n font-weight: var(--wcs-badge-font-weight);\n line-height: 1;\n text-align: center;\n align-content: center;\n align-items: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--wcs-badge-border-radius-default);\n color: var(--wcs-badge-color);\n background-color: var(--wcs-badge-background-color);\n}\n\n:host([color=lighter]) {\n --wcs-badge-color: var(--wcs-badge-color-lighter) !important;\n --wcs-badge-background-color: var(--wcs-badge-background-color-lighter) !important;\n}\n\n:host([shape=rounded]){\n border-radius: var(--wcs-badge-border-radius-circular);\n}\n\n:host([size=l]) {\n --wcs-badge-height: var(--wcs-badge-height-l);\n --wcs-badge-gap: calc(var(--wcs-semantic-spacing-large) / 2);\n --wcs-badge-font-size: var(--wcs-badge-font-size-l);\n --wcs-badge-padding-horizontal: var(--wcs-badge-padding-horizontal-l);\n}\n\n:host([size=m]) { // Default\n --wcs-badge-height: var(--wcs-badge-height-m);\n --wcs-badge-gap: calc(var(--wcs-semantic-spacing-base) / 2);\n --wcs-badge-font-size: var(--wcs-badge-font-size-m);\n --wcs-badge-padding-horizontal: var(--wcs-badge-padding-horizontal-m);\n}\n\n:host([size=s]) {\n --wcs-badge-height: var(--wcs-badge-height-s);\n --wcs-badge-gap: calc(var(--wcs-semantic-spacing-small) / 2);\n --wcs-badge-font-size: var(--wcs-badge-font-size-s);\n --wcs-badge-padding-horizontal: var(--wcs-badge-padding-horizontal-s);\n}\n\n\n/* Color variants */\n\n:host(.wcs-secondary) {\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-inverse);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-secondary);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-inverse);\n}\n\n:host(.wcs-success) {\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-success-default);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-success-lighter);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-inverse);\n}\n\n:host(.wcs-info) {\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-information-default);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-information-lighter);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-inverse);\n}\n\n:host(.wcs-warning) {\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-warning-default);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-warning-lighter);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-inverse);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-inverse);\n}\n\n:host(.wcs-critical), :host(.wcs-danger) {\n --wcs-badge-background-color: var(--wcs-semantic-color-background-surface-critical-default);\n --wcs-badge-background-color-lighter: var(--wcs-semantic-color-background-surface-critical-lightest);\n --wcs-badge-color: var(--wcs-semantic-color-foreground-primary);\n --wcs-badge-color-lighter: var(--wcs-semantic-color-foreground-critical);\n}\n","import { Component, ComponentInterface, h, Prop } from '@stencil/core';\nimport { BadgeColor, BadgeShape, BadgeSize } from './badge-interface';\n\n/**\n * The badge component is a small label, generally appearing inside or in proximity to another larger interface component,\n * representing a status, property, or some other metadata. \n *\n * @cssprop --wcs-badge-font-weight - Define the font weight of the badge\n * @cssprop --wcs-badge-height-l - Large height of the badge\n * @cssprop --wcs-badge-font-size-l - Large font size of the badge\n * @cssprop --wcs-badge-height-m - Medium height of the badge\n * @cssprop --wcs-badge-font-size-m - Font size of the badge\n * @cssprop --wcs-badge-height-s - Small height of the badge\n * @cssprop --wcs-badge-font-size-s - Small font size of the badge\n * @cssprop --wcs-badge-border-radius-default - Default border radius of the badge\n * @cssprop --wcs-badge-border-radius-circular - Circular border radius of the badge\n * \n * @cssprop --wcs-badge-background-color - Background color of the badge\n * @cssprop --wcs-badge-background-color-lighter - Background color of the lighter badge\n * @cssprop --wcs-badge-color - Text color of the badge\n * @cssprop --wcs-badge-color-lighter - Text color of the lighter badge\n * @cssporp --wcs-badge-gap - The gap inside the badge\n * \n * @cssprop --wcs-badge-padding-horizontal-l - Horizontal padding of the size L badge\n * @cssprop --wcs-badge-padding-horizontal-m - Horizontal padding of the size M badge\n * @cssprop --wcs-badge-padding-horizontal-s - Horizontal padding of the size S badge\n */\n@Component({\n tag: 'wcs-badge',\n styleUrl: 'badge.scss',\n shadow: true\n})\nexport class Badge implements ComponentInterface {\n /**\n * Define the shape of the badge\n */\n @Prop() shape: BadgeShape = 'normal';\n /**\n * Allows you to change the color of the badge to make it less bright (based on the color chosen by the CSS class).\n */\n @Prop() color: BadgeColor = 'initial';\n\n /**\n * Specify the size of the badge.\n */\n @Prop({ reflect: true }) size: BadgeSize = 'm';\n\n render() {\n return (\n \n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAW,y6IACjB,MAAAC,EAAeD,E,MC+BFE,EAAK,M,oCAIc,S,WAIA,U,UAKe,G,CAE3C,MAAAC,GACI,OACIC,EAAA,QAAAC,IAAA,4C"} \ No newline at end of file diff --git a/public/wcs/p-439804b0.entry.js b/public/wcs/p-439804b0.entry.js new file mode 100644 index 0000000..dddf9bd --- /dev/null +++ b/public/wcs/p-439804b0.entry.js @@ -0,0 +1,2 @@ +import{r as a,h as e,H as c}from"./p-32e583ea.js";const s=":host{text-align:left}";const t=s;const o=class{constructor(e){a(this,e)}render(){return e(c,{key:"d78fe9badfb9ba04ce4b29a518dcc724a2bbf15c",slot:"header"},e("slot",{key:"90b5fa5315499ac17957b8f366696ff05ad7a3c0"}))}};o.style=t;export{o as wcs_accordion_header}; +//# sourceMappingURL=p-439804b0.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-439804b0.entry.js.map b/public/wcs/p-439804b0.entry.js.map new file mode 100644 index 0000000..a01e063 --- /dev/null +++ b/public/wcs/p-439804b0.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["accordionHeaderCss","WcsAccordionHeaderStyle0","AccordionHeader","render","h","Host","key","slot"],"sources":["src/components/accordion-header/accordion-header.scss?tag=wcs-accordion-header&encapsulation=shadow","src/components/accordion-header/accordion-header.tsx"],"sourcesContent":[":host {\n text-align: left;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * The accordion-header is a subcomponent of `wcs-accordion`. It represents the heading text inside the accordion panel.\n */\n@Component({\n tag: 'wcs-accordion-header',\n styleUrl: 'accordion-header.scss',\n shadow: true\n})\nexport class AccordionHeader {\n render() {\n return (\n \n \n \n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAqB,yBAC3B,MAAAC,EAAeD,E,MCSFE,EAAe,M,yBACxB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,UACPH,EAAA,QAAAE,IAAA,6C"} \ No newline at end of file diff --git a/public/wcs/p-450942b1.entry.js b/public/wcs/p-450942b1.entry.js new file mode 100644 index 0000000..6f2f7fe --- /dev/null +++ b/public/wcs/p-450942b1.entry.js @@ -0,0 +1,156 @@ +import{r as t,h as r,g as e}from"./p-32e583ea.js";import{D as n,i,a as o,s as a}from"./p-52d77e1f.js";var s;function c(t,r){if(r===void 0){r=false}var e=t.CSS;var n=s;if(typeof s==="boolean"&&!r){return s}var i=e&&typeof e.supports==="function";if(!i){return false}var o=e.supports("--css-vars","yes");var a=e.supports("(--css-vars: yes)")&&e.supports("color","#00000000");n=o||a;if(!r){s=n}return n}function d(t,r,e){if(!t){return{x:0,y:0}}var n=r.x,i=r.y;var o=n+e.left;var a=i+e.top;var s;var c;if(t.type==="touchstart"){var d=t;s=d.changedTouches[0].pageX-o;c=d.changedTouches[0].pageY-a}else{var u=t;s=u.pageX-o;c=u.pageY-a}return{x:s,y:c}}var u=function(t,r){u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)if(Object.prototype.hasOwnProperty.call(r,e))t[e]=r[e]};return u(t,r)};function l(t,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");u(t,r);function e(){this.constructor=t}t.prototype=r===null?Object.create(r):(e.prototype=r.prototype,new e)}var f=function(){f=Object.assign||function t(r){for(var e,n=1,i=arguments.length;n=t.length)t=void 0;return{value:t&&t[n++],done:!t}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(t,r){var e=typeof Symbol==="function"&&t[Symbol.iterator];if(!e)return t;var n=e.call(t),i,o=[],a;try{while((r===void 0||r-- >0)&&!(i=n.next()).done)o.push(i.value)}catch(t){a={error:t}}finally{try{if(i&&!i.done&&(e=n["return"]))e.call(n)}finally{if(a)throw a.error}}return o}function b(t,r,e){if(e||arguments.length===2)for(var n=0,i=r.length,o;n0&&O.some((function(t){return r.adapter.containsEventTarget(t)}));if(o){this.resetActivationState();return}if(t!==undefined){O.push(t.target);this.registerDeactivationHandlers(t)}e.wasElementMadeActive=this.checkElementMadeActive(t);if(e.wasElementMadeActive){this.animateActivation()}requestAnimationFrame((function(){O=[];if(!e.wasElementMadeActive&&t!==undefined&&(t.key===" "||t.keyCode===32)){e.wasElementMadeActive=r.checkElementMadeActive(t);if(e.wasElementMadeActive){r.animateActivation()}}if(!e.wasElementMadeActive){r.activationState=r.defaultActivationState()}}))};r.prototype.checkElementMadeActive=function(t){return t!==undefined&&t.type==="keydown"?this.adapter.isSurfaceActive():true};r.prototype.animateActivation=function(){var t=this;var e=r.strings,n=e.VAR_FG_TRANSLATE_START,i=e.VAR_FG_TRANSLATE_END;var o=r.cssClasses,a=o.FG_DEACTIVATION,s=o.FG_ACTIVATION;var c=r.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var d="";var u="";if(!this.adapter.isUnbounded()){var l=this.getFgTranslationCoordinates(),f=l.startPoint,p=l.endPoint;d=f.x+"px, "+f.y+"px";u=p.x+"px, "+p.y+"px"}this.adapter.updateCssVariable(n,d);this.adapter.updateCssVariable(i,u);clearTimeout(this.activationTimer);clearTimeout(this.fgDeactivationRemovalTimer);this.rmBoundedActivationClasses();this.adapter.removeClass(a);this.adapter.computeBoundingRect();this.adapter.addClass(s);this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),c)};r.prototype.getFgTranslationCoordinates=function(){var t=this.activationState,r=t.activationEvent,e=t.wasActivatedByPointer;var n;if(e){n=d(r,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect())}else{n={x:this.frame.width/2,y:this.frame.height/2}}n={x:n.x-this.initialSize/2,y:n.y-this.initialSize/2};var i={x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2};return{startPoint:n,endPoint:i}};r.prototype.runDeactivationUXLogicIfReady=function(){var t=this;var e=r.cssClasses.FG_DEACTIVATION;var n=this.activationState,i=n.hasDeactivationUXRun,o=n.isActivated;var a=i||!o;if(a&&this.activationAnimationHasEnded){this.rmBoundedActivationClasses();this.adapter.addClass(e);this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(e)}),A.FG_DEACTIVATION_MS)}};r.prototype.rmBoundedActivationClasses=function(){var t=r.cssClasses.FG_ACTIVATION;this.adapter.removeClass(t);this.activationAnimationHasEnded=false;this.adapter.computeBoundingRect()};r.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent;this.activationState=this.defaultActivationState();setTimeout((function(){return t.previousActivationEvent=undefined}),r.numbers.TAP_DELAY_MS)};r.prototype.deactivateImpl=function(){var t=this;var r=this.activationState;if(!r.isActivated){return}var e=f({},r);if(r.isProgrammatic){requestAnimationFrame((function(){t.animateDeactivation(e)}));this.resetActivationState()}else{this.deregisterDeactivationHandlers();requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=true;t.animateDeactivation(e);t.resetActivationState()}))}};r.prototype.animateDeactivation=function(t){var r=t.wasActivatedByPointer,e=t.wasElementMadeActive;if(r||e){this.runDeactivationUXLogicIfReady()}};r.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var e=Math.max(this.frame.height,this.frame.width);var n=function(){var e=Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2));return e+r.numbers.PADDING};this.maxRadius=this.adapter.isUnbounded()?e:n();var i=Math.floor(e*r.numbers.INITIAL_ORIGIN_SCALE);if(this.adapter.isUnbounded()&&i%2!==0){this.initialSize=i-1}else{this.initialSize=i}this.fgScale=""+this.maxRadius/this.initialSize;this.updateLayoutCssVars()};r.prototype.updateLayoutCssVars=function(){var t=r.strings,e=t.VAR_FG_SIZE,n=t.VAR_LEFT,i=t.VAR_TOP,o=t.VAR_FG_SCALE;this.adapter.updateCssVariable(e,this.initialSize+"px");this.adapter.updateCssVariable(o,this.fgScale);if(this.adapter.isUnbounded()){this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)};this.adapter.updateCssVariable(n,this.unboundedCoords.left+"px");this.adapter.updateCssVariable(i,this.unboundedCoords.top+"px")}};return r}(m); +/** + * @license + * Copyright 2016 Google Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */var I=function(t){l(r,t);function r(){var r=t!==null&&t.apply(this,arguments)||this;r.disabled=false;return r}r.attachTo=function(t,e){if(e===void 0){e={isUnbounded:undefined}}var n=new r(t);if(e.isUnbounded!==undefined){n.unbounded=e.isUnbounded}return n};r.createAdapter=function(t){return{addClass:function(r){return t.root.classList.add(r)},browserSupportsCssVars:function(){return c(window)},computeBoundingRect:function(){return t.root.getBoundingClientRect()},containsEventTarget:function(r){return t.root.contains(r)},deregisterDocumentInteractionHandler:function(t,r){return document.documentElement.removeEventListener(t,r,v())},deregisterInteractionHandler:function(r,e){return t.root.removeEventListener(r,e,v())},deregisterResizeHandler:function(t){return window.removeEventListener("resize",t)},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}},isSurfaceActive:function(){return y(t.root,":active")},isSurfaceDisabled:function(){return Boolean(t.disabled)},isUnbounded:function(){return Boolean(t.unbounded)},registerDocumentInteractionHandler:function(t,r){return document.documentElement.addEventListener(t,r,v())},registerInteractionHandler:function(r,e){return t.root.addEventListener(r,e,v())},registerResizeHandler:function(t){return window.addEventListener("resize",t)},removeClass:function(r){return t.root.classList.remove(r)},updateCssVariable:function(r,e){return t.root.style.setProperty(r,e)}}};Object.defineProperty(r.prototype,"unbounded",{get:function(){return Boolean(this.isUnbounded)},set:function(t){this.isUnbounded=Boolean(t);this.setUnbounded()},enumerable:false,configurable:true});r.prototype.activate=function(){this.foundation.activate()};r.prototype.deactivate=function(){this.foundation.deactivate()};r.prototype.layout=function(){this.foundation.layout()};r.prototype.getDefaultFoundation=function(){return new _(r.createAdapter(this))};r.prototype.initialSyncWithDOM=function(){var t=this.root;this.isUnbounded="mdcRippleIsUnbounded"in t.dataset};r.prototype.setUnbounded=function(){this.foundation.setUnbounded(Boolean(this.isUnbounded))};return r}(w);const C='@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block;--wcs-button-color:var(--wcs-button-plain-color-default);--wcs-button-plain-color-default:var(--wcs-semantic-color-foreground-action-primary-default);--wcs-button-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-button-stroked-color-default:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-button-clear-color-default:var(--wcs-semantic-color-foreground-action-tertiary-default);--wcs-button-focus-outline-color:var(--wcs-semantic-color-border-focus-base);--wcs-button-focus-outline-border-width:var(--wcs-semantic-border-width-large);--wcs-button-background-color:var(--wcs-button-plain-background-color-default);--wcs-button-plain-background-color-default:var(--wcs-semantic-color-background-action-primary-default);--wcs-button-plain-background-color-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-button-stroked-background-color-default:var(--wcs-semantic-color-background-action-secondary-default);--wcs-button-stroked-background-color-disabled:var(--wcs-semantic-color-background-action-secondary-disabled);--wcs-button-clear-background-color-default:var(--wcs-semantic-color-background-action-tertiary-default);--wcs-button-clear-background-color-disabled:var(--wcs-semantic-color-background-action-tertiary-disabled);--wcs-button-ripple-color:var(--wcs-button-plain-ripple-color-default);--wcs-button-plain-ripple-color-default:var(--wcs-semantic-color-ripple-action-primary);--wcs-button-stroked-ripple-color-default:var(--wcs-semantic-color-ripple-action-secondary);--wcs-button-clear-ripple-color-default:var(--wcs-semantic-color-ripple-action-tertiary);--wcs-button-border-radius:var(--wcs-button-border-radius-default);--wcs-button-border-radius-default:var(--wcs-semantic-border-radius-base);--wcs-button-border-radius-rounded:var(--wcs-semantic-border-radius-full);--wcs-button-stroked-border-color:var(--wcs-button-stroked-border-color-default);--wcs-button-stroked-border-width:var(--wcs-semantic-border-width-default);--wcs-button-stroked-border-color-default:var(--wcs-semantic-color-border-action-secondary-default);--wcs-button-stroked-border-color-disabled:var(--wcs-semantic-color-border-action-secondary-disabled);--wcs-button-height-s:var(--wcs-semantic-size-s);--wcs-button-font-size-s:var(--wcs-semantic-font-size-label-2);--wcs-button-padding-size-s:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-button-height-m:var(--wcs-semantic-size-m);--wcs-button-font-size-m:var(--wcs-semantic-font-size-label-1);--wcs-button-padding-size-m:calc(2 * var(--wcs-semantic-spacing-base));--wcs-button-height-l:var(--wcs-semantic-size-l);--wcs-button-font-size-l:var(--wcs-semantic-font-size-label-1);--wcs-button-padding-size-l:calc(3 * var(--wcs-semantic-spacing-base));--wcs-button-font-weight:var(--wcs-semantic-font-weight-medium)}.wcs-inner-button:focus-visible{outline:var(--wcs-button-focus-outline-border-width) dashed var(--wcs-button-focus-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:var(--wcs-button-border-radius)}:host([mode=clear]){--wcs-button-stroked-border-color:transparent}:host([mode=clear]) .wcs-inner-button{box-shadow:none}:host([mode=stroked]){--wcs-button-color:var(--wcs-button-stroked-color-default);--wcs-button-background-color:transparent}:host([mode=stroked]) .wcs-inner-button::before,:host([mode=stroked]) .wcs-inner-button::after{--wcs-button-ripple-color:var(--wcs-button-stroked-ripple-color-default)}:host([mode=clear]){--wcs-button-color:var(--wcs-button-clear-color-default);--wcs-button-background-color:transparent}:host([mode=clear]) .wcs-inner-button::before,:host([mode=clear]) .wcs-inner-button::after{--wcs-button-ripple-color:var(--wcs-button-clear-ripple-color-default)}:host([size=l]){--wcs-button-padding:0 var(--wcs-button-padding-size-l);--wcs-button-height:var(--wcs-button-height-l);--wcs-button-min-width:var(--wcs-button-height-l);--wcs-button-font-size:var(--wcs-button-font-size-l)}:host([size=l]):host([shape=round]) ::slotted(wcs-mat-icon),:host([size=l]):host([shape=square]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-button-padding-size-l))}:host,:host([size=m]){--wcs-button-padding:0 var(--wcs-button-padding-size-m);--wcs-button-height:var(--wcs-button-height-m);--wcs-button-min-width:var(--wcs-button-height-m);--wcs-button-font-size:var(--wcs-button-font-size-m)}:host:host([shape=round]) ::slotted(wcs-mat-icon),:host:host([shape=square]) ::slotted(wcs-mat-icon),:host([size=m]):host([shape=round]) ::slotted(wcs-mat-icon),:host([size=m]):host([shape=square]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-button-padding-size-m))}:host([size=s]){--wcs-button-padding:0 var(--wcs-button-padding-size-s);--wcs-button-height:var(--wcs-button-height-s);--wcs-button-min-width:var(--wcs-button-height-s);--wcs-button-font-size:var(--wcs-button-font-size-s)}:host([size=s]):host([shape=round]) ::slotted(wcs-mat-icon),:host([size=s]):host([shape=square]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-button-padding-size-s))}:host([shape=round]){--wcs-button-border-radius:var(--wcs-button-border-radius-rounded)}:host([shape=square]){--wcs-button-padding:0}:host([shape=normal]) .wcs-inner-button{min-width:var(--wcs-button-min-width, unset);min-height:var(--wcs-button-height, unset)}:host([mode=stroked]) .wcs-inner-button{box-shadow:inset 0 0 0 var(--wcs-button-stroked-border-width) var(--wcs-button-stroked-border-color)}:host([loading]){position:relative}:host([loading]) .wcs-inner-button>*:not(wcs-spinner){visibility:hidden;opacity:0}:host([loading]) wcs-spinner{--wcs-spinner-dashed-background-circle:var(--wcs-button-color);--wcs-spinner-rotating-circle-color:var(--wcs-button-color);height:calc(var(--wcs-button-height) / 2);width:calc(var(--wcs-button-min-width) / 2);position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}:host([disabled]),:host([loading]){cursor:not-allowed}:host([disabled]) .wcs-inner-button,:host([loading]) .wcs-inner-button{opacity:1;cursor:default;pointer-events:none}:host([disabled]){--wcs-button-color:var(--wcs-button-color-disabled);--wcs-button-background-color:var(--wcs-button-plain-background-color-disabled)}:host([mode=stroked][disabled]){--wcs-button-stroked-border-color:var(--wcs-button-stroked-border-color-disabled);--wcs-button-background-color:var(--wcs-button-stroked-background-color-disabled)}:host([mode=clear][disabled]){--wcs-button-background-color:var(--wcs-button-clear-background-color-disabled)}.wcs-inner-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;--mdc-ripple-focus-opacity:0;display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--wcs-font-sans-serif);background-color:var(--wcs-button-background-color);color:var(--wcs-button-color);padding:var(--wcs-button-padding);border-radius:var(--wcs-button-border-radius);border:none;overflow:hidden;outline:0;text-transform:none;margin:0;cursor:pointer;font-weight:var(--wcs-button-font-weight);text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;font-size:var(--wcs-button-font-size);line-height:1.5;height:var(--wcs-button-height);min-width:var(--wcs-button-min-width);transition:color 175ms ease-in-out, background-color 175ms ease-in-out}.wcs-inner-button::before,.wcs-inner-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.wcs-inner-button::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.wcs-inner-button::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.wcs-inner-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.wcs-inner-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.wcs-inner-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.wcs-inner-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button::before,.wcs-inner-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.wcs-inner-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.wcs-inner-button:hover::before,.wcs-inner-button.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}.wcs-inner-button.mdc-ripple-upgraded--background-focused::before,.wcs-inner-button:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.wcs-inner-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.wcs-inner-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:white;background-color:var(--mdc-ripple-color, white)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:var(--wcs-button-ripple-color)}a{text-decoration:none;box-sizing:border-box}button::-moz-focus-inner,a::-moz-focus-inner{border:0}';const E=C;const S=["tabindex","title"];const R=class{constructor(r){t(this,r);this.inheritedAttributes={};this.type="button";this.href=undefined;this.target=undefined;this.disabled=false;this.ripple=true;this.size="m";this.shape="normal";this.mode="plain";this.loading=false}onClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}if(this.type!=="button"&&n(this.el)){const r=this.el.closest("form");if(r){t.preventDefault();const e=window.document.createElement("button");e.type=this.type;e.style.display="none";r.appendChild(e);e.click();e.remove()}}}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},i(this.el)),o(this.el,S))}componentDidLoad(){this.mdcRipple=new I(this.el.shadowRoot.querySelector(".wcs-inner-button"));this.updateRippleState()}async setAriaAttribute(t,r){a(this.nativeButton,t,r)}updateRippleState(){this.mdcRipple.disabled=!this.ripple}getTagName(){return this.href!==undefined?"a":"button"}onRippleChange(){this.updateRippleState()}render(){const t=this.getTagName();const e=this.href!==undefined?{href:this.href,role:"button",target:this.target}:{type:this.type};return r(t,Object.assign({key:"14f58b90f3d1b05b2709cbdb941621c827d462ec"},e,{class:"wcs-inner-button",disabled:this.disabled||this.loading,ref:t=>this.nativeButton=t},this.inheritedAttributes),this.loading&&r("wcs-spinner",{key:"58dbb8b462b5023c59e8bf728ba1d93aa0575cb4"}),r("slot",{key:"b6c394ac1c6a4ee5a9fd6bf10a268420843409d2"}))}static get delegatesFocus(){return true}get el(){return e(this)}static get watchers(){return{ripple:["onRippleChange"]}}};R.style=E;const j="@keyframes wcs-spinner-grow{0%{opacity:0;transform:scale(0)}25%{opacity:1}75%{opacity:0;transform:scale(1)}}@keyframes wcs-spinner-rotate{0%{transform:rotate(0deg);transform-origin:center}100%{transform:rotate(360deg);transform-origin:center}}@keyframes wcs-spinner-dash{0%{stroke-dasharray:1, 150;stroke-dashoffset:0}50%{stroke-dasharray:90, 150;stroke-dashoffset:-35}100%{stroke-dasharray:90, 150;stroke-dashoffset:-131}}:host{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border-radius:50%;--wcs-spinner-dashed-background-circle:var(--wcs-semantic-color-background-surface-tertiary);--wcs-spinner-rotating-circle-color:var(--wcs-semantic-color-background-surface-brand);--wcs-spinner-rotate-animation-duration:var(--wcs-semantic-motion-duration-animation-base);--wcs-spinner-dashed-animation-duration:var(--wcs-semantic-motion-duration-animation-base);--wcs-spinner-growing-animation-duration:var(--wcs-semantic-motion-duration-animation-fast)}:host([mode=border]) svg .dashed-background-circle{stroke:var(--wcs-spinner-dashed-background-circle);stroke-width:7px;stroke-dasharray:3, 3;stroke-dashoffset:1;stroke-linecap:butt}:host([mode=border]) svg .infinite-rotation-container{animation:wcs-spinner-rotate var(--wcs-spinner-rotate-animation-duration) linear infinite}:host([mode=border]) svg .dash-rotating-circle{stroke:var(--wcs-spinner-rotating-circle-color);stroke-width:8px;stroke-linecap:round;animation:wcs-spinner-dash var(--wcs-spinner-dashed-animation-duration) ease-in-out infinite}:host([mode=growing]){background-color:var(--wcs-spinner-rotating-circle-color);opacity:0;animation:wcs-spinner-grow var(--wcs-spinner-growing-animation-duration) ease-out infinite}";const D=j;const F=class{constructor(r){t(this,r);this.mode="border"}render(){return r("svg",{key:"d953d95583147d9de0a9b9afdb4f31640ed62649",viewBox:"0 0 50 50"},r("circle",{key:"475125d830b565ce8d7c09b7a30ff0aa7d42a243",class:"dashed-background-circle",cx:"25",cy:"25",r:"21",fill:"none"}),r("g",{key:"d58556cea901fa24246d21354d29fea350bb70b9",class:"infinite-rotation-container"},r("circle",{key:"604fef216b29cdaba777c8d9778f50de7dda7fcc",class:"dash-rotating-circle",cx:"25",cy:"25",r:"21",fill:"none"})))}};F.style=D;export{R as wcs_button,F as wcs_spinner}; +//# sourceMappingURL=p-450942b1.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-450942b1.entry.js.map b/public/wcs/p-450942b1.entry.js.map new file mode 100644 index 0000000..8144996 --- /dev/null +++ b/public/wcs/p-450942b1.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["supportsCssVariables_","supportsCssVariables","windowObj","forceRefresh","CSS","supportsCssVars","supportsFunctionPresent","supports","explicitlySupportsCssVars","weAreFeatureDetectingSafari10plus","getNormalizedEventCoords","evt","pageOffset","clientRect","x","y","documentX","left","documentY","top","normalizedX","normalizedY","type","touchEvent","changedTouches","pageX","pageY","mouseEvent","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__values","o","Symbol","iterator","m","next","value","done","__read","r","ar","e","push","error","__spreadArray","to","from","pack","l","slice","concat","MDCFoundation","adapter","defineProperty","get","enumerable","configurable","init","destroy","MDCComponent","root","foundation","args","_i","initialize","undefined","getDefaultFoundation","initialSyncWithDOM","attachTo","_args","Error","listen","evtType","handler","options","addEventListener","unlisten","removeEventListener","emit","evtData","shouldBubble","CustomEvent","bubbles","detail","document","createEvent","initCustomEvent","dispatchEvent","applyPassive","globalObj","window","supportsPassiveOption","passive","passiveSupported","err","matches","element","selector","nativeMatches","webkitMatchesSelector","msMatchesSelector","cssClasses","BG_FOCUSED","FG_ACTIVATION","FG_DEACTIVATION","ROOT","UNBOUNDED","strings","VAR_FG_SCALE","VAR_FG_SIZE","VAR_FG_TRANSLATE_END","VAR_FG_TRANSLATE_START","VAR_LEFT","VAR_TOP","numbers","DEACTIVATION_TIMEOUT_MS","FG_DEACTIVATION_MS","INITIAL_ORIGIN_SCALE","PADDING","TAP_DELAY_MS","ACTIVATION_EVENT_TYPES","POINTER_DEACTIVATION_EVENT_TYPES","activatedTargets","MDCRippleFoundation","_super","_this","defaultAdapter","activationAnimationHasEnded","activationTimer","fgDeactivationRemovalTimer","fgScale","frame","width","height","initialSize","layoutFrame","maxRadius","unboundedCoords","activationState","defaultActivationState","activationTimerCallback","runDeactivationUXLogicIfReady","activateHandler","activateImpl","deactivateHandler","deactivateImpl","focusHandler","handleFocus","blurHandler","handleBlur","resizeHandler","layout","addClass","browserSupportsCssVars","computeBoundingRect","right","bottom","containsEventTarget","deregisterDocumentInteractionHandler","deregisterInteractionHandler","deregisterResizeHandler","getWindowPageOffset","isSurfaceActive","isSurfaceDisabled","isUnbounded","registerDocumentInteractionHandler","registerInteractionHandler","registerResizeHandler","removeClass","updateCssVariable","supportsPressRipple","registerRootHandlers","_a","ROOT_1","UNBOUNDED_1","requestAnimationFrame","layoutInternal","clearTimeout","ROOT_2","UNBOUNDED_2","removeCssVars","deregisterRootHandlers","deregisterDeactivationHandlers","activate","deactivate","cancelAnimationFrame","setUnbounded","unbounded","activationEvent","hasDeactivationUXRun","isActivated","isProgrammatic","wasActivatedByPointer","wasElementMadeActive","e_1","ACTIVATION_EVENT_TYPES_1","ACTIVATION_EVENT_TYPES_1_1","e_1_1","return","registerDeactivationHandlers","e_2","POINTER_DEACTIVATION_EVENT_TYPES_1","POINTER_DEACTIVATION_EVENT_TYPES_1_1","e_2_1","e_3","ACTIVATION_EVENT_TYPES_2","ACTIVATION_EVENT_TYPES_2_1","e_3_1","e_4","POINTER_DEACTIVATION_EVENT_TYPES_2","POINTER_DEACTIVATION_EVENT_TYPES_2_1","e_4_1","rippleStrings","keys","forEach","key","indexOf","previousActivationEvent","isSameInteraction","hasActivatedChild","some","target","resetActivationState","checkElementMadeActive","animateActivation","keyCode","_b","translateStart","translateEnd","_c","getFgTranslationCoordinates","startPoint","endPoint","rmBoundedActivationClasses","setTimeout","activationHasEnded","state","animateDeactivation","maxDim","Math","max","getBoundedRadius","hypotenuse","sqrt","pow","floor","updateLayoutCssVars","round","MDCRipple","disabled","opts","ripple","createAdapter","instance","className","classList","add","util.supportsCssVariables","getBoundingClientRect","contains","documentElement","pageXOffset","pageYOffset","Boolean","remove","varName","style","setProperty","set","dataset","buttonCss","WcsButtonStyle0","BUTTON_INHERITED_ATTRS","Button","inheritedAttributes","onClick","ev","loading","stopImmediatePropagation","hasShadowDom","el","form","closest","preventDefault","fakeButton","createElement","display","appendChild","click","componentWillLoad","inheritAriaAttributes","inheritAttributes","componentDidLoad","mdcRipple","shadowRoot","querySelector","updateRippleState","setAriaAttribute","attr","setOrRemoveAttribute","nativeButton","getTagName","href","onRippleChange","render","TagType","attrs","role","h","class","ref","spinnerCss","WcsSpinnerStyle0","Spinner","viewBox","cx","cy","fill"],"sources":["node_modules/@material/ripple/util.js","node_modules/tslib/tslib.es6.js","node_modules/@material/base/foundation.js","node_modules/@material/base/component.js","node_modules/@material/dom/events.js","node_modules/@material/dom/ponyfill.js","node_modules/@material/ripple/constants.js","node_modules/@material/ripple/foundation.js","node_modules/@material/ripple/component.js","src/components/button/button.scss?tag=wcs-button&encapsulation=shadow","src/components/button/button.tsx","src/components/spinner/spinner.scss?tag=wcs-spinner&encapsulation=shadow","src/components/spinner/spinner.tsx"],"sourcesContent":["/**\n * Stores result from supportsCssVariables to avoid redundant processing to\n * detect CSS custom variable support.\n */\nvar supportsCssVariables_;\nexport function supportsCssVariables(windowObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n var CSS = windowObj.CSS;\n var supportsCssVars = supportsCssVariables_;\n if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {\n return supportsCssVariables_;\n }\n var supportsFunctionPresent = CSS && typeof CSS.supports === 'function';\n if (!supportsFunctionPresent) {\n return false;\n }\n var explicitlySupportsCssVars = CSS.supports('--css-vars', 'yes');\n // See: https://bugs.webkit.org/show_bug.cgi?id=154669\n // See: README section on Safari\n var weAreFeatureDetectingSafari10plus = (CSS.supports('(--css-vars: yes)') &&\n CSS.supports('color', '#00000000'));\n supportsCssVars =\n explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus;\n if (!forceRefresh) {\n supportsCssVariables_ = supportsCssVars;\n }\n return supportsCssVars;\n}\nexport function getNormalizedEventCoords(evt, pageOffset, clientRect) {\n if (!evt) {\n return { x: 0, y: 0 };\n }\n var x = pageOffset.x, y = pageOffset.y;\n var documentX = x + clientRect.left;\n var documentY = y + clientRect.top;\n var normalizedX;\n var normalizedY;\n // Determine touch point relative to the ripple container.\n if (evt.type === 'touchstart') {\n var touchEvent = evt;\n normalizedX = touchEvent.changedTouches[0].pageX - documentX;\n normalizedY = touchEvent.changedTouches[0].pageY - documentY;\n }\n else {\n var mouseEvent = evt;\n normalizedX = mouseEvent.pageX - documentX;\n normalizedY = mouseEvent.pageY - documentY;\n }\n return { x: normalizedX, y: normalizedY };\n}\n//# sourceMappingURL=util.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCFoundation = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports every\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"strings\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"numbers\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\n get: function () {\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n // validation.\n return {};\n },\n enumerable: false,\n configurable: true\n });\n MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n };\n return MDCFoundation;\n}());\nexport { MDCFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __read, __spreadArray } from \"tslib\";\nimport { MDCFoundation } from './foundation';\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root = root;\n this.initialize.apply(this, __spreadArray([], __read(args)));\n // Note that we initialize foundation here and not within the constructor's\n // default param so that this.root is defined and can be used within the\n // foundation class.\n this.foundation =\n foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation.init();\n this.initialSyncWithDOM();\n }\n MDCComponent.attachTo = function (root) {\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n // returns an instantiated component with its root set to that element. Also note that in the cases of\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n // from getDefaultFoundation().\n return new MDCComponent(root, new MDCFoundation({}));\n };\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n // Subclasses can override this to do any additional setup work that would be considered part of a\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n // initialized. Any additional arguments besides root and foundation will be passed in here.\n };\n MDCComponent.prototype.getDefaultFoundation = function () {\n // Subclasses must override this method to return a properly configured foundation class for the\n // component.\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // Subclasses should override this method if they need to perform work to synchronize with a host DOM\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n };\n MDCComponent.prototype.destroy = function () {\n // Subclasses may implement this method to release any resources / deregister any listeners they have\n // attached. An example of this might be deregistering a resize event from the window object.\n this.foundation.destroy();\n };\n MDCComponent.prototype.listen = function (evtType, handler, options) {\n this.root.addEventListener(evtType, handler, options);\n };\n MDCComponent.prototype.unlisten = function (evtType, handler, options) {\n this.root.removeEventListener(evtType, handler, options);\n };\n /**\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n */\n MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root.dispatchEvent(evt);\n };\n return MDCComponent;\n}());\nexport { MDCComponent };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCComponent;\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nexport function applyPassive(globalObj) {\n if (globalObj === void 0) { globalObj = window; }\n return supportsPassiveOption(globalObj) ?\n { passive: true } :\n false;\n}\nfunction supportsPassiveOption(globalObj) {\n if (globalObj === void 0) { globalObj = window; }\n // See\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n var passiveSupported = false;\n try {\n var options = {\n // This function will be called when the browser\n // attempts to access the passive property.\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n var handler = function () { };\n globalObj.document.addEventListener('test', handler, options);\n globalObj.document.removeEventListener('test', handler, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n return passiveSupported;\n}\n//# sourceMappingURL=events.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\n */\nexport function closest(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nexport function matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n/**\n * Used to compute the estimated scroll width of elements. When an element is\n * hidden due to display: none; being applied to a parent element, the width is\n * returned as 0. However, the element will have a true width once no longer\n * inside a display: none context. This method computes an estimated width when\n * the element is hidden or returns the true width when the element is visble.\n * @param {Element} element the element whose width to estimate\n */\nexport function estimateScrollWidth(element) {\n // Check the offsetParent. If the element inherits display: none from any\n // parent, the offsetParent property will be null (see\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).\n // This check ensures we only clone the node when necessary.\n var htmlEl = element;\n if (htmlEl.offsetParent !== null) {\n return htmlEl.scrollWidth;\n }\n var clone = htmlEl.cloneNode(true);\n clone.style.setProperty('position', 'absolute');\n clone.style.setProperty('transform', 'translate(-9999px, -9999px)');\n document.documentElement.appendChild(clone);\n var scrollWidth = clone.scrollWidth;\n document.documentElement.removeChild(clone);\n return scrollWidth;\n}\n//# sourceMappingURL=ponyfill.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n // Ripple is a special case where the \"root\" component is really a \"mixin\" of sorts,\n // given that it's an 'upgrade' to an existing component. That being said it is the root\n // CSS class that all other CSS classes derive from.\n BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',\n FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation',\n ROOT: 'mdc-ripple-upgraded',\n UNBOUNDED: 'mdc-ripple-upgraded--unbounded',\n};\nexport var strings = {\n VAR_FG_SCALE: '--mdc-ripple-fg-scale',\n VAR_FG_SIZE: '--mdc-ripple-fg-size',\n VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end',\n VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',\n VAR_LEFT: '--mdc-ripple-left',\n VAR_TOP: '--mdc-ripple-top',\n};\nexport var numbers = {\n DEACTIVATION_TIMEOUT_MS: 225,\n FG_DEACTIVATION_MS: 150,\n INITIAL_ORIGIN_SCALE: 0.6,\n PADDING: 10,\n TAP_DELAY_MS: 300, // Delay between touch and simulated mouse events on touch devices\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends, __values } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nimport { getNormalizedEventCoords } from './util';\n// Activation events registered on the root element of each instance for activation\nvar ACTIVATION_EVENT_TYPES = [\n 'touchstart', 'pointerdown', 'mousedown', 'keydown',\n];\n// Deactivation events registered on documentElement when a pointer-related down event occurs\nvar POINTER_DEACTIVATION_EVENT_TYPES = [\n 'touchend', 'pointerup', 'mouseup', 'contextmenu',\n];\n// simultaneous nested activations\nvar activatedTargets = [];\nvar MDCRippleFoundation = /** @class */ (function (_super) {\n __extends(MDCRippleFoundation, _super);\n function MDCRippleFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCRippleFoundation.defaultAdapter), adapter)) || this;\n _this.activationAnimationHasEnded = false;\n _this.activationTimer = 0;\n _this.fgDeactivationRemovalTimer = 0;\n _this.fgScale = '0';\n _this.frame = { width: 0, height: 0 };\n _this.initialSize = 0;\n _this.layoutFrame = 0;\n _this.maxRadius = 0;\n _this.unboundedCoords = { left: 0, top: 0 };\n _this.activationState = _this.defaultActivationState();\n _this.activationTimerCallback = function () {\n _this.activationAnimationHasEnded = true;\n _this.runDeactivationUXLogicIfReady();\n };\n _this.activateHandler = function (e) {\n _this.activateImpl(e);\n };\n _this.deactivateHandler = function () {\n _this.deactivateImpl();\n };\n _this.focusHandler = function () {\n _this.handleFocus();\n };\n _this.blurHandler = function () {\n _this.handleBlur();\n };\n _this.resizeHandler = function () {\n _this.layout();\n };\n return _this;\n }\n Object.defineProperty(MDCRippleFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n browserSupportsCssVars: function () { return true; },\n computeBoundingRect: function () {\n return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 });\n },\n containsEventTarget: function () { return true; },\n deregisterDocumentInteractionHandler: function () { return undefined; },\n deregisterInteractionHandler: function () { return undefined; },\n deregisterResizeHandler: function () { return undefined; },\n getWindowPageOffset: function () { return ({ x: 0, y: 0 }); },\n isSurfaceActive: function () { return true; },\n isSurfaceDisabled: function () { return true; },\n isUnbounded: function () { return true; },\n registerDocumentInteractionHandler: function () { return undefined; },\n registerInteractionHandler: function () { return undefined; },\n registerResizeHandler: function () { return undefined; },\n removeClass: function () { return undefined; },\n updateCssVariable: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCRippleFoundation.prototype.init = function () {\n var _this = this;\n var supportsPressRipple = this.supportsPressRipple();\n this.registerRootHandlers(supportsPressRipple);\n if (supportsPressRipple) {\n var _a = MDCRippleFoundation.cssClasses, ROOT_1 = _a.ROOT, UNBOUNDED_1 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter.addClass(ROOT_1);\n if (_this.adapter.isUnbounded()) {\n _this.adapter.addClass(UNBOUNDED_1);\n // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple\n _this.layoutInternal();\n }\n });\n }\n };\n MDCRippleFoundation.prototype.destroy = function () {\n var _this = this;\n if (this.supportsPressRipple()) {\n if (this.activationTimer) {\n clearTimeout(this.activationTimer);\n this.activationTimer = 0;\n this.adapter.removeClass(MDCRippleFoundation.cssClasses.FG_ACTIVATION);\n }\n if (this.fgDeactivationRemovalTimer) {\n clearTimeout(this.fgDeactivationRemovalTimer);\n this.fgDeactivationRemovalTimer = 0;\n this.adapter.removeClass(MDCRippleFoundation.cssClasses.FG_DEACTIVATION);\n }\n var _a = MDCRippleFoundation.cssClasses, ROOT_2 = _a.ROOT, UNBOUNDED_2 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter.removeClass(ROOT_2);\n _this.adapter.removeClass(UNBOUNDED_2);\n _this.removeCssVars();\n });\n }\n this.deregisterRootHandlers();\n this.deregisterDeactivationHandlers();\n };\n /**\n * @param evt Optional event containing position information.\n */\n MDCRippleFoundation.prototype.activate = function (evt) {\n this.activateImpl(evt);\n };\n MDCRippleFoundation.prototype.deactivate = function () {\n this.deactivateImpl();\n };\n MDCRippleFoundation.prototype.layout = function () {\n var _this = this;\n if (this.layoutFrame) {\n cancelAnimationFrame(this.layoutFrame);\n }\n this.layoutFrame = requestAnimationFrame(function () {\n _this.layoutInternal();\n _this.layoutFrame = 0;\n });\n };\n MDCRippleFoundation.prototype.setUnbounded = function (unbounded) {\n var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;\n if (unbounded) {\n this.adapter.addClass(UNBOUNDED);\n }\n else {\n this.adapter.removeClass(UNBOUNDED);\n }\n };\n MDCRippleFoundation.prototype.handleFocus = function () {\n var _this = this;\n requestAnimationFrame(function () { return _this.adapter.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED); });\n };\n MDCRippleFoundation.prototype.handleBlur = function () {\n var _this = this;\n requestAnimationFrame(function () { return _this.adapter.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED); });\n };\n /**\n * We compute this property so that we are not querying information about the client\n * until the point in time where the foundation requests it. This prevents scenarios where\n * client-side feature-detection may happen too early, such as when components are rendered on the server\n * and then initialized at mount time on the client.\n */\n MDCRippleFoundation.prototype.supportsPressRipple = function () {\n return this.adapter.browserSupportsCssVars();\n };\n MDCRippleFoundation.prototype.defaultActivationState = function () {\n return {\n activationEvent: undefined,\n hasDeactivationUXRun: false,\n isActivated: false,\n isProgrammatic: false,\n wasActivatedByPointer: false,\n wasElementMadeActive: false,\n };\n };\n /**\n * supportsPressRipple Passed from init to save a redundant function call\n */\n MDCRippleFoundation.prototype.registerRootHandlers = function (supportsPressRipple) {\n var e_1, _a;\n if (supportsPressRipple) {\n try {\n for (var ACTIVATION_EVENT_TYPES_1 = __values(ACTIVATION_EVENT_TYPES), ACTIVATION_EVENT_TYPES_1_1 = ACTIVATION_EVENT_TYPES_1.next(); !ACTIVATION_EVENT_TYPES_1_1.done; ACTIVATION_EVENT_TYPES_1_1 = ACTIVATION_EVENT_TYPES_1.next()) {\n var evtType = ACTIVATION_EVENT_TYPES_1_1.value;\n this.adapter.registerInteractionHandler(evtType, this.activateHandler);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ACTIVATION_EVENT_TYPES_1_1 && !ACTIVATION_EVENT_TYPES_1_1.done && (_a = ACTIVATION_EVENT_TYPES_1.return)) _a.call(ACTIVATION_EVENT_TYPES_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (this.adapter.isUnbounded()) {\n this.adapter.registerResizeHandler(this.resizeHandler);\n }\n }\n this.adapter.registerInteractionHandler('focus', this.focusHandler);\n this.adapter.registerInteractionHandler('blur', this.blurHandler);\n };\n MDCRippleFoundation.prototype.registerDeactivationHandlers = function (evt) {\n var e_2, _a;\n if (evt.type === 'keydown') {\n this.adapter.registerInteractionHandler('keyup', this.deactivateHandler);\n }\n else {\n try {\n for (var POINTER_DEACTIVATION_EVENT_TYPES_1 = __values(POINTER_DEACTIVATION_EVENT_TYPES), POINTER_DEACTIVATION_EVENT_TYPES_1_1 = POINTER_DEACTIVATION_EVENT_TYPES_1.next(); !POINTER_DEACTIVATION_EVENT_TYPES_1_1.done; POINTER_DEACTIVATION_EVENT_TYPES_1_1 = POINTER_DEACTIVATION_EVENT_TYPES_1.next()) {\n var evtType = POINTER_DEACTIVATION_EVENT_TYPES_1_1.value;\n this.adapter.registerDocumentInteractionHandler(evtType, this.deactivateHandler);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (POINTER_DEACTIVATION_EVENT_TYPES_1_1 && !POINTER_DEACTIVATION_EVENT_TYPES_1_1.done && (_a = POINTER_DEACTIVATION_EVENT_TYPES_1.return)) _a.call(POINTER_DEACTIVATION_EVENT_TYPES_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n };\n MDCRippleFoundation.prototype.deregisterRootHandlers = function () {\n var e_3, _a;\n try {\n for (var ACTIVATION_EVENT_TYPES_2 = __values(ACTIVATION_EVENT_TYPES), ACTIVATION_EVENT_TYPES_2_1 = ACTIVATION_EVENT_TYPES_2.next(); !ACTIVATION_EVENT_TYPES_2_1.done; ACTIVATION_EVENT_TYPES_2_1 = ACTIVATION_EVENT_TYPES_2.next()) {\n var evtType = ACTIVATION_EVENT_TYPES_2_1.value;\n this.adapter.deregisterInteractionHandler(evtType, this.activateHandler);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (ACTIVATION_EVENT_TYPES_2_1 && !ACTIVATION_EVENT_TYPES_2_1.done && (_a = ACTIVATION_EVENT_TYPES_2.return)) _a.call(ACTIVATION_EVENT_TYPES_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n this.adapter.deregisterInteractionHandler('focus', this.focusHandler);\n this.adapter.deregisterInteractionHandler('blur', this.blurHandler);\n if (this.adapter.isUnbounded()) {\n this.adapter.deregisterResizeHandler(this.resizeHandler);\n }\n };\n MDCRippleFoundation.prototype.deregisterDeactivationHandlers = function () {\n var e_4, _a;\n this.adapter.deregisterInteractionHandler('keyup', this.deactivateHandler);\n try {\n for (var POINTER_DEACTIVATION_EVENT_TYPES_2 = __values(POINTER_DEACTIVATION_EVENT_TYPES), POINTER_DEACTIVATION_EVENT_TYPES_2_1 = POINTER_DEACTIVATION_EVENT_TYPES_2.next(); !POINTER_DEACTIVATION_EVENT_TYPES_2_1.done; POINTER_DEACTIVATION_EVENT_TYPES_2_1 = POINTER_DEACTIVATION_EVENT_TYPES_2.next()) {\n var evtType = POINTER_DEACTIVATION_EVENT_TYPES_2_1.value;\n this.adapter.deregisterDocumentInteractionHandler(evtType, this.deactivateHandler);\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (POINTER_DEACTIVATION_EVENT_TYPES_2_1 && !POINTER_DEACTIVATION_EVENT_TYPES_2_1.done && (_a = POINTER_DEACTIVATION_EVENT_TYPES_2.return)) _a.call(POINTER_DEACTIVATION_EVENT_TYPES_2);\n }\n finally { if (e_4) throw e_4.error; }\n }\n };\n MDCRippleFoundation.prototype.removeCssVars = function () {\n var _this = this;\n var rippleStrings = MDCRippleFoundation.strings;\n var keys = Object.keys(rippleStrings);\n keys.forEach(function (key) {\n if (key.indexOf('VAR_') === 0) {\n _this.adapter.updateCssVariable(rippleStrings[key], null);\n }\n });\n };\n MDCRippleFoundation.prototype.activateImpl = function (evt) {\n var _this = this;\n if (this.adapter.isSurfaceDisabled()) {\n return;\n }\n var activationState = this.activationState;\n if (activationState.isActivated) {\n return;\n }\n // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction\n var previousActivationEvent = this.previousActivationEvent;\n var isSameInteraction = previousActivationEvent && evt !== undefined && previousActivationEvent.type !== evt.type;\n if (isSameInteraction) {\n return;\n }\n activationState.isActivated = true;\n activationState.isProgrammatic = evt === undefined;\n activationState.activationEvent = evt;\n activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : evt !== undefined && (evt.type === 'mousedown' || evt.type === 'touchstart' || evt.type === 'pointerdown');\n var hasActivatedChild = evt !== undefined &&\n activatedTargets.length > 0 &&\n activatedTargets.some(function (target) { return _this.adapter.containsEventTarget(target); });\n if (hasActivatedChild) {\n // Immediately reset activation state, while preserving logic that prevents touch follow-on events\n this.resetActivationState();\n return;\n }\n if (evt !== undefined) {\n activatedTargets.push(evt.target);\n this.registerDeactivationHandlers(evt);\n }\n activationState.wasElementMadeActive = this.checkElementMadeActive(evt);\n if (activationState.wasElementMadeActive) {\n this.animateActivation();\n }\n requestAnimationFrame(function () {\n // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples\n activatedTargets = [];\n if (!activationState.wasElementMadeActive\n && evt !== undefined\n && (evt.key === ' ' || evt.keyCode === 32)) {\n // If space was pressed, try again within an rAF call to detect :active, because different UAs report\n // active states inconsistently when they're called within event handling code:\n // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971\n // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741\n // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS\n // variable is set within a rAF callback for a submit button interaction (#2241).\n activationState.wasElementMadeActive = _this.checkElementMadeActive(evt);\n if (activationState.wasElementMadeActive) {\n _this.animateActivation();\n }\n }\n if (!activationState.wasElementMadeActive) {\n // Reset activation state immediately if element was not made active.\n _this.activationState = _this.defaultActivationState();\n }\n });\n };\n MDCRippleFoundation.prototype.checkElementMadeActive = function (evt) {\n return (evt !== undefined && evt.type === 'keydown') ?\n this.adapter.isSurfaceActive() :\n true;\n };\n MDCRippleFoundation.prototype.animateActivation = function () {\n var _this = this;\n var _a = MDCRippleFoundation.strings, VAR_FG_TRANSLATE_START = _a.VAR_FG_TRANSLATE_START, VAR_FG_TRANSLATE_END = _a.VAR_FG_TRANSLATE_END;\n var _b = MDCRippleFoundation.cssClasses, FG_DEACTIVATION = _b.FG_DEACTIVATION, FG_ACTIVATION = _b.FG_ACTIVATION;\n var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;\n this.layoutInternal();\n var translateStart = '';\n var translateEnd = '';\n if (!this.adapter.isUnbounded()) {\n var _c = this.getFgTranslationCoordinates(), startPoint = _c.startPoint, endPoint = _c.endPoint;\n translateStart = startPoint.x + \"px, \" + startPoint.y + \"px\";\n translateEnd = endPoint.x + \"px, \" + endPoint.y + \"px\";\n }\n this.adapter.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);\n this.adapter.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);\n // Cancel any ongoing activation/deactivation animations\n clearTimeout(this.activationTimer);\n clearTimeout(this.fgDeactivationRemovalTimer);\n this.rmBoundedActivationClasses();\n this.adapter.removeClass(FG_DEACTIVATION);\n // Force layout in order to re-trigger the animation.\n this.adapter.computeBoundingRect();\n this.adapter.addClass(FG_ACTIVATION);\n this.activationTimer = setTimeout(function () {\n _this.activationTimerCallback();\n }, DEACTIVATION_TIMEOUT_MS);\n };\n MDCRippleFoundation.prototype.getFgTranslationCoordinates = function () {\n var _a = this.activationState, activationEvent = _a.activationEvent, wasActivatedByPointer = _a.wasActivatedByPointer;\n var startPoint;\n if (wasActivatedByPointer) {\n startPoint = getNormalizedEventCoords(activationEvent, this.adapter.getWindowPageOffset(), this.adapter.computeBoundingRect());\n }\n else {\n startPoint = {\n x: this.frame.width / 2,\n y: this.frame.height / 2,\n };\n }\n // Center the element around the start point.\n startPoint = {\n x: startPoint.x - (this.initialSize / 2),\n y: startPoint.y - (this.initialSize / 2),\n };\n var endPoint = {\n x: (this.frame.width / 2) - (this.initialSize / 2),\n y: (this.frame.height / 2) - (this.initialSize / 2),\n };\n return { startPoint: startPoint, endPoint: endPoint };\n };\n MDCRippleFoundation.prototype.runDeactivationUXLogicIfReady = function () {\n var _this = this;\n // This method is called both when a pointing device is released, and when the activation animation ends.\n // The deactivation animation should only run after both of those occur.\n var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;\n var _a = this.activationState, hasDeactivationUXRun = _a.hasDeactivationUXRun, isActivated = _a.isActivated;\n var activationHasEnded = hasDeactivationUXRun || !isActivated;\n if (activationHasEnded && this.activationAnimationHasEnded) {\n this.rmBoundedActivationClasses();\n this.adapter.addClass(FG_DEACTIVATION);\n this.fgDeactivationRemovalTimer = setTimeout(function () {\n _this.adapter.removeClass(FG_DEACTIVATION);\n }, numbers.FG_DEACTIVATION_MS);\n }\n };\n MDCRippleFoundation.prototype.rmBoundedActivationClasses = function () {\n var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;\n this.adapter.removeClass(FG_ACTIVATION);\n this.activationAnimationHasEnded = false;\n this.adapter.computeBoundingRect();\n };\n MDCRippleFoundation.prototype.resetActivationState = function () {\n var _this = this;\n this.previousActivationEvent = this.activationState.activationEvent;\n this.activationState = this.defaultActivationState();\n // Touch devices may fire additional events for the same interaction within a short time.\n // Store the previous event until it's safe to assume that subsequent events are for new interactions.\n setTimeout(function () { return _this.previousActivationEvent = undefined; }, MDCRippleFoundation.numbers.TAP_DELAY_MS);\n };\n MDCRippleFoundation.prototype.deactivateImpl = function () {\n var _this = this;\n var activationState = this.activationState;\n // This can happen in scenarios such as when you have a keyup event that blurs the element.\n if (!activationState.isActivated) {\n return;\n }\n var state = __assign({}, activationState);\n if (activationState.isProgrammatic) {\n requestAnimationFrame(function () {\n _this.animateDeactivation(state);\n });\n this.resetActivationState();\n }\n else {\n this.deregisterDeactivationHandlers();\n requestAnimationFrame(function () {\n _this.activationState.hasDeactivationUXRun = true;\n _this.animateDeactivation(state);\n _this.resetActivationState();\n });\n }\n };\n MDCRippleFoundation.prototype.animateDeactivation = function (_a) {\n var wasActivatedByPointer = _a.wasActivatedByPointer, wasElementMadeActive = _a.wasElementMadeActive;\n if (wasActivatedByPointer || wasElementMadeActive) {\n this.runDeactivationUXLogicIfReady();\n }\n };\n MDCRippleFoundation.prototype.layoutInternal = function () {\n var _this = this;\n this.frame = this.adapter.computeBoundingRect();\n var maxDim = Math.max(this.frame.height, this.frame.width);\n // Surface diameter is treated differently for unbounded vs. bounded ripples.\n // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n // `overflow: hidden`.\n var getBoundedRadius = function () {\n var hypotenuse = Math.sqrt(Math.pow(_this.frame.width, 2) + Math.pow(_this.frame.height, 2));\n return hypotenuse + MDCRippleFoundation.numbers.PADDING;\n };\n this.maxRadius = this.adapter.isUnbounded() ? maxDim : getBoundedRadius();\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n var initialSize = Math.floor(maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE);\n // Unbounded ripple size should always be even number to equally center align.\n if (this.adapter.isUnbounded() && initialSize % 2 !== 0) {\n this.initialSize = initialSize - 1;\n }\n else {\n this.initialSize = initialSize;\n }\n this.fgScale = \"\" + this.maxRadius / this.initialSize;\n this.updateLayoutCssVars();\n };\n MDCRippleFoundation.prototype.updateLayoutCssVars = function () {\n var _a = MDCRippleFoundation.strings, VAR_FG_SIZE = _a.VAR_FG_SIZE, VAR_LEFT = _a.VAR_LEFT, VAR_TOP = _a.VAR_TOP, VAR_FG_SCALE = _a.VAR_FG_SCALE;\n this.adapter.updateCssVariable(VAR_FG_SIZE, this.initialSize + \"px\");\n this.adapter.updateCssVariable(VAR_FG_SCALE, this.fgScale);\n if (this.adapter.isUnbounded()) {\n this.unboundedCoords = {\n left: Math.round((this.frame.width / 2) - (this.initialSize / 2)),\n top: Math.round((this.frame.height / 2) - (this.initialSize / 2)),\n };\n this.adapter.updateCssVariable(VAR_LEFT, this.unboundedCoords.left + \"px\");\n this.adapter.updateCssVariable(VAR_TOP, this.unboundedCoords.top + \"px\");\n }\n };\n return MDCRippleFoundation;\n}(MDCFoundation));\nexport { MDCRippleFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCRippleFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { applyPassive } from '@material/dom/events';\nimport { matches } from '@material/dom/ponyfill';\nimport { MDCRippleFoundation } from './foundation';\nimport * as util from './util';\nvar MDCRipple = /** @class */ (function (_super) {\n __extends(MDCRipple, _super);\n function MDCRipple() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.disabled = false;\n return _this;\n }\n MDCRipple.attachTo = function (root, opts) {\n if (opts === void 0) { opts = {\n isUnbounded: undefined\n }; }\n var ripple = new MDCRipple(root);\n // Only override unbounded behavior if option is explicitly specified\n if (opts.isUnbounded !== undefined) {\n ripple.unbounded = opts.isUnbounded;\n }\n return ripple;\n };\n MDCRipple.createAdapter = function (instance) {\n return {\n addClass: function (className) { return instance.root.classList.add(className); },\n browserSupportsCssVars: function () { return util.supportsCssVariables(window); },\n computeBoundingRect: function () { return instance.root.getBoundingClientRect(); },\n containsEventTarget: function (target) { return instance.root.contains(target); },\n deregisterDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.removeEventListener(evtType, handler, applyPassive());\n },\n deregisterInteractionHandler: function (evtType, handler) {\n return instance.root\n .removeEventListener(evtType, handler, applyPassive());\n },\n deregisterResizeHandler: function (handler) {\n return window.removeEventListener('resize', handler);\n },\n getWindowPageOffset: function () {\n return ({ x: window.pageXOffset, y: window.pageYOffset });\n },\n isSurfaceActive: function () { return matches(instance.root, ':active'); },\n isSurfaceDisabled: function () { return Boolean(instance.disabled); },\n isUnbounded: function () { return Boolean(instance.unbounded); },\n registerDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.addEventListener(evtType, handler, applyPassive());\n },\n registerInteractionHandler: function (evtType, handler) {\n return instance.root\n .addEventListener(evtType, handler, applyPassive());\n },\n registerResizeHandler: function (handler) {\n return window.addEventListener('resize', handler);\n },\n removeClass: function (className) { return instance.root.classList.remove(className); },\n updateCssVariable: function (varName, value) {\n return instance.root.style.setProperty(varName, value);\n },\n };\n };\n Object.defineProperty(MDCRipple.prototype, \"unbounded\", {\n get: function () {\n return Boolean(this.isUnbounded);\n },\n set: function (unbounded) {\n this.isUnbounded = Boolean(unbounded);\n this.setUnbounded();\n },\n enumerable: false,\n configurable: true\n });\n MDCRipple.prototype.activate = function () {\n this.foundation.activate();\n };\n MDCRipple.prototype.deactivate = function () {\n this.foundation.deactivate();\n };\n MDCRipple.prototype.layout = function () {\n this.foundation.layout();\n };\n MDCRipple.prototype.getDefaultFoundation = function () {\n return new MDCRippleFoundation(MDCRipple.createAdapter(this));\n };\n MDCRipple.prototype.initialSyncWithDOM = function () {\n var root = this.root;\n this.isUnbounded = 'mdcRippleIsUnbounded' in root.dataset;\n };\n /**\n * Closure Compiler throws an access control error when directly accessing a\n * protected or private property inside a getter/setter, like unbounded above.\n * By accessing the protected property inside a method, we solve that problem.\n * That's why this function exists.\n */\n MDCRipple.prototype.setUnbounded = function () {\n this.foundation.setUnbounded(Boolean(this.isUnbounded));\n };\n return MDCRipple;\n}(MDCComponent));\nexport { MDCRipple };\n//# sourceMappingURL=component.js.map","// TODO: get rid of this.\n@import '~@material/ripple/mdc-ripple';\n@import '../../style/focus-outline.scss';\n\n:host {\n display: inline-block;\n\n --wcs-button-color: var(--wcs-button-plain-color-default);\n --wcs-button-plain-color-default: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-button-color-disabled: var(--wcs-semantic-color-text-disabled);\n --wcs-button-stroked-color-default: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-button-clear-color-default: var(--wcs-semantic-color-foreground-action-tertiary-default);\n\n --wcs-button-focus-outline-color: var(--wcs-semantic-color-border-focus-base);\n --wcs-button-focus-outline-border-width: var(--wcs-semantic-border-width-large);\n\n --wcs-button-background-color: var(--wcs-button-plain-background-color-default);\n --wcs-button-plain-background-color-default: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-button-plain-background-color-disabled: var(--wcs-semantic-color-background-action-primary-disabled);\n --wcs-button-stroked-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-button-stroked-background-color-disabled: var(--wcs-semantic-color-background-action-secondary-disabled);\n --wcs-button-clear-background-color-default: var(--wcs-semantic-color-background-action-tertiary-default);\n --wcs-button-clear-background-color-disabled: var(--wcs-semantic-color-background-action-tertiary-disabled);\n\n --wcs-button-ripple-color: var(--wcs-button-plain-ripple-color-default);\n --wcs-button-plain-ripple-color-default: var(--wcs-semantic-color-ripple-action-primary);\n --wcs-button-stroked-ripple-color-default: var(--wcs-semantic-color-ripple-action-secondary);\n --wcs-button-clear-ripple-color-default: var(--wcs-semantic-color-ripple-action-tertiary);\n --wcs-button-border-radius: var(--wcs-button-border-radius-default);\n --wcs-button-border-radius-default: var(--wcs-semantic-border-radius-base);\n --wcs-button-border-radius-rounded: var(--wcs-semantic-border-radius-full);\n\n --wcs-button-stroked-border-color: var(--wcs-button-stroked-border-color-default);\n --wcs-button-stroked-border-width: var(--wcs-semantic-border-width-default);\n --wcs-button-stroked-border-color-default: var(--wcs-semantic-color-border-action-secondary-default);\n --wcs-button-stroked-border-color-disabled: var(--wcs-semantic-color-border-action-secondary-disabled);\n\n --wcs-button-height-s: var(--wcs-semantic-size-s);\n --wcs-button-font-size-s: var(--wcs-semantic-font-size-label-2);\n --wcs-button-padding-size-s: calc(1.5 * var(--wcs-semantic-spacing-base));\n\n --wcs-button-height-m: var(--wcs-semantic-size-m);\n --wcs-button-font-size-m: var(--wcs-semantic-font-size-label-1);\n --wcs-button-padding-size-m: calc(2 * var(--wcs-semantic-spacing-base));\n\n --wcs-button-height-l: var(--wcs-semantic-size-l);\n --wcs-button-font-size-l: var(--wcs-semantic-font-size-label-1);\n --wcs-button-padding-size-l: calc(3 * var(--wcs-semantic-spacing-base));\n\n --wcs-button-font-weight: var(--wcs-semantic-font-weight-medium);\n}\n\n\n.wcs-inner-button:focus-visible {\n @include focus-outline($outline-color: var(--wcs-button-focus-outline-color), $border-radius: var(--wcs-button-border-radius), $border-width: var(--wcs-button-focus-outline-border-width));\n}\n\n:host([mode=clear]) {\n --wcs-button-stroked-border-color: transparent;\n\n .wcs-inner-button {\n box-shadow: none;\n }\n}\n\n:host([mode=stroked]) {\n --wcs-button-color: var(--wcs-button-stroked-color-default);\n --wcs-button-background-color: transparent;\n\n .wcs-inner-button {\n &::before,\n &::after {\n --wcs-button-ripple-color: var(--wcs-button-stroked-ripple-color-default);\n }\n }\n}\n\n:host([mode=clear]) {\n --wcs-button-color: var(--wcs-button-clear-color-default);\n --wcs-button-background-color: transparent;\n\n .wcs-inner-button {\n &::before,\n &::after {\n --wcs-button-ripple-color: var(--wcs-button-clear-ripple-color-default);\n }\n }\n}\n\n:host([size=l]) {\n --wcs-button-padding: 0 var(--wcs-button-padding-size-l);\n --wcs-button-height: var(--wcs-button-height-l);\n --wcs-button-min-width: var(--wcs-button-height-l);\n --wcs-button-font-size: var(--wcs-button-font-size-l);\n\n &:host([shape=round]), &:host([shape=square]) {\n ::slotted(wcs-mat-icon) {\n margin: calc(-1 * var(--wcs-button-padding-size-l));\n }\n }\n}\n\n:host, :host([size=m]) { // Default\n --wcs-button-padding: 0 var(--wcs-button-padding-size-m);\n --wcs-button-height: var(--wcs-button-height-m);\n --wcs-button-min-width: var(--wcs-button-height-m);\n --wcs-button-font-size: var(--wcs-button-font-size-m);\n\n &:host([shape=round]), &:host([shape=square]) {\n ::slotted(wcs-mat-icon) {\n margin: calc(-1 * var(--wcs-button-padding-size-m));\n }\n }\n}\n\n:host([size=s]) {\n --wcs-button-padding: 0 var(--wcs-button-padding-size-s);\n --wcs-button-height: var(--wcs-button-height-s);\n --wcs-button-min-width: var(--wcs-button-height-s);\n --wcs-button-font-size: var(--wcs-button-font-size-s);\n\n &:host([shape=round]), &:host([shape=square]) {\n ::slotted(wcs-mat-icon) {\n margin: calc(-1 * var(--wcs-button-padding-size-s));\n }\n }\n}\n\n:host([shape=round]) {\n --wcs-button-border-radius: var(--wcs-button-border-radius-rounded);\n}\n\n:host([shape=square]) {\n --wcs-button-padding: 0;\n}\n\n:host([shape=normal]) {\n .wcs-inner-button {\n min-width: var(--wcs-button-min-width, unset);\n min-height: var(--wcs-button-height, unset);\n }\n}\n\n:host([mode=stroked]) {\n .wcs-inner-button {\n box-shadow: inset 0 0 0 var(--wcs-button-stroked-border-width) var(--wcs-button-stroked-border-color);\n }\n}\n\n:host([loading]) {\n position: relative;\n\n .wcs-inner-button > *:not(wcs-spinner) {\n visibility: hidden;\n opacity: 0;\n }\n\n wcs-spinner {\n --wcs-spinner-dashed-background-circle: var(--wcs-button-color);\n --wcs-spinner-rotating-circle-color: var(--wcs-button-color);\n height: calc(var(--wcs-button-height) / 2);\n width: calc(var(--wcs-button-min-width) / 2);\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n }\n}\n\n:host([disabled]), :host([loading]) {\n cursor: not-allowed;\n\n .wcs-inner-button {\n opacity: 1;\n cursor: default;\n pointer-events: none;\n }\n}\n\n\n\n:host([disabled]) {\n --wcs-button-color: var(--wcs-button-color-disabled);\n --wcs-button-background-color: var(--wcs-button-plain-background-color-disabled);\n}\n\n:host([mode=stroked][disabled]) {\n --wcs-button-stroked-border-color: var(--wcs-button-stroked-border-color-disabled);\n --wcs-button-background-color: var(--wcs-button-stroked-background-color-disabled);\n}\n\n:host([mode=clear][disabled]) {\n --wcs-button-background-color: var(--wcs-button-clear-background-color-disabled);\n}\n\n.wcs-inner-button {\n @include mdc-ripple-surface;\n @include mdc-ripple-radius-bounded;\n @include mdc-states-hover-opacity(.1);\n @include mdc-states-focus-opacity(.2);\n @include mdc-states-press-opacity(.3);\n @include mdc-states-base-color(white);\n --mdc-ripple-focus-opacity: 0;\n\n // This property is used to set the ripple color\n &::before,\n &::after {\n background-color: var(--wcs-button-ripple-color);\n }\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-family: var(--wcs-font-sans-serif);\n background-color: var(--wcs-button-background-color);\n color: var(--wcs-button-color);\n padding: var(--wcs-button-padding);\n border-radius: var(--wcs-button-border-radius);\n border: none;\n overflow: hidden;\n outline: 0;\n text-transform: none;\n margin: 0;\n cursor: pointer;\n font-weight: var(--wcs-button-font-weight);\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n font-size: var(--wcs-button-font-size);\n line-height: 1.5;\n height: var(--wcs-button-height);\n min-width: var(--wcs-button-min-width);\n\n transition: color 175ms ease-in-out, background-color 175ms ease-in-out;\n}\n\na {\n text-decoration: none;\n box-sizing: border-box;\n}\n\n// Remove mozilla dotted outline on button and a\nbutton::-moz-focus-inner,\na::-moz-focus-inner {\n border: 0;\n}\n","import { Component, ComponentInterface, Element, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport { MDCRipple } from '@material/ripple';\n\nimport {\n WcsButtonMode,\n WcsButtonShape,\n WcsButtonSize,\n WcsButtonType\n} from './button-interface';\nimport { hasShadowDom, inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from '../../utils/helpers';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst BUTTON_INHERITED_ATTRS = ['tabindex', 'title'];\n\n/**\n * The button component is used to trigger an action. It can also be a link when specifying href.\n * \n * ## Accessibility guidelines 💡\n * > If your button doesn't contain text but only an image, you must set a relevant aria-label on the icon 👉 [see \"Square\" story below](#square)\n * \n * ## Click event\n *\n * The WCS button relies on the native click event to pass a user click to your app.\n * For now, it's not possible for us to prevent the click event to be fired when the button's disabled attribute is true.\n * This means you'll receive click events on a disabled wcs button.\n * If you're using the button with a library like Angular or React, they have internal mechanisms to prevent this behavior. Your callbacks will therefore not be called.\n * To fix this problem, we plan to provide a wcsClick event in addition to the native click for applications developed without frameworks.\n *\n * @cssprop --wcs-button-plain-color-default - Text/icon color of a plain button\n * @cssprop --wcs-button-stroked-color-default - text/icon color of a stroked button\n * @cssprop --wcs-button-clear-color-default - text/icon color of a clear button\n * \n * @cssprop --wcs-button-color-disabled - text/icon color disabled for mode plain, stroked, clear\n *\n * @cssprop --wcs-button-plain-background-color-default background color of a plain button\n * @cssprop --wcs-button-plain-background-color-disabled - disabled background color of a plain button\n * @cssprop --wcs-button-stroked-background-color-default background color of a stroked button\n * @cssprop --wcs-button-stroked-background-color-disabled - disabled background color of a stroked button\n * @cssprop --wcs-button-clear-background-color-default background color of a clear button\n * @cssprop --wcs-button-clear-background-color-disabled - disabled background color of a clear button\n * \n * @cssprop --wcs-button-plain-ripple-color-default - ripple background color of a plain button\n * @cssprop --wcs-button-stroked-ripple-color-default - ripple background color of a stroked button\n * @cssprop --wcs-button-clear-ripple-color-default - ripple background color of a clear button\n * @cssprop --wcs-button-border-radius-default - border radius for a default button\n * @cssprop --wcs-button-border-radius-rounded - border radius for a rounded button\n *\n * @cssprop --wcs-button-stroked-border-width - border width of a stroked button\n * @cssprop --wcs-button-stroked-border-color-default - default border color of a stroked button\n * @cssprop --wcs-button-stroked-border-color-disabled - disabled border color of a stroked button\n *\n * @cssprop --wcs-button-height-s - height for a size s button\n * @cssprop --wcs-button-font-size-s - font-size for a size s button\n * @cssprop --wcs-button-padding-size-s - padding for a size s button\n *\n * @cssprop --wcs-button-height-m - height for a size m button\n * @cssprop --wcs-button-font-size-m - font-size for a size m button\n * @cssprop --wcs-button-padding-size-m - padding for a size m button\n *\n * @cssprop --wcs-button-height-l - height for a size l button\n * @cssprop --wcs-button-font-size-l - font-size for a size l button\n * @cssprop --wcs-button-padding-size-l - padding for a size l button\n *\n * @cssprop --wcs-button-font-weight - font weight of a plain,stroked,clear button\n */\n@Component({\n tag: 'wcs-button',\n styleUrl: 'button.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Button implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private nativeButton?: HTMLButtonElement | HTMLAnchorElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /**\n * Specify the button type.\n */\n @Prop({ mutable: true }) type: WcsButtonType = 'button';\n\n /**\n * Set a URL to point to.
    \n * If specified use a `a` tag instead of `btn`.\n */\n @Prop() href?: string;\n\n /**\n * Specifies where to open the linked document when using href (see prop above)
    \n * Default '_self' will open the linked document in the same frame as it was clicked\n */\n @Prop() target?: '_blank' | '_self';\n\n /**\n * Specify whether the button is disabled or not.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specify whether the button should have a ripple effect or not.\n */\n @Prop() ripple = true;\n private mdcRipple: MDCRipple;\n\n /**\n * Specify the size of the button.\n */\n @Prop({ reflect: true }) size: WcsButtonSize = 'm';\n\n /**\n * Specify the shape of the button.\n */\n @Prop({ reflect: true }) shape: WcsButtonShape = 'normal';\n\n /**\n * This attribute specify the appearance of the button.\n */\n @Prop({ reflect: true }) mode: WcsButtonMode = 'plain';\n\n /**\n * Flag to display spinner until the end of action\n */\n @Prop({ reflect: true, mutable: true }) loading: boolean = false;\n\n /**\n * Native event click is emit event if we decide to stop propagation of it\n * @param ev\n */\n @Listen('click') // TODO: define custom event click to be able to stop it's propagation when the custom button is disabled or is in loading state\n onClick(ev: Event) {\n if (this.disabled || this.loading) {\n ev.stopImmediatePropagation();\n }\n if (this.type !== 'button' && hasShadowDom(this.el)) {\n // this button wants to specifically submit a form\n // climb up the dom to see if we're in a
    \n // and if so, then use JS to submit it\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = window.document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n\n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, BUTTON_INHERITED_ATTRS),\n };\n }\n\n componentDidLoad() {\n this.mdcRipple = new MDCRipple(this.el.shadowRoot.querySelector('.wcs-inner-button'));\n this.updateRippleState();\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeButton, attr, value);\n }\n\n private updateRippleState() {\n this.mdcRipple.disabled = !this.ripple;\n }\n\n private getTagName() {\n return this.href !== undefined ? 'a' : 'button';\n }\n\n @Watch('ripple')\n onRippleChange() {\n this.updateRippleState();\n }\n\n render() {\n const TagType = this.getTagName();\n const attrs = this.href !== undefined\n ? { href: this.href, role: 'button', target: this.target }\n : { type: this.type };\n return (\n this.nativeButton = el}\n {...this.inheritedAttributes}\n >\n {\n this.loading && \n }\n \n \n );\n }\n}\n","@keyframes wcs-spinner-grow {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n 25% {\n opacity: 1;\n }\n 75% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@keyframes wcs-spinner-rotate {\n 0% {\n transform: rotate(0deg);\n transform-origin: center;\n }\n 100% {\n transform: rotate(360deg);\n transform-origin: center;\n }\n}\n\n@keyframes wcs-spinner-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -131;\n }\n}\n\n:host {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border-radius: 50%;\n\n --wcs-spinner-dashed-background-circle: var(--wcs-semantic-color-background-surface-tertiary);\n --wcs-spinner-rotating-circle-color: var(--wcs-semantic-color-background-surface-brand);\n\n --wcs-spinner-rotate-animation-duration: var(--wcs-semantic-motion-duration-animation-base);\n --wcs-spinner-dashed-animation-duration: var(--wcs-semantic-motion-duration-animation-base);\n --wcs-spinner-growing-animation-duration: var(--wcs-semantic-motion-duration-animation-fast);\n}\n\n:host([mode=\"border\"]) {\n svg {\n & .dashed-background-circle {\n stroke: var(--wcs-spinner-dashed-background-circle);\n stroke-width: 7px;\n stroke-dasharray: 3,3;\n stroke-dashoffset: 1;\n stroke-linecap: butt;\n }\n\n .infinite-rotation-container {\n animation: wcs-spinner-rotate var(--wcs-spinner-rotate-animation-duration) linear infinite;\n }\n\n & .dash-rotating-circle {\n stroke: var(--wcs-spinner-rotating-circle-color);\n stroke-width: 8px;\n stroke-linecap: round;\n animation: wcs-spinner-dash var(--wcs-spinner-dashed-animation-duration) ease-in-out infinite;\n }\n }\n}\n\n:host([mode=growing]) {\n background-color: var(--wcs-spinner-rotating-circle-color);\n opacity: 0;\n animation: wcs-spinner-grow var(--wcs-spinner-growing-animation-duration) ease-out infinite;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { WcsSpinnerMode } from './spinner-interface';\n\n/**\n * The spinner component is visual indicator that showing a process is happening in the background but the interface is\n * not yet ready for interaction. \n * If your page structure is simple or the loading time is long (> 300ms), use [wcs-skeleton](.?path=/docs/components-skeleton--documentation) instead.\n * \n * @cssprop --wcs-spinner-dashed-background-circle - The color of the dashed circle in the background\n * @cssprop --wcs-spinner-rotating-circle-color - The color of the rotating circle\n * \n * @cssprop --wcs-spinner-rotate-animation-duration - The duration of the rotation animation\n * @cssprop --wcs-spinner-dashed-animation-duration - The duration of the dash animation\n * @cssprop --wcs-spinner-growing-animation-duration - The duration of the growing animation\n */\n@Component({\n tag: 'wcs-spinner',\n styleUrl: 'spinner.scss',\n shadow: true\n})\nexport class Spinner implements ComponentInterface {\n /**\n * Indicates the spinner display mode.\n * Accepted values: `border` or `growing`\n */\n @Prop({ reflect: true }) mode: WcsSpinnerMode = 'border';\n\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/wcs/p-496115a5.entry.js b/public/wcs/p-496115a5.entry.js new file mode 100644 index 0000000..b67369d --- /dev/null +++ b/public/wcs/p-496115a5.entry.js @@ -0,0 +1,2 @@ +import{r as a,h as t,H as c,g as s}from"./p-32e583ea.js";const i=":host{--wcs-action-bar-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-action-bar-gap:var(--wcs-semantic-spacing-small);--wcs-action-bar-gap-actions:calc(4 * var(--wcs-semantic-spacing-base));--wcs-action-bar-min-height:calc(10 * var(--wcs-semantic-size-base));--wcs-action-bar-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-action-bar-padding-vertical:var(--wcs-semantic-spacing-base);--wcs-action-bar-tabs-margin-top:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-action-bar-title-font-size:var(--wcs-semantic-font-size-heading-4);--wcs-action-bar-title-font-weight:var(--wcs-semantic-font-weight-heavy);--wcs-action-bar-title-color:var(--wcs-semantic-color-text-primary);--wcs-tabs-gutter-border-width:var(--wcs-semantic-border-width-default);--wcs-tabs-gutter-background-color:var(--wcs-semantic-color-border-secondary);padding:0 var(--wcs-action-bar-padding-horizontal);min-height:var(--wcs-action-bar-min-height);background-color:var(--wcs-action-bar-background-color);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--wcs-action-bar-gap)}:host .title-actions{padding-top:var(--wcs-action-bar-padding-vertical);padding-bottom:var(--wcs-action-bar-padding-vertical);gap:var(--wcs-action-bar-gap-actions);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex-grow:1}:host .title-actions[data-has-tabs]{padding-bottom:0}:host h1{font-size:var(--wcs-action-bar-title-font-size);font-weight:var(--wcs-action-bar-title-font-weight);line-height:1.25;margin:0;color:var(--wcs-action-bar-title-color)}:host([gutter]){border-bottom:solid var(--wcs-tabs-gutter-border-width) var(--wcs-tabs-gutter-background-color)}::slotted([slot=actions]){display:flex}::slotted([slot=tabs]){margin-top:var(--wcs-action-bar-tabs-margin-top)}";const e=i;const o=class{constructor(t){a(this,t);this.gutter=undefined;this.hasTabs=false}componentWillLoad(){this.hasTabs=!!this.el.querySelector('[slot="tabs"]')}render(){return t(c,{key:"4312c81132be4f4db1205a5f0bfae699c26e6436"},t("div",{key:"746da3288b2092209451cf9014d5b5374bc36d70",class:"title-actions","data-has-tabs":this.hasTabs},t("h1",{key:"e143ac0afe1fe76f2760859ba700d432d9d5756d"},t("slot",{key:"f5b7269692fd481a0d9fbc0e873580adfe9d6cc1"})),t("div",{key:"0ef5d4aca6cc88c96d541cd391e04a31ead116ee",class:"actions"},t("slot",{key:"05364550979377548c2e4c97a21f3b52b27b457f",name:"actions"}))),t("div",{key:"613a7c98d9e9777f900e634500e541860a242fbc",class:"tabs-container"},t("slot",{key:"35b753163a40381873e8fb07eb13fef58c0bcda6",name:"tabs"})))}get el(){return s(this)}};o.style=e;export{o as wcs_action_bar}; +//# sourceMappingURL=p-496115a5.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-496115a5.entry.js.map b/public/wcs/p-496115a5.entry.js.map new file mode 100644 index 0000000..0cf425f --- /dev/null +++ b/public/wcs/p-496115a5.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["actionBarCss","WcsActionBarStyle0","ActionBar","componentWillLoad","this","hasTabs","el","querySelector","render","h","Host","key","class","name"],"sources":["src/components/action-bar/action-bar.scss?tag=wcs-action-bar&encapsulation=shadow","src/components/action-bar/action-bar.tsx"],"sourcesContent":[":host {\n --wcs-action-bar-background-color: var(--wcs-semantic-color-background-surface-primary);\n --wcs-action-bar-gap: var(--wcs-semantic-spacing-small);\n --wcs-action-bar-gap-actions: calc(4 * var(--wcs-semantic-spacing-base));\n --wcs-action-bar-min-height: calc(10 * var(--wcs-semantic-size-base));\n --wcs-action-bar-padding-horizontal: var(--wcs-semantic-spacing-large);\n --wcs-action-bar-padding-vertical: var(--wcs-semantic-spacing-base);\n\n --wcs-action-bar-tabs-margin-top: calc(1.5 * var(--wcs-semantic-spacing-base));\n\n --wcs-action-bar-title-font-size: var(--wcs-semantic-font-size-heading-4);\n --wcs-action-bar-title-font-weight: var(--wcs-semantic-font-weight-heavy);\n --wcs-action-bar-title-color: var(--wcs-semantic-color-text-primary);\n\n --wcs-tabs-gutter-border-width: var(--wcs-semantic-border-width-default);\n --wcs-tabs-gutter-background-color: var(--wcs-semantic-color-border-secondary);\n\n padding: 0 var(--wcs-action-bar-padding-horizontal);\n min-height: var(--wcs-action-bar-min-height);\n background-color: var(--wcs-action-bar-background-color);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wcs-action-bar-gap);\n\n .title-actions {\n padding-top: var(--wcs-action-bar-padding-vertical);\n padding-bottom: var(--wcs-action-bar-padding-vertical);\n gap: var(--wcs-action-bar-gap-actions);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n flex-grow: 1;\n }\n\n .title-actions[data-has-tabs] {\n padding-bottom: 0;\n }\n\n h1 {\n font-size: var(--wcs-action-bar-title-font-size);\n font-weight: var(--wcs-action-bar-title-font-weight);\n line-height: 1.25;\n margin: 0;\n color: var(--wcs-action-bar-title-color);\n }\n}\n\n:host([gutter]) {\n border-bottom: solid var(--wcs-tabs-gutter-border-width) var(--wcs-tabs-gutter-background-color);\n}\n\n::slotted([slot=actions]) {\n display: flex;\n}\n\n::slotted([slot=tabs]) {\n margin-top: var(--wcs-action-bar-tabs-margin-top);\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State } from '@stencil/core';\n\n/**\n * The action-bar component is a group of elements appearing across the top of all pages on a business application.\n * \n * @cssprop --wcs-action-bar-background-color - Background color of the action bar\n * @cssprop --wcs-action-bar-gap - Gap between the title and the tabs\n * @cssprop --wcs-action-bar-gap-actions - Gap between the title and the actions\n * @cssprop --wcs-action-bar-min-height - Minimum height of the action bar\n * @cssprop --wcs-action-bar-padding-horizontal - Horizontal padding of the action bar\n * @cssprop --wcs-action-bar-padding-vertical - Vertical padding of the action bar\n * @cssprop --wcs-action-bar-tabs-margin-top - Margin top of the tabs when slotted\n * @cssprop --wcs-action-bar-title-font-size - Font size of the title\n * @cssprop --wcs-action-bar-title-font-weight - Font weight of the title\n * @cssprop --wcs-action-bar-title-color - Color of the title\n * @cssprop --wcs-tabs-gutter-border-width - Border width of the gutter\n * @cssprop --wcs-tabs-gutter-background-color - Background color of the gutter\n */\n@Component({\n tag: 'wcs-action-bar',\n styleUrl: 'action-bar.scss',\n shadow: true\n})\nexport class ActionBar implements ComponentInterface {\n @Element() private el: HTMLWcsActionBarElement;\n /**\n * Determines if the action bar should have a border at the bottom.\n * You should not use this property if a gutter is already present on tabs\n */\n @Prop({ reflect: true }) gutter: boolean;\n @State() private hasTabs: boolean = false;\n\n componentWillLoad(): Promise | void {\n this.hasTabs = !!this.el.querySelector('[slot=\"tabs\"]');\n }\n\n render() {\n return (\n \n
    \n

    \n \n

    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAe,qxDACrB,MAAAC,EAAeD,E,MCsBFE,EAAS,M,4DAOkB,K,CAEpC,iBAAAC,GACIC,KAAKC,UAAYD,KAAKE,GAAGC,cAAc,gB,CAG3C,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,4CACDF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBAAe,gBAAgBR,KAAKC,SAC3CI,EAAA,MAAAE,IAAA,4CACIF,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,WACPH,EAAA,QAAAE,IAAA,2CAAME,KAAK,cAGnBJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,kBACPH,EAAA,QAAAE,IAAA,2CAAME,KAAK,U"} \ No newline at end of file diff --git a/public/wcs/p-4ae08567.entry.js b/public/wcs/p-4ae08567.entry.js new file mode 100644 index 0000000..c28e1c5 --- /dev/null +++ b/public/wcs/p-4ae08567.entry.js @@ -0,0 +1,2 @@ +import{r as e,f as o,h as a,H as n,g as i}from"./p-32e583ea.js";import{r as c,c as t}from"./p-0017d766.js";import{i as s,a as r,b as l}from"./p-52d77e1f.js";const m=':host{--wcs-com-nav-menu-bar-height:calc(var(--wcs-semantic-size-base) * 8);--wcs-com-nav-border-color:var(--wcs-semantic-color-border-secondary);--wcs-com-nav-border-width:var(--wcs-semantic-border-width-default);--wcs-com-nav-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-com-nav-app-name-color:var(--wcs-semantic-color-text-primary);--wcs-com-nav-app-name-font-weight:var(--wcs-semantic-font-weight-heavy);--wcs-com-nav-app-name-font-size:var(--wcs-semantic-font-size-heading-5);--wcs-com-nav-app-name-line-height:var(--wcs-semantic-font-line-height-large);--wcs-com-nav-item-color:var(--wcs-semantic-color-foreground-action-neutral-default);--wcs-com-nav-item-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-com-nav-focus-outline-color:var(--wcs-semantic-color-border-focus-base);--wcs-com-nav-vertical-padding:0;--wcs-com-nav-horizontal-padding:var(--wcs-semantic-spacing-large);--wcs-com-nav-mobile-overlay-gap:var(--wcs-semantic-spacing-large);--wcs-com-nav-mobile-overlay-padding:var(--wcs-semantic-spacing-large);--wcs-com-nav-mobile-menu-icon-border-color:var(--wcs-semantic-color-border-secondary);--wcs-com-nav-mobile-menu-icon-gap:calc(var(--wcs-semantic-spacing-base) * 2);--wcs-com-nav-mobile-menu-icon-margin-left:var(--wcs-semantic-spacing-base);--wcs-com-nav-mobile-menu-icon-color:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-com-nav-menu-bar-gap:calc(var(--wcs-semantic-spacing-base) * 5);--wcs-com-nav-menu-bar-margin-left:calc(var(--wcs-semantic-spacing-base) * 6.25);display:block;position:relative;height:var(--wcs-com-nav-menu-bar-height);border-bottom:var(--wcs-com-nav-border-width) solid var(--wcs-com-nav-border-color)}:host .container{padding:var(--wcs-com-nav-vertical-padding) var(--wcs-com-nav-horizontal-padding);height:100%;display:flex;align-items:center;flex-direction:row;justify-content:space-between}:host .container nav{display:flex;align-items:center}:host .container-left{display:flex;height:100%;align-items:center;flex-direction:row}:host .container-right{display:flex;align-items:center}:host .app-name{font-weight:var(--wcs-com-nav-app-name-font-weight);font-size:var(--wcs-com-nav-app-name-font-size);line-height:var(--wcs-com-nav-app-name-line-height);color:var(--wcs-com-nav-app-name-color)}:host .app-name ::slotted(a){user-select:none;cursor:pointer;text-decoration:none;color:inherit;font-weight:inherit}:host .app-name ::slotted(a:focus-visible){outline:none}:host .app-name:focus-within{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-com-nav-focus-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:0.1rem}:host .menu-bar{display:none}:host #mobile-menu-icon{display:flex;align-items:center;flex-wrap:nowrap;color:var(--wcs-com-nav-mobile-menu-icon-color);padding-left:var(--wcs-com-nav-mobile-menu-icon-gap);margin-left:var(--wcs-com-nav-mobile-menu-icon-margin-left);border-left:solid 1px var(--wcs-com-nav-mobile-menu-icon-border-color)}:host #mobile-menu-icon:focus{outline:none}:host #mobile-menu-icon:focus-visible::after{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-com-nav-focus-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:0.1rem}@supports not selector(#mobile-menu-icon:focus-visible::after){:host #mobile-menu-icon:focus::after{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-com-nav-focus-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:0.1rem}}:host button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host #mobile-menu-icon:after{font-family:icons;font-size:18px;cursor:pointer;content:"\\f198";line-height:1;box-sizing:border-box}:host #mobile-menu-icon[aria-expanded=true]:after{content:"\\f129"}:host .mobile-overlay{display:none}:host .mobile-overlay[data-mobile-open]{padding:var(--wcs-com-nav-mobile-overlay-padding);position:absolute;top:var(--wcs-com-nav-menu-bar-height);left:0;right:0;display:flex;flex-direction:column;gap:var(--wcs-com-nav-mobile-overlay-gap);z-index:9999;background-color:var(--wcs-com-nav-background-color)}:host .mobile-overlay[data-mobile-open] ::slotted(wcs-com-nav-item){color:var(--wcs-com-nav-item-color);font-weight:var(--wcs-com-nav-item-font-weight)}@media (min-width: 576px){:host .container{margin:0 auto;max-width:var(--wcs-com-content-max-width)}:host nav{height:100%}:host .menu-bar{display:flex;align-items:center;height:100%;margin-left:var(--wcs-com-nav-menu-bar-margin-left)}:host .menu-bar ::slotted(*:not(:first-child)){margin-left:var(--wcs-com-nav-menu-bar-gap)}:host .menu-bar ::slotted(wcs-com-nav-item){height:100%;color:var(--wcs-com-nav-item-color);font-weight:var(--wcs-com-nav-item-font-weight)}:host .menu-bar ::slotted(wcs-com-nav-item:focus-within){outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-com-nav-focus-outline-color);outline-offset:0.1rem;border-radius:2px}:host #mobile-menu-icon{display:none}:host .mobile-overlay{display:none !important}}';const d=m;const v=["title"];const h="WCS-COM-NAV-SUBMENU";const b=class{constructor(o){e(this,o);this.inheritedAttributes={};this.appName=undefined;this.mobileMenuOpen=false;this.currentActiveSizing=undefined}mobileMenuIconClick(){this.mobileMenuOpen=!this.mobileMenuOpen}disconnectedCallback(){var e;(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},s(this.el)),r(this.el,v));const e=this.el.querySelectorAll(":scope > wcs-com-nav-submenu:not([slot]), :scope > a:not([slot])");c(e,h)}componentDidLoad(){if(!this.resizeObserver){this.resizeObserver=t(this);this.resizeObserver.observe(document.body)}}async setAriaAttribute(e,a){this.inheritedAttributes[e]=a;o(this)}closeMobileMenu(){this.mobileMenuOpen=false}onClickOnFinalAction(){this.closeMobileMenu()}render(){const e=this.inheritedAttributes["aria-label"]||undefined;return a(n,{key:"b39ff3dbd6d304ad0252e0fcfd2e0c5716b666db"},a("div",{key:"f84b73c9cee6295a7776576afeb61b65b71ea34e",class:"container"},a("div",{key:"a39b867e9d102abb4e4c13503a544681cd9b7fd8",class:"container-left"},a("div",{key:"49db5dd80f097a9b2ccaf39fc64be9f6100108be",class:"app-name"},this.appName,a("slot",{key:"3cfe05e6e510826ffd2168e6edc3380bc92ad459",name:"app-name"})),this.currentActiveSizing==="desktop"?a("nav",Object.assign({role:"navigation"},this.inheritedAttributes),a("div",{class:"menu-bar",role:"list"},this.currentActiveSizing==="desktop"?a("slot",null):null)):null),a("div",{key:"83496cccd32eec07f5a508dbf36b591442e668e2",class:"container-right"},a("slot",{key:"cf68946afcefa0b77fb57019f9734e5ff1e763aa",name:"actions"}),this.currentActiveSizing==="mobile"?a("nav",Object.assign({id:"wcs-com-nav-mobile-menu",role:"navigation"},this.inheritedAttributes),a("button",{id:"mobile-menu-icon","aria-label":e,"aria-expanded":this.mobileMenuOpen?"true":"false","aria-controls":"wcs-com-nav-mobile-menu",onClick:()=>this.mobileMenuIconClick()}),this.currentActiveSizing==="mobile"?a("div",{class:"mobile-overlay","data-mobile-open":this.mobileMenuOpen,role:"list"},a("slot",null)):null):null)))}exitMobileMenuOnKeyDown(e){if(l(e)){this.closeMobileMenu()}}get el(){return i(this)}};b.style=d;export{b as wcs_com_nav}; +//# sourceMappingURL=p-4ae08567.entry.js.map \ No newline at end of file diff --git a/public/wcs/p-4ae08567.entry.js.map b/public/wcs/p-4ae08567.entry.js.map new file mode 100644 index 0000000..3a0abb4 --- /dev/null +++ b/public/wcs/p-4ae08567.entry.js.map @@ -0,0 +1 @@ +{"version":3,"names":["comNavCss","WcsComNavStyle0","COM_NAV_INHERITED_ATTRS","WCS_COM_NAV_SUBMENU_TAG_NAME","ComNav","this","inheritedAttributes","mobileMenuIconClick","mobileMenuOpen","disconnectedCallback","_a","resizeObserver","disconnect","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","slottedNavigableItems","querySelectorAll","registerCloseHandlerForFocusOutEventOn","componentDidLoad","comNavDidLoadWithResizeObserver","observe","document","body","setAriaAttribute","attr","value","forceUpdate","closeMobileMenu","onClickOnFinalAction","render","menuAriaLabel","undefined","h","Host","key","class","appName","name","currentActiveSizing","role","id","onClick","exitMobileMenuOnKeyDown","evt","isEscapeKey"],"sources":["src/components/com-nav/com-nav.scss?tag=wcs-com-nav&encapsulation=shadow","src/components/com-nav/com-nav.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n@import './com-nav-focus.scss';\n@import '../../style/breakpoints.scss';\n@import '../../style/reset.scss';\n\n:host {\n --wcs-com-nav-menu-bar-height: calc(var(--wcs-semantic-size-base) * 8);\n --wcs-com-nav-border-color: var(--wcs-semantic-color-border-secondary);\n --wcs-com-nav-border-width: var(--wcs-semantic-border-width-default);\n --wcs-com-nav-background-color: var(--wcs-semantic-color-background-surface-primary);\n\n --wcs-com-nav-app-name-color: var(--wcs-semantic-color-text-primary);\n --wcs-com-nav-app-name-font-weight: var(--wcs-semantic-font-weight-heavy);\n --wcs-com-nav-app-name-font-size: var(--wcs-semantic-font-size-heading-5);\n --wcs-com-nav-app-name-line-height: var(--wcs-semantic-font-line-height-large);\n\n --wcs-com-nav-item-color: var(--wcs-semantic-color-foreground-action-neutral-default);\n --wcs-com-nav-item-font-weight: var(--wcs-semantic-font-weight-medium);\n\n --wcs-com-nav-focus-outline-color: var(--wcs-semantic-color-border-focus-base);\n\n\n // Spacings for navbar and mobile overlay\n --wcs-com-nav-vertical-padding: 0;\n --wcs-com-nav-horizontal-padding: var(--wcs-semantic-spacing-large);\n --wcs-com-nav-mobile-overlay-gap: var(--wcs-semantic-spacing-large);\n --wcs-com-nav-mobile-overlay-padding: var(--wcs-semantic-spacing-large);\n\n // Burger icon (mobile)\n --wcs-com-nav-mobile-menu-icon-border-color: var(--wcs-semantic-color-border-secondary);\n --wcs-com-nav-mobile-menu-icon-gap: calc(var(--wcs-semantic-spacing-base) * 2);\n --wcs-com-nav-mobile-menu-icon-margin-left: var(--wcs-semantic-spacing-base);\n --wcs-com-nav-mobile-menu-icon-color: var(--wcs-semantic-color-foreground-action-secondary-default);\n\n // Menu bar (desktop)\n --wcs-com-nav-menu-bar-gap: calc(var(--wcs-semantic-spacing-base) * 5); // 40px\n --wcs-com-nav-menu-bar-margin-left: calc(var(--wcs-semantic-spacing-base) * 6.25); // 50 px\n\n display: block;\n position: relative;\n height: var(--wcs-com-nav-menu-bar-height);\n border-bottom: var(--wcs-com-nav-border-width) solid var(--wcs-com-nav-border-color);\n\n .container {\n padding: var(--wcs-com-nav-vertical-padding) var(--wcs-com-nav-horizontal-padding);\n height: 100%;\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n\n nav {\n display: flex;\n align-items: center;\n }\n }\n\n .container-left {\n display: flex;\n height: 100%;\n align-items: center;\n flex-direction: row;\n }\n\n .container-right {\n display: flex;\n align-items: center;\n }\n\n .app-name {\n font-weight: var(--wcs-com-nav-app-name-font-weight);\n font-size: var(--wcs-com-nav-app-name-font-size);\n line-height: var(--wcs-com-nav-app-name-line-height);\n color: var(--wcs-com-nav-app-name-color);\n\n ::slotted(a) {\n @include reset-anchor;\n }\n\n ::slotted(a:focus-visible) {\n outline: none;\n }\n }\n\n .app-name:focus-within {\n @include focus-outline($outline-color: var(--wcs-com-nav-focus-outline-color));\n }\n\n .menu-bar {\n display: none;\n }\n\n #mobile-menu-icon {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n color: var(--wcs-com-nav-mobile-menu-icon-color);\n padding-left: var(--wcs-com-nav-mobile-menu-icon-gap);\n margin-left: var(--wcs-com-nav-mobile-menu-icon-margin-left);\n border-left: solid 1px var(--wcs-com-nav-mobile-menu-icon-border-color);\n }\n\n #mobile-menu-icon:focus {\n outline: none;\n }\n\n #mobile-menu-icon:focus-visible::after {\n @include focus-outline($outline-color: var(--wcs-com-nav-focus-outline-color));\n }\n\n @supports not selector(#mobile-menu-icon:focus-visible::after) {\n #mobile-menu-icon:focus::after {\n @include focus-outline($outline-color: var(--wcs-com-nav-focus-outline-color));\n }\n }\n\n button {\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n }\n\n #mobile-menu-icon:after {\n font-family: icons;\n font-size: 18px;\n cursor: pointer;\n content: \"\\f198\";\n line-height: 1;\n box-sizing: border-box;\n }\n\n #mobile-menu-icon[aria-expanded=\"true\"]:after {\n content: \"\\f129\";\n }\n\n .mobile-overlay {\n display: none;\n }\n\n .mobile-overlay[data-mobile-open] {\n padding: var(--wcs-com-nav-mobile-overlay-padding);\n position: absolute;\n top: var(--wcs-com-nav-menu-bar-height);\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wcs-com-nav-mobile-overlay-gap);\n z-index: 9999;\n background-color: var(--wcs-com-nav-background-color);\n\n ::slotted(wcs-com-nav-item) {\n color: var(--wcs-com-nav-item-color);\n font-weight: var(--wcs-com-nav-item-font-weight);\n }\n }\n}\n\n@include for-tablet-portrait-up {\n :host {\n .container {\n margin: 0 auto;\n max-width: var(--wcs-com-content-max-width);\n }\n\n nav {\n height: 100%;\n }\n\n .menu-bar {\n display: flex;\n align-items: center;\n height: 100%;\n margin-left: var(--wcs-com-nav-menu-bar-margin-left);\n\n ::slotted(*:not(:first-child)) {\n margin-left: var(--wcs-com-nav-menu-bar-gap);\n }\n\n ::slotted(wcs-com-nav-item) {\n height: 100%;\n color: var(--wcs-com-nav-item-color);\n font-weight: var(--wcs-com-nav-item-font-weight);\n }\n\n // Focus style for nav item in menu bar\n ::slotted(wcs-com-nav-item:focus-within) {\n @include com-nav-item-desktop-focus-outline(var(--wcs-com-nav-focus-outline-color));\n }\n }\n\n #mobile-menu-icon {\n display: none;\n }\n\n .mobile-overlay {\n display: none !important;\n }\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n forceUpdate,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { comNavDidLoadWithResizeObserver, registerCloseHandlerForFocusOutEventOn } from \"./com-nav-utils\";\nimport { inheritAriaAttributes, inheritAttributes, isEscapeKey } from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { ComNavSize } from \"./com-nav-size\";\n\n\nconst COM_NAV_INHERITED_ATTRS = ['title'];\n\nconst WCS_COM_NAV_SUBMENU_TAG_NAME = 'WCS-COM-NAV-SUBMENU';\n\n/**\n * *Part of communication design system*\n *\n * The com-nav component is a container for navigation links to external or internal pages of the website.\n *\n * @slot - Default slot containing all the menu declarations\n * @slot app-name - (Optional) Extra slot for the application name\n * @slot actions - Slot for actions placed on the right part of the container\n * \n * @cssprop --wcs-com-nav-menu-bar-height - Height of the menu bar\n * @cssprop --wcs-com-nav-border-color - Border color of the bottom border of the com-nav\n * @cssprop --wcs-com-nav-border-width - Border width of the border below com-nav\n * @cssprop --wcs-com-nav-background-color - Background color of the com-nav;\n * @cssprop --wcs-com-nav-app-name-color - App name color\n * @cssprop --wcs-com-nav-app-name-font-weight - App name font-weight\n * @cssprop --wcs-com-nav-app-name-font-size - Font size of the App name text\n * @cssprop --wcs-com-nav-app-name-line-height - Line height of the App name text\n * @cssprop --wcs-com-nav-item-color - Color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-item-font-weight - Font weight of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-focus-outline-color - Focus outline color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-horizontal-padding - Horizontal padding of wcs-com-nav\n * @cssprop --wcs-com-nav-vertical-padding - Vertical padding of wcs-com-nav\n * @cssprop --wcs-com-nav-mobile-overlay-gap - Gap between each items section in mobile overlay\n * @cssprop --wcs-com-nav-mobile-overlay-padding - Padding inside mobile overlay\n * @cssprop --wcs-com-nav-mobile-menu-icon-border-color - Bar border color on the left of icon mobile menu\n * @cssprop --wcs-com-nav-mobile-menu-icon-gap- Gap between icon mobile menu and separator on the left\n * @cssprop --wcs-com-nav-mobile-menu-icon-margin-left - Margin left of icon mobile menu\n * @cssprop --wcs-com-nav-menu-bar-gap - Gap between each item inside menu-bar\n * @cssprop --wcs-com-nav-menu-bar-margin-left - Margin left between menu bar and the app-name section\n */\n@Component({\n tag: 'wcs-com-nav',\n styleUrl: 'com-nav.scss',\n shadow: true,\n})\nexport class ComNav implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLWcsComNavElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /** Name of the application to be displayed in the menu bar */\n @Prop() appName: string;\n\n @State() private mobileMenuOpen: boolean = false;\n @State() public currentActiveSizing: ComNavSize;\n private resizeObserver: ResizeObserver;\n\n private mobileMenuIconClick() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): Promise | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, COM_NAV_INHERITED_ATTRS)\n };\n\n const slottedNavigableItems = this.el.querySelectorAll(':scope > wcs-com-nav-submenu:not([slot]), :scope > a:not([slot])');\n registerCloseHandlerForFocusOutEventOn(slottedNavigableItems, WCS_COM_NAV_SUBMENU_TAG_NAME);\n }\n\n componentDidLoad(): void {\n if(!this.resizeObserver) {\n this.resizeObserver = comNavDidLoadWithResizeObserver(this);\n this.resizeObserver.observe(document.body);\n }\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n // XXX: Special case on this component because of the desktop / mobile mode that re-renders the