@integry/sdk 0.0.50 → 0.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/THIRD_PARTY_LICENSES
CHANGED
|
@@ -415,6 +415,399 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
415
415
|
SOFTWARE.
|
|
416
416
|
|
|
417
417
|
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
Name: dompurify
|
|
421
|
+
Version: 2.3.1
|
|
422
|
+
License: (MPL-2.0 OR Apache-2.0)
|
|
423
|
+
Private: false
|
|
424
|
+
Description: DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.
|
|
425
|
+
Repository: git://github.com/cure53/DOMPurify.git
|
|
426
|
+
Homepage: https://github.com/cure53/DOMPurify
|
|
427
|
+
Author: Mario Heiderich <mario@cure53.de> (https://cure53.de/)
|
|
428
|
+
License Copyright:
|
|
429
|
+
===
|
|
430
|
+
|
|
431
|
+
DOMPurify
|
|
432
|
+
Copyright 2015 Mario Heiderich
|
|
433
|
+
|
|
434
|
+
DOMPurify is free software; you can redistribute it and/or modify it under the
|
|
435
|
+
terms of either:
|
|
436
|
+
|
|
437
|
+
a) the Apache License Version 2.0, or
|
|
438
|
+
b) the Mozilla Public License Version 2.0
|
|
439
|
+
|
|
440
|
+
-----------------------------------------------------------------------------
|
|
441
|
+
|
|
442
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
443
|
+
you may not use this file except in compliance with the License.
|
|
444
|
+
You may obtain a copy of the License at
|
|
445
|
+
|
|
446
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
447
|
+
|
|
448
|
+
Unless required by applicable law or agreed to in writing, software
|
|
449
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
450
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
451
|
+
See the License for the specific language governing permissions and
|
|
452
|
+
limitations under the License.
|
|
453
|
+
|
|
454
|
+
-----------------------------------------------------------------------------
|
|
455
|
+
Mozilla Public License, version 2.0
|
|
456
|
+
|
|
457
|
+
1. Definitions
|
|
458
|
+
|
|
459
|
+
1.1. “Contributor”
|
|
460
|
+
|
|
461
|
+
means each individual or legal entity that creates, contributes to the
|
|
462
|
+
creation of, or owns Covered Software.
|
|
463
|
+
|
|
464
|
+
1.2. “Contributor Version”
|
|
465
|
+
|
|
466
|
+
means the combination of the Contributions of others (if any) used by a
|
|
467
|
+
Contributor and that particular Contributor’s Contribution.
|
|
468
|
+
|
|
469
|
+
1.3. “Contribution”
|
|
470
|
+
|
|
471
|
+
means Covered Software of a particular Contributor.
|
|
472
|
+
|
|
473
|
+
1.4. “Covered Software”
|
|
474
|
+
|
|
475
|
+
means Source Code Form to which the initial Contributor has attached the
|
|
476
|
+
notice in Exhibit A, the Executable Form of such Source Code Form, and
|
|
477
|
+
Modifications of such Source Code Form, in each case including portions
|
|
478
|
+
thereof.
|
|
479
|
+
|
|
480
|
+
1.5. “Incompatible With Secondary Licenses”
|
|
481
|
+
means
|
|
482
|
+
|
|
483
|
+
a. that the initial Contributor has attached the notice described in
|
|
484
|
+
Exhibit B to the Covered Software; or
|
|
485
|
+
|
|
486
|
+
b. that the Covered Software was made available under the terms of version
|
|
487
|
+
1.1 or earlier of the License, but not also under the terms of a
|
|
488
|
+
Secondary License.
|
|
489
|
+
|
|
490
|
+
1.6. “Executable Form”
|
|
491
|
+
|
|
492
|
+
means any form of the work other than Source Code Form.
|
|
493
|
+
|
|
494
|
+
1.7. “Larger Work”
|
|
495
|
+
|
|
496
|
+
means a work that combines Covered Software with other material, in a separate
|
|
497
|
+
file or files, that is not Covered Software.
|
|
498
|
+
|
|
499
|
+
1.8. “License”
|
|
500
|
+
|
|
501
|
+
means this document.
|
|
502
|
+
|
|
503
|
+
1.9. “Licensable”
|
|
504
|
+
|
|
505
|
+
means having the right to grant, to the maximum extent possible, whether at the
|
|
506
|
+
time of the initial grant or subsequently, any and all of the rights conveyed by
|
|
507
|
+
this License.
|
|
508
|
+
|
|
509
|
+
1.10. “Modifications”
|
|
510
|
+
|
|
511
|
+
means any of the following:
|
|
512
|
+
|
|
513
|
+
a. any file in Source Code Form that results from an addition to, deletion
|
|
514
|
+
from, or modification of the contents of Covered Software; or
|
|
515
|
+
|
|
516
|
+
b. any new file in Source Code Form that contains any Covered Software.
|
|
517
|
+
|
|
518
|
+
1.11. “Patent Claims” of a Contributor
|
|
519
|
+
|
|
520
|
+
means any patent claim(s), including without limitation, method, process,
|
|
521
|
+
and apparatus claims, in any patent Licensable by such Contributor that
|
|
522
|
+
would be infringed, but for the grant of the License, by the making,
|
|
523
|
+
using, selling, offering for sale, having made, import, or transfer of
|
|
524
|
+
either its Contributions or its Contributor Version.
|
|
525
|
+
|
|
526
|
+
1.12. “Secondary License”
|
|
527
|
+
|
|
528
|
+
means either the GNU General Public License, Version 2.0, the GNU Lesser
|
|
529
|
+
General Public License, Version 2.1, the GNU Affero General Public
|
|
530
|
+
License, Version 3.0, or any later versions of those licenses.
|
|
531
|
+
|
|
532
|
+
1.13. “Source Code Form”
|
|
533
|
+
|
|
534
|
+
means the form of the work preferred for making modifications.
|
|
535
|
+
|
|
536
|
+
1.14. “You” (or “Your”)
|
|
537
|
+
|
|
538
|
+
means an individual or a legal entity exercising rights under this
|
|
539
|
+
License. For legal entities, “You” includes any entity that controls, is
|
|
540
|
+
controlled by, or is under common control with You. For purposes of this
|
|
541
|
+
definition, “control” means (a) the power, direct or indirect, to cause
|
|
542
|
+
the direction or management of such entity, whether by contract or
|
|
543
|
+
otherwise, or (b) ownership of more than fifty percent (50%) of the
|
|
544
|
+
outstanding shares or beneficial ownership of such entity.
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
2. License Grants and Conditions
|
|
548
|
+
|
|
549
|
+
2.1. Grants
|
|
550
|
+
|
|
551
|
+
Each Contributor hereby grants You a world-wide, royalty-free,
|
|
552
|
+
non-exclusive license:
|
|
553
|
+
|
|
554
|
+
a. under intellectual property rights (other than patent or trademark)
|
|
555
|
+
Licensable by such Contributor to use, reproduce, make available,
|
|
556
|
+
modify, display, perform, distribute, and otherwise exploit its
|
|
557
|
+
Contributions, either on an unmodified basis, with Modifications, or as
|
|
558
|
+
part of a Larger Work; and
|
|
559
|
+
|
|
560
|
+
b. under Patent Claims of such Contributor to make, use, sell, offer for
|
|
561
|
+
sale, have made, import, and otherwise transfer either its Contributions
|
|
562
|
+
or its Contributor Version.
|
|
563
|
+
|
|
564
|
+
2.2. Effective Date
|
|
565
|
+
|
|
566
|
+
The licenses granted in Section 2.1 with respect to any Contribution become
|
|
567
|
+
effective for each Contribution on the date the Contributor first distributes
|
|
568
|
+
such Contribution.
|
|
569
|
+
|
|
570
|
+
2.3. Limitations on Grant Scope
|
|
571
|
+
|
|
572
|
+
The licenses granted in this Section 2 are the only rights granted under this
|
|
573
|
+
License. No additional rights or licenses will be implied from the distribution
|
|
574
|
+
or licensing of Covered Software under this License. Notwithstanding Section
|
|
575
|
+
2.1(b) above, no patent license is granted by a Contributor:
|
|
576
|
+
|
|
577
|
+
a. for any code that a Contributor has removed from Covered Software; or
|
|
578
|
+
|
|
579
|
+
b. for infringements caused by: (i) Your and any other third party’s
|
|
580
|
+
modifications of Covered Software, or (ii) the combination of its
|
|
581
|
+
Contributions with other software (except as part of its Contributor
|
|
582
|
+
Version); or
|
|
583
|
+
|
|
584
|
+
c. under Patent Claims infringed by Covered Software in the absence of its
|
|
585
|
+
Contributions.
|
|
586
|
+
|
|
587
|
+
This License does not grant any rights in the trademarks, service marks, or
|
|
588
|
+
logos of any Contributor (except as may be necessary to comply with the
|
|
589
|
+
notice requirements in Section 3.4).
|
|
590
|
+
|
|
591
|
+
2.4. Subsequent Licenses
|
|
592
|
+
|
|
593
|
+
No Contributor makes additional grants as a result of Your choice to
|
|
594
|
+
distribute the Covered Software under a subsequent version of this License
|
|
595
|
+
(see Section 10.2) or under the terms of a Secondary License (if permitted
|
|
596
|
+
under the terms of Section 3.3).
|
|
597
|
+
|
|
598
|
+
2.5. Representation
|
|
599
|
+
|
|
600
|
+
Each Contributor represents that the Contributor believes its Contributions
|
|
601
|
+
are its original creation(s) or it has sufficient rights to grant the
|
|
602
|
+
rights to its Contributions conveyed by this License.
|
|
603
|
+
|
|
604
|
+
2.6. Fair Use
|
|
605
|
+
|
|
606
|
+
This License is not intended to limit any rights You have under applicable
|
|
607
|
+
copyright doctrines of fair use, fair dealing, or other equivalents.
|
|
608
|
+
|
|
609
|
+
2.7. Conditions
|
|
610
|
+
|
|
611
|
+
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
|
|
612
|
+
Section 2.1.
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
3. Responsibilities
|
|
616
|
+
|
|
617
|
+
3.1. Distribution of Source Form
|
|
618
|
+
|
|
619
|
+
All distribution of Covered Software in Source Code Form, including any
|
|
620
|
+
Modifications that You create or to which You contribute, must be under the
|
|
621
|
+
terms of this License. You must inform recipients that the Source Code Form
|
|
622
|
+
of the Covered Software is governed by the terms of this License, and how
|
|
623
|
+
they can obtain a copy of this License. You may not attempt to alter or
|
|
624
|
+
restrict the recipients’ rights in the Source Code Form.
|
|
625
|
+
|
|
626
|
+
3.2. Distribution of Executable Form
|
|
627
|
+
|
|
628
|
+
If You distribute Covered Software in Executable Form then:
|
|
629
|
+
|
|
630
|
+
a. such Covered Software must also be made available in Source Code Form,
|
|
631
|
+
as described in Section 3.1, and You must inform recipients of the
|
|
632
|
+
Executable Form how they can obtain a copy of such Source Code Form by
|
|
633
|
+
reasonable means in a timely manner, at a charge no more than the cost
|
|
634
|
+
of distribution to the recipient; and
|
|
635
|
+
|
|
636
|
+
b. You may distribute such Executable Form under the terms of this License,
|
|
637
|
+
or sublicense it under different terms, provided that the license for
|
|
638
|
+
the Executable Form does not attempt to limit or alter the recipients’
|
|
639
|
+
rights in the Source Code Form under this License.
|
|
640
|
+
|
|
641
|
+
3.3. Distribution of a Larger Work
|
|
642
|
+
|
|
643
|
+
You may create and distribute a Larger Work under terms of Your choice,
|
|
644
|
+
provided that You also comply with the requirements of this License for the
|
|
645
|
+
Covered Software. If the Larger Work is a combination of Covered Software
|
|
646
|
+
with a work governed by one or more Secondary Licenses, and the Covered
|
|
647
|
+
Software is not Incompatible With Secondary Licenses, this License permits
|
|
648
|
+
You to additionally distribute such Covered Software under the terms of
|
|
649
|
+
such Secondary License(s), so that the recipient of the Larger Work may, at
|
|
650
|
+
their option, further distribute the Covered Software under the terms of
|
|
651
|
+
either this License or such Secondary License(s).
|
|
652
|
+
|
|
653
|
+
3.4. Notices
|
|
654
|
+
|
|
655
|
+
You may not remove or alter the substance of any license notices (including
|
|
656
|
+
copyright notices, patent notices, disclaimers of warranty, or limitations
|
|
657
|
+
of liability) contained within the Source Code Form of the Covered
|
|
658
|
+
Software, except that You may alter any license notices to the extent
|
|
659
|
+
required to remedy known factual inaccuracies.
|
|
660
|
+
|
|
661
|
+
3.5. Application of Additional Terms
|
|
662
|
+
|
|
663
|
+
You may choose to offer, and to charge a fee for, warranty, support,
|
|
664
|
+
indemnity or liability obligations to one or more recipients of Covered
|
|
665
|
+
Software. However, You may do so only on Your own behalf, and not on behalf
|
|
666
|
+
of any Contributor. You must make it absolutely clear that any such
|
|
667
|
+
warranty, support, indemnity, or liability obligation is offered by You
|
|
668
|
+
alone, and You hereby agree to indemnify every Contributor for any
|
|
669
|
+
liability incurred by such Contributor as a result of warranty, support,
|
|
670
|
+
indemnity or liability terms You offer. You may include additional
|
|
671
|
+
disclaimers of warranty and limitations of liability specific to any
|
|
672
|
+
jurisdiction.
|
|
673
|
+
|
|
674
|
+
4. Inability to Comply Due to Statute or Regulation
|
|
675
|
+
|
|
676
|
+
If it is impossible for You to comply with any of the terms of this License
|
|
677
|
+
with respect to some or all of the Covered Software due to statute, judicial
|
|
678
|
+
order, or regulation then You must: (a) comply with the terms of this License
|
|
679
|
+
to the maximum extent possible; and (b) describe the limitations and the code
|
|
680
|
+
they affect. Such description must be placed in a text file included with all
|
|
681
|
+
distributions of the Covered Software under this License. Except to the
|
|
682
|
+
extent prohibited by statute or regulation, such description must be
|
|
683
|
+
sufficiently detailed for a recipient of ordinary skill to be able to
|
|
684
|
+
understand it.
|
|
685
|
+
|
|
686
|
+
5. Termination
|
|
687
|
+
|
|
688
|
+
5.1. The rights granted under this License will terminate automatically if You
|
|
689
|
+
fail to comply with any of its terms. However, if You become compliant,
|
|
690
|
+
then the rights granted under this License from a particular Contributor
|
|
691
|
+
are reinstated (a) provisionally, unless and until such Contributor
|
|
692
|
+
explicitly and finally terminates Your grants, and (b) on an ongoing basis,
|
|
693
|
+
if such Contributor fails to notify You of the non-compliance by some
|
|
694
|
+
reasonable means prior to 60 days after You have come back into compliance.
|
|
695
|
+
Moreover, Your grants from a particular Contributor are reinstated on an
|
|
696
|
+
ongoing basis if such Contributor notifies You of the non-compliance by
|
|
697
|
+
some reasonable means, this is the first time You have received notice of
|
|
698
|
+
non-compliance with this License from such Contributor, and You become
|
|
699
|
+
compliant prior to 30 days after Your receipt of the notice.
|
|
700
|
+
|
|
701
|
+
5.2. If You initiate litigation against any entity by asserting a patent
|
|
702
|
+
infringement claim (excluding declaratory judgment actions, counter-claims,
|
|
703
|
+
and cross-claims) alleging that a Contributor Version directly or
|
|
704
|
+
indirectly infringes any patent, then the rights granted to You by any and
|
|
705
|
+
all Contributors for the Covered Software under Section 2.1 of this License
|
|
706
|
+
shall terminate.
|
|
707
|
+
|
|
708
|
+
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
|
|
709
|
+
license agreements (excluding distributors and resellers) which have been
|
|
710
|
+
validly granted by You or Your distributors under this License prior to
|
|
711
|
+
termination shall survive termination.
|
|
712
|
+
|
|
713
|
+
6. Disclaimer of Warranty
|
|
714
|
+
|
|
715
|
+
Covered Software is provided under this License on an “as is” basis, without
|
|
716
|
+
warranty of any kind, either expressed, implied, or statutory, including,
|
|
717
|
+
without limitation, warranties that the Covered Software is free of defects,
|
|
718
|
+
merchantable, fit for a particular purpose or non-infringing. The entire
|
|
719
|
+
risk as to the quality and performance of the Covered Software is with You.
|
|
720
|
+
Should any Covered Software prove defective in any respect, You (not any
|
|
721
|
+
Contributor) assume the cost of any necessary servicing, repair, or
|
|
722
|
+
correction. This disclaimer of warranty constitutes an essential part of this
|
|
723
|
+
License. No use of any Covered Software is authorized under this License
|
|
724
|
+
except under this disclaimer.
|
|
725
|
+
|
|
726
|
+
7. Limitation of Liability
|
|
727
|
+
|
|
728
|
+
Under no circumstances and under no legal theory, whether tort (including
|
|
729
|
+
negligence), contract, or otherwise, shall any Contributor, or anyone who
|
|
730
|
+
distributes Covered Software as permitted above, be liable to You for any
|
|
731
|
+
direct, indirect, special, incidental, or consequential damages of any
|
|
732
|
+
character including, without limitation, damages for lost profits, loss of
|
|
733
|
+
goodwill, work stoppage, computer failure or malfunction, or any and all
|
|
734
|
+
other commercial damages or losses, even if such party shall have been
|
|
735
|
+
informed of the possibility of such damages. This limitation of liability
|
|
736
|
+
shall not apply to liability for death or personal injury resulting from such
|
|
737
|
+
party’s negligence to the extent applicable law prohibits such limitation.
|
|
738
|
+
Some jurisdictions do not allow the exclusion or limitation of incidental or
|
|
739
|
+
consequential damages, so this exclusion and limitation may not apply to You.
|
|
740
|
+
|
|
741
|
+
8. Litigation
|
|
742
|
+
|
|
743
|
+
Any litigation relating to this License may be brought only in the courts of
|
|
744
|
+
a jurisdiction where the defendant maintains its principal place of business
|
|
745
|
+
and such litigation shall be governed by laws of that jurisdiction, without
|
|
746
|
+
reference to its conflict-of-law provisions. Nothing in this Section shall
|
|
747
|
+
prevent a party’s ability to bring cross-claims or counter-claims.
|
|
748
|
+
|
|
749
|
+
9. Miscellaneous
|
|
750
|
+
|
|
751
|
+
This License represents the complete agreement concerning the subject matter
|
|
752
|
+
hereof. If any provision of this License is held to be unenforceable, such
|
|
753
|
+
provision shall be reformed only to the extent necessary to make it
|
|
754
|
+
enforceable. Any law or regulation which provides that the language of a
|
|
755
|
+
contract shall be construed against the drafter shall not be used to construe
|
|
756
|
+
this License against a Contributor.
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
10. Versions of the License
|
|
760
|
+
|
|
761
|
+
10.1. New Versions
|
|
762
|
+
|
|
763
|
+
Mozilla Foundation is the license steward. Except as provided in Section
|
|
764
|
+
10.3, no one other than the license steward has the right to modify or
|
|
765
|
+
publish new versions of this License. Each version will be given a
|
|
766
|
+
distinguishing version number.
|
|
767
|
+
|
|
768
|
+
10.2. Effect of New Versions
|
|
769
|
+
|
|
770
|
+
You may distribute the Covered Software under the terms of the version of
|
|
771
|
+
the License under which You originally received the Covered Software, or
|
|
772
|
+
under the terms of any subsequent version published by the license
|
|
773
|
+
steward.
|
|
774
|
+
|
|
775
|
+
10.3. Modified Versions
|
|
776
|
+
|
|
777
|
+
If you create software not governed by this License, and you want to
|
|
778
|
+
create a new license for such software, you may create and use a modified
|
|
779
|
+
version of this License if you rename the license and remove any
|
|
780
|
+
references to the name of the license steward (except to note that such
|
|
781
|
+
modified license differs from this License).
|
|
782
|
+
|
|
783
|
+
10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
|
|
784
|
+
If You choose to distribute Source Code Form that is Incompatible With
|
|
785
|
+
Secondary Licenses under the terms of this version of the License, the
|
|
786
|
+
notice described in Exhibit B of this License must be attached.
|
|
787
|
+
|
|
788
|
+
Exhibit A - Source Code Form License Notice
|
|
789
|
+
|
|
790
|
+
This Source Code Form is subject to the
|
|
791
|
+
terms of the Mozilla Public License, v.
|
|
792
|
+
2.0. If a copy of the MPL was not
|
|
793
|
+
distributed with this file, You can
|
|
794
|
+
obtain one at
|
|
795
|
+
http://mozilla.org/MPL/2.0/.
|
|
796
|
+
|
|
797
|
+
If it is not possible or desirable to put the notice in a particular file, then
|
|
798
|
+
You may include the notice in a location (such as a LICENSE file in a relevant
|
|
799
|
+
directory) where a recipient would be likely to look for such a notice.
|
|
800
|
+
|
|
801
|
+
You may add additional accurate notices of copyright ownership.
|
|
802
|
+
|
|
803
|
+
Exhibit B - “Incompatible With Secondary Licenses” Notice
|
|
804
|
+
|
|
805
|
+
This Source Code Form is “Incompatible
|
|
806
|
+
With Secondary Licenses”, as defined by
|
|
807
|
+
the Mozilla Public License, v. 2.0.
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
|
|
418
811
|
---
|
|
419
812
|
|
|
420
813
|
Name: fuzzysort
|
package/dist/esm/index.csm.d.ts
CHANGED
|
@@ -128,20 +128,14 @@ type Activity = {
|
|
|
128
128
|
auth_required: boolean;
|
|
129
129
|
total_fields: number;
|
|
130
130
|
app: App;
|
|
131
|
-
activity_output: string;
|
|
131
|
+
activity_output: string | null;
|
|
132
132
|
activity_output_url: string | null;
|
|
133
133
|
dynamic_field_data_endpoint: string | null;
|
|
134
134
|
};
|
|
135
135
|
type AuthorizationType = {
|
|
136
136
|
id: number;
|
|
137
137
|
type: string;
|
|
138
|
-
authorizations:
|
|
139
|
-
/**
|
|
140
|
-
*
|
|
141
|
-
* @param length Length of string to randomly generate
|
|
142
|
-
* @returns {string} Returns a random string
|
|
143
|
-
*/
|
|
144
|
-
Authorization[];
|
|
138
|
+
authorizations: Authorization[];
|
|
145
139
|
provider: string;
|
|
146
140
|
is_sandbox_enabled: boolean;
|
|
147
141
|
authorization_url_sandbox: string;
|
|
@@ -173,7 +167,7 @@ interface TemplateField {
|
|
|
173
167
|
dynamic_field_src_endpoint: number | null;
|
|
174
168
|
regex: string | null;
|
|
175
169
|
is_searchable: boolean;
|
|
176
|
-
};
|
|
170
|
+
} | null;
|
|
177
171
|
title: string | null;
|
|
178
172
|
type: string;
|
|
179
173
|
placeholder: string | null;
|
package/dist/esm/index.csm.js
CHANGED
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function n(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var a=e.apply(t,r);function s(e){n(a,i,o,s,l,"next",e)}function l(e){n(a,i,o,s,l,"throw",e)}s(void 0)}))}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=Object.prototype,s=a.hasOwnProperty,l="function"==typeof Symbol?Symbol:{},u=l.iterator||"@@iterator",c=l.asyncIterator||"@@asyncIterator",p=l.toStringTag||"@@toStringTag";function d(e,t,n,r){var i=t&&t.prototype instanceof h?t:h,o=Object.create(i.prototype),a=new M(r||[]);return o._invoke=function(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return A()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===_)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=f(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}(e,n,a),o}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}var _={};function h(){}function m(){}function v(){}var y={};y[u]=function(){return this};var g=Object.getPrototypeOf,b=g&&g(g(D([])));b&&b!==a&&s.call(b,u)&&(y=b);var w=v.prototype=h.prototype=Object.create(y);function x(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function I(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))}function k(e,t){function n(r,i,a,l){var u=f(e[r],e,i);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"===o(p)&&s.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(p).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,l)}))}l(u.arg)}var r;this._invoke=function(e,i){function o(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(o,o):o()}}function S(e,t){var n=e.iterator[t.method];if(undefined===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=undefined,S(e,t),"throw"===t.method))return _;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return _}var r=f(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,_;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=undefined),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function D(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(s.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=undefined,t.done=!0,t};return r.next=r}}return{next:A}}function A(){return{value:undefined,done:!0}}m.prototype=w.constructor=v,v.constructor=m,v[p]=m.displayName="GeneratorFunction",x(k.prototype),k.prototype[c]=function(){return this},x(w),w[p]="Generator",w[u]=function(){return this},w.toString=function(){return"[object Generator]"},M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=undefined)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=undefined),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var a=s.call(i,"catchLoc"),l=s.call(i,"finallyLoc");if(a&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:D(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=undefined),_}};var P,R,T,j,L,E,N,F={wrap:d,isGeneratorFunction:I,AsyncIterator:k,mark:function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,p in e||(e[p]="GeneratorFunction")),e.prototype=Object.create(w),e},awrap:function(e){return{__await:e}},async:function(e,t,n,r,i){void 0===i&&(i=Promise);var o=new k(d(e,t,n,r),i);return I(t)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},keys:function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},values:D},z={},U=[],H=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord/i;function V(e,t){for(var n in t)e[n]=t[n];return e}function B(e){var t=e.parentNode;t&&t.removeChild(e)}function W(e,t,n){var r,i=arguments,o={};for(r in t)"key"!==r&&"ref"!==r&&(o[r]=t[r]);if(arguments.length>3)for(n=[n],r=3;r<arguments.length;r++)n.push(i[r]);if(null!=n&&(o.children=n),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===o[r]&&(o[r]=e.defaultProps[r]);return J(e,o,t&&t.key,t&&t.ref)}function J(e,t,n,r){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:null,__c:null,constructor:void 0};return P.vnode&&P.vnode(i),i}function G(e){return e.children}function K(e,t){this.props=e,this.context=t}function q(e,t){if(null==t)return e.__?q(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?q(e):null}function Q(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Q(e)}}function Y(e){(!e.__d&&(e.__d=!0)&&1===T.push(e)||L!==P.debounceRendering)&&((L=P.debounceRendering)||j)(Z)}function Z(){var e,t,n,r,i,o,a;for(T.sort((function(e,t){return t.__v.__b-e.__v.__b}));e=T.pop();)e.__d&&(n=void 0,r=void 0,o=(i=(t=e).__v).__e,(a=t.__P)&&(n=[],r=ie(a,i,V({},i),t.__n,void 0!==a.ownerSVGElement,null,n,null==o?q(i):o),oe(n,i),r!=o&&Q(i)))}function X(e,t,n,r,i,o,a,s,l){var u,c,p,d,f,_,h,m=n&&n.__k||U,v=m.length;if(s==z&&(s=null!=o?o[0]:v?q(n,0):null),u=0,t.__k=$(t.__k,(function(n){if(null!=n){if(n.__=t,n.__b=t.__b+1,null===(p=m[u])||p&&n.key==p.key&&n.type===p.type)m[u]=void 0;else for(c=0;c<v;c++){if((p=m[c])&&n.key==p.key&&n.type===p.type){m[c]=void 0;break}p=null}if(d=ie(e,n,p=p||z,r,i,o,a,s,l),(c=n.ref)&&p.ref!=c&&(h||(h=[]),p.ref&&h.push(p.ref,null,n),h.push(c,n.__c||d,n)),null!=d){if(null==_&&(_=d),null!=n.__d)d=n.__d,n.__d=null;else if(o==p||d!=s||null==d.parentNode){e:if(null==s||s.parentNode!==e)e.appendChild(d);else{for(f=s,c=0;(f=f.nextSibling)&&c<v;c+=2)if(f==d)break e;e.insertBefore(d,s)}"option"==t.type&&(e.value="")}s=d.nextSibling,"function"==typeof t.type&&(t.__d=d)}}return u++,n})),t.__e=_,null!=o&&"function"!=typeof t.type)for(u=o.length;u--;)null!=o[u]&&B(o[u]);for(u=v;u--;)null!=m[u]&&se(m[u],m[u]);if(h)for(u=0;u<h.length;u++)ae(h[u],h[++u],h[++u])}function $(e,t,n){if(null==n&&(n=[]),null==e||"boolean"==typeof e)t&&n.push(t(null));else if(Array.isArray(e))for(var r=0;r<e.length;r++)$(e[r],t,n);else n.push(t?t("string"==typeof e||"number"==typeof e?J(null,e,null,null):null!=e.__e||null!=e.__c?J(e.type,e.props,e.key,null):e):e);return n}function ee(e,t,n,r,i){var o;for(o in n)o in t||ne(e,o,null,n[o],r);for(o in t)i&&"function"!=typeof t[o]||"value"===o||"checked"===o||n[o]===t[o]||ne(e,o,t[o],n[o],r)}function te(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]="number"==typeof n&&!1===H.test(t)?n+"px":null==n?"":n}function ne(e,t,n,r,i){var o,a,s,l,u;if(i?"className"===t&&(t="class"):"class"===t&&(t="className"),"key"===t||"children"===t);else if("style"===t)if(o=e.style,"string"==typeof n)o.cssText=n;else{if("string"==typeof r&&(o.cssText="",r=null),r)for(a in r)n&&a in n||te(o,a,"");if(n)for(s in n)r&&n[s]===r[s]||te(o,s,n[s])}else"o"===t[0]&&"n"===t[1]?(l=t!==(t=t.replace(/Capture$/,"")),u=t.toLowerCase(),t=(u in e?u:t).slice(2),n?(r||e.addEventListener(t,re,l),(e.l||(e.l={}))[t]=n):e.removeEventListener(t,re,l)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&!i&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(t!==(t=t.replace(/^xlink:?/,""))?null==n||!1===n?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):null==n||!1===n?e.removeAttribute(t):e.setAttribute(t,n))}function re(e){this.l[e.type](P.event?P.event(e):e)}function ie(e,t,n,r,i,o,a,s,l){var u,c,p,d,f,_,h,m,v,y,g=t.type;if(void 0!==t.constructor)return null;(u=P.__b)&&u(t);try{e:if("function"==typeof g){if(m=t.props,v=(u=g.contextType)&&r[u.__c],y=u?v?v.props.value:u.__:r,n.__c?h=(c=t.__c=n.__c).__=c.__E:("prototype"in g&&g.prototype.render?t.__c=c=new g(m,y):(t.__c=c=new K(m,y),c.constructor=g,c.render=le),v&&v.sub(c),c.props=m,c.state||(c.state={}),c.context=y,c.__n=r,p=c.__d=!0,c.__h=[]),null==c.__s&&(c.__s=c.state),null!=g.getDerivedStateFromProps&&(c.__s==c.state&&(c.__s=V({},c.__s)),V(c.__s,g.getDerivedStateFromProps(m,c.__s))),d=c.props,f=c.state,p)null==g.getDerivedStateFromProps&&null!=c.componentWillMount&&c.componentWillMount(),null!=c.componentDidMount&&c.__h.push(c.componentDidMount);else{if(null==g.getDerivedStateFromProps&&m!==d&&null!=c.componentWillReceiveProps&&c.componentWillReceiveProps(m,y),!c.__e&&null!=c.shouldComponentUpdate&&!1===c.shouldComponentUpdate(m,c.__s,y)){for(c.props=m,c.state=c.__s,c.__d=!1,c.__v=t,t.__e=n.__e,t.__k=n.__k,c.__h.length&&a.push(c),u=0;u<t.__k.length;u++)t.__k[u]&&(t.__k[u].__=t);break e}null!=c.componentWillUpdate&&c.componentWillUpdate(m,c.__s,y),null!=c.componentDidUpdate&&c.__h.push((function(){c.componentDidUpdate(d,f,_)}))}c.context=y,c.props=m,c.state=c.__s,(u=P.__r)&&u(t),c.__d=!1,c.__v=t,c.__P=e,u=c.render(c.props,c.state,c.context),t.__k=$(null!=u&&u.type==G&&null==u.key?u.props.children:u),null!=c.getChildContext&&(r=V(V({},r),c.getChildContext())),p||null==c.getSnapshotBeforeUpdate||(_=c.getSnapshotBeforeUpdate(d,f)),X(e,t,n,r,i,o,a,s,l),c.base=t.__e,c.__h.length&&a.push(c),h&&(c.__E=c.__=null),c.__e=null}else t.__e=function(e,t,n,r,i,o,a,s){var l,u,c,p,d,f=n.props,_=t.props;if(i="svg"===t.type||i,null==e&&null!=o)for(l=0;l<o.length;l++)if(null!=(u=o[l])&&(null===t.type?3===u.nodeType:u.localName===t.type)){e=u,o[l]=null;break}if(null==e){if(null===t.type)return document.createTextNode(_);e=i?document.createElementNS("http://www.w3.org/2000/svg",t.type):document.createElement(t.type),o=null}if(null===t.type)null!=o&&(o[o.indexOf(e)]=null),f===_||s||e.data==_||(e.data=_);else if(t!==n){if(null!=o&&(o=U.slice.call(e.childNodes)),c=(f=n.props||z).dangerouslySetInnerHTML,p=_.dangerouslySetInnerHTML,!s){if(f===z)for(f={},d=0;d<e.attributes.length;d++)f[e.attributes[d].name]=e.attributes[d].value;(p||c)&&(p&&c&&p.__html==c.__html||(e.innerHTML=p&&p.__html||""))}ee(e,_,f,i,s),t.__k=t.props.children,p||X(e,t,n,r,"foreignObject"!==t.type&&i,o,a,z,s),s||("value"in _&&void 0!==_.value&&_.value!==e.value&&(e.value=null==_.value?"":_.value),"checked"in _&&void 0!==_.checked&&_.checked!==e.checked&&(e.checked=_.checked))}return e}(n.__e,t,n,r,i,o,a,l);(u=P.diffed)&&u(t)}catch(e){P.__e(e,t,n)}return t.__e}function oe(e,t){P.__c&&P.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){P.__e(e,t.__v)}}))}function ae(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){P.__e(e,n)}}function se(e,t,n){var r,i,o;if(P.unmount&&P.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||ae(r,null,t)),n||"function"==typeof e.type||(n=null!=(i=e.__e)),e.__e=e.__d=null,null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){P.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&se(r[o],t,n);null!=i&&B(i)}function le(e,t,n){return this.constructor(e,n)}function ue(e,t,n){var r,i,o;P.__&&P.__(e,t),i=(r=n===E)?null:n&&n.__k||t.__k,e=W(G,null,[e]),o=[],ie(t,(r?t:n||t).__k=e,i||z,z,void 0!==t.ownerSVGElement,n&&!r?[n]:i?null:U.slice.call(t.childNodes),o,n||z,r),oe(o,e)}function ce(e){var t={},n={__c:"__cC"+N++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var r,i=this;return this.getChildContext||(r=[],this.getChildContext=function(){return t[n.__c]=i,t},this.shouldComponentUpdate=function(t){e.value!==t.value&&r.some((function(e){e.context=t.value,Y(e)}))},this.sub=function(e){r.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){r.splice(r.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Consumer.contextType=n,n}P={__e:function(e,t){for(var n,r;t=t.__;)if((n=t.__c)&&!n.__)try{if(n.constructor&&null!=n.constructor.getDerivedStateFromError&&(r=!0,n.setState(n.constructor.getDerivedStateFromError(e))),null!=n.componentDidCatch&&(r=!0,n.componentDidCatch(e)),r)return Y(n.__E=n)}catch(t){e=t}throw e}},R=function(e){return null!=e&&void 0===e.constructor},K.prototype.setState=function(e,t){var n;n=this.__s!==this.state?this.__s:this.__s=V({},this.state),"function"==typeof e&&(e=e(n,this.props)),e&&V(n,e),null!=e&&this.__v&&(this.__e=!1,t&&this.__h.push(t),Y(this))},K.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Y(this))},K.prototype.render=G,T=[],j="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,E=z,N=0;var pe=Object.freeze({__proto__:null,render:ue,hydrate:function(e,t){ue(e,t,E)},createElement:W,h:W,Fragment:G,createRef:function(){return{}},get isValidElement(){return R},Component:K,cloneElement:function(e,t){return t=V(V({},e.props),t),arguments.length>2&&(t.children=U.slice.call(arguments,2)),J(e.type,t,t.key||e.key,t.ref||e.ref)},createContext:ce,toChildArray:$,_unmount:se,get options(){return P}}),de=function e(t,n,r,i){var o;n[0]=0;for(var a=1;a<n.length;a++){var s=n[a++],l=n[a]?(n[0]|=s?1:2,r[n[a++]]):n[++a];3===s?i[0]=l:4===s?i[1]=Object.assign(i[1]||{},l):5===s?(i[1]=i[1]||{})[n[++a]]=l:6===s?i[1][n[++a]]+=l+"":s?(o=t.apply(l,e(t,l,r,["",null])),i.push(o),l[0]?n[0]|=2:(n[a-2]=0,n[a]=o)):i.push(l)}return i},fe=new Map;var _e=function(e){var t=fe.get(this);return t||(t=new Map,fe.set(this,t)),(t=de(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,i="",o="",a=[0],s=function(e){1===r&&(e||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?a.push(0,e,i):3===r&&(e||i)?(a.push(3,e,i),r=2):2===r&&"..."===i&&e?a.push(4,e,0):2===r&&i&&!e?a.push(5,0,!0,i):r>=5&&((i||!e&&5===r)&&(a.push(r,0,i,n),r=6),e&&(a.push(r,e,0,n),r=6)),i=""},l=0;l<e.length;l++){l&&(1===r&&s(),s(l));for(var u=0;u<e[l].length;u++)t=e[l][u],1===r?"<"===t?(s(),a=[a],r=3):i+=t:4===r?"--"===i&&">"===t?(r=1,i=""):i=t+i[0]:o?t===o?o="":i+=t:'"'===t||"'"===t?o=t:">"===t?(s(),r=1):r&&("="===t?(r=5,n=i,i=""):"/"===t&&(r<5||">"===e[l][u+1])?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):i+=t),3===r&&"!--"===i&&(r=4,a=a[0])}return s(),a}(e)),t),arguments,[])).length>1?t:t[0]}.bind(W),he="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function me(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function ve(e){var t={exports:{}};return e(t,t.exports),t.exports}var ye=me(pe),ge=ve((function(e,t){var n=ye;function r(e,t){for(var n in t)e[n]=t[n];return e}function i(e){this.getChildContext=function(){return{store:e.store}}}i.prototype.render=function(e){return e.children&&e.children[0]||e.children},t.connect=function(e,t){var i;return"function"!=typeof e&&("string"==typeof(i=e||{})&&(i=i.split(/\s*,\s*/)),e=function(e){for(var t={},n=0;n<i.length;n++)t[i[n]]=e[i[n]];return t}),function(i){function o(o,a){var s=this,l=a.store,u=e(l?l.getState():{},o),c=t?function(e,t){"function"==typeof e&&(e=e(t));var n={};for(var r in e)n[r]=t.action(e[r]);return n}(t,l):{store:l},p=function(){var t=e(l?l.getState():{},o);for(var n in t)if(t[n]!==u[n])return u=t,s.setState({});for(var r in u)if(!(r in t))return u=t,s.setState({})};this.componentWillReceiveProps=function(e){o=e,p()},this.componentDidMount=function(){l.subscribe(p)},this.componentWillUnmount=function(){l.unsubscribe(p)},this.render=function(e){return n.h(i,r(r(r({},c),e),u))}}return(o.prototype=new n.Component).constructor=o}},t.Provider=i}));function be(e,t){return t=t||{},new Promise((function(n,r){var i=new XMLHttpRequest,o=[],a=[],s={},l=function e(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:e,headers:{keys:function(){return o},entries:function(){return a},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var u in i.open(t.method||"get",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){o.push(t=t.toLowerCase()),a.push([t,n]),s[t]=s[t]?s[t]+","+n:n})),n(l())},i.onerror=r,i.withCredentials="include"==t.credentials,t.headers)i.setRequestHeader(u,t.headers[u]);i.send(t.body||null)}))}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}function Ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ke(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?Ie(e):t}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ce(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function Oe(e,t,n){return(Oe=Ce()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&we(i,n.prototype),i}).apply(null,arguments)}function Me(e){var t="function"==typeof Map?new Map:void 0;return(Me=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Oe(e,arguments,Se(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),we(r,e)})(e)}function De(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Ae=function(e){xe(n,Me(Error));var t=De(n);function n(e,r){var o;return i(this,n),(o=t.call(this,e)).name=o.constructor.name,o.statusCode=null==r?void 0:r.status,o.response=r,o}return n}(),Pe=function(){var e=r(F.mark((function e(t){var n,r,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!1,!t.ok){e.next=16;break}return e.prev=2,e.next=5,t.json();case 5:return r=e.sent,n&&console.log(r),e.abrupt("return",{data:r,status:t.status});case 10:return e.prev=10,e.t0=e.catch(2),n&&console.log("Response is not in json"),e.abrupt("return",{data:null,status:t.status});case 14:e.next=22;break;case 16:if(405!==t.status){e.next=22;break}return e.next=19,t.json();case 19:return e.t1=e.sent,e.t2=t.status,e.abrupt("return",{data:e.t1,status:e.t2});case 22:return n&&console.log("Received a non-2xx status code"),i=new Ae(t.statusText,t),e.abrupt("return",Promise.reject(i));case 25:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}();function Re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Te(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Re(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Re(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var je=function e(t){var n=this;i(this,e),this.getTemplate=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/template/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,self_api_key:n.config.apiKey||null}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.getAuthUrl=function(t){var r=new URL("".concat(n.config.baseUrl,"/auth/login/").concat(t,"/"));return e.addUrlSearchParams(r,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),r.toString()},this.getTemplateStep=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/template_step/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,self_api_key:n.config.apiKey||null}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.verifyOAuth=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/").concat(n.config.oauthVerifyPath)),e.addUrlSearchParams(i,{authorization_id:"".concat(r),app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"POST"}).then(Pe);case 5:return o=t.sent,t.abrupt("return",!!o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.deleteAuth=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/connected-accounts/").concat(r)),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"DELETE"}).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",{status:o.status,data:o.data});case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.callDynamicDataEndpoint=function(){var t=r(F.mark((function t(r){var i,o,a=arguments;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=a.length>1&&void 0!==a[1]?a[1]:{},e.addUrlSearchParams(r,Te({app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId},i)),t.prev=2,t.next=5,be(r.toString()).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.getTemplateListing=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/bundle/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.saveIntegration=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/integration/")),e.addUrlSearchParams(i,{async:!1,app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,activate:!0}),t.prev=2,t.next=5,be(i.toString(),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}}).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.updateIntegration=function(){var t=r(F.mark((function t(r,i){var o,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new URL("".concat(n.config.baseUrlv2,"/integration/").concat(r,"/")),e.addUrlSearchParams(o,{async:!1,app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,activate:!0}),t.prev=2,t.next=5,be(o.toString(),{method:"PUT",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}}).then((function(e){return Pe(e)}));case 5:return a=t.sent,t.abrupt("return",a.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,n){return t.apply(this,arguments)}}(),this.deleteIntegration=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/setup/template/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"DELETE"}).then((function(e){return Pe(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.toggleIntegration=function(){var t=r(F.mark((function t(r,i){var o,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new URL("".concat(n.config.baseUrlv2,"/integration/").concat(r,"/").concat(i?"enable":"disable","/")),e.addUrlSearchParams(o,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(o.toString(),{method:"PUT"}).then((function(e){return Pe(e)}));case 5:return a=t.sent,t.abrupt("return",a.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,n){return t.apply(this,arguments)}}(),this.getIntegrationStatuses=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/integration_status/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"PUT",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}}).then(Pe);case 5:return o=t.sent,t.abrupt("return",o);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.config=t};function Le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ee(e,t){if(e){if("string"==typeof e)return Le(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Le(e,t):void 0}}function Ne(e){return function(e){if(Array.isArray(e))return Le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ee(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fe(){return(Fe=r(F.mark((function e(t,n){var r,i,o,a,s;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=(r=function(e){return new Uint8Array(Ne(unescape(encodeURIComponent(e))).map((function(e){return e.charCodeAt(0)})))})(n),o=r(t),e.next=5,crypto.subtle.importKey("raw",i,{name:"HMAC",hash:"SHA-256"},!0,["sign"]);case 5:return a=e.sent,e.next=8,crypto.subtle.sign("HMAC",a,o);case 8:return s=e.sent,e.abrupt("return",Ne(new Uint8Array(s)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ze(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}}(e,t)||Ee(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}je.addUrlSearchParams=function(e,t){return Object.keys(t).map((function(n){return t[n]&&e.searchParams.append(n,"".concat(t[n]))}))};var He,Ve,Be,We=[],Je=P.__r,Ge=P.diffed,Ke=P.__c,qe=P.unmount;function Qe(e){P.__h&&P.__h(Ve);var t=Ve.__H||(Ve.__H={t:[],u:[]});return e>=t.t.length&&t.t.push({}),t.t[e]}function Ye(e){return function(e,t,n){var r=Qe(He++);return r.__c||(r.__c=Ve,r.i=[n?n(t):ot(void 0,t),function(t){var n=e(r.i[0],t);r.i[0]!==n&&(r.i[0]=n,r.__c.setState({}))}]),r.i}(ot,e)}function Ze(e,t){var n=Qe(He++);it(n.o,t)&&(n.i=e,n.o=t,Ve.__H.u.push(n))}function Xe(e){return $e((function(){return{current:e}}),[])}function $e(e,t){var n=Qe(He++);return it(n.o,t)?(n.o=t,n.v=e,n.i=e()):n.i}function et(e){var t=Ve.context[e.__c];if(!t)return e.__;var n=Qe(He++);return null==n.i&&(n.i=!0,t.sub(Ve)),t.props.value}function tt(){We.some((function(e){e.__P&&(e.__H.u.forEach(nt),e.__H.u.forEach(rt),e.__H.u=[])})),We=[]}function nt(e){e.m&&e.m()}function rt(e){var t=e.i();"function"==typeof t&&(e.m=t)}function it(e,t){return!e||t.some((function(t,n){return t!==e[n]}))}function ot(e,t){return"function"==typeof t?t(e):t}function at(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function st(e,t,n){return t&&at(e.prototype,t),n&&at(e,n),e}P.__r=function(e){Je&&Je(e),He=0,(Ve=e.__c).__H&&(Ve.__H.u.forEach(nt),Ve.__H.u.forEach(rt),Ve.__H.u=[])},P.diffed=function(e){Ge&&Ge(e);var t=e.__c;if(t){var n=t.__H;n&&n.u.length&&(1!==We.push(t)&&Be===P.requestAnimationFrame||((Be=P.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);"undefined"!=typeof window&&(t=requestAnimationFrame(n))})(tt))}},P.__c=function(e,t){t.some((function(e){e.__h.forEach(nt),e.__h=e.__h.filter((function(e){return!e.i||rt(e)}))})),Ke&&Ke(e,t)},P.unmount=function(e){qe&&qe(e);var t=e.__c;if(t){var n=t.__H;n&&n.t.forEach((function(e){return e.m&&e.m()}))}};var lt=["message"],ut=F.mark(xt),ct=F.mark(It);function pt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ft(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?ft(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ft(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function ht(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var mt=function(e){xe(n,Me(TypeError));var t=ht(n);function n(e,r){var o,a;i(this,n);var s=e.message,l=ze(e,lt),u=e.path,c=0===u.length?s:"At path: "+u.join(".")+" -- "+s;return o=t.call(this,c),Object.assign(Ie(o),l),o.name=o.constructor.name,o.failures=function(){var t;return null!=(t=a)?t:a=[e].concat(Ne(r()))},o}return n}();function vt(e){return yt(e)&&"function"==typeof e[Symbol.iterator]}function yt(e){return"object"===o(e)&&null!=e}function gt(e){return"string"==typeof e?JSON.stringify(e):""+e}function bt(e){var t=e.next(),n=t.done,r=t.value;return n?void 0:r}function wt(e,t,n,r){if(!0!==e){!1===e?e={}:"string"==typeof e&&(e={message:e});var i=t.path,o=t.branch,a=n.type,s=e,l=s.refinement,u=s.message,c=void 0===u?"Expected a value of type `"+a+"`"+(l?" with refinement `"+l+"`":"")+", but received: `"+gt(r)+"`":u;return _t(_t({value:r,type:a,refinement:l,key:i[i.length-1],path:i,branch:o},e),{},{message:c})}}function xt(e,t,n,r){var i,o,a,s;return F.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:vt(e)||(e=[e]),i=pt(e),l.prev=2,i.s();case 4:if((o=i.n()).done){l.next=12;break}if(a=o.value,!(s=wt(a,t,n,r))){l.next=10;break}return l.next=10,s;case 10:l.next=4;break;case 12:l.next=17;break;case 14:l.prev=14,l.t0=l.catch(2),i.e(l.t0);case 17:return l.prev=17,i.f(),l.finish(17);case 20:case"end":return l.stop()}}),ut,null,[[2,14,17,20]])}function It(e,t){var n,r,i,o,a,s,l,u,c,p,d,f,_,h,m,v,y,g,b,w,x,I,k,S,C,O,M,D,A=arguments;return F.wrap((function(P){for(;;)switch(P.prev=P.next){case 0:if(n=A.length>2&&void 0!==A[2]?A[2]:{},r=n.path,i=void 0===r?[]:r,o=n.branch,a=void 0===o?[e]:o,s=n.coerce,l=void 0!==s&&s,u=n.mask,c=void 0!==u&&u,p={path:i,branch:a},l&&(e=t.coercer(e,p),c&&"type"!==t.type&&yt(t.schema)&&yt(e)&&!Array.isArray(e)))for(d in e)void 0===t.schema[d]&&delete e[d];f=!0,_=pt(t.validator(e,p)),P.prev=6,_.s();case 8:if((h=_.n()).done){P.next=15;break}return m=h.value,f=!1,P.next=13,[m,void 0];case 13:P.next=8;break;case 15:P.next=20;break;case 17:P.prev=17,P.t0=P.catch(6),_.e(P.t0);case 20:return P.prev=20,_.f(),P.finish(20);case 23:v=pt(t.entries(e,p)),P.prev=24,v.s();case 26:if((y=v.n()).done){P.next=53;break}g=Ue(y.value,3),b=g[0],w=g[1],x=g[2],I=It(w,x,{path:void 0===b?i:[].concat(Ne(i),[b]),branch:void 0===b?a:[].concat(Ne(a),[w]),coerce:l,mask:c}),k=pt(I),P.prev=30,k.s();case 32:if((S=k.n()).done){P.next=43;break}if(!(C=S.value)[0]){P.next=40;break}return f=!1,P.next=38,[C[0],void 0];case 38:P.next=41;break;case 40:l&&(w=C[1],void 0===b?e=w:e instanceof Map?e.set(b,w):e instanceof Set?e.add(w):yt(e)&&(e[b]=w));case 41:P.next=32;break;case 43:P.next=48;break;case 45:P.prev=45,P.t1=P.catch(30),k.e(P.t1);case 48:return P.prev=48,k.f(),P.finish(48);case 51:P.next=26;break;case 53:P.next=58;break;case 55:P.prev=55,P.t2=P.catch(24),v.e(P.t2);case 58:return P.prev=58,v.f(),P.finish(58);case 61:if(!f){P.next=80;break}O=pt(t.refiner(e,p)),P.prev=63,O.s();case 65:if((M=O.n()).done){P.next=72;break}return D=M.value,f=!1,P.next=70,[D,void 0];case 70:P.next=65;break;case 72:P.next=77;break;case 74:P.prev=74,P.t3=P.catch(63),O.e(P.t3);case 77:return P.prev=77,O.f(),P.finish(77);case 80:if(!f){P.next=83;break}return P.next=83,[void 0,e];case 83:case"end":return P.stop()}}),ct,null,[[6,17,20,23],[24,55,58,61],[30,45,48,51],[63,74,77,80]])}var kt=function(){function e(t){var n=this;i(this,e);var r=t.type,o=t.schema,a=t.validator,s=t.refiner,l=t.coercer,u=void 0===l?function(e){return e}:l,c=t.entries,p=void 0===c?F.mark((function e(){return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})):c;this.type=r,this.schema=o,this.entries=p,this.coercer=u,this.validator=a?function(e,t){return xt(a(e,t),t,n,e)}:function(){return[]},this.refiner=s?function(e,t){return xt(s(e,t),t,n,e)}:function(){return[]}}return st(e,[{key:"assert",value:function(e){return St(e,this)}},{key:"create",value:function(e){return function(e,t){var n=Ct(e,t,{coerce:!0});if(n[0])throw n[0];return n[1]}(e,this)}},{key:"is",value:function(e){return function(e,t){return!Ct(e,t)[0]}(e,this)}},{key:"mask",value:function(e){return function(e,t){var n=Ct(e,t,{coerce:!0,mask:!0});if(n[0])throw n[0];return n[1]}(e,this)}},{key:"validate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ct(e,this,t)}}]),e}();function St(e,t){var n=Ct(e,t);if(n[0])throw n[0]}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=It(e,t,n),i=bt(r);if(i[0]){var o=new mt(i[0],F.mark((function e(){var t,n,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=pt(r),e.prev=1,t.s();case 3:if((n=t.n()).done){e.next=10;break}if(!(i=n.value)[0]){e.next=8;break}return e.next=8,i[0];case 8:e.next=3;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),t.e(e.t0);case 15:return e.prev=15,t.f(),e.finish(15);case 18:case"end":return e.stop()}}),e,null,[[1,12,15,18]])})));return[o,void 0]}var a=i[1];return[void 0,a]}function Ot(e,t){return new kt({type:e,schema:null,validator:t})}function Mt(e){return new kt({type:"array",schema:e,entries:F.mark((function t(n){var r,i,o,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e||!Array.isArray(n)){t.next=18;break}r=pt(n.entries()),t.prev=2,r.s();case 4:if((i=r.n()).done){t.next=10;break}return o=Ue(i.value,2),a=o[0],s=o[1],t.next=8,[a,s,e];case 8:t.next=4;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(2),r.e(t.t0);case 15:return t.prev=15,r.f(),t.finish(15);case 18:case"end":return t.stop()}}),t,null,[[2,12,15,18]])})),coercer:function(e){return Array.isArray(e)?e.slice():e},validator:function(e){return Array.isArray(e)||"Expected an array value, but received: "+gt(e)}})}function Dt(){return Ot("boolean",(function(e){return"boolean"==typeof e}))}function At(){return Ot("date",(function(e){return e instanceof Date&&!isNaN(e.getTime())||"Expected a valid `Date` object, but received: "+gt(e)}))}function Pt(e){return new kt(_t(_t({},e),{},{validator:function(t,n){return null===t||e.validator(t,n)},refiner:function(t,n){return null===t||e.refiner(t,n)}}))}function Rt(){return Ot("number",(function(e){return"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+gt(e)}))}function Tt(e){var t=e?Object.keys(e):[],n=Ot("never",(function(){return!1}));return new kt({type:"object",schema:e||null,entries:F.mark((function r(i){var o,a,s,l,u,c,p;return F.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||!yt(i)){r.next=37;break}o=new Set(Object.keys(i)),a=pt(t),r.prev=3,a.s();case 5:if((s=a.n()).done){r.next=12;break}return l=s.value,o.delete(l),r.next=10,[l,i[l],e[l]];case 10:r.next=5;break;case 12:r.next=17;break;case 14:r.prev=14,r.t0=r.catch(3),a.e(r.t0);case 17:return r.prev=17,a.f(),r.finish(17);case 20:u=pt(o),r.prev=21,u.s();case 23:if((c=u.n()).done){r.next=29;break}return p=c.value,r.next=27,[p,i[p],n];case 27:r.next=23;break;case 29:r.next=34;break;case 31:r.prev=31,r.t1=r.catch(21),u.e(r.t1);case 34:return r.prev=34,u.f(),r.finish(34);case 37:case"end":return r.stop()}}),r,null,[[3,14,17,20],[21,31,34,37]])})),validator:function(e){return yt(e)||"Expected an object, but received: "+gt(e)},coercer:function(e){return yt(e)?_t({},e):e}})}function jt(e){return new kt(_t(_t({},e),{},{validator:function(t,n){return void 0===t||e.validator(t,n)},refiner:function(t,n){return void 0===t||e.refiner(t,n)}}))}function Lt(){return Ot("string",(function(e){return"string"==typeof e||"Expected a string, but received: "+gt(e)}))}function Et(e,t,n){return new kt(_t(_t({},e),{},{refiner:function(e){var t=F.mark(n);function n(n,r){var i=arguments;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(e.apply(this,i),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}}),t,this)}return n.toString=function(){return e.toString()},n}(F.mark((function r(i,o){var a,s,l,u,c;return F.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(e.refiner(i,o),"t0",1);case 1:a=n(i,o),s=xt(a,o,e,i),l=pt(s),r.prev=4,l.s();case 6:if((u=l.n()).done){r.next=12;break}return c=u.value,r.next=10,_t(_t({},c),{},{refinement:t});case 10:r.next=6;break;case 12:r.next=17;break;case 14:r.prev=14,r.t1=r.catch(4),l.e(r.t1);case 17:return r.prev=17,l.f(),r.finish(17);case 20:case"end":return r.stop()}}),r,null,[[4,14,17,20]])})))}))}var Nt=ce(null);function Ft(e,t){for(var n in t)e[n]=t[n];return e}var zt={stepState:{steps:[],currentStep:{type:"CONFIRMATION"},stepIndex:0,showValidation:!1,allStepsCompleted:!1},genericData:{bundleId:null,templateId:null,templateApp:null,isPreviewMode:!1},stepMapping:{},stepDataMapping:{},parentChildMapping:{}};function Ut(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ht(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Ut(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Vt=function(t){return{setSteps:function(t,n){var r=[];return n.forEach((function(t){if(t.hide_authorization||r.push({stepId:t.id,title:"Connect ".concat(t.activity.app.name),iconUrl:t.activity.app.icon_url,isCompleted:!1,isCurrentlyOpen:!1,type:"AUTH",requiredFields:[t.id],invalidFields:e({},t.id,""),isValid:!1}),t.is_visible&&t.template_fields.length>0){var n=t.template_fields.filter((function(e){return e.is_visible})).length>0,i=t.template_fields.filter((function(e){return e.is_required&&e.is_visible})).map((function(e){return e.id})),o=t.template_fields.filter((function(e){return e.is_required&&!e.default_value})).reduce((function(t,n){return Ht(Ht({},t),{},e({},n.id,""))}),{});n&&r.push({stepId:t.id,title:t.title,iconUrl:t.activity.app.icon_url,isCompleted:!1,isCurrentlyOpen:!1,type:"CONFIGURATION",requiredFields:i,invalidFields:o,isValid:!(Object.keys(o).length>0)})}})),Ht(Ht({},t),{},{stepState:{steps:r,currentStep:r[0],stepIndex:0,showValidation:!1,allStepsCompleted:!1}})},showStepValidationState:function(e){return{stepState:Ht(Ht({},e.stepState),{},{showValidation:!0})}},hideStepValidationState:function(e){return{stepState:Ht(Ht({},e.stepState),{},{showValidation:!1})}},gotoNextStep:function(e){var t=e.stepState;if(t){var n=Number(t.stepIndex)+1,r=t.steps[Number(t.stepIndex)+1],i=Ht(Ht({},t.steps[e.stepState.stepIndex]),{},{isCompleted:!0});return r?{stepState:Ht(Ht({},t),{},{steps:[].concat(Ne(t.steps.slice(0,t.stepIndex)),[i],Ne(t.steps.slice(t.stepIndex+1))),currentStep:Ht({},r),stepIndex:n,showValidation:!1})}:{stepState:Ht(Ht({},t),{},{steps:[].concat(Ne(t.steps.slice(0,t.stepIndex)),[i],Ne(t.steps.slice(t.stepIndex+1))),currentStep:{type:"CONFIRMATION"},stepIndex:n,allStepsCompleted:!0,showValidation:!1})}}return e},gotoPreviousStep:function(e){if(e.stepState){var t=Number(e.stepState.stepIndex)-1,n=e.stepState.steps[Number(e.stepState.stepIndex)-1];return{stepState:Ht(Ht({},e.stepState),{},{currentStep:n,stepIndex:t})}}return e},gotoStepInPreview:function(e,t){var n=e.stepState,r=t.stepId,i=t.type;if(r&&"CONFIRMATION"!==i){var o=n.steps.findIndex((function(e){return e.stepId===r&&e.type===i}));if(o>-1)return{stepState:Ht(Ht({},e.stepState),{},{currentStep:n.steps[o],stepIndex:o,allStepsCompleted:!1})}}return r||"CONFIRMATION"!==i?e:{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})}},gotoStep:function(e,t){var n=e.stepState,r=n.stepIndex;if(n){var i=n.steps[r],o=n.steps[t];if(e.genericData.isPreviewMode)return t===n.steps.length?{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})}:{stepState:Ht(Ht({},e.stepState),{},{currentStep:Ht({},o),stepIndex:t,allStepsCompleted:!1})};if(n.allStepsCompleted&&t===n.steps.length)return{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})};if(i&&i.isValid&&r===n.steps.length-1&&t===n.steps.length){var a=Ht(Ht({},n.steps[r]),{},{isCompleted:!0});return{stepState:Ht(Ht({},n),{},{steps:[].concat(Ne(n.steps.slice(0,r)),[a],Ne(n.steps.slice(r+1))),currentStep:{type:"CONFIRMATION"},stepIndex:t,allStepsCompleted:!0})}}if(o&&o.isCompleted)return{stepState:Ht(Ht({},e.stepState),{},{currentStep:Ht({},o),stepIndex:t})};if(i&&i.isValid&&t===r+1){var s=Ht(Ht({},n.steps[r]),{},{isCompleted:!0});return{stepState:Ht(Ht({},e.stepState),{},{steps:[].concat(Ne(n.steps.slice(0,r)),[s],Ne(n.steps.slice(r+1))),currentStep:Ht({},o),stepIndex:t})}}}return e},getStepState:function(){return t.getState().stepState},setGenericData:function(e,t){return{genericData:Ht(Ht({},e.genericData),t)}},setTemplateApp:function(e,t){return{genericData:Ht(Ht({},e.genericData),{},{templateApp:{name:t.name,iconUrl:t.iconUrl}})}},setStepMapping:function(t,n){var r=n.reduce((function(n,r){var i,o,a,s;return Ht(Ht({},n),{},e({},r.id,{step:r,authorizations:null!==(i=null===(o=r.authorization_type.authorizations)||void 0===o?void 0:o.map((function(e){return{authorizationId:e.id,userIdentity:e.user_identity,authType:e.authorization_type,disableLink:e.disable_link,isErrored:!1,isVerified:!1}})))&&void 0!==i?i:[],isAuthVerified:!1,selectedAuthId:r.hide_authorization||t.genericData.isPreviewMode?null!==(a=null===(s=r.authorization_type.authorizations[0])||void 0===s?void 0:s.id)&&void 0!==a?a:"":r.step_authorization||t.stepMapping[r.id]?t.stepMapping[r.id].selectedAuthId:""}))}),{}),i=n.reduce((function(n,r){return Ht(Ht({},n),{},e({},r.id,Ht(Ht({},t.stepDataMapping[r.id]),r.template_fields.reduce((function(n,i){var o;return Ht(Ht({},n),{},e({},i.id,{fieldId:i.id,value:!i.is_visible||i.default_value?i.default_value:t.stepDataMapping[r.id]&&t.stepDataMapping[r.id][i.id]&&t.stepDataMapping[r.id][i.id].value||"",machineName:null===(o=i.activity_field)||void 0===o?void 0:o.machine_name,isRequired:i.is_required,isVisible:i.is_visible}))}),{}))))}),{});return{stepMapping:Ht(Ht({},t.stepMapping),r),stepDataMapping:Ht(Ht({},t.stepDataMapping),i),genericData:Ht(Ht({},t.genericData),{},{templateApp:{name:n.length>0?n[0].activity.app.name:"",iconUrl:n.length>0?n[0].activity.app.icon_url:""}})}},setActivityOutputData:function(e,t){return Ht(Ht({},e),{},{activityOutputData:t.activityOutputData})},setDynamicFieldData:function(t,n){return Ht(Ht({},t),{},{dynamicFieldData:Object.keys(n.dynamicFieldData).reduce((function(t,r){return Ht(Ht({},t),{},e({},"{".concat(r,"}"),n.dynamicFieldData[r]))}),{})})},setParentChildMapping:function(t,n){var r=n.reduce((function(n,r){return Ht(Ht({},n),{},e({},r.id,Ht(Ht({},t.parentChildMapping[r.id]),r.template_fields.reduce((function(t,n){var r,i,o,a,s;return Ht(Ht({},t),{},e({},null===(r=n.activity_field)||void 0===r?void 0:r.machine_name,{fieldId:n.id,childFields:null!==(i=n.activity_field)&&void 0!==i&&i.child_fields?JSON.parse(null===(o=n.activity_field)||void 0===o?void 0:o.child_fields):null,parentFields:null!==(a=n.activity_field)&&void 0!==a&&a.parent_fields?JSON.parse(null===(s=n.activity_field)||void 0===s?void 0:s.parent_fields):null}))}),{}))))}),{});return{parentChildMapping:Ht(Ht({},t.parentChildMapping),r)}},addAuthorization:function(t,n){var r=n.stepId,i=n.authData;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(Ne(t.stepMapping[r].authorizations),[i])})))}},removeAuthorization:function(t,n){var r=n.stepId,i=n.authId;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:t.stepMapping[r].authorizations.filter((function(e){return e.authorizationId!==i}))})))}},toggleVerifyAuthorizationFlag:function(t,n){var r=n.stepId,i=n.authId,o=n.isVerifying,a=t.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(Ne(t.stepMapping[r].authorizations.slice(0,a)),[Ht(Ht({},t.stepMapping[r].authorizations[a]),{},{isVerifying:o})],Ne(t.stepMapping[r].authorizations.slice(a+1)))})))}},toggleDeleteAuthorizationFlag:function(t,n){var r=n.stepId,i=n.authId,o=n.isDeleting,a=n.error,s=t.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(Ne(t.stepMapping[r].authorizations.slice(0,s)),[Ht(Ht({},t.stepMapping[r].authorizations[s]),{},{isDeleting:o,error:a})],Ne(t.stepMapping[r].authorizations.slice(s+1)))})))}},setStepAuthId:function(t,n){var r=n.stepId,i=n.authId;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{selectedAuthId:i})))}},setStepAuthorization:function(n,r,i,o,a){var s,l,u=n.stepState.steps[n.stepState.stepIndex],c=n.stepMapping[r],p=t.getState().stepState;if("CONFIRMATION"!==u.type&&"CONFIRMATION"!==(null===(s=p.currentStep)||void 0===s?void 0:s.type)&&(null===(l=p.currentStep)||void 0===l?void 0:l.stepId)===r){var d=u.invalidFields;o&&delete d[r];var f=Ht(Ht({},n.stepState.steps[n.stepState.stepIndex]),{},{invalidFields:d,isValid:Object.keys(d).length<1,isCompleted:null!==c.selectedAuthId||o}),_=n.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepState:Ht(Ht({},n.stepState),{},{steps:[].concat(Ne(n.stepState.steps.slice(0,n.stepState.stepIndex)),[f],Ne(n.stepState.steps.slice(n.stepState.stepIndex+1))),currentStep:f,showValidation:!o&&!c.selectedAuthId}),stepMapping:Ht(Ht({},n.stepMapping),{},e({},r,Ht(Ht({},n.stepMapping[r]),{},{selectedAuthId:o?i:n.stepMapping[r].selectedAuthId,authorizations:[].concat(Ne(n.stepMapping[r].authorizations.slice(0,_)),[Ht(Ht({},n.stepMapping[r].authorizations[_]),{},{isVerified:o,isVerifying:!1,didFetchStatus:!0,error:""})],Ne(n.stepMapping[r].authorizations.slice(_+1)))}))),stepDataMapping:Ht(Ht({},n.stepDataMapping),{},e({},r,Ht(Ht({},n.stepDataMapping[r]),a?a.reduce((function(t,i){return Ht(Ht({},t),{},e({},i,Ht(Ht({},n.stepDataMapping[r][i]),{},{value:""})))}),{}):{})))}}return n},setStepFieldData:function(t,n){var r=n.stepId,i=n.fieldId,o=n.value,a=t.stepState.steps[t.stepState.stepIndex];if("CONFIRMATION"!==a.type){var s=a.invalidFields;delete s[i];var l=Ht(Ht({},t.stepState.steps[t.stepState.stepIndex]),{},{invalidFields:s,isValid:Object.keys(s).length<1});return{stepState:Ht(Ht({},t.stepState),{},{steps:[].concat(Ne(t.stepState.steps.slice(0,t.stepState.stepIndex)),[l],Ne(t.stepState.steps.slice(t.stepState.stepIndex+1))),currentStep:l}),stepDataMapping:Ht(Ht({},t.stepDataMapping),{},e({},r,Ht(Ht({},t.stepDataMapping[r]),{},e({},i,Ht(Ht({},t.stepDataMapping[r][i]),{},{value:o})))))}}return t},setStepMappingData:function(t,n){var r,i;return{stepDataMapping:Ht(Ht({},t.stepDataMapping),{},e({},n.stepId,Ht(Ht({},t.stepDataMapping[n.stepId]),{},e({},n.fieldId,Ht(Ht({},t.stepDataMapping[n.stepId][n.fieldId]),{},{objectValue:Ht(Ht({},null!==(r=null===(i=t.stepDataMapping[n.stepId][n.fieldId])||void 0===i?void 0:i.objectValue)&&void 0!==r?r:{}),e({},n.id,n.value))})))))}},reset:function(){return zt}}},Bt=function(){return function(e){var t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__,n=!1;return t?(e.devtools||(e.devtools=t.connect(),e.devtools.subscribe((function(t){"DISPATCH"===t.type&&t.state&&(n="JUMP_TO_ACTION"===t.payload.type||"JUMP_TO_STATE"===t.payload.type,e.setState(JSON.parse(t.state),!0))})),e.devtools.init(e.getState()),e.subscribe((function(t,r){var i=r&&r.name||"setState";n?n=!1:e.devtools.send(i,t)}))),e):(console.warn("Please install/enable Redux devtools extension"),e.devtools=null,e)}(function(e){var t=[];function n(e){for(var n=[],r=0;r<t.length;r++)t[r]===e?e=null:n.push(t[r]);t=n}function r(n,r,i){e=r?n:Ft(Ft({},e),n);for(var o=t,a=0;a<o.length;a++)o[a](e,i)}return e=e||{},{action:function(t){function n(e){r(e,!1,t)}return function(){for(var r=arguments,i=[e],o=0;o<arguments.length;o++)i.push(r[o]);var a=t.apply(this,i);if(null!=a)return a.then?a.then(n):n(a)}},setState:r,subscribe:function(e){return t.push(e),function(){n(e)}},unsubscribe:n,getState:function(){return e}}}(zt))},Wt=Tt({id:Rt(),name:Lt(),description:Lt(),app:Tt({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:jt(Lt()),action_url:Pt(jt(Lt())),created_at:jt(At()),tags:Lt()}),branding_app:Tt({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:jt(Lt()),action_url:Pt(jt(Lt())),created_at:jt(At()),tags:Lt()}),button_text:Pt(Lt()),is_wizard:Dt(),publishing_status:Lt(),steps:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r="Expected a "+e.type,i=t===n?"of `"+t+"`":"between `"+t+"` and `"+n+"`";return Et(e,"size",(function(e){if("number"==typeof e||e instanceof Date)return t<=e&&e<=n||r+" "+i+" but received `"+e+"`";if(e instanceof Map||e instanceof Set){var o=e.size;return t<=o&&o<=n||r+" with a size "+i+" but received one with a size of `"+o+"`"}var a=e.length;return t<=a&&a<=n||r+" with a length "+i+" but received one with a length of `"+a+"`"}))}(Mt(Tt({id:Rt(),weight:Rt(),title:Lt(),is_visible:Dt(),activity:Tt({id:Rt(),name:Lt(),type:Lt(),endpoint:Lt(),auth_required:Dt(),total_fields:Rt(),app:Tt({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:jt(Lt()),action_url:Pt(jt(Lt())),created_at:jt(At()),tags:Lt()}),activity_output:Lt(),activity_output_url:Pt(Lt()),dynamic_field_data_endpoint:Pt(Lt())}),authorization_type:Tt({id:Rt(),type:Lt(),authorizations:Mt(Tt({id:Rt(),authorization_type:Lt(),app_user:jt(Rt()),app_user_id:jt(Rt()),disable_link:jt(Lt()),integration_count:jt(Rt()),user_identity:Lt()})),provider:Lt(),is_sandbox_enabled:Dt(),authorization_url_sandbox:Lt()}),template_fields:Mt(Tt({id:Rt(),is_required:Dt(),is_hidden:Dt(),default_value:Pt(Lt()),weight:Rt(),description:Lt(),summary:Pt(Lt()),placeholder:Pt(Lt()),activity_field:Tt({id:Rt(),machine_name:Lt(),type:Lt(),title:Lt(),description:Lt(),weight:Rt(),is_required:Dt(),child_fields:Pt(Lt()),is_dynamic:Dt(),data_src:Pt(Lt()),data_src_endpoint:Pt(Rt()),parent_fields:Pt(Lt()),dynamic_field_src:Pt(Lt()),default_value:Pt(Lt()),auto_machine_name:Lt(),dynamic_field_src_endpoint:Pt(Rt()),regex:Pt(Lt()),is_searchable:Dt()}),title:Pt(Lt()),type:Lt(),child_field:Pt(Lt()),child_field_value:Pt(Lt()),button_text:Pt(Lt()),icon_url:Pt(Lt()),long_description:Pt(Lt()),regex:Pt(Lt()),regex_msg:Pt(Lt()),is_visible:Dt()})),allow_multiple_authorizations:Dt(),step_authorization:Pt(Rt()),button_text:Pt(Lt()),is_self_step:Dt(),summary:Pt(Lt()),auth_description:Pt(Lt()),hide_authorization:Dt(),machine_name:Pt(Lt()),is_custom_machine_name:Dt()})),0,Number.POSITIVE_INFINITY)});function Jt(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var Gt,Kt="styles-module_loader__2ufbr";Jt(".styles-module_loader__2ufbr {\n animation-name: styles-module_ckw__1aYrI;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n transform-origin: 50% 50%; }\n\n@keyframes styles-module_ckw__1aYrI {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n");var qt=function(){return _e(Gt||(Gt=t(["\n <svg\n class=",'\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9.13037 0.179352C7.57047 -0.168051 5.94039 -0.00810102 4.47777 0.635883C3.01515 1.27987 1.79647 2.37421 0.999409 3.75937C0.202348 5.14453 -0.131421 6.74808 0.0467641 8.33623C0.224949 9.92438 0.90577 11.4141 1.98997 12.5882C3.07417 13.7623 4.50506 14.5593 6.07402 14.8632C7.64298 15.167 9.26799 14.9618 10.7121 14.2773C12.1562 13.5929 13.344 12.4651 14.1022 11.0582C14.8604 9.65144 15.1494 8.03922 14.9271 6.45665L14.1844 6.56098C14.3845 7.9853 14.1243 9.43629 13.442 10.7024C12.7596 11.9685 11.6906 12.9836 10.3909 13.5996C9.09119 14.2156 7.62869 14.4003 6.21662 14.1269C4.80455 13.8534 3.51675 13.136 2.54097 12.0794C1.56519 11.0227 0.952454 9.68194 0.792088 8.2526C0.631721 6.82327 0.932113 5.38008 1.64947 4.13343C2.36682 2.88679 3.46363 1.90188 4.77999 1.32229C6.09635 0.742709 7.56343 0.598754 8.96733 0.911417L9.13037 0.179352Z"\n fill="#E0E0E0"\n />\n <path\n d="M14.93 6.47755C14.7207 4.95709 14.0501 3.53742 13.0085 2.41017C11.9669 1.28292 10.6046 0.50235 9.10537 0.173829L8.94483 0.906446C10.2941 1.20212 11.5202 1.90462 12.4577 2.91915C13.3951 3.93368 13.9987 5.21138 14.187 6.57979L14.93 6.47755Z"\n fill="#ADADAD"\n />\n </svg>\n'])),Kt)};function Qt(e){return null!=e}var Yt,Zt,Xt,$t=ve((function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r<arguments.length;r++){var i=arguments[r];if(i){var a=o(i);if("string"===a||"number"===a)e.push(i);else if(Array.isArray(i)){if(i.length){var s=n.apply(null,i);s&&e.push(s)}}else if("object"===a)if(i.toString===Object.prototype.toString)for(var l in i)t.call(i,l)&&i[l]&&e.push(l);else e.push(i.toString())}}return e.join(" ")}e.exports?(n.default=n,e.exports=n):window.classNames=n}()})),en="styles-module_preact-hint__2fj-j",tn="styles-module_preact-hint__top__eUj7n",nn="styles-module_preact-hint__bottom__2goUI",rn="styles-module_preact-hint__content__23OpK";function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?on(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):on(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function sn(e){var n=Xe(null),r=Ue(Ye(1e4),2),i=r[0],o=r[1],a=e.position;return Ze((function(){n.current&&o(n.current.getBoundingClientRect().width)}),[n]),_e(Yt||(Yt=t(['\n <div\n class="','"\n style=',"\n >\n <pre class="," ref=",">\n ","\n </pre\n >\n </div>\n "])),"".concat(en," ").concat("top"===a?tn:nn),an(an({},{left:e.targetBoundingRect.left-e.rootBoundingRect.left-i/2+e.targetBoundingRect.width/2}),"top"===a?{bottom:e.rootBoundingRect.height-e.targetBoundingRect.top+e.rootBoundingRect.top+2}:{top:e.rootBoundingRect.height-e.targetBoundingRect.top+e.rootBoundingRect.top+2}),rn,n,e.template?e.template(e.content):e.content)}Jt(".styles-module_preact-hint__2fj-j {\n position: absolute;\n z-index: 9999;\n cursor: default; }\n .styles-module_preact-hint__2fj-j::after {\n content: '';\n width: 0;\n height: 0;\n margin: auto;\n display: block;\n position: absolute;\n border: 4px solid transparent; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__top__eUj7n {\n padding-bottom: 4px; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__top__eUj7n::after {\n top: auto;\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: none;\n border-top-color: #000; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__bottom__2goUI {\n padding-top: 4px; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__bottom__2goUI::after {\n top: 0;\n left: 0;\n right: 0;\n bottom: auto;\n border-top: none;\n border-bottom-color: #000; }\n\n.styles-module_preact-hint__content__23OpK {\n font-family: inherit;\n background: #000000;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.062132);\n padding: 8px;\n margin: 0;\n border-radius: 2px;\n font-style: normal;\n margin: 0;\n line-height: 12px;\n font-weight: normal;\n font-size: 10px;\n color: #ffffff;\n display: block; }\n");var ln,un=function(e){var n=e.position,r=void 0===n?"bottom":n,i=e.attribute,o=void 0===i?"data-hint":i,a=Ue(Ye(""),2),s=a[0],l=a[1],u=Ue(Ye(null),2),c=u[0],p=u[1],d=Ue(Ye(null),2),f=d[0],_=d[1],h=function(e,t){return $e((function(){return e}),t)}((function(t){p(t),c&&(c.addEventListener("mouseover",(function(e){e.target instanceof Element&&e.target.hasAttribute(o)&&(l(e.target.getAttribute(o)||""),_(e.target.getBoundingClientRect()))})),c.addEventListener("mouseout",(function(e){e.target instanceof Element&&e.target.hasAttribute(o)&&(l(""),_(null))})),e.dismissOnClick&&c.addEventListener("click",(function(){l(""),_(null)})))}),[c]);return _e(Zt||(Zt=t(["\n <div ref=",' style="position: relative">\n ',"\n ","\n </div>\n "])),h,s&&c&&f&&_e(Xt||(Xt=t([" <","\n content=","\n position=","\n template=","\n rootBoundingRect=","\n targetBoundingRect=","\n />"])),sn,s,r,e.template,null==c?void 0:c.getBoundingClientRect(),f),e.children)},cn="styles-module_button__osBYJ",pn="styles-module_buttonPrimary__1u5p2",dn="styles-module_disabled__CiT_f",fn="styles-module_buttonSecondary__2HV1m",_n="styles-module_buttonLink__39jcU";Jt(".styles-module_button__osBYJ {\n outline: none;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n font-size: 12px;\n padding: 0px 15px;\n height: 30px; }\n .styles-module_button__osBYJ.styles-module_buttonPrimary__1u5p2 {\n border: 1px solid #5f4d86;\n background: #5f4d86;\n border-radius: 4px;\n font-size: 12px;\n color: #ffffff; }\n .styles-module_button__osBYJ.styles-module_buttonPrimary__1u5p2:not(.styles-module_disabled__CiT_f):hover {\n background-color: #473a64; }\n .styles-module_button__osBYJ.styles-module_buttonSecondary__2HV1m {\n border: 1px solid #5f4d86;\n background: transparent;\n text-align: center;\n font-size: 12px;\n color: #5f4d86;\n border-radius: 4px; }\n .styles-module_button__osBYJ.styles-module_buttonSecondary__2HV1m:not(.styles-module_disabled__CiT_f):hover {\n background: #5f4d86;\n color: white; }\n .styles-module_button__osBYJ.styles-module_buttonLink__39jcU {\n border: none;\n color: #5f4d86;\n font-weight: 500;\n font-size: 12px;\n background: transparent;\n padding: 0;\n margin: 0; }\n .styles-module_button__osBYJ.styles-module_buttonLink__39jcU:not(.styles-module_disabled__CiT_f):hover {\n color: #473a64; }\n .styles-module_button__osBYJ.styles-module_disabled__CiT_f {\n opacity: 0.5;\n cursor: not-allowed; }\n");var hn,mn=["label","type","color","backgroundColor","disabled","tooltip","dismissOnClick","position","onClick"];function vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}!function(e){e.PRIMARY="primary",e.SECONDARY="secondary",e.LINK="link"}(hn||(hn={}));var yn,gn,bn,wn=function(n){var r,i=n.label,o=n.type,a=void 0===o?hn.PRIMARY:o,s=n.color,l=void 0===s?null:s,u=n.backgroundColor,c=void 0===u?null:u,p=n.disabled,d=void 0!==p&&p,f=n.tooltip,_=n.dismissOnClick,h=void 0===_||_,m=n.position,v=void 0===m?"bottom":m,y=n.onClick,g=void 0===y?void 0:y,b=ze(n,mn);return _e(ln||(ln=t(["\n <"," dismissOnClick="," position=",'>\n <button\n type="button"\n onclick=',"\n data-hint=","\n class=","\n style=","\n ","\n >\n ","\n </button>\n <//>\n "])),un,h,v,g,f||null,$t(cn,(e(r={},pn,a===hn.PRIMARY),e(r,fn,a===hn.SECONDARY),e(r,_n,a===hn.LINK),e(r,dn,d),r)),{backgroundColor:a===hn.PRIMARY?c:null,borderColor:a===hn.PRIMARY?c:l,color:l},function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?vn(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):vn(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},b),i)},xn="styles-module_errorPageWrapper__BMBHQ",In="styles-module_errorTitle__1baLE",kn="styles-module_errorDescription__1dTc9",Sn="styles-module_errorContainer__3WprN",Cn="styles-module_errorPayload__OjsC-";Jt(".styles-module_errorPageWrapper__BMBHQ {\n font-family: monospace;\n border: 1px solid red;\n padding: 30px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorTitle__1baLE {\n color: #b61717;\n font-weight: bold;\n font-size: 16px;\n line-height: 20px;\n margin-bottom: 8px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorDescription__1dTc9 {\n font-size: 14px;\n margin-bottom: 18px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorContainer__3WprN {\n overflow: hidden;\n background: #ffebeb;\n overflow-x: scroll;\n padding: 4px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorPayload__OjsC- {\n margin: 0;\n padding: 8px 12px; }\n");var On,Mn,Dn,An,Pn,Rn=function(e){var n=e.title,r=e.description,i=e.errorPayload,o=e.onDismiss,a=void 0===o?null:o;return _e(yn||(yn=t(['\n <div class="','">\n <div class=',">","</div>\n <div class=",">","</div>\n ","\n ","\n </div>\n "])),xn,In,n,kn,r,i&&_e(gn||(gn=t(["\n <div class=",">\n <pre class=",">","</pre>\n <pre class=",">","</pre>\n </div>\n "])),Sn,Cn,i.message,Cn,i.stack),a&&_e(bn||(bn=t(["\n <div>\n <",' label="Dismiss" onClick='," />\n </div>\n "])),wn,a))},Tn="styles-module_navigation__2IuNI",jn="styles-module_navItem__1kxtL",Ln="styles-module_navItemContent__28oLq",En="styles-module_imgContainer__wbjM4",Nn="styles-module_arrow__3C8To",Fn="styles-module_active__28cMj",zn="styles-module_disabled__1Ltqi";function Un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_navigation__2IuNI {\n margin-bottom: 45px;\n display: flex;\n align-items: center;\n justify-content: center; }\n\n.styles-module_navItem__1kxtL {\n cursor: pointer;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq {\n display: flex;\n align-items: center;\n padding-right: 0.25rem; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq p {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n font-weight: 500;\n color: #333333; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 {\n position: relative;\n margin-right: 0.5rem;\n height: 15px;\n width: 15px;\n overflow: hidden;\n border-radius: 9999px; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 img,\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 svg {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n object-fit: contain; }\n .styles-module_navItem__1kxtL .styles-module_arrow__3C8To {\n margin-top: 2px;\n margin-left: 0.75rem;\n margin-right: 0.5rem; }\n .styles-module_navItem__1kxtL.styles-module_active__28cMj {\n opacity: 1; }\n .styles-module_navItem__1kxtL.styles-module_disabled__1Ltqi {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n opacity: 0.5; }\n .styles-module_navItem__1kxtL.styles-module_disabled__1Ltqi p {\n font-weight: 400; }\n");var Hn,Vn,Bn,Wn,Jn,Gn,Kn,qn,Qn=_e(On||(On=t([' <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n>\n <rect opacity="0.7" width="15" height="15" rx="7.5" fill="#2ECC71" />\n <path\n d="M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n</svg>']))),Yn=_e(Mn||(Mn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="7.5"\n cy="7.5"\n r="6.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M10.3333 5.5L6.83522 9.5L5 7.40148"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n']))),Zn=function(e){xe(r,K);var n=Un(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props,n=e.logoUrl,r=e.isActive,i=void 0!==r&&r,o=e.isCompleted,a=void 0!==o&&o,s=e.isDisabled,l=void 0!==s&&s,u=e.isLastStep,c=void 0!==u&&u,p=e.onClick,d=void 0===p?function(){return null}:p;return _e(Dn||(Dn=t(["\n <div\n class=","\n onclick=",'\n tabindex="-1"\n role="button"\n >\n <div class=',">\n <div class=",">\n ","\n ","\n </div>\n <p>","</p>\n ","\n </div>\n </div>\n "])),"".concat(jn," ").concat(l?zn:""," ").concat(i?Fn:""),d,Ln,En,!a||i?_e(An||(An=t(["<img src="," />"])),n):Qn,c&&Yn,this.props.label,!c&&_e(Pn||(Pn=t(["\n <div class=",'>\n <svg\n width="6"\n height="11"\n viewBox="0 0 6 11"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699"\n stroke="#999999"\n stroke-linecap="round"\n />\n </svg>\n </div>\n '])),Nn))}}]),r}(),Xn=ge.connect("stepState",Vt)((function(e){var n=e.gotoStep,r=e.stepState,i=et(Nt),o=function(e){n(e)},a=null==r?void 0:r.currentStep;return _e(Hn||(Hn=t(["\n <div class=",">\n ","\n ","\n </div>\n "])),Tn,r&&_e(Vn||(Vn=t(["\n ","\n "])),r.steps.map((function(e,n){return _e(Bn||(Bn=t([" <","\n label=","\n logoUrl=","\n isCompleted=","\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />"])),Zn,"CONFIRMATION"!==e.type?e.title:"Confirmation","CONFIRMATION"!==e.type&&e.iconUrl,!(null!=i&&i.isPreviewMode)&&e.isCompleted,"CONFIRMATION"!==(null==a?void 0:a.type)&&"CONFIRMATION"!==e.type&&r.stepIndex===n,(null==i?void 0:i.isPreviewMode)&&Number(null==r?void 0:r.stepIndex)!==n||Number(null==r?void 0:r.stepIndex)<n,n===(null==r?void 0:r.steps.length),(function(){return o(n)}))}))),r.steps.length>0&&_e(Wn||(Wn=t(["\n <",'\n label="Confirmation"\n logoUrl=""\n isCompleted=',"\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />\n "])),Zn,!0,void 0!==a&&(null==r?void 0:r.stepIndex)===(null==r?void 0:r.steps.length),void 0!==a&&(null==r?void 0:r.stepIndex)!==(null==r?void 0:r.steps.length),!0,(function(){var e;return o(null!==(e=null==r?void 0:r.steps.length)&&void 0!==e?e:0)})))})),$n="styles-module_radio__1wJfU",er="styles-module_button__3PLW1",tr="styles-module_text__Jq7I0",nr="styles-module_description__2UsHV";Jt(".styles-module_radioGroup__1aPpR fieldset {\n border: none;\n padding: 0; }\n\n.styles-module_radio__1wJfU {\n position: relative;\n display: flex;\n align-items: center;\n margin: 10px 0; }\n .styles-module_radio__1wJfU .styles-module_button__3PLW1 {\n position: absolute;\n width: 15px;\n height: 15px;\n left: 0;\n display: inline-block;\n border-radius: 9999px;\n background: transparent; }\n .styles-module_radio__1wJfU .styles-module_button__3PLW1 svg {\n width: 100%;\n height: 100%; }\n .styles-module_radio__1wJfU input[type='radio'] {\n opacity: 0;\n margin: 0; }\n .styles-module_radio__1wJfU label {\n display: flex;\n margin-left: 15px;\n align-items: center;\n cursor: pointer; }\n .styles-module_radio__1wJfU .styles-module_text__Jq7I0 {\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n margin: 2px 0;\n color: #333333; }\n .styles-module_radio__1wJfU .styles-module_description__2UsHV {\n font-size: 12px;\n line-height: 15px;\n color: #999999; }\n");var rr,ir=function(e){var n=e.label,r=e.name,i=e.description,o=void 0===i?null:i,a=e.value,s=e.isChecked,l=void 0!==s&&s,u=e.handleChange,c=void 0===u?function(){return null}:u;return _e(Jn||(Jn=t(["\n <div class=",">\n <input\n id=",'\n type="radio"\n name=',"\n value=","\n checked=","\n onclick=","\n />\n <div>\n <label for=",">\n <div class=",">\n ","\n </div>\n <div>\n <div class=",">","</div>\n ","\n </div>\n </label>\n </div>\n </div>\n "])),$n,a,r,a,l,(function(e){if(e.currentTarget instanceof HTMLInputElement){var t=e.currentTarget.value;c(t)}}),a,er,_e(l?Gn||(Gn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z"\n fill="white"\n stroke="#5F4D86"\n stroke-width="2"\n />\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M7.5 11C9.433 11 11 9.433 11 7.5C11 5.567 9.433 4 7.5 4C5.567 4 4 5.567 4 7.5C4 9.433 5.567 11 7.5 11Z"\n fill="#5F4D86"\n />\n </svg>\n '])):Kn||(Kn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z"\n fill="white"\n stroke="#E2E0DB"\n stroke-width="2"\n />\n </svg>\n ']))),tr,n,o&&_e(qn||(qn=t(["<div class=",">","</div>"])),nr,o))},or="styles-module_errorMessage__2b8A_";Jt(".styles-module_errorMessage__2b8A_ {\n margin-top: 4px;\n font-size: 12px;\n color: #f05c42; }\n");var ar,sr,lr,ur=function(e){var n=e.children;return _e(rr||(rr=t([" <div class=",">","</div> "])),or,n)},cr="styles-module_label__PbFlo",pr="styles-module_required__1XFqi";Jt(".styles-module_label__PbFlo label > div:first-child {\n font-style: normal;\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n color: #333333;\n margin-bottom: 5px; }\n\n.styles-module_label__PbFlo label > div:nth-child(2) {\n font-size: 14px;\n line-height: 17px;\n letter-spacing: -0.2px;\n color: #8c8c8c; }\n\n.styles-module_label__PbFlo .styles-module_required__1XFqi {\n color: red;\n font-size: 16px;\n margin-left: 2px; }\n");var dr=function(e){var n=e.title,r=e.description,i=e.isRequired,o=void 0!==i&&i;return _e(ar||(ar=t(["\n <div class=",">\n <label>\n <div>\n ","\n ","\n </div>\n ","\n </label>\n </div>\n "])),cr,n,o&&_e(sr||(sr=t(["<span class=",">*</span>"])),pr),r&&_e(lr||(lr=t(["<div>","</div>"])),r))},fr=function(){return!["undefined"==typeof window?"undefined":o(window),"undefined"==typeof document?"undefined":o(document)].includes("undefined")};var _r,hr,mr,vr,yr,gr,br,wr,xr,Ir,kr,Sr="styles-module_authSelectorWrap__34g8J",Cr="styles-module_rows__1gpAK",Or="styles-module_error__aL4zj",Mr="styles-module_checkboxRow__3Q67t",Dr="styles-module_statusWrap__3amIr",Ar="styles-module_deleteIcon__1mAJb",Pr="styles-module_status__OwFQa",Rr="styles-module_statusRed__1FG13",Tr="styles-module_statusOrange__1FNhi",jr="styles-module_statusGreen__1OD_4",Lr="styles-module_resend__To8qG";function Er(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_authSelectorWrap__34g8J {\n padding-bottom: 30px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_label__19jW8 {\n font-weight: 800;\n font-size: 14px;\n color: #333333;\n line-height: 20px;\n margin-bottom: 5px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_label__19jW8 span {\n color: #ff4d34;\n margin-left: 2px;\n font-size: 16px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_rows__1gpAK {\n margin-top: 10px;\n margin-bottom: 20px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_error__aL4zj {\n color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_error__aL4zj button {\n color: #f05c42;\n border-color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_errorMessage__3YjSh {\n margin-top: 4px;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: -0.197647px;\n color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_description__2c5sj {\n font-size: 14px;\n line-height: 20px;\n color: #8c8c8c;\n margin-bottom: 10px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t {\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: #333;\n font-size: 14px;\n min-width: 380px;\n padding-right: 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr {\n display: flex;\n align-items: center;\n font-size: 12px;\n margin-left: 20px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_deleteIcon__1mAJb {\n padding-left: 8px;\n padding-right: 8px;\n display: flex;\n align-items: center;\n cursor: pointer; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_deleteIcon__1mAJb svg {\n cursor: pointer;\n visibility: hidden;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa {\n position: relative; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa div {\n display: flex;\n align-items: center; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa svg {\n margin-left: 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusRed__1FG13,\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusOrange__1FNhi,\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusGreen__1OD_4 {\n width: 5px;\n height: 5px;\n border-radius: 9999px;\n margin: 0 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusRed__1FG13 {\n background: #e26154; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusOrange__1FNhi {\n background: #fcc700; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusGreen__1OD_4 {\n background: #2ecc71; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa span {\n margin-left: 10px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_resend__To8qG {\n cursor: pointer; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t:hover .styles-module_statusWrap__3amIr svg {\n visibility: visible;\n -webkit-user-select: auto;\n -ms-user-select: auto;\n user-select: auto; }\n");var Nr=function(){return _e(_r||(_r=t(["\n <svg\n class=",'\n width="13"\n height="15"\n viewBox="0 0 13 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11.8403 5.34L10.1453 6.345C10.5053 6.96 10.7003 7.68 10.7003 8.445C10.7003 10.77 8.81031 12.645 6.50031 12.645C4.19031 12.645 2.30031 10.755 2.30031 8.445C2.30031 6.135 4.19031 4.245 6.50031 4.245V6.15L11.1053 3.27L6.50031 0.375V2.28C3.09531 2.28 0.320312 5.055 0.320312 8.46C0.320313 11.85 3.09531 14.625 6.50031 14.625C9.90531 14.625 12.6803 11.85 12.6803 8.445C12.6803 7.32 12.3653 6.255 11.8403 5.34Z"\n fill="#8D8D8D"\n />\n </svg>\n'])),Lr)},Fr=function(e){var n=e.label,r=e.name,i=e.value,o=e.isChecked,a=e.status,s=void 0===a?"IDLE":a,l=e.isDeleting,u=void 0!==l&&l,c=e.handleChange,p=e.handleReverify,d=e.handleDelete,f=void 0===d?function(){return null}:d,_=e.error;return _e(hr||(hr=t(["\n <div class=",">\n <","\n label=","\n name=","\n value=","\n isChecked=","\n handleChange=","\n />\n <div class=",">\n <div class=",">\n <div>\n ","\n </div>\n <div>\n ","\n </div>\n <div>\n ","\n </div>\n ","\n ","\n </div>\n <div class="," onclick=",">\n ","\n </div>\n </div>\n </div>\n "])),Mr,ir,n,r,i,o,c,Dr,Pr,"VERIFYING"===s&&!u&&_e(mr||(mr=t(["<div class="," />\n Verifying <"," /> "])),Tr,qt),"CONNECTED"===s&&!_&&!u&&_e(vr||(vr=t(["<div class="," />\n Connected"])),jr),"ERROR"===s&&!u&&_e(yr||(yr=t(["<div class="," />\n Failed\n <div onclick=","><"," /></div>"])),Rr,p,Nr),u&&_e(gr||(gr=t(["<"," />"])),qt),_&&!u&&!("VERIFYING"===s)&&_e(br||(br=t(["<div class=",">","</div>"])),Or,_),Ar,f,!("VERIFYING"===s||u)&&_e(wr||(wr=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M1.5 4.1999H13.65" stroke="#F05C42" />\n <path\n d="M11.6254 5.5498V6.2248L10.9504 13.6498H4.20039L3.52539 6.2248V5.5498"\n stroke="#F05C42"\n stroke-linejoin="round"\n />\n <path\n d="M5.55078 3.525V2.175C5.55078 1.80221 5.85299 1.5 6.22578 1.5H8.92578C9.29857 1.5 9.60078 1.80221 9.60078 2.175V3.525"\n stroke="#F05C42"\n />\n </svg>\n ']))))},zr=function(e){xe(r,K);var n=Er(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).verifyAuth=function(e){var n=t.props.stepId,r=t.props.stepMapping[n].authorizations[e];r&&(r.isVerified?t.props.onAuthSelected(r.authorizationId,!0):(t.props.toggleVerifyAuthorizationFlag({stepId:n,authId:r.authorizationId,isVerifying:!0}),t.setState({isLoading:!0}),t.props.apiHandler.verifyOAuth(r.authorizationId).then((function(e){e?t.props.onAuthSelected(r.authorizationId,!0):t.props.onAuthSelected(r.authorizationId,!1)})).catch((function(e){return console.error(e)})).finally((function(){t.props.toggleVerifyAuthorizationFlag({stepId:n,authId:r.authorizationId,isVerifying:!1}),t.setState({isLoading:!1})}))))},t.deleteAuth=function(e){var n=t.props.stepId,r=t.props.stepMapping[n].authorizations[e];t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!0,error:""}),t.props.apiHandler.deleteAuth(r.authorizationId).then((function(e){200===(null==e?void 0:e.status)?t.props.removeAuthorization({stepId:n,authId:r.authorizationId}):405===(null==e?void 0:e.status)?t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!1,error:"".concat(e.data)}):t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!1,error:"An unexpected error occurred"})})).catch((function(e){console.error(e)}))},t.onAuthResponseReceived=function(e){void 0!==e&&e.data.activity_name&&(console.info(e.data),t.props.stepId&&(e.data.already_exists?t.props.setStepAuthId({stepId:t.props.stepId,authId:Number(e.data.authorization_id)}):t.props.addAuthorization({stepId:t.props.stepId,authData:{authorizationId:e.data.authorization_id,userIdentity:e.data.user_identity,disableLink:"",authType:"",isVerified:!1,didFetchStatus:!1,isVerifying:!1,isDeleting:!1,error:""}})))},t.getAuthStatus=function(e){var t="IDLE";return e.isVerified&&e.didFetchStatus&&(t="CONNECTED"),!e.isVerified&&e.didFetchStatus&&(t="ERROR"),e.isVerifying&&(t="VERIFYING"),t},t.getError=function(){var e=t.props.stepId,n=t.props.stepMapping[e];return n.authorizations?"Please select a valid ".concat(n.step.activity.app.name," account"):"Please add a valid ".concat(n.step.activity.app.name," account")},t.openAuthWindow=function(){var e=t.props,n=e.stepMapping[e.stepId].step;n&&function(e,t,n,r,i){var o=n.top.outerHeight/2+n.top.screenY-i/2,a=n.top.outerWidth/2+n.top.screenX-r/2;n.open(e,t,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=".concat(r,", height=").concat(i,", top=").concat(o,", left=").concat(a))}(t.context.apiHandler.getAuthUrl(n.authorization_type.id),"Auth Window",window,800,600)},t.state={isLoading:!1,fetched:!1},t}return st(r,[{key:"componentDidMount",value:function(){fr()&&window.addEventListener("message",this.onAuthResponseReceived);var e=this.props,t=e.stepId,n=e.stepMapping,r=n[t].selectedAuthId,i=n[t].authorizations.findIndex((function(e){return e.authorizationId===r}));n[t].selectedAuthId&&"IDLE"===this.getAuthStatus(n[t].authorizations[i])&&this.verifyAuth(i)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.stepId,r=t.stepMapping,i=r[n],o=i.selectedAuthId,a=r[n].authorizations.findIndex((function(e){return e.authorizationId===o}));o!==e.stepMapping[n].selectedAuthId&&a&&this.verifyAuth(a),i.authorizations.length===e.stepMapping[n].authorizations.length+1&&this.verifyAuth(i.authorizations.length-1)}},{key:"componentWillUnmount",value:function(){fr()&&window.removeEventListener("message",this.onAuthResponseReceived)}},{key:"render",value:function(){var e=this,n=this.props,r=n.stepId,i=n.showErrors,o=void 0!==i&&i,a=this.props.stepMapping[r],s=a.authorizations;return _e(xr||(xr=t(["\n <div class=",">\n <",'\n title="Connect account"\n description=',"\n isRequired=","\n />\n <div class=",">\n ","\n </div>\n <div class=",">\n <","\n onClick=","\n label=","\n type=","\n disabled=","\n >\n <//>\n </div>\n ","\n </div>\n "])),Sr,dr,"Select your ".concat(a.step.activity.app.name," account"),!0,Cr,s.map((function(n,r){return _e(Ir||(Ir=t(["<","\n label=","\n value=","\n status=","\n isChecked=","\n isDeleting=","\n error=","\n handleChange=","\n handleReverify=","\n handleDelete=","\n />"])),Fr,n.userIdentity,n.authorizationId,e.getAuthStatus(n),n.authorizationId===a.selectedAuthId,n.isDeleting,n.error,(function(){return e.verifyAuth(r)}),(function(){return e.verifyAuth(r)}),(function(){return e.deleteAuth(r)}))})),o?"".concat(Or):"",wn,(function(){return e.openAuthWindow()}),"Add ".concat(a.step.activity.app.name," account"),hn.SECONDARY,this.state.isLoading,o&&_e(kr||(kr=t(["<",">","<//>"])),ur,this.getError()))}}]),r}();zr.contextType=Nt;var Ur=ge.connect(["stepMapping"],Vt)(zr);var Hr,Vr,Br="styles-module_listboxGroupWrapper__1Kt5M",Wr="styles-module_listbox__2x2uP",Jr="styles-module_customSelect__3d-hM",Gr="styles-module_open__2fBAx",Kr="styles-module_customOptions__3iNrM",qr="styles-module_customSelectTrigger__2MlIG",Qr="styles-module_error__2KcSW",Yr="styles-module_arrow__TPQOZ",Zr="styles-module_close__3wlz1",Xr="styles-module_listboxItem__2jMpi",$r="styles-module_selected__nLzUy";Jt(".styles-module_listboxGroupWrapper__1Kt5M {\n min-width: 100px; }\n .styles-module_listboxGroupWrapper__1Kt5M fieldset {\n margin: 0;\n padding: 0;\n border: none; }\n\n.styles-module_listbox__2x2uP {\n position: relative;\n width: 100%;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding-top: 10px; }\n .styles-module_listbox__2x2uP .styles-module_customSelect__3d-hM {\n position: relative;\n display: flex;\n flex-direction: column;\n font-size: 14px;\n letter-spacing: -0.197647px;\n color: #999999; }\n .styles-module_listbox__2x2uP .styles-module_customSelect__3d-hM.styles-module_open__2fBAx .styles-module_customOptions__3iNrM {\n opacity: 1;\n visibility: visible;\n pointer-events: auto; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n font-size: 14px;\n padding: 9.5px 10px;\n border: 1px solid #e2e0db;\n border-radius: 4px; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG span {\n padding-right: 2rem; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG:focus {\n outline: none; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG.styles-module_error__2KcSW {\n border-color: #f05c42; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG .styles-module_arrow__TPQOZ {\n transform: rotate(0);\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG .styles-module_arrow__TPQOZ.styles-module_close__3wlz1 {\n transform: rotate(180deg); }\n .styles-module_listbox__2x2uP .styles-module_customOptions__3iNrM {\n position: absolute;\n top: 100%;\n left: 0px;\n right: 0px;\n z-index: 10;\n margin-top: 0.5rem;\n display: block;\n overflow: hidden;\n background-color: #fff;\n font-size: 0.875rem;\n line-height: 1.25rem;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n pointer-events: none;\n visibility: hidden;\n max-height: 12rem;\n min-height: 100%;\n overflow: auto;\n border-width: 1px;\n border-style: solid;\n border-color: #e2e0db;\n opacity: 0;\n border-radius: 4px; }\n\n.styles-module_listboxItem__2jMpi {\n position: relative;\n display: block;\n cursor: pointer;\n border-width: 0px;\n border-bottom-width: 1px;\n border-style: solid;\n border-color: #e2e0db;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 2.5rem;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms; }\n .styles-module_listboxItem__2jMpi svg {\n position: absolute;\n height: 100%;\n width: 12px;\n left: 16px;\n top: 0; }\n .styles-module_listboxItem__2jMpi:last-child {\n border: none; }\n .styles-module_listboxItem__2jMpi:hover {\n color: #333;\n background: #ececec; }\n .styles-module_listboxItem__2jMpi.styles-module_selected__nLzUy {\n color: #333;\n font-weight: 500; }\n");var ei,ti,ni,ri,ii,oi,ai,si,li,ui,ci,pi,di,fi,_i,hi,mi,vi=function(e){var n=e.id,r=e.value,i=e.isSelected,o=e.onClick;return _e(Hr||(Hr=t(["\n <span\n class=","\n data-value=","\n onclick=","\n >\n ","\n ","\n </span>\n "])),"".concat(Xr," ").concat(i?$r:""),n,o,i&&_e(Vr||(Vr=t(['\n <svg\n width="7"\n height="7"\n viewBox="0 0 7 7"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n stroke="#333"\n >\n <path\n d="M6.33333 1.5L2.83522 5.5L1 3.40148"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n </svg>\n ']))),r)},yi=function(e){var n,r,i=e.title,o=e.description,a=e.items,s=void 0===a?[]:a,l=e.value,u=void 0===l?null:l,c=e.isOpen,p=void 0!==c&&c,d=e.isDynamic,f=void 0!==d&&d,_=e.endpointData,h=e.isRequired,m=void 0!==h&&h,v=e.placeholder,y=e.onChange,g=void 0===y?function(){return null}:y,b=e.showStepValidation,w=void 0!==b&&b,x=e.responseMapper,I=void 0===x?function(e){return e}:x,k=Ue(Ye(s),2),S=k[0],C=k[1],O=Ue(Ye(f&&!s.length&&!u),2),M=O[0],D=O[1],A=Ue(Ye(p),2),P=A[0],R=A[1],T=Xe();Ze((function(){var e=function(e){e.target instanceof HTMLElement&&(!n.current||n.current.contains(e.target))||r(e)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[n=T,r=function(){return P&&R(!1)}]),Ze((function(){var t=e.apiHandler,n=e.isDynamic,r=e.endpointUrl;if(n&&r){var i;D(!0);try{i=JSON.parse(_)}catch(e){i=""}t.callDynamicDataEndpoint(new URL(r),i).then((function(e){D(!1),e&&C(I(e))}))}}),[_]);var j=function(){R((function(e){return!e}))},L=$e((function(){var e=S.findIndex((function(e){return e.id===u}));return e>-1?S[e].value:""}),[S,u]);return _e(ei||(ei=t(["\n <div ref=",' class="','">\n <fieldset>\n ',"\n <div class=",">\n <div\n class=","\n >\n <div\n class=",'\n role="button"\n tabindex=',"\n onclick=","\n onkeyup=","\n >\n <span>\n ","\n </span>\n\n <div ref=",' style="display: flex;">\n ',"\n </div>\n </div>\n <div class=",">\n ","\n </div>\n </div>\n ","\n </div>\n </fieldset>\n </div>\n "])),T,Br,i&&_e(ti||(ti=t(["\n <","\n title=","\n description=","\n isRequired=","\n />\n "])),dr,i,o,m),Wr,"".concat(Jr," ").concat(P?Gr:""),"".concat(qr," ").concat(w&&!u&&m&&Qr),0,j,(function(e){"Enter"===e.key&&j()}),M?_e(ni||(ni=t(["Loading"]))):_e(ri||(ri=t(["\n ","\n "])),S.length>0?_e(ii||(ii=t(["\n ","\n "])),u?_e(oi||(oi=t(["",""])),L):_e(ai||(ai=t(["",""])),v||"Please select an option")):_e(si||(si=t(["No options"])))),T,M?_e(li||(li=t(["<","><//>"])),qt):_e(ui||(ui=t(["\n <div\n class=",'\n >\n <svg\n width="12"\n height="8"\n viewBox="0 0 12 8"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11 1.5L6 6.5L1 1.5"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n '])),"".concat(Yr," ").concat(P?Zr:"")),Kr,S.length>0&&!M&&_e(ci||(ci=t(["\n ","\n "])),S.map((function(e){return _e(pi||(pi=t(["\n <","\n key=","\n id=","\n value=","\n isSelected=","\n onClick=","\n ><//>\n "])),vi,e.id,e.id,e.value,u===e.id,(function(){g(e.id),R(!1)}))}))),w&&!u&&m&&_e(di||(di=t([" <",">Please select a value<//>"])),ur))},gi="styles-module_checkbox__3mvqm",bi="styles-module_button__2oPQ0",wi="styles-module_text__1AHNH",xi="styles-module_description__3Ox13";Jt(".styles-module_checkboxGroup__2u-bL fieldset {\n border: none;\n padding: 0; }\n\n.styles-module_checkbox__3mvqm {\n position: relative;\n display: flex;\n margin-bottom: 22px;\n align-items: center;\n margin-top: 12px; }\n .styles-module_checkbox__3mvqm .styles-module_button__2oPQ0 {\n display: block;\n height: 20px;\n width: 20px;\n padding-right: 10px;\n background-color: transparent; }\n .styles-module_checkbox__3mvqm input[type='checkbox'] {\n opacity: 0;\n margin: 0;\n display: none; }\n .styles-module_checkbox__3mvqm label {\n display: flex;\n flex: 1;\n cursor: pointer;\n font-size: 14px;\n color: #333333; }\n .styles-module_checkbox__3mvqm .styles-module_text__1AHNH {\n display: flex;\n color: #333;\n font-size: 14px;\n font-weight: 400;\n line-height: 26px;\n margin-top: -2px; }\n .styles-module_checkbox__3mvqm .styles-module_description__3Ox13 {\n font-size: 12px;\n color: #222; }\n");var Ii,ki=function(e){var n=e.label,r=e.name,i=e.description,o=void 0===i?null:i,a=e.value,s=e.isChecked,l=void 0!==s&&s,u=e.handleChange,c=void 0===u?function(){return null}:u;return _e(fi||(fi=t(["\n <div class=",">\n <label for=",">\n <input\n id=",'\n type="checkbox"\n name=',"\n value=","\n checked=","\n onclick=","\n />\n <div class=",">\n ","\n </div>\n <div>\n <div class=",">","</div>\n ","\n </div>\n </label>\n </div>\n "])),gi,r,r,r,a,l,(function(e){if(e.target instanceof HTMLInputElement){var t=e.target,n=t.id,r=t.checked;c(n,r)}}),bi,_e(l?_i||(_i=t(['\n <svg\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M7.86364 15.5L10 13.4923L17.5 6.49357L15.3485 4.5L7.86364 11.4987L4.63636 8.50129L2.5 10.4949L5.71212 13.4923L7.86364 15.5Z"\n fill="#5F4D86"\n />\n <path\n d="M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z"\n fill="#5F4D86"\n />\n </svg>\n '])):hi||(hi=t(['\n <svg\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z"\n fill="#5F4D86"\n />\n </svg>\n ']))),wi,n,o&&_e(mi||(mi=t(["<div class=",">","</div>"])),xi,o))},Si="styles-module_loader__1RKKC";Jt(".styles-module_loader__1RKKC {\n animation-name: styles-module_ckw__i9e23;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n transform-origin: 50% 50%; }\n\n@keyframes styles-module_ckw__i9e23 {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n");var Ci,Oi,Mi,Di,Ai,Pi=function(){return _e(Ii||(Ii=t(["\n <svg\n class=",'\n width="26"\n height="25"\n viewBox="0 0 26 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M15.7173 0.29892C13.1175 -0.280085 10.4006 -0.0135017 7.96294 1.0598C5.52524 2.13311 3.49412 3.95702 2.16568 6.26562C0.837246 8.57421 0.280965 11.2468 0.57794 13.8937C0.874915 16.5406 2.00962 19.0235 3.81662 20.9803C5.62362 22.9371 8.00843 24.2656 10.6234 24.772C13.2383 25.2784 15.9466 24.9363 18.3535 23.7956C20.7604 22.6548 22.74 20.7751 24.0036 18.4304C25.2673 16.0857 25.749 13.3987 25.3785 10.7611L24.1406 10.935C24.4741 13.3088 24.0406 15.7272 22.9033 17.8374C21.766 19.9476 19.9844 21.6393 17.8182 22.666C15.652 23.6927 13.2145 24.0006 10.861 23.5448C8.50758 23.089 6.36125 21.8934 4.73495 20.1323C3.10866 18.3711 2.08742 16.1366 1.82015 13.7543C1.55287 11.3721 2.05352 8.96679 3.24911 6.88905C4.44471 4.81132 6.27272 3.1698 8.46665 2.20382C10.6606 1.23785 13.1057 0.997923 15.4456 1.51903L15.7173 0.29892Z"\n fill="#EFEFEF"\n />\n <path\n d="M25.3833 10.7959C25.0346 8.26181 23.9168 5.8957 22.1808 4.01695C20.4449 2.13819 18.1743 0.83725 15.6756 0.289715L15.4081 1.51074C17.6569 2.00353 19.7004 3.17437 21.2628 4.86525C22.8251 6.55613 23.8311 8.68563 24.145 10.9663L25.3833 10.7959Z"\n fill="#C4C4C4"\n />\n </svg>\n'])),Si)},Ri="styles-module_selectWrapper__wU7p8";Jt(".styles-module_selectWrapper__wU7p8 {\n position: relative;\n width: 100%; }\n .styles-module_selectWrapper__wU7p8 fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n .styles-module_selectWrapper__wU7p8 select {\n width: 100%;\n color: #999999;\n position: relative;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n -webkit-appearance: none;\n appearance: none;\n padding: 8.5px 14px;\n border-radius: 4px;\n border: 1px solid #e2e0db;\n outline: none; }\n .styles-module_selectWrapper__wU7p8 select:focus {\n outline: none; }\n .styles-module_selectWrapper__wU7p8 svg {\n position: absolute;\n right: 10px;\n top: 13px; }\n");var Ti,ji,Li,Ei,Ni,Fi,zi,Ui=function(e){var n=e.placeholder,r=e.ariaLabel,i=e.value,o=e.options,a=void 0===o?[]:o,s=e.showUnselectedValue,l=void 0!==s&&s,u=e.unselectedText,c=void 0===u?"Select a value":u,p=e.isRequired,d=void 0!==p&&p,f=e.showStepValidation,_=void 0!==f&&f,h=e.onChange,m=void 0===h?function(){return null}:h;return _e(Ci||(Ci=t(["\n <div class=",">\n <select aria-label="," onchange=",">\n ","\n ","\n ",'\n </select>\n <svg\n width="12"\n height="8"\n viewBox="0 0 12 8"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11 1.5L6 6.5L1 1.5"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n ',"\n "])),Ri,r,(function(e){if(e.currentTarget instanceof HTMLSelectElement){var t=e.currentTarget.value,n=a.findIndex((function(e){return"".concat(e.key)==="".concat(t)}));m(n)}}),l&&_e(Oi||(Oi=t([' <option value="">',"</option> "])),c),!i&&_e(Mi||(Mi=t(['\n <option value="" disabled selected hidden>',"</option>\n "])),n),a.map((function(e){return _e(Di||(Di=t(["\n <option value="," selected=",">\n ","\n </option>\n "])),e.key,i===e.key,e.label)})),d&&!i&&_&&_e(Ai||(Ai=t(["<",">Please map this required field<//>"])),ur))},Hi="styles-module_mappingWrap__cU3_M",Vi="styles-module_mappingInfo__2Nvsw",Bi="styles-module_loader__3uPJj",Wi="styles-module_mappingRow__LbAkF",Ji="styles-module_title__3EC37",Gi="styles-module_sampleData__ZpCR2",Ki="styles-module_selectBox__2gn7w",qi="styles-module_mappingHeaderItem__3Ue0A";function Qi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yi(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Qi(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qi(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}Jt(".styles-module_mappingWrap__cU3_M {\n margin-top: 1rem;\n padding-bottom: 33px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw {\n margin-top: 20px;\n display: flex;\n justify-content: flex-end;\n font-size: 10px;\n line-height: 12px;\n display: flex;\n align-items: center;\n letter-spacing: 0.1px;\n color: #999999; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > :not(:last-child) {\n margin-right: 20px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > div {\n margin-right: 7px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > div > span:first-child {\n color: #333333;\n margin: 0;\n margin-right: 3px; }\n\n.styles-module_loader__3uPJj {\n margin-top: 64px;\n display: flex;\n justify-content: center; }\n\n.styles-module_mappingRow__LbAkF {\n display: flex;\n box-sizing: content-box;\n align-items: center;\n justify-content: space-between;\n background-color: #fff;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 15px;\n padding-bottom: 15px;\n font-size: 0.875rem;\n line-height: 1.25rem;\n height: 60px; }\n .styles-module_mappingRow__LbAkF .styles-module_title__3EC37 {\n width: 40%;\n padding-right: 4px;\n font-weight: 500;\n font-size: 14px;\n color: #333333; }\n .styles-module_mappingRow__LbAkF .styles-module_title__3EC37 span {\n color: red;\n font-size: 16px;\n margin-left: 2px; }\n .styles-module_mappingRow__LbAkF .styles-module_sampleData__ZpCR2 {\n display: flex;\n flex-direction: column;\n width: 40%;\n overflow: hidden;\n word-break: break-word;\n padding-right: 20px; }\n .styles-module_mappingRow__LbAkF .styles-module_selectBox__2gn7w {\n width: 40%; }\n .styles-module_mappingRow__LbAkF:nth-child(even) {\n background: #f8f8f880; }\n .styles-module_mappingRow__LbAkF:first-child {\n color: #333333; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A {\n display: flex;\n align-items: center;\n width: 40%; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A:first-child {\n padding-right: 4px; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A img {\n height: 25px;\n width: 25px;\n object-fit: contain;\n border-radius: 9999px;\n margin-right: 5px; }\n .styles-module_mappingRow__LbAkF pre {\n margin: 0;\n padding: 0;\n color: #7d7d7d;\n overflow: hidden;\n text-overflow: ellipsis; }\n");var Zi,Xi,$i=ge.connect(["stepState","genericData","stepMapping","activityOutputData","dynamicFieldData","stepDataMapping","parentChildMapping"],Vt)((function(n){var i,o,a=Ue(Ye(!1),2),s=a[0],l=a[1],u=Ue(Ye(!1),2),c=u[0],p=u[1],d=Ue(Ye(!1),2),f=d[0],_=d[1],h=Ue(Ye([]),2),m=h[0],v=h[1],y=Ue(Ye(""),2),g=y[0],b=y[1],w=et(Nt),x=Xe(""),I=Xe(0);Ze((function(){var t=n.templateFields.filter((function(e){return"DYNAMIC"===e.activity_field.type}))[0];t&&b("".concat(t.id));var r,i=n.templateFields.filter((function(e){return"TEXTFIELD"===e.activity_field.type&&e.is_visible})).map((function(e){return{fieldId:e.id,id:e.activity_field.machine_name,title:e.activity_field.title,type:"text",isNotDynamic:!0}})),o=n.parentChildMapping[n.stepId][t.activity_field.machine_name],a="";if(o){var s,u=null===(s=o.parentFields)||void 0===s?void 0:s.reduce((function(t,r){var i=n.parentChildMapping[n.stepId][r].fieldId;return Yi(Yi({},t),{},e({},i,n.stepDataMapping[n.stepId][i].value))}),{});a=JSON.stringify(u)}a!==x.current&&(l(!0),p(!0),_(!0),S(),null===(r=C(t))||void 0===r||r.then((function(e){l(!1),x.current=a,Array.isArray(e)&&v([].concat(Ne(i),Ne(e)))})).catch((function(e){return console.error(e)})))}),[n.stepDataMapping[n.stepId]]);var k=function(t){var r=n.stepDataMapping[t];return Object.keys(r).filter((function(e){return r[Number(e)].value})).reduce((function(t,n){var i=r[Number(n)];return Yi(Yi({},t),{},e({},i.machineName,i.value))}),{})},S=function(){var e=r(F.mark((function e(){var t,r,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=n.stepState.steps[0].stepId,r=k(t),t&&("TRIGGER"!==(i=n.stepMapping[t].step).activity.type&&"QUERY"!==i.activity.type||(i.activity.activity_output_url?(p(!0),null==w||w.apiHandler.callDynamicDataEndpoint(new URL(i.activity.activity_output_url),Yi({authorization_id:"".concat(n.stepMapping[t].selectedAuthId)},r)).then((function(e){p(!1),e&&n.setActivityOutputData({activityOutputData:e})}))):p(!1),i.activity.dynamic_field_data_endpoint?(_(!0),null==w||w.apiHandler.callDynamicDataEndpoint(new URL(i.activity.dynamic_field_data_endpoint),Yi({authorization_id:"".concat(n.stepMapping[t].selectedAuthId)},r)).then((function(e){_(!1),e&&n.setDynamicFieldData({dynamicFieldData:e})}))):_(!1)));case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),C=function(e){var t="".concat(e.activity_field.dynamic_field_src);return null==w?void 0:w.apiHandler.callDynamicDataEndpoint(new URL(t),Yi({authorization_id:"".concat(n.endpointData.authId)},n.endpointData.fieldsData))};return _e(Ti||(Ti=t(["\n <div>\n <",'\n title="Map data"\n description="Please map fields you want to use from both apps"\n />\n <div>\n ',"\n </div>\n </div>\n "])),dr,s||c||f?_e(ji||(ji=t(["<div class=","><"," /></div>"])),Bi,Pi):_e(Li||(Li=t(["\n <div class=",">\n <div class=",">\n <div class=",">\n <img src="," />\n <div>"," Field</div>\n </div>\n <div class=",">Sample Data</div>\n <div class=",">\n <img\n src=","\n />\n <div>\n ","\n </div>\n </div>\n </div>\n ","\n <div class=",">\n <div>\n <span>Mapped</span>\n <span\n >","","\n field","</span\n >\n </div>\n <div>\n <span>Ignored</span>\n <span\n >","","\n field","</span\n >\n </div>\n </div>\n </div>\n "])),Hi,Wi,qi,null===(i=n.genericData.templateApp)||void 0===i?void 0:i.iconUrl,null===(o=n.genericData.templateApp)||void 0===o?void 0:o.name,Gi,qi,n.stepMapping[n.stepId].step.activity.app.icon_url,"".concat(n.stepMapping[n.stepId].step.activity.app.name," Field"),m.map((function(e){var r,i,o,a=n.stepDataMapping[n.stepId][e.fieldId];return _e(Ei||(Ei=t(["\n <div class=",">\n <div class=",">\n ","","\n </div>\n <div class=",">\n ","\n </div>\n <div class=",">\n <",'\n ariaLabel="Map a value"\n placeholder="Please map a value"\n options=',"\n value=","\n isRequired=","\n showStepValidation=","\n showUnselectedValue=",'\n unselectedText="Skip"\n onChange=',"\n ><//>\n </div>\n </div>\n "])),Wi,Ji,e.title,(null==a?void 0:a.isRequired)&&_e(Ni||(Ni=t(["<span>*</span>"]))),Gi,n.dynamicFieldData&&(null==a?void 0:a.value)&&(null===(r=n.dynamicFieldData[null==a?void 0:a.value])||void 0===r?void 0:r.map((function(e){return e?_e(Fi||(Fi=t(["<pre>","</pre>"])),e):_e(zi||(zi=t([""])))}))),Ki,Ui,null===(i=n.activityOutputData)||void 0===i?void 0:i.map((function(e){return{key:e.value,label:e.text}})),null==a||null===(o=a.value)||void 0===o?void 0:o.slice(1,-1),null==a?void 0:a.isRequired,n.showStepValidation,!0,(function(t){return function(e,t){var r,i=null===(r=n.activityOutputData)||void 0===r?void 0:r[e];e<0?(I.current>0&&(I.current-=1),n.setStepFieldData({stepId:"".concat(n.stepId),fieldId:"".concat(t.fieldId),value:""})):i&&(I.current>-1&&(I.current+=1),t.isNotDynamic?n.setStepFieldData({stepId:"".concat(n.stepId),fieldId:"".concat(t.fieldId),value:"{".concat(i.value,"}")}):g&&n.setStepMappingData({stepId:n.stepId,fieldId:Number(g),id:t.id,value:"{".concat(i.value,"}")}))}(t,e)}))})),Vi,I.current," ",1!==I.current?"s":"",m.length-I.current," ",m.length-I.current!=1?"s":""))})),eo="styles-module_inputWrapper__1XBHY";Jt(".styles-module_inputWrapper__1XBHY {\n position: relative;\n width: 100%;\n padding-top: 10px; }\n .styles-module_inputWrapper__1XBHY input {\n width: 100%;\n color: #333;\n display: block;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n padding: 8.5px 14px;\n border-radius: 4px;\n border: 1px solid #e2e0db;\n font-size: 14px;\n outline: none; }\n .styles-module_inputWrapper__1XBHY input:focus {\n outline: none; }\n .styles-module_inputWrapper__1XBHY input:-ms-input-placeholder {\n color: #999999; }\n .styles-module_inputWrapper__1XBHY input::placeholder {\n color: #999999; }\n");var to,no,ro=function(e){var n=e.placeholder,r=e.value,i=e.type,o=void 0===i?"text":i,a=e.control,s=e.handleChange,l=void 0===s?function(){return null}:s;return _e(Zi||(Zi=t(["\n <div class=",">\n <input\n type=","\n placeholder=","\n value=","\n onkeyup=","\n />\n ","\n </div>\n "])),eo,o,n,r,(function(e){if(e.currentTarget instanceof HTMLInputElement){var t=e.currentTarget.value;l(t)}}),a&&_e(Xi||(Xi=t(["<"," //>"])),a))},io="styles-module_inputGroupWrapper__FJc-g";Jt(".styles-module_inputGroupWrapper__FJc-g fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n");var oo=function(e){var n=e.title,r=e.description,i=e.placeholder,o=e.value,a=e.showStepValidation,s=void 0!==a&&a,l=e.isRequired,u=void 0!==l&&l,c=e.onChange,p=void 0===c?function(){return null}:c;return _e(to||(to=t(['\n <div class="','">\n <fieldset>\n <'," title="," description="," //>\n <",'\n type="text"\n placeholder=',"\n handleChange=","\n value=","\n ><//>\n </fieldset>\n ","\n </div>\n "])),io,dr,n,r,ro,i,(function(e){p(e)}),o,s&&u&&_e(no||(no=t(["",">Please enter a value<//>"])),ur))};Jt(".styles-module_dateGroupWrapper__cV-ne fieldset {\n border: none;\n padding: 0;\n margin: 0; }\n\n.styles-module_dateGroupWrapper__cV-ne input[type='date'] {\n position: relative;\n cursor: pointer; }\n\n.styles-module_dateGroupWrapper__cV-ne input[type='date']::-webkit-calendar-picker-indicator {\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n color: transparent;\n background: transparent; }\n\n.styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl {\n display: flex;\n align-items: center;\n width: 20px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n margin: 0 auto; }\n .styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl svg {\n cursor: pointer; }\n .styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl svg:hover {\n opacity: 0.5; }\n");Jt(".styles-module_passwordInputWrapper__1rzRX fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n\n.styles-module_passwordInputWrapper__1rzRX .styles-module_innerWrap__2CRI3 {\n position: relative; }\n\n.styles-module_passwordInputWrapper__1rzRX input {\n padding-right: 18px; }\n\n.styles-module_visibilityToggle__3_Kyp {\n display: flex;\n align-items: center;\n width: 10px;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n margin: 0 auto; }\n .styles-module_visibilityToggle__3_Kyp svg {\n cursor: pointer; }\n");var ao,so,lo,uo,co,po,fo,_o,ho,mo,vo,yo,go="styles-module_stepsWrap__1Yzhl",bo="styles-module_stepWrap__eLO77";function wo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xo(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?wo(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):wo(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function Io(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__1Yzhl {\n width: 100%;\n margin-bottom: 1.5rem; }\n\n.styles-module_stepWrap__eLO77 {\n margin-bottom: 2rem; }\n");var ko,So,Co,Oo,Mo,Do,Ao,Po,Ro,To,jo,Lo,Eo,No,Fo,zo,Uo,Ho=function(n){xe(o,K);var r=Io(o);function o(t){var n;return i(this,o),(n=r.call(this,t)).getVisibleFieldsDataOnRootStep=function(){var t=n.props.stepDataMapping[n.props.step.id];return Object.keys(t).filter((function(e){return t[Number(e)].value})).reduce((function(n,r){var i=t[Number(r)];return xo(xo({},n),{},e({},i.machineName,i.value))}),{})},n.areParentValuesFilled=function(e,t){for(var r=!0,i=0;i<t.length;i+=1){var o=t[i],a=n.props.parentChildMapping[e][o].fieldId,s=n.props.stepDataMapping[e]&&n.props.stepDataMapping[e][a];if(!s||!s.value){r=!1;break}}return r},n.doParentFieldsHaveValues=function(e,t){var r=!0,i=n.props.parentChildMapping[e][t];if(i&&i.parentFields)for(var o=0;o<i.parentFields.length;o+=1){var a=n.props.parentChildMapping[e][i.parentFields[o]],s=n.props.stepDataMapping[e]&&n.props.stepDataMapping[e][a.fieldId];if(!s||!s.value){r=!1;break}}return r},n.shouldShowStep=function(e){var t=n.props.step.id,r=n.props.stepMapping&&n.props.stepMapping[t];if(r){var i=!e.is_hidden,o=r.selectedAuthId,a=n.props.parentChildMapping[t][e.activity_field.machine_name].parentFields,s=!0;return a&&(s=n.areParentValuesFilled(t,a)),i&&o&&s}return!1},n.stepIsOfType=function(e){var t=n.props.step.id,r=n.props.stepMapping&&n.props.stepMapping[t];return e.indexOf(r.step.activity.type)>-1},n.textFieldParentHasValues=function(){var e=n.props.step.id,t=n.props.stepMapping&&n.props.stepMapping[e],r=t.step.template_fields.filter((function(e){return e.is_visible})),i=t.selectedAuthId,o=r.filter((function(e){return"DYNAMIC"===e.activity_field.type}))[0];return!o||!!(r.length>0&&o&&i&&n.doParentFieldsHaveValues(e,o.activity_field.machine_name))},n.shouldShowMapping=function(){var e=n.props.step.id,t=n.props.stepMapping&&n.props.stepMapping[e];if(n.stepIsOfType(["ADAPTER","ACTION"])){var r=t.step.template_fields.filter((function(e){return e.is_visible})),i=t.selectedAuthId,o=r.filter((function(e){return"DYNAMIC"===e.activity_field.type}))[0];if(!o)return!1;if(r.length>0&&i&&o&&n.doParentFieldsHaveValues(e,o.activity_field.machine_name))return!0}return!1},n.getMappingDataInput=function(){var e=n.props.step.id;return{authId:(n.props.stepMapping&&n.props.stepMapping[e]).selectedAuthId,fieldsData:n.getVisibleFieldsDataOnRootStep()}},n.fieldDynamicData=function(t){var r=n.props.step.id;if(n.props.stepMapping&&n.props.stepMapping[r]){var i=n.props.parentChildMapping[r][t.activity_field.machine_name].parentFields;if(i){var o=n.props.parentChildMapping[r][i[0]].fieldId;if(o)return e({},i[0],n.props.stepDataMapping[r][o].value)}}return null},n.state={loading:!1},n}return st(o,[{key:"render",value:function(){var e=this,n=this.props,r=n.step,i=n.stepMapping,o=n.stepDataMapping,a=n.setStepFieldData,s=n.showStepValidation,l=i[r.id]&&i[r.id].step,u=o&&o[r.id];return _e(ao||(ao=t(["\n ","\n "])),this.state.loading?_e(so||(so=t(["<"," //>"])),qt):_e(lo||(lo=t(["\n ","\n "])),l?_e(uo||(uo=t(["\n <div class=",">\n ","\n ","\n </div>\n "])),go,l.template_fields.map((function(n){var i;if(e.shouldShowStep(n))switch(n.activity_field.type){case"SELECT":return _e(co||(co=t(["\n <div class=",">\n <","\n key=","\n apiHandler=","\n title=","\n description=","\n showStepValidation=","\n placeholder=","\n isRequired=","\n value=","\n onChange=","\n endpointUrl=","\n isDynamic=","\n endpointData=","\n ><//>\n </div>\n "])),bo,yi,n.activity_field.id,e.props.apiHandler,n.title||n.activity_field.title,n.description||n.activity_field.description,s,n.placeholder,n.is_required,u&&u[n.id]&&u[n.id].value||"",(function(e){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:e})}),n.activity_field.data_src,n.activity_field.is_dynamic,JSON.stringify(xo({authorization_id:e.props.stepMapping&&(null===(i=e.props.stepMapping[e.props.step.id])||void 0===i?void 0:i.selectedAuthId)},e.fieldDynamicData(n))));case"TEXTFIELD":return!e.shouldShowMapping()&&e.textFieldParentHasValues()&&_e(po||(po=t(["\n <div class=",">\n <","\n id=","\n title=","\n description=","\n value=","\n placeholder=","\n showStepValidation=","\n isRequired=","\n onChange=","\n ><//>\n </div>\n "])),bo,oo,n.activity_field.id,n.title||n.activity_field.title,n.description||n.activity_field.description,u&&u[n.id]&&u[n.id].value||"",n.placeholder||"Please enter a value",s,n.is_required,(function(e){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:e})}));case"CHECKBOX":return _e(fo||(fo=t(["\n <","\n title=","\n isRequired=","\n />\n <","\n label=","\n name=","\n value=","\n isChecked=","\n handleChange=","\n />\n "])),dr,n.title||n.activity_field.title,n.is_required,ki,n.activity_field.description,n.activity_field.machine_name,u&&u[n.id]&&u[n.id].value,u&&u[n.id]&&u[n.id].value,(function(e,t){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:t})}));case"DYNAMIC":return _e(_o||(_o=t([""])));default:return _e(ho||(ho=t(["<div>\n Field: "," is currently not\n supported\n </div>"])),n.activity_field.type)}return _e(mo||(mo=t([""])))})),this.shouldShowMapping()&&_e(vo||(vo=t(["\n <div class=",">\n <","\n stepId=","\n templateFields=","\n showStepValidation=","\n endpointData=","\n ><//>\n </div>\n "])),bo,$i,l.id,l.template_fields,s,this.getMappingDataInput())):_e(yo||(yo=t(["Step data could not be loaded"])))))}}]),o}(),Vo=ge.connect(["stepMapping","stepDataMapping","parentChildMapping"],Vt)(Ho),Bo="styles-module_stepsWrap__3VIDN",Wo="styles-module_stepInfo__nU7A7",Jo="styles-module_header__2GDea",Go="styles-module_name__h_9E1",Ko="styles-module_steps__1tZbw",qo="styles-module_stepContainer__1DBMw",Qo="styles-module_top__JXVEL",Yo="styles-module_bottom__2g7TT",Zo="styles-module_buttons__2hBh9",Xo="styles-module_save__1LVOi",$o="styles-module_authWrap__em0DI";function ea(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__3VIDN {\n display: flex;\n min-height: 480px;\n border: 1px solid #d7d7d7;\n box-sizing: border-box;\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n width: 100%;\n box-sizing: border-box;\n padding: 30px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea .styles-module_name__h_9E1 {\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: 20px;\n color: #333333; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea .styles-module_steps__1tZbw {\n font-size: 12px;\n font-weight: 400;\n color: #8c8c8c; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 img,\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 svg {\n margin-right: 10px;\n height: 25px;\n width: 25px;\n border-radius: 9999px;\n object-fit: contain; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw {\n display: flex;\n width: 100%;\n flex-direction: column; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_top__JXVEL {\n display: flex;\n width: 100%;\n flex: 1 1 0%;\n padding-top: 50px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT {\n display: flex;\n height: 2rem;\n align-items: center;\n justify-content: flex-end;\n box-sizing: initial;\n border-width: 0px;\n border-top-width: 1px;\n border-style: solid;\n border-color: #d7d7d7;\n padding-top: 20px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT .styles-module_buttons__2hBh9 {\n display: flex; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT .styles-module_buttons__2hBh9 div:not(:last-child) {\n margin-right: 20px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_save__1LVOi {\n font-size: 12px; }\n\n.styles-module_authWrap__em0DI {\n margin-bottom: 40px;\n width: 100%;\n max-width: 75%; }\n");var ta=function(e){xe(r,K);var n=ea(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).createIntegration=function(){var e=t.props,n=e.stepMapping,r=e.stepDataMapping;if(!t.context.isPreviewMode){t.setState({loading:!0});var i={name:"My new integration",notification_email:"",template:Number(t.props.genericData.templateId),bundle_id:Number(t.props.genericData.bundleId),steps:Object.keys(n).map((function(e){return{id:n[e].step.id,authorization:Number(n[e].selectedAuthId),template_step:n[e].step.id,app_user_data:n[e].step.template_fields.map((function(t){return{id:t.id,value:!r[n[e].step.id][t.id].value&&""!==r[n[e].step.id][t.id].value||r[n[e].step.id][t.id].objectValue?JSON.stringify(r[n[e].step.id][t.id].objectValue):"".concat(r[n[e].step.id][t.id].value),template_field:t.id}}))}}))};t.context.apiHandler.saveIntegration(i).then((function(e){t.setState({loading:!1}),t.context.eventEmitter.emit("did-save-integration",{integrationId:e.id,name:e.name,templateId:e.template,status:e.status})})).catch((function(e){return console.error(e)}))}},t.handleAuthSelected=function(e,n,r){var i=t.props.stepMapping[n].step.template_fields.filter((function(e){return e.activity_field.is_dynamic})).map((function(e){return e.id}));t.props.setStepAuthorization(n,e,r,i)},t.state={loading:!1,selectedAuthStep:null},t}return st(r,[{key:"componentDidUpdate",value:function(e){var t,n,r,i,o=e.stepState,a=this.props.stepState;o.stepIndex!==a.stepIndex&&this.context.eventEmitter.emit("did-change-step",{stepId:null!==(t=null===(n=a.steps[a.stepIndex])||void 0===n?void 0:n.stepId)&&void 0!==t?t:null,stepType:null!==(r=null===(i=a.steps[a.stepIndex])||void 0===i?void 0:i.type)&&void 0!==r?r:"CONFIRMATION"})}},{key:"render",value:function(){var e,n,r,i,o,a,s,l,u,c,p,d=this,f=null,_=this.props,h=_.stepState,m=_.stepMapping,v=h.currentStep,y=h.stepIndex,g=h.steps,b=!1,w=!1,x=!1,I=!1;y>-1&&"CONFIRMATION"!==(null==v?void 0:v.type)?(f=m[Number(null==v?void 0:v.stepId)],b=!1,w=h.stepIndex>0,x=null!==(p=null==v?void 0:v.isValid)&&void 0!==p&&p,I=h.showValidation):"CONFIRMATION"===(null==v?void 0:v.type)&&y===g.length&&(b=!0);return _e(ko||(ko=t(["\n <div class=",">\n <div class=",">\n <div class=",">\n ","\n </div>\n\n <div class=",'>\n <div style="padding-left: 35px; padding-right: 35px; width: 100%;">\n ',"\n </div>\n </div>\n ","\n </div>\n </div>\n "])),Bo,qo,Wo,v&&_e(So||(So=t(["\n ","\n "])),b?_e(Co||(Co=t(["\n <div class=",">\n <div class=",'>\n <svg\n width="25"\n height="25"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="11.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n <div>Confirmation</div>\n </div>\n <div class=',">\n ","\n </div>\n </div>\n "])),Jo,Go,Ko,"Step ".concat((null!==(e=null===(n=this.props.stepState)||void 0===n?void 0:n.stepIndex)&&void 0!==e?e:0)+1," / ").concat((null!==(r=null===(i=this.props.stepState)||void 0===i?void 0:i.steps.length)&&void 0!==r?r:0)+1)):_e(Oo||(Oo=t(["\n <div class=",">\n <div class=",">\n <img src="," />\n <div>\n ","\n </div>\n </div>\n <div class=",">\n ","\n </div>\n </div>\n "])),Jo,Go,null===(o=f)||void 0===o?void 0:o.step.activity.app.icon_url,"CONFIRMATION"!==(null==v?void 0:v.type)&&(null==v?void 0:v.title),Ko,"Step ".concat((null!==(a=null===(s=this.props.stepState)||void 0===s?void 0:s.stepIndex)&&void 0!==a?a:0)+1," / ").concat((null!==(l=null===(u=this.props.stepState)||void 0===u?void 0:u.steps.length)&&void 0!==l?l:0)+1))),Qo,v?_e(Mo||(Mo=t(["\n ","\n "])),b?_e(Do||(Do=t(["\n <div class=",">\n Your integration is ready to be enabled. Click\n “Save” to continue.\n </div>\n "])),Xo):_e(Ao||(Ao=t(["\n ","\n "])),f&&_e(Po||(Po=t(["\n ","\n "])),"AUTH"===(null==v?void 0:v.type)?_e(Ro||(Ro=t(["\n <div class=",">\n <","\n stepId=","\n apiHandler=","\n showErrors=","\n onAuthSelected=","\n >\n <//>\n </div>\n "])),$o,Ur,f.step.id,this.context.apiHandler,I,(function(e,t){var n;return d.handleAuthSelected(e,Number(null===(n=f)||void 0===n?void 0:n.step.id),t)})):_e(To||(To=t(["\n <","\n step=","\n stepType=","\n showStepValidation=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Vo,null===(c=f)||void 0===c?void 0:c.step,null==v?void 0:v.type,I,this.context.apiHandler,this.context.eventEmitter)))):_e(jo||(jo=t(["This template has no configured steps"]))),v&&_e(Lo||(Lo=t(["\n <div class=",">\n <div class=",">\n ","\n ","\n </div>\n </div>\n "])),Yo,Zo,w&&_e(Eo||(Eo=t(["\n <",'\n label="Back"\n onClick=',"\n type=","\n ><//>\n "])),wn,(function(){return d.props.gotoPreviousStep()}),hn.SECONDARY),b?_e(No||(No=t(["\n ","\n "])),this.state.loading?_e(Fo||(Fo=t(["<"," />"])),qt):_e(zo||(zo=t(["\n <",'\n label="Save"\n disabled=',"\n tooltip=","\n onClick=","\n ><//>\n "])),wn,this.context.isPreviewMode,this.context.isPreviewMode?'Integration setup will have to be\ndone in "Live View"':null,(function(){return d.createIntegration()}))):_e(Uo||(Uo=t(["\n <",'\n label="Next"\n disabled=',"\n onClick=","\n ><//>\n "])),wn,!x,(function(){return x?d.props.gotoNextStep():d.props.showStepValidationState()}))))}}]),r}();ta.contextType=Nt;var na,ra,ia,oa,aa,sa,la,ua=ge.connect(["stepState","genericData","stepMapping","stepDataMapping"],Vt)(ta),ca="styles-module_wrap__2ZgZ0",pa="styles-module_main__11gFF";Jt(".styles-module_wrap__2ZgZ0 {\n position: relative;\n width: 100%;\n max-width: 730px; }\n\n.styles-module_main__11gFF {\n width: 100%;\n line-height: 1; }\n");var da,fa=["steps"],_a=ge.connect([""],Vt)((function(e){var n,r=Ue(Ye(!1),2),i=r[0],o=r[1],a=Ue(Ye(null),2),s=a[0],l=a[1],u=e.templateId,c=e.bundleId,p=e.customWrapper,d=e.templatePreviewData,f=e.previewMetadata,_=Ue(Ye(null),2),h=_[0],m=_[1],v=Ue(function(e){var t=Qe(He++),n=Ye();return t.i=e,Ve.componentDidCatch||(Ve.componentDidCatch=function(e){t.i&&t.i(e),n[1](e)}),[n[0],function(){n[1](void 0)}]}((function(){})),2),y=v[0],g=v[1],b=et(Nt);return Ze((function(){return function(){e.reset()}}),[]),Ze((function(){y&&console.error(y)}),[y]),Ze((function(){if(o(!0),null!=b&&b.isPreviewMode&&f){if(!d)throw new Error("Preview data was not provided");try{St(d,Wt)}catch(e){return console.error(e),o(!1),void m(e)}var t=d.steps,n=ze(d,fa);return l(d),e.setGenericData({templateId:Number(n.id),bundleId:Number(c),isPreviewMode:b.isPreviewMode}),e.setSteps(t.filter(Qt)),e.setStepMapping(t.filter(Qt)),e.setParentChildMapping(t.filter(Qt)),e.gotoStepInPreview(f),b.eventEmitter.emit("did-load-preview",{templateId:Number(n.id),templateTitle:n.name,templateDescription:n.description}),void o(!1)}if(!u)throw new Error("Template ID not found");null==b||b.apiHandler.getTemplate(Number(u)).then((function(t){l(t),t&&Promise.all(t.steps.map((function(e){return b.apiHandler.getTemplateStep(Number(e.id))}))).then((function(n){n&&(o(!1),e.setSteps(n.filter(Qt)),e.setStepMapping(n.filter(Qt)),e.setParentChildMapping(n.filter(Qt)),e.setGenericData({templateId:Number(u),bundleId:Number(c)}),b.eventEmitter.emit("did-load-template",{templateId:Number(u),templateTitle:t.name,templateDescription:t.description}))})).catch((function(e){return console.error(e)}))}))}),[u]),p?_e(na||(na=t(["",""])),p):_e(ra||(ra=t(['\n <div class="'," ",'">\n ',"\n </div>\n "])),ca,"integry-container",y||h?_e(ia||(ia=t(["\n <","\n title=","\n description=","\n errorPayload=","\n onDismiss=","\n />\n "])),Rn,h?"Validation error":"An unexpected error occurred",h?"There was an error validating the preview payload:":"Please review the following stacktrace:",h||y,h?null:g):_e(oa||(oa=t(["\n <div>\n ","\n </div>\n <div class=",">\n ","\n ","\n </div>\n "])),!i&&s&&_e(aa||(aa=t(["\n <","\n steps=","\n ><//>\n "])),Xn,null===(n=s.steps)||void 0===n?void 0:n.map((function(e){return{label:e.title,logoUrl:e.activity.app.icon_url}}))),pa,i&&_e(sa||(sa=t(['<div style="display: flex; justify-content: center;">\n <'," />\n </div>"])),qt),!i&&s&&_e(la||(la=t([" <"," steps=","><//> "])),ua,s.steps)))})),ha=ve((function(e){var t,n;t=he,n=function(){var e="undefined"==typeof window,t=new Map,n=new Map,r=[];r.total=0;var i=[],a=[];function s(){t.clear(),n.clear(),i=[],a=[]}function l(e){for(var t=-9007199254740991,n=e.length-1;n>=0;--n){var r=e[n];if(null!==r){var i=r.score;i>t&&(t=i)}}return-9007199254740991===t?null:t}function u(e,t){var n=e[t];if(void 0!==n)return n;var r=t;Array.isArray(t)||(r=t.split("."));for(var i=r.length,o=-1;e&&++o<i;)e=e[r[o]];return e}function c(e){return"object"===o(e)}var p=function(){var e=[],t=0,n={};function r(){for(var n=0,r=e[n],i=1;i<t;){var o=i+1;n=i,o<t&&e[o].score<e[i].score&&(n=o),e[n-1>>1]=e[n],i=1+(n<<1)}for(var a=n-1>>1;n>0&&r.score<e[a].score;a=(n=a)-1>>1)e[n]=e[a];e[n]=r}return n.add=function(n){var r=t;e[t++]=n;for(var i=r-1>>1;r>0&&n.score<e[i].score;i=(r=i)-1>>1)e[r]=e[i];e[r]=n},n.poll=function(){if(0!==t){var n=e[0];return e[0]=e[--t],r(),n}},n.peek=function(n){if(0!==t)return e[0]},n.replaceTop=function(t){e[0]=t,r()},n},d=p();return function o(f){var _={single:function(e,t,n){return e?(c(e)||(e=_.getPreparedSearch(e)),t?(c(t)||(t=_.getPrepared(t)),((n&&void 0!==n.allowTypo?n.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo)(e,t,e[0])):null):null},go:function(e,t,n){if(!e)return r;var i=(e=_.prepareSearch(e))[0],o=n&&n.threshold||f&&f.threshold||-9007199254740991,a=n&&n.limit||f&&f.limit||9007199254740991,s=(n&&void 0!==n.allowTypo?n.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo,p=0,h=0,m=t.length;if(n&&n.keys)for(var v=n.scoreFn||l,y=n.keys,g=y.length,b=m-1;b>=0;--b){for(var w=t[b],x=new Array(g),I=g-1;I>=0;--I)(C=u(w,S=y[I]))?(c(C)||(C=_.getPrepared(C)),x[I]=s(e,C,i)):x[I]=null;x.obj=w;var k=v(x);null!==k&&(k<o||(x.score=k,p<a?(d.add(x),++p):(++h,k>d.peek().score&&d.replaceTop(x))))}else if(n&&n.key){var S=n.key;for(b=m-1;b>=0;--b)(C=u(w=t[b],S))&&(c(C)||(C=_.getPrepared(C)),null!==(O=s(e,C,i))&&(O.score<o||(O={target:O.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:O.score,indexes:O.indexes,obj:w},p<a?(d.add(O),++p):(++h,O.score>d.peek().score&&d.replaceTop(O)))))}else for(b=m-1;b>=0;--b){var C,O;(C=t[b])&&(c(C)||(C=_.getPrepared(C)),null!==(O=s(e,C,i))&&(O.score<o||(p<a?(d.add(O),++p):(++h,O.score>d.peek().score&&d.replaceTop(O)))))}if(0===p)return r;var M=new Array(p);for(b=p-1;b>=0;--b)M[b]=d.poll();return M.total=p+h,M},goAsync:function(t,n,i){var o=!1,a=new Promise((function(a,s){if(!t)return a(r);var d=(t=_.prepareSearch(t))[0],h=p(),m=n.length-1,v=i&&i.threshold||f&&f.threshold||-9007199254740991,y=i&&i.limit||f&&f.limit||9007199254740991,g=(i&&void 0!==i.allowTypo?i.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo,b=0,w=0;function x(){if(o)return s("canceled");var p=Date.now();if(i&&i.keys)for(var f=i.scoreFn||l,I=i.keys,k=I.length;m>=0;--m){for(var S=n[m],C=new Array(k),O=k-1;O>=0;--O)(A=u(S,D=I[O]))?(c(A)||(A=_.getPrepared(A)),C[O]=g(t,A,d)):C[O]=null;C.obj=S;var M=f(C);if(null!==M&&!(M<v)&&(C.score=M,b<y?(h.add(C),++b):(++w,M>h.peek().score&&h.replaceTop(C)),m%1e3==0&&Date.now()-p>=10))return void(e?setImmediate(x):setTimeout(x))}else if(i&&i.key){for(var D=i.key;m>=0;--m)if((A=u(S=n[m],D))&&(c(A)||(A=_.getPrepared(A)),null!==(P=g(t,A,d))&&!(P.score<v)&&(P={target:P.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:P.score,indexes:P.indexes,obj:S},b<y?(h.add(P),++b):(++w,P.score>h.peek().score&&h.replaceTop(P)),m%1e3==0&&Date.now()-p>=10)))return void(e?setImmediate(x):setTimeout(x))}else for(;m>=0;--m){var A,P;if((A=n[m])&&(c(A)||(A=_.getPrepared(A)),null!==(P=g(t,A,d))&&!(P.score<v)&&(b<y?(h.add(P),++b):(++w,P.score>h.peek().score&&h.replaceTop(P)),m%1e3==0&&Date.now()-p>=10)))return void(e?setImmediate(x):setTimeout(x))}if(0===b)return a(r);for(var R=new Array(b),T=b-1;T>=0;--T)R[T]=h.poll();R.total=b+w,a(R)}e?setImmediate(x):x()}));return a.cancel=function(){o=!0},a},highlight:function(e,t,n){if(null===e)return null;void 0===t&&(t="<b>"),void 0===n&&(n="</b>");for(var r="",i=0,o=!1,a=e.target,s=a.length,l=e.indexes,u=0;u<s;++u){var c=a[u];if(l[i]===u){if(o||(o=!0,r+=t),++i===l.length){r+=c+n+a.substr(u+1);break}}else o&&(o=!1,r+=n);r+=c}return r},prepare:function(e){if(e)return{target:e,_targetLowerCodes:_.prepareLowerCodes(e),_nextBeginningIndexes:null,score:null,indexes:null,obj:null}},prepareSlow:function(e){if(e)return{target:e,_targetLowerCodes:_.prepareLowerCodes(e),_nextBeginningIndexes:_.prepareNextBeginningIndexes(e),score:null,indexes:null,obj:null}},prepareSearch:function(e){if(e)return _.prepareLowerCodes(e)},getPrepared:function(e){if(e.length>999)return _.prepare(e);var n=t.get(e);return void 0!==n||(n=_.prepare(e),t.set(e,n)),n},getPreparedSearch:function(e){if(e.length>999)return _.prepareSearch(e);var t=n.get(e);return void 0!==t||(t=_.prepareSearch(e),n.set(e,t)),t},algorithm:function(e,t,n){for(var r=t._targetLowerCodes,o=e.length,s=r.length,l=0,u=0,c=0,p=0;;){if(n===r[u]){if(i[p++]=u,++l===o)break;n=e[0===c?l:c===l?l+1:c===l-1?l-1:l]}if(++u>=s)for(;;){if(l<=1)return null;if(0===c){if(n===e[--l])continue;c=l}else{if(1===c)return null;if((n=e[1+(l=--c)])===e[l])continue}u=i[(p=l)-1]+1;break}}l=0;var d=0,f=!1,h=0,m=t._nextBeginningIndexes;null===m&&(m=t._nextBeginningIndexes=_.prepareNextBeginningIndexes(t.target));var v=u=0===i[0]?0:m[i[0]-1];if(u!==s)for(;;)if(u>=s){if(l<=0){if(++d>o-2)break;if(e[d]===e[d+1])continue;u=v;continue}--l,u=m[a[--h]]}else if(e[0===d?l:d===l?l+1:d===l-1?l-1:l]===r[u]){if(a[h++]=u,++l===o){f=!0;break}++u}else u=m[u];if(f)var y=a,g=h;else y=i,g=p;for(var b=0,w=-1,x=0;x<o;++x)w!==(u=y[x])-1&&(b-=u),w=u;for(f?0!==d&&(b+=-20):(b*=1e3,0!==c&&(b+=-20)),b-=s-o,t.score=b,t.indexes=new Array(g),x=g-1;x>=0;--x)t.indexes[x]=y[x];return t},algorithmNoTypo:function(e,t,n){for(var r=t._targetLowerCodes,o=e.length,s=r.length,l=0,u=0,c=0;;){if(n===r[u]){if(i[c++]=u,++l===o)break;n=e[l]}if(++u>=s)return null}l=0;var p=!1,d=0,f=t._nextBeginningIndexes;if(null===f&&(f=t._nextBeginningIndexes=_.prepareNextBeginningIndexes(t.target)),(u=0===i[0]?0:f[i[0]-1])!==s)for(;;)if(u>=s){if(l<=0)break;--l,u=f[a[--d]]}else if(e[l]===r[u]){if(a[d++]=u,++l===o){p=!0;break}++u}else u=f[u];if(p)var h=a,m=d;else h=i,m=c;for(var v=0,y=-1,g=0;g<o;++g)y!==(u=h[g])-1&&(v-=u),y=u;for(p||(v*=1e3),v-=s-o,t.score=v,t.indexes=new Array(m),g=m-1;g>=0;--g)t.indexes[g]=h[g];return t},prepareLowerCodes:function(e){for(var t=e.length,n=[],r=e.toLowerCase(),i=0;i<t;++i)n[i]=r.charCodeAt(i);return n},prepareBeginningIndexes:function(e){for(var t=e.length,n=[],r=0,i=!1,o=!1,a=0;a<t;++a){var s=e.charCodeAt(a),l=s>=65&&s<=90,u=l||s>=97&&s<=122||s>=48&&s<=57,c=l&&!i||!o||!u;i=l,o=u,c&&(n[r++]=a)}return n},prepareNextBeginningIndexes:function(e){for(var t=e.length,n=_.prepareBeginningIndexes(e),r=[],i=n[0],o=0,a=0;a<t;++a)i>a?r[a]=i:(i=n[++o],r[a]=void 0===i?t:i);return r},cleanup:s,new:o};return _}()},e.exports?e.exports=n():t.fuzzysort=n()})),ma="styles-module_search__2j0G1",va="styles-module_resultCount__12RMZ";function ya(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_search__2j0G1 {\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n display: flex;\n width: 100%;\n flex: 1 1 0%;\n overflow: hidden;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity)); }\n .styles-module_search__2j0G1 input {\n margin: 0.25rem;\n height: 100%;\n width: 100%;\n flex: 1 1 0%;\n border-style: none;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.styles-module_resultCount__12RMZ {\n display: flex;\n align-items: center;\n justify-content: center;\n border-left-width: 1px;\n border-top-width: 0px;\n border-right-width: 0px;\n border-bottom-width: 0px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 700;\n --tw-text-opacity: 1;\n color: rgba(156, 163, 175, var(--tw-text-opacity)); }\n");var ga,ba=function(e){xe(r,K);var n=ya(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).onInput=function(e){if(e.target instanceof HTMLInputElement){var n=e.target.value;t.setState({value:n}),t.props.onChange(n)}},t.state={value:t.props.initialValue||""},t}return st(r,[{key:"render",value:function(){return _e(da||(da=t(["\n <div class="," ",">\n <input\n placeholder=","\n value=","\n oninput=","\n />\n <div class=",">"," results</div>\n </div>\n "])),ma,"integry-search",this.props.placeholder||"Search...",this.state.value,this.onInput,va,this.props.resultCount)}}]),r}(),wa="styles-module_nav__bKw4L",xa="styles-module_tab__3xQCg",Ia="styles-module_tabactive__2JeoG";Jt(".styles-module_nav__bKw4L {\n margin-bottom: 0px;\n margin-top: 0px;\n padding: 0px;\n border-top-width: 0px;\n border-right-width: 0px;\n border-left-width: 0px;\n border-bottom-width: 1px;\n border-style: solid;\n border-color: rgba(107, 114, 128, 0.25); }\n\n.styles-module_tab__3xQCg {\n display: inline-block;\n cursor: pointer;\n list-style-type: none;\n border-bottom-width: 2px;\n border-color: transparent;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-bottom: 0.25rem;\n line-height: 2rem;\n color: #9ca3af;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n margin-bottom: -1px; }\n .styles-module_tab__3xQCg:hover {\n border-width: 0px;\n border-bottom-width: 2px;\n border-style: solid;\n border-color: #509cf6; }\n\n.styles-module_tabactive__2JeoG {\n border-width: 0px;\n border-bottom-width: 2px;\n border-style: solid;\n border-color: #509cf6;\n color: #374151; }\n");var ka,Sa,Ca,Oa=function(e){var n=e.label,r=e.activeTab,i=e.onClick;return _e(ga||(ga=t(["\n <li\n class=","\n onclick=","\n >\n ","\n </li>\n "])),"".concat(xa," ").concat(r===n?Ia:""),(function(){i(n)}),n)},Ma=function(e){var n=e.preSelectedTab,r=e.children;if(!Array.isArray(r)||r.length<2)throw new Error("Tab Bar must have at least two children");var i=Ue(Ye(n||r[0].props.label),2),o=i[0],a=i[1],s=function(e){a(e)};return _e(ka||(ka=t(["\n <div>\n <ol class=",">\n ",'\n </ol>\n <div className="tab-content">\n ',"\n </div>\n </div>\n "])),wa,r.map((function(e){var n=e.props.label;return _e(Sa||(Sa=t(["\n <","\n activeTab=","\n key=","\n label=","\n onClick=","\n >\n <//>\n "])),Oa,o,n,n,s)})),r.map((function(e){if(e.props.label===o)return e.props.children})))},Da="styles-module_toggle__2c6vj",Aa="styles-module_inner__2w3FN",Pa="styles-module_toggled__3gmsw";Jt(".styles-module_toggle__2c6vj {\n position: relative; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN {\n position: relative;\n border-radius: 9999px;\n background-color: #9ca3af;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: linear;\n position: relative;\n height: 20px;\n width: 40px; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN.styles-module_toggled__3gmsw {\n background: #39d239; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN label {\n position: absolute;\n left: 0px;\n margin-bottom: 0.5rem;\n transform: translateX(0px);\n cursor: pointer;\n border-radius: 9999px;\n border-width: 2px;\n border-style: solid;\n border-color: #9ca3af;\n background-color: white;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n height: 16px;\n width: 16px; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN label.styles-module_toggled__3gmsw {\n border-color: #39d239;\n transform: translateX(100%); }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input {\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input:active {\n outline: none; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input:focus {\n outline: none; }\n");var Ra,Ta,ja,La,Ea,Na=function(e){var n=e.id,r=e.value,i=e.onChange;return _e(Ca||(Ca=t(["\n <div class=",">\n <div class=",">\n <label for="," class=",'></label>\n <input type="checkbox" id='," onclick="," />\n </div>\n </div>\n "])),Da,"".concat(Aa," ").concat(r?Pa:""," "),n,"".concat(r?Pa:""," "),n,(function(){i(!r)}))},Fa="styles-module_integrations__2vJT8",za="styles-module_integration__MtN8C",Ua="styles-module_header__1d_zB",Ha="styles-module_row__1UAlk",Va="styles-module_topbar__3TTLr";function Ba(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_integrations__2vJT8 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n display: flex;\n flex-direction: column; }\n .styles-module_integrations__2vJT8 .styles-module_integration__MtN8C {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem; }\n .styles-module_integrations__2vJT8 .styles-module_integration__MtN8C img {\n height: 3rem;\n width: 3rem; }\n\n.styles-module_header__1d_zB {\n margin-bottom: 0.75rem;\n margin-top: 1.5rem;\n letter-spacing: 0.025em;\n --tw-text-opacity: 1;\n color: rgba(80, 156, 246, var(--tw-text-opacity)); }\n\n.styles-module_row__1UAlk {\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-radius: 0.25rem;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n padding-top: 1rem;\n padding-bottom: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgba(55, 65, 81, var(--tw-text-opacity));\n transition: border-color 0.2s; }\n .styles-module_row__1UAlk:hover {\n border-color: #a8a8a8; }\n\n.styles-module_topbar__3TTLr {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 1rem; }\n");var Wa,Ja,Ga=function(e){xe(r,K);var n=Ba(r);function r(){var e;return i(this,r),(e=n.apply(this,arguments)).toggleIntegration=function(t,n){e.props.apiHandler.toggleIntegration(t,n).then((function(e){console.info(e)})).catch((function(e){return console.error(e)}))},e.onIntegrationDelete=function(t){e.props.apiHandler.deleteIntegration(t).then((function(e){console.info(e)})).catch((function(e){return console.error(e)}))},e}return st(r,[{key:"render",value:function(){var e=this;return _e(Ra||(Ra=t(["\n <div>\n <div class=",">\n \x3c!-- <h2 class=",">My Flows</h2> --\x3e\n \x3c!-- <"," items=",' value="sort" //> --\x3e\n </div>\n <div class=','>\n <div class="flex w-12">Status</div>\n <div class="flex w-12"></div>\n <div class="flex-1 pl-4">Integration Name</div>\n <div class="w-24">Runs</div>\n <div class="w-40">Last Activity</div>\n <div class="w-16"></div>\n <div class="flex w-6"></div>\n </div>\n <div class=',">\n ","\n ","\n </div>\n </div>\n "])),Va,Ua,yi,[{id:"sort",value:"Sort"}],Ha,Fa,this.props.integrations.length<1&&_e(Ta||(Ta=t(["No integrations"]))),this.props.integrations.map((function(n){return _e(ja||(ja=t(['\n <div\n class="'," ",'"\n >\n <div class=','>\n <div class="flex w-12">\n ','\n </div>\n <div class="flex w-12">\n <img src=',' />\n </div>\n <div class="flex-1 pl-4">','</div>\n <div class="w-24">','</div>\n <div class="w-40">\n ','\n </div>\n <div class="w-16">\n <',"\n id=","\n value=","\n onChange=",'\n >\n <//>\n </div>\n <div\n class="flex w-6 cursor-pointer"\n onclick=','\n >\n <svg\n width="12"\n height="15"\n viewBox="0 0 12 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0 4.16667H12"\n stroke="#F05C42"\n stroke-width="1.2"\n />\n <path\n d="M10 5.5V6.16667L9.33333 13.5H2.66667L2 6.16667V5.5"\n stroke="#F05C42"\n stroke-width="1.2"\n stroke-linejoin="round"\n />\n <path\n d="M4 3.5V2.16667C4 1.79848 4.29848 1.5 4.66667 1.5H7.33333C7.70152 1.5 8 1.79848 8 2.16667V3.5"\n stroke="#F05C42"\n stroke-width="1.2"\n />\n </svg>\n </div>\n </div>\n </div>\n '])),za,"integry_container_Integration",Ha,"fail"!==n.task_execution.status?_e(La||(La=t(['\n <svg\n width="22"\n height="22"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="12.5"\n fill="#2ECC71"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n </svg>\n ']))):_e(Ea||(Ea=t(['<svg\n width="22"\n height="25"\n viewBox="0 0 25 27"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle cx="12.5" cy="12.5" r="12.5" fill="#E26154" />\n <g filter="url(#filter0_d)">\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M11.1886 8.05792C11.1209 7.32574 11.7556 6.61621 12.4701 6.61621C13.2413 6.61621 13.8535 7.32568 13.7963 8.05792L13.3542 13.5234C13.3206 14.0117 12.8896 14.3955 12.4019 14.3605C11.9713 14.3255 11.6422 13.9535 11.6196 13.5234L11.1886 8.05792ZM11.1836 16.9743C11.1836 16.3124 11.7654 15.7737 12.4835 15.7737C13.2189 15.7737 13.8007 16.3124 13.8 16.9743V17.2052C13.8 17.8671 13.2015 18.3902 12.4835 18.3902C11.7647 18.3902 11.1836 17.8671 11.1836 17.2052V16.9743Z"\n fill="white"\n />\n </g>\n <defs>\n <filter\n id="filter0_d"\n x="7.18359"\n y="6.61621"\n width="10.6164"\n height="19.7739"\n filterUnits="userSpaceOnUse"\n color-interpolation-filters="sRGB"\n >\n <feFlood\n flood-opacity="0"\n result="BackgroundImageFix"\n />\n <feColorMatrix\n in="SourceAlpha"\n type="matrix"\n values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"\n result="hardAlpha"\n />\n <feOffset dy="4" />\n <feGaussianBlur stdDeviation="2" />\n <feColorMatrix\n type="matrix"\n values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"\n />\n <feBlend\n mode="normal"\n in2="BackgroundImageFix"\n result="effect1_dropShadow"\n />\n <feBlend\n mode="normal"\n in="SourceGraphic"\n in2="effect1_dropShadow"\n result="shape"\n />\n </filter>\n </defs>\n </svg> ']))),n.icon_url,n.name,n.runs_count,n.task_execution.last_execution_at?function(e){var t=Math.floor((Date.now()-e.getTime())/1e3),n=[{label:"year",seconds:31536e3},{label:"month",seconds:2592e3},{label:"day",seconds:86400},{label:"hour",seconds:3600},{label:"minute",seconds:60},{label:"A few second",seconds:0}].find((function(e){return e.seconds<t}));if(n){var r=Math.floor(t/n.seconds);return Number.isInteger(r)||(r=0),"".concat(r>0?r:""," ").concat(n.label).concat(1!==r?"s":""," ago")}return"Cannot be formatted with interval ".concat(n)}(new Date("".concat(n.task_execution.last_execution_at.date," ").concat(n.task_execution.last_execution_at.timezone))):"Never run",Na,n.id,"ACTIVE"===n.status,(function(t){return e.toggleIntegration(n.id,t)}),(function(){return e.onIntegrationDelete(n.id)}))})))}}]),r}();!function(e){e.MODAL="MODAL",e.INLINE="INLINE",e.DETACHED="DETACHED",e.CUSTOM="CUSTOM"}(Wa||(Wa={})),function(e){e.GRID="GRID",e.LIST="LIST"}(Ja||(Ja={}));var Ka,qa,Qa,Ya,Za="styles-module_template_list__3HABS",Xa="styles-module_template_grid__mH7-0",$a="styles-module_header__cdTrS";function es(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_template_list__3HABS {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.styles-module_template_grid__mH7-0 {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n @media (min-width: 768px) {\n .styles-module_template_grid__mH7-0 {\n grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n @media (min-width: 1280px) {\n .styles-module_template_grid__mH7-0 {\n grid-template-columns: repeat(5, minmax(0, 1fr)); } }\n\n.styles-module_header__cdTrS {\n margin-bottom: 0.75rem;\n margin-top: 1.5rem;\n letter-spacing: 0.025em;\n --tw-text-opacity: 1;\n color: rgba(80, 156, 246, var(--tw-text-opacity)); }\n");var ts,ns,rs,is,os,as=function(e){xe(r,K);var n=es(r);function r(){var e;return i(this,r),(e=n.call(this)).filterTemplates=function(t){t?e.setState({filteredTemplates:ha.go(t,e.state.templates,{keys:["name","branding_app.tags"],scoreFn:function(e){var t=e[0],n=e[1];return Math.max(t?t.score+100:-1/0,n?n.score:-1/0)}}).map((function(e){return e.obj}))}):e.setState({filteredTemplates:e.state.templates})},e.onTemplateClick=function(t){e.props.setGenericData({templateId:t}),e.props.onTemplateClick&&e.props.onTemplateClick(t)},e.state={loading:!1,integrations:[],templates:[],filteredTemplates:[]},e}return st(r,[{key:"componentDidMount",value:function(){var e=this;this.setState({loading:!0}),this.props.setGenericData({bundleId:Number(this.props.bundleId)}),this.props.apiHandler.getTemplateListing(this.props.bundleId).then((function(t){t&&e.setState({integrations:t.integrations,templates:t.templates,filteredTemplates:t.templates,loading:!1})}))}},{key:"render",value:function(){var e=this;return _e(Ka||(Ka=t(["\n <div>\n ","\n </div>\n "])),this.state.loading?_e(qa||(qa=t([" <"," //> "])),qt):_e(Qa||(Qa=t(["\n <",'>\n <div label="Guided Flows">\n \x3c!-- <h2 class=',">Available Flows</h2> --\x3e\n <div>\n <","\n resultCount=","\n onChange=",'\n >\n <//>\n </div>\n <div\n class="'," ",'"\n >\n ','\n </div>\n </div>\n <div label="My Flows">\n <'," apiHandler=","\n integrations="," //>\n </div>\n <//>\n "])),Ma,$a,ba,this.state.filteredTemplates.length,(function(t){return e.filterTemplates(t)}),this.props.layout===Ja.LIST?Za:Xa,"integry-container_TemplatesView",this.state.filteredTemplates.map((function(n){return _e(Ya||(Ya=t(["\n <","\n name=","\n description=","\n layout=","\n tags=","\n imgUrl=","\n onClick=","\n >\n <//>\n "])),e.props.templateContainerTemplate,n.name,n.description,e.props.layout,n.branding_app.tags,n.branding_app.icon_url,(function(){return e.onTemplateClick(n.id)}))})),Ga,this.props.apiHandler,this.state.integrations))}}],[{key:"handleClick",value:function(e){e.preventDefault(),e.target instanceof HTMLElement&&console.info(e.target.localName)}}]),r}(),ss=ge.connect("",Vt)(as),ls="styles-module_navigation__2nFX8",us="styles-module_navItem__ozaSU",cs="styles-module_navItemContent__3UHl8",ps="styles-module_imgContainer__c7lfR",ds="styles-module_active__1nm22",fs="styles-module_disabled__1JpJ1";function _s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_navigation__2nFX8 {\n width: 12rem; }\n\n.styles-module_navItem__ozaSU {\n margin-bottom: 0.5rem;\n cursor: pointer;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 {\n display: flex;\n height: 2.5rem;\n align-items: center;\n font-size: 0.875rem;\n line-height: 1.25rem; }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR {\n margin-right: 0.75rem;\n height: 1.5rem;\n width: 1.5rem;\n overflow: hidden;\n border-radius: 9999px; }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR img,\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR svg {\n height: 100%;\n width: 100%;\n object-fit: contain; }\n .styles-module_navItem__ozaSU.styles-module_active__1nm22 {\n opacity: 1; }\n .styles-module_navItem__ozaSU.styles-module_disabled__1JpJ1 {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n opacity: 0.5; }\n");var hs,ms,vs,ys=_e(ts||(ts=t([' <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n>\n <rect opacity="0.7" width="15" height="15" rx="7.5" fill="#2ECC71" />\n <path\n d="M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n</svg>']))),gs=_e(ns||(ns=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="7.5"\n cy="7.5"\n r="6.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M10.3333 5.5L6.83522 9.5L5 7.40148"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n']))),bs=function(e){xe(r,K);var n=_s(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props,n=e.logoUrl,r=e.isActive,i=void 0!==r&&r,o=e.isCompleted,a=void 0!==o&&o,s=e.isDisabled,l=void 0!==s&&s,u=e.isLastStep,c=void 0!==u&&u,p=e.onClick,d=void 0===p?function(){return null}:p;return _e(rs||(rs=t(["\n <div\n class=","\n onclick=",'\n tabindex="-1"\n role="button"\n >\n <div class=',">\n <div class=",">\n ","\n </div>\n <div>","</div>\n </div>\n </div>\n "])),"".concat(us," ").concat(l?fs:""," ").concat(i?ds:""),d,cs,ps,c?gs:_e(is||(is=t(["\n ","\n "])),!a||i?_e(os||(os=t(["<img src="," />"])),n):ys),this.props.label)}}]),r}();function ws(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var xs=function(e){xe(r,K);var n=ws(r);function r(){var e;return i(this,r),(e=n.apply(this,arguments)).changeStep=function(t){e.props.gotoStep(t)},e}return st(r,[{key:"render",value:function(){var e,n=this,r=this.props.stepState,i=null==r?void 0:r.currentStep;return _e(hs||(hs=t(["\n <div class=",">\n <div>\n ","\n <",'\n label="Confirmation"\n isCompleted=',"\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />\n </div>\n </div>\n "])),ls,this.props.stepState&&_e(ms||(ms=t(["\n ","\n "])),null===(e=this.props.stepState)||void 0===e?void 0:e.steps.map((function(e,o){return _e(vs||(vs=t([" <","\n label=","\n logoUrl=","\n isCompleted=","\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />"])),bs,"CONFIRMATION"!==e.type?e.title:"Confirmation","CONFIRMATION"!==e.type&&e.iconUrl,e.isCompleted,"CONFIRMATION"!==(null==i?void 0:i.type)&&"CONFIRMATION"!==e.type&&r.stepIndex===o,Number(null==r?void 0:r.stepIndex)<o,!1,(function(){return n.changeStep(o)}))}))),bs,!0,void 0!==i&&(null==r?void 0:r.stepIndex)===(null==r?void 0:r.steps.length),void 0!==i&&(null==r?void 0:r.stepIndex)!==(null==r?void 0:r.steps.length),!0,(function(){var e;return n.changeStep(null!==(e=null==r?void 0:r.steps.length)&&void 0!==e?e:0)}))}}]),r}();xs.defaultProps={currentStepIndex:-1,completedTillIndex:-1};var Is,ks,Ss,Cs,Os,Ms,Ds,As,Ps,Rs,Ts,js,Ls,Es=ge.connect("stepState",Vt)(xs),Ns={stepsWrap:"styles-module_stepsWrap__axf95",stepsContainer:"styles-module_stepsContainer__1vEyC",stepContainer:"styles-module_stepContainer__1u05c",top:"styles-module_top__1EhEd",bottom:"styles-module_bottom__3dACP",buttons:"styles-module_buttons__LDv9h"};function Fs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__axf95 {\n min-height: 400px;\n margin-top: 1rem;\n display: flex;\n min-height: 400px; }\n .styles-module_stepsWrap__axf95 .styles-module_stepsContainer__1vEyC {\n border-width: 0px;\n border-right-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(209, 213, 219, var(--tw-border-opacity));\n padding-right: 1rem; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding-left: 1rem; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_top__1EhEd {\n display: flex;\n width: 100%;\n flex: 1 1 0%; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP {\n display: flex;\n justify-content: flex-end; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP .styles-module_buttons__LDv9h {\n display: flex; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP .styles-module_buttons__LDv9h button:not(:last-child) {\n margin-right: 14px; }\n");var zs=function(e){xe(r,K);var n=Fs(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).createIntegration=function(){var e=t.props,n=e.stepMapping,r=e.stepDataMapping;console.info(n),t.setState({loading:!0});var i={name:"My new integration",notification_email:"",template:Number(t.props.genericData.templateId),bundle_id:Number(t.props.genericData.bundleId),steps:Object.keys(n).map((function(e){return{id:n[e].step.id,authorization:Number(n[e].selectedAuthId),template_step:n[e].step.id,app_user_data:n[e].step.template_fields.map((function(t){return{id:t.id,value:!r[n[e].step.id][t.id].value&&""!==r[n[e].step.id][t.id].value||r[n[e].step.id][t.id].objectValue?JSON.stringify(r[n[e].step.id][t.id].objectValue):"".concat(r[n[e].step.id][t.id].value),template_field:t.id}}))}}))};console.info(i),t.context.apiHandler.saveIntegration(i).then((function(e){console.info(e),t.setState({loading:!1})})).catch((function(e){return console.error(e)}))},t.handleAuthSelected=function(e,n,r){var i=t.props.stepMapping[n].step.template_fields.filter((function(e){return e.activity_field.is_dynamic})).map((function(e){return e.id}));t.props.setStepAuthorization(n,e,r,i)},t.state={loading:!1,selectedAuthStep:null},t}return st(r,[{key:"render",value:function(){var e,n,r,i,o,a=this,s=null,l=this.props.stepState,u=l.currentStep,c=l.stepIndex,p=l.steps,d=!1,f=!1,_=!1,h=!1;c>-1&&"CONFIRMATION"!==(null==u?void 0:u.type)?(s=this.props.stepMapping[Number(null==u?void 0:u.stepId)],d=!1,f=this.props.stepState.stepIndex>0,_=null!==(o=null==u?void 0:u.isValid)&&void 0!==o&&o,h=l.showValidation):"CONFIRMATION"===(null==u?void 0:u.type)&&c===p.length&&(d=!0);return _e(Is||(Is=t(["\n <div class=",">\n <div class=",">\n <","\n steps=","\n currentStepIndex=","\n completedTillIndex=","\n ><//>\n </div>\n <div class=",">\n <div class=",">\n ","\n </div>\n\n <div class=",">\n ","\n </div>\n <div class=",">\n <div class=",">\n ","\n ","\n </div>\n </div>\n </div>\n </div>\n "])),Ns.stepsWrap,Ns.stepsContainer,Es,null===(e=this.props.steps)||void 0===e?void 0:e.map((function(e){return{label:e.title,logoUrl:e.activity.app.icon_url}})),-1,-1,Ns.stepContainer,Ns.stepInfo,d?_e(ks||(ks=t(['\n <svg\n width="25"\n height="25"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="11.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n <div>Confirmation</div>\n ']))):_e(Ss||(Ss=t(["\n \x3c!-- <img src="," />\n <div>","</div> --\x3e\n "])),null===(n=s)||void 0===n?void 0:n.step.activity.app.icon_url,null===(r=s)||void 0===r?void 0:r.step.title),Ns.top,d?_e(Cs||(Cs=t(["\n <div class=",">\n Your integration is ready to be enabled. Click “Save” to\n continue.\n </div>\n "])),Ns.save):_e(Os||(Os=t(["\n ","\n "])),s&&_e(Ms||(Ms=t(["\n ","\n "])),"AUTH"===(null==u?void 0:u.type)?_e(Ds||(Ds=t(["\n <div class=",">\n <","\n stepId=","\n apiHandler=","\n showErrors=","\n onAuthSelected=","\n >\n <//>\n </div>\n "])),Ns.stepWrap,Ur,s.step.id,this.context.apiHandler,h,(function(e,t){var n;return a.handleAuthSelected(e,Number(null===(n=s)||void 0===n?void 0:n.step.id),t)})):_e(As||(As=t(["\n <","\n step=","\n stepType=","\n showStepValidation=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Vo,null===(i=s)||void 0===i?void 0:i.step,null==u?void 0:u.type,h,this.context.apiHandler,this.context.eventEmitter))),Ns.bottom,Ns.buttons,f&&_e(Ps||(Ps=t(["\n <",'\n label="Back"\n onClick=',"\n type=","\n ><//>\n "])),wn,(function(){return a.props.gotoPreviousStep()}),hn.SECONDARY),d?_e(Rs||(Rs=t(["\n ","\n "])),this.state.loading?_e(Ts||(Ts=t(["<"," />"])),qt):_e(js||(js=t(["\n <",'\n label="Save"\n onClick=',"\n ><//>\n "])),wn,(function(){return a.createIntegration()}))):_e(Ls||(Ls=t(["\n <",'\n label="Next"\n disabled=',"\n onClick=","\n ><//>\n "])),wn,!_,(function(){return _?a.props.gotoNextStep():a.props.showStepValidationState()})))}}]),r}();zs.contextType=Nt;var Us,Hs,Vs,Bs=ge.connect(["stepState","genericData","stepMapping","stepDataMapping"],Vt)(zs),Ws="styles-module_header__3p3k1",Js="styles-module_name__2PDqJ",Gs="styles-module_description__39K41";function Ks(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_header__3p3k1 {\n width: 100%;\n align-items: center;\n display: flex;\n height: 100%;\n margin-bottom: 1rem; }\n .styles-module_header__3p3k1 img {\n border-radius: 9999px;\n margin-right: 0.5rem; }\n .styles-module_header__3p3k1 .styles-module_name__2PDqJ {\n font-weight: 700;\n line-height: 1.625; }\n .styles-module_header__3p3k1 .styles-module_description__39K41 {\n font-weight: 300;\n font-size: 0.875rem;\n line-height: 1.25rem; }\n");var qs,Qs,Ys,Zs=function(e){xe(r,K);var n=Ks(r);function r(){var e;return i(this,r),(e=n.call(this)).state={loading:!0,template:null},e}return st(r,[{key:"componentDidMount",value:function(){var e=this;this.props.apiHandler.getTemplate(this.props.templateId).then((function(t){t&&Promise.all(t.steps.map((function(t){return e.props.apiHandler.getTemplateStep(Number(t.id))}))).then((function(n){e.setState({template:t,loading:!1}),e.props.setSteps(n.filter(Qt)),e.props.setStepMapping(n.filter(Qt)),e.props.setParentChildMapping(n.filter(Qt)),e.props.setGenericData({templateId:Number(e.props.templateId)})})).catch((function(e){return console.error(e)}))})).catch((function(e){throw new Error(e)}))}},{key:"render",value:function(){var e=this.state.template;return _e(Us||(Us=t(["\n <div>\n ","\n </div>\n "])),this.state.loading?_e(Hs||(Hs=t(["<"," //>"])),qt):_e(Vs||(Vs=t(["\n <div class=",">\n <img src=",' width="40" />\n <div>\n <div class=',">","</div>\n <div class=",">\n ","\n </div>\n </div>\n </div>\n\n <","\n steps=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Ws,null==e?void 0:e.branding_app.icon_url,Js,null==e?void 0:e.name,Gs,null==e?void 0:e.description,Bs,null==e?void 0:e.steps,this.props.apiHandler,this.props.eventEmitter))}}]),r}(),Xs=ge.connect("",Vt)(Zs),$s="styles-module_name__3qMVY",el="styles-module_description__2S97K",tl="styles-module_tags__2fhyE",nl="styles-module_tag__26APx",rl="styles-module_template_list_view__jxmde",il="styles-module_template_grid_view__WmHjg";function ol(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_name__3qMVY {\n margin-bottom: 0.5rem;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n\n.styles-module_description__2S97K {\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgba(107, 114, 128, var(--tw-text-opacity)); }\n\n.styles-module_tags__2fhyE {\n margin-top: 0.5rem;\n margin-bottom: -0.5rem;\n display: flex;\n flex-wrap: wrap; }\n .styles-module_tags__2fhyE .styles-module_tag__26APx {\n margin-right: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: 0.75rem;\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n padding: 0.25rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.75rem;\n line-height: 1rem;\n --tw-text-opacity: 1;\n color: rgba(107, 114, 128, var(--tw-text-opacity)); }\n\n.styles-module_template_list_view__jxmde {\n display: flex;\n cursor: pointer;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n transition: border-color 0.2s; }\n .styles-module_template_list_view__jxmde img {\n margin-bottom: 0.75rem;\n height: 2.5rem;\n width: 2.5rem; }\n .styles-module_template_list_view__jxmde:hover {\n border-color: #a8a8a8; }\n\n.styles-module_template_grid_view__WmHjg {\n display: flex;\n cursor: pointer;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n transition: border-color 0.2s; }\n .styles-module_template_grid_view__WmHjg img {\n margin-bottom: 0.75rem;\n height: 2.5rem;\n width: 2.5rem; }\n .styles-module_template_grid_view__WmHjg:hover {\n border-color: #a8a8a8; }\n");var al,sl,ll=function(e){xe(r,K);var n=ol(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).handleClick=function(){console.info(t.props.name)},t.state={templateName:t.props.name},t}return st(r,[{key:"render",value:function(){return _e(qs||(qs=t(["\n <div\n onclick=",'\n class="'," ",'"\n >\n <div>\n <img src='," />\n <p class=",">","</p>\n <p class=",">","</p>\n </div>\n ","\n </div>\n "])),this.props.onClick,this.props.layout===Ja.LIST?rl:il,"integry-container_Template",this.props.imgUrl,$s,this.state.templateName,el,this.props.description,this.props.tags.length>0&&_e(Qs||(Qs=t(["\n <div class=",">\n ","\n </div>\n "])),tl,this.props.tags.split(",").map((function(e){return _e(Ys||(Ys=t([" <div class=",">","</div> "])),nl,e)}))))}}],[{key:"handleClick",value:function(e){e.preventDefault(),e.target instanceof HTMLElement&&console.info(e.target.localName)}}]),r}(),ul="styles-module_modal__3ImBF",cl="styles-module_open__AAUJ5",pl="styles-module_modalContainer__o6TKt",dl="styles-module_inset__-NimT",fl="styles-module_span__3nIVQ",_l="styles-module_contentWrap__2QGtd",hl="styles-module_content__3wdFn",ml="styles-module_close__2IqHP";function vl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_modal__3ImBF {\n display: none;\n z-index: 99;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow-y: auto; }\n .styles-module_modal__3ImBF.styles-module_open__AAUJ5 {\n position: fixed;\n display: block; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt {\n display: flex;\n min-height: 100vh;\n align-items: flex-end;\n justify-content: center;\n text-align: center; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt {\n display: block;\n padding: 0; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_inset__-NimT {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n opacity: 0.75;\n background-color: #111827; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_span__3nIVQ {\n display: none; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_span__3nIVQ {\n display: inline-block;\n height: 100vh;\n vertical-align: middle; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd {\n display: none;\n position: relative;\n vertical-align: bottom;\n background: white;\n border-radius: 4px;\n text-align: left;\n overflow: hidden;\n box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd.styles-module_open__AAUJ5 {\n display: inline-block; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd {\n width: 100%;\n max-width: 48rem;\n margin-top: 2rem;\n margin-bottom: 2rem;\n vertical-align: middle; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd .styles-module_content__3wdFn {\n position: relative;\n background: white;\n padding: 30px; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd .styles-module_close__2IqHP {\n position: absolute;\n cursor: pointer;\n top: 10px;\n right: 10px; }\n");var yl,gl=function(e){xe(r,K);var n=vl(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props.isOpen;return _e(al||(al=t(["\n <div\n class=",'\n aria-labelledby="modal-title"\n role="dialog"\n aria-modal="true"\n >\n <div class=',">\n <div class=",' aria-hidden="true"></div>\n\n <span class=',' aria-hidden="true"></span>\n\n <div\n class=',"\n >\n <div class=",">\n <div\n onclick=","\n class=",'\n >\n <svg\n width="20"\n height="22"\n viewBox="0 0 20 22"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14.2426 16.1822L5.75732 6.86328"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n <path\n d="M14.2426 6.86328L5.75732 16.1822"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n ',"\n </div>\n </div>\n </div>\n </div>\n "])),"".concat(ul," ").concat(e?"".concat(cl):""),pl,dl,fl,"".concat(_l," ").concat(e?"".concat(cl):""),hl,this.props.onClose,ml,this.props.isOpen&&_e(sl||(sl=t([" "," "])),this.props.children))}}]),r}(),bl="styles-module_integry-container__3nnxM";function wl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_integry-container__3nnxM {\n margin-bottom: 0.5rem; }\n\n.styles-module_modal__3R9nC {\n position: fixed;\n z-index: 10;\n overflow-y: auto;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px; }\n");var xl=function(e){xe(r,K);var n=wl(r);function r(){var e;return i(this,r),(e=n.call(this)).onTemplateClick=function(t){e.setState({isModalOpen:!0,templateId:t})},e.state={isModalOpen:!1,templateId:null},e.store=Bt(),e}return st(r,[{key:"componentWillMount",value:function(){this.templateComponent=ll,this.templateListComponent=ss}},{key:"render",value:function(){var e=this;return _e(yl||(yl=t(["\n <>\n <"," store=",'>\n <div class="'," ",'">\n <',"\n layout=","\n bundleId=","\n templateContainerTemplate=","\n apiHandler=","\n eventEmitter=","\n onTemplateClick=","\n >\n </div>\n <"," \n isOpen="," \n onClose=","\n > \n <"," \n apiHandler=","\n templateId="," \n />\n <//>\n <//>\n </>\n "])),ge.Provider,this.store,bl,"integry-container",this.templateListComponent,this.props.layout,this.props.bundleId,this.templateComponent,this.context.apiHandler,this.context.eventEmitter,this.onTemplateClick,gl,this.state.isModalOpen,(function(){return e.setState({isModalOpen:!1,templateId:null})}),Xs,this.context.apiHandler,this.state.templateId)}}]),r}();xl.contextType=Nt;var Il=function(){function e(t,n){i(this,e),this.emitter=t,this.handler=n}return st(e,[{key:"getHandler",value:function(){return this.handler}}]),e}();function kl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Sl=function(e){xe(n,Il);var t=kl(n);function n(){return i(this,n),t.apply(this,arguments)}return st(n,[{key:"run",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.handler.apply(null,n)}}]),n}();function Cl(e,t,n){return(Cl="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Se(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function Ol(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Ml,Dl,Al,Pl=function(e){xe(n,Sl);var t=Ol(n);function n(e,r){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(i(this,n),(o=t.call(this,e,r)).total=a,o.i=0,o.total<1)throw new Error("{total} can not be less than 1");return o}return st(n,[{key:"run",value:function(e){for(var t,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];(t=Cl(Se(n.prototype),"run",this)).call.apply(t,[this,e].concat(i)),++this.i>=this.total&&this.emitter.off(e,this.handler)}}]),n}(),Rl=function(){function e(){i(this,e),this.events=Object.create(null)}return st(e,[{key:"on",value:function(e,t){this.addEventListener(e,new Sl(this,t))}},{key:"once",value:function(e,t){this.addEventListener(e,new Pl(this,t,1))}},{key:"off",value:function(e,t){var n=this.events[e];null!=n&&n.length&&(this.events[e]=n.filter((function(e){return e.getHandler()!==t})))}},{key:"offAll",value:function(){var e=this;Object.keys(this.events).forEach((function(t){var n=e.events[t];n&&(n.length=0)})),this.events=Object.create(null)}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=this.events[e];i&&i.forEach((function(t){return t.run.apply(t,[e].concat(n))}))}},{key:"addEventListener",value:function(e,t){var n=this.events[e];Array.isArray(n)?n.push(t):this.events[e]=[t]}}]),e}();function Tl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jl(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Tl(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Tl(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Ll={getAuthHash:function(e,t){return Fe.apply(this,arguments)}},El=function e(n){var o,a,s,l,u=this;(i(this,e),this.eventEmitter=new Rl,this.getRandomTemplateId=function(e){for(var t=[],n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",r=n.length,i=0;i<e;i+=1)t.push(n.charAt(Math.floor(Math.random()*r)));return"x-integry-modal-".concat(t.join(""))},this.getAuthParamsFromUrl=function(){var e=fr()&&new URLSearchParams(window.location.search);if(e){var t=e.get("user_id"),n=e.get("app_key"),r=e.get("hash"),i=e.get("bundle_id");if(!(t&&n&&r&&i))throw new Error("The following auth variables are undefined: ".concat(t?"":"userId"," ").concat(n?"":"appKey"," ").concat(r?"":"hash"," ").concat(i?"":"bundleId"));return{userId:t,appKey:n,hash:r,bundleId:i}}return{userId:"",appKey:"",hash:"",bundleId:""}},this.printVersion=function(){console.info("@integry/sdk@".concat(e.SDK_VERSION))},this.getTemplatesList=r(F.mark((function e(){return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.apiHandler.getTemplateListing(u.config.bundleId));case 1:case"end":return e.stop()}}),e)}))),this.setupTemplateFormDestination=function(e,t){var n=null;if(t){if(e===Wa.MODAL||e===Wa.INLINE)throw new Error('The `templateContainerId` property is unsupported when render mode is set to "MODAL" or "INLINE"');(n=document.getElementById(t))||console.warn("The template form render target with id ".concat(t," was not found"))}switch(e){case Wa.MODAL:return(n=document.createElement("div")).id=u.getRandomTemplateId(8),document.body.appendChild(n),n;case Wa.INLINE:return null;case Wa.DETACHED:case Wa.CUSTOM:return n;default:throw new Error("Unsupported renderMode ".concat(e," configuration, please provide one of ").concat(JSON.stringify(Object.keys(Wa))))}},this.renderTemplateForm=function(e,n){var r=document.getElementById(n);if(r){var i=Bt();ue(_e(Ml||(Ml=t(["\n <","\n value=","\n >\n <"," store=",">\n <","\n bundleId=","\n templateId=","\n >\n <//>\n <//>\n <//>\n "])),Nt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!1},ge.Provider,i,_a,u.config.bundleId,e),r)}else console.warn("Integry template form render target with id ".concat(n," was not found"))},this.renderPreview=function(e){var n=e.templateData,r=e.metadata,i=e.previewContainerId,o=document.getElementById(i);if(o){var a=Bt();ue(_e(Dl||(Dl=t(["\n <","\n value=","\n >\n <"," store=",">\n <","\n bundleId=","\n isPreviewMode=","\n templatePreviewData=","\n previewMetadata=","\n >\n <//>\n <//>\n <//>\n "])),Nt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!0},ge.Provider,a,_a,u.config.bundleId,!0,n,r),o)}else console.warn("Integry template form render target with id ".concat(i," was not found"))},this.init=function(e){var n=e.containerId,r=e.templateContainerId,i=e.renderMode,o=document.getElementById(n);if(!i)throw new Error("Template form render mode needs to be defined");if(u.setupTemplateFormDestination(i,r),o){var a=o.getAttribute("x-integry-layout")||Ja.LIST,s=Bt();ue(_e(Al||(Al=t(["\n <","\n value=","\n >\n <"," store=",">\n <"," bundleId="," layout=",">\n <//>\n <//>\n <//>\n "])),Nt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!1},ge.Provider,s,xl,u.config.bundleId,a),o)}else console.warn("Integry SDK render target with id ".concat(n," was not found"))},this.destroy=function(){try{u.eventEmitter.offAll()}catch(e){console.error("There was an error unsubscribing from all events")}},"staging"===n.env)?a={oauthVerifyPath:"auth/verify",endpointsUrl:"https://integry-app.appspot.com",baseUrl:"https://beta.integry.io",baseUrlv2:"https://beta.integry.io/v2",apiKey:null===(s=n.xIntegryConfig)||void 0===s?void 0:s.appAuth.apiKey}:a={oauthVerifyPath:"auth/verify",endpointsUrl:"https://integry-app.appspot.com",baseUrl:"https://app.integry.io",baseUrlv2:"https://app.integry.io/v2",apiKey:null===(l=n.xIntegryConfig)||void 0===l?void 0:l.appAuth.apiKey};if("appKey"in n)o=jl(jl({},a),{},{appKey:n.appKey,hash:n.hash,userId:n.userId}),this.config=jl(jl({},a),{},{appKey:n.appKey,hash:n.hash,userId:n.userId,bundleId:n.bundleId});else{var c=this.getAuthParamsFromUrl()||{};o=jl(jl({},a),c),this.config=jl(jl({},a),c)}this.apiHandler=new je(o)};El.SDK_VERSION="0.0.50",El.RenderModes=Wa;export{Ll as Helpers,El as IntegryJS};
|
|
17
|
+
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function n(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var a=e.apply(t,r);function s(e){n(a,i,o,s,l,"next",e)}function l(e){n(a,i,o,s,l,"throw",e)}s(void 0)}))}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=Object.prototype,s=a.hasOwnProperty,l="function"==typeof Symbol?Symbol:{},u=l.iterator||"@@iterator",c=l.asyncIterator||"@@asyncIterator",p=l.toStringTag||"@@toStringTag";function d(e,t,n,r){var i=t&&t.prototype instanceof m?t:m,o=Object.create(i.prototype),a=new M(r||[]);return o._invoke=function(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return A()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===_)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=f(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===_)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}(e,n,a),o}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}var _={};function m(){}function h(){}function v(){}var y={};y[u]=function(){return this};var g=Object.getPrototypeOf,b=g&&g(g(T([])));b&&b!==a&&s.call(b,u)&&(y=b);var w=v.prototype=m.prototype=Object.create(y);function x(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function I(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))}function k(e,t){function n(r,i,a,l){var u=f(e[r],e,i);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"===o(p)&&s.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(p).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,l)}))}l(u.arg)}var r;this._invoke=function(e,i){function o(){return new t((function(t,r){n(e,i,t,r)}))}return r=r?r.then(o,o):o()}}function S(e,t){var n=e.iterator[t.method];if(undefined===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=undefined,S(e,t),"throw"===t.method))return _;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return _}var r=f(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,_;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=undefined),t.delegate=null,_):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,_)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(e){if(e){var t=e[u];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(s.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=undefined,t.done=!0,t};return r.next=r}}return{next:A}}function A(){return{value:undefined,done:!0}}h.prototype=w.constructor=v,v.constructor=h,v[p]=h.displayName="GeneratorFunction",x(k.prototype),k.prototype[c]=function(){return this},x(w),w[p]="Generator",w[u]=function(){return this},w.toString=function(){return"[object Generator]"},M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&s.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=undefined)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=undefined),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var a=s.call(i,"catchLoc"),l=s.call(i,"finallyLoc");if(a&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),_},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),_}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:T(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=undefined),_}};var D,R,E,N,L,P,j,F={wrap:d,isGeneratorFunction:I,AsyncIterator:k,mark:function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,p in e||(e[p]="GeneratorFunction")),e.prototype=Object.create(w),e},awrap:function(e){return{__await:e}},async:function(e,t,n,r,i){void 0===i&&(i=Promise);var o=new k(d(e,t,n,r),i);return I(t)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},keys:function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},values:T},z={},U=[],H=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord/i;function B(e,t){for(var n in t)e[n]=t[n];return e}function V(e){var t=e.parentNode;t&&t.removeChild(e)}function W(e,t,n){var r,i=arguments,o={};for(r in t)"key"!==r&&"ref"!==r&&(o[r]=t[r]);if(arguments.length>3)for(n=[n],r=3;r<arguments.length;r++)n.push(i[r]);if(null!=n&&(o.children=n),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===o[r]&&(o[r]=e.defaultProps[r]);return J(e,o,t&&t.key,t&&t.ref)}function J(e,t,n,r){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:null,__c:null,constructor:void 0};return D.vnode&&D.vnode(i),i}function G(e){return e.children}function K(e,t){this.props=e,this.context=t}function q(e,t){if(null==t)return e.__?q(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?q(e):null}function Q(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Q(e)}}function Y(e){(!e.__d&&(e.__d=!0)&&1===E.push(e)||L!==D.debounceRendering)&&((L=D.debounceRendering)||N)(Z)}function Z(){var e,t,n,r,i,o,a;for(E.sort((function(e,t){return t.__v.__b-e.__v.__b}));e=E.pop();)e.__d&&(n=void 0,r=void 0,o=(i=(t=e).__v).__e,(a=t.__P)&&(n=[],r=ie(a,i,B({},i),t.__n,void 0!==a.ownerSVGElement,null,n,null==o?q(i):o),oe(n,i),r!=o&&Q(i)))}function X(e,t,n,r,i,o,a,s,l){var u,c,p,d,f,_,m,h=n&&n.__k||U,v=h.length;if(s==z&&(s=null!=o?o[0]:v?q(n,0):null),u=0,t.__k=$(t.__k,(function(n){if(null!=n){if(n.__=t,n.__b=t.__b+1,null===(p=h[u])||p&&n.key==p.key&&n.type===p.type)h[u]=void 0;else for(c=0;c<v;c++){if((p=h[c])&&n.key==p.key&&n.type===p.type){h[c]=void 0;break}p=null}if(d=ie(e,n,p=p||z,r,i,o,a,s,l),(c=n.ref)&&p.ref!=c&&(m||(m=[]),p.ref&&m.push(p.ref,null,n),m.push(c,n.__c||d,n)),null!=d){if(null==_&&(_=d),null!=n.__d)d=n.__d,n.__d=null;else if(o==p||d!=s||null==d.parentNode){e:if(null==s||s.parentNode!==e)e.appendChild(d);else{for(f=s,c=0;(f=f.nextSibling)&&c<v;c+=2)if(f==d)break e;e.insertBefore(d,s)}"option"==t.type&&(e.value="")}s=d.nextSibling,"function"==typeof t.type&&(t.__d=d)}}return u++,n})),t.__e=_,null!=o&&"function"!=typeof t.type)for(u=o.length;u--;)null!=o[u]&&V(o[u]);for(u=v;u--;)null!=h[u]&&se(h[u],h[u]);if(m)for(u=0;u<m.length;u++)ae(m[u],m[++u],m[++u])}function $(e,t,n){if(null==n&&(n=[]),null==e||"boolean"==typeof e)t&&n.push(t(null));else if(Array.isArray(e))for(var r=0;r<e.length;r++)$(e[r],t,n);else n.push(t?t("string"==typeof e||"number"==typeof e?J(null,e,null,null):null!=e.__e||null!=e.__c?J(e.type,e.props,e.key,null):e):e);return n}function ee(e,t,n,r,i){var o;for(o in n)o in t||ne(e,o,null,n[o],r);for(o in t)i&&"function"!=typeof t[o]||"value"===o||"checked"===o||n[o]===t[o]||ne(e,o,t[o],n[o],r)}function te(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]="number"==typeof n&&!1===H.test(t)?n+"px":null==n?"":n}function ne(e,t,n,r,i){var o,a,s,l,u;if(i?"className"===t&&(t="class"):"class"===t&&(t="className"),"key"===t||"children"===t);else if("style"===t)if(o=e.style,"string"==typeof n)o.cssText=n;else{if("string"==typeof r&&(o.cssText="",r=null),r)for(a in r)n&&a in n||te(o,a,"");if(n)for(s in n)r&&n[s]===r[s]||te(o,s,n[s])}else"o"===t[0]&&"n"===t[1]?(l=t!==(t=t.replace(/Capture$/,"")),u=t.toLowerCase(),t=(u in e?u:t).slice(2),n?(r||e.addEventListener(t,re,l),(e.l||(e.l={}))[t]=n):e.removeEventListener(t,re,l)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&!i&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(t!==(t=t.replace(/^xlink:?/,""))?null==n||!1===n?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):null==n||!1===n?e.removeAttribute(t):e.setAttribute(t,n))}function re(e){this.l[e.type](D.event?D.event(e):e)}function ie(e,t,n,r,i,o,a,s,l){var u,c,p,d,f,_,m,h,v,y,g=t.type;if(void 0!==t.constructor)return null;(u=D.__b)&&u(t);try{e:if("function"==typeof g){if(h=t.props,v=(u=g.contextType)&&r[u.__c],y=u?v?v.props.value:u.__:r,n.__c?m=(c=t.__c=n.__c).__=c.__E:("prototype"in g&&g.prototype.render?t.__c=c=new g(h,y):(t.__c=c=new K(h,y),c.constructor=g,c.render=le),v&&v.sub(c),c.props=h,c.state||(c.state={}),c.context=y,c.__n=r,p=c.__d=!0,c.__h=[]),null==c.__s&&(c.__s=c.state),null!=g.getDerivedStateFromProps&&(c.__s==c.state&&(c.__s=B({},c.__s)),B(c.__s,g.getDerivedStateFromProps(h,c.__s))),d=c.props,f=c.state,p)null==g.getDerivedStateFromProps&&null!=c.componentWillMount&&c.componentWillMount(),null!=c.componentDidMount&&c.__h.push(c.componentDidMount);else{if(null==g.getDerivedStateFromProps&&h!==d&&null!=c.componentWillReceiveProps&&c.componentWillReceiveProps(h,y),!c.__e&&null!=c.shouldComponentUpdate&&!1===c.shouldComponentUpdate(h,c.__s,y)){for(c.props=h,c.state=c.__s,c.__d=!1,c.__v=t,t.__e=n.__e,t.__k=n.__k,c.__h.length&&a.push(c),u=0;u<t.__k.length;u++)t.__k[u]&&(t.__k[u].__=t);break e}null!=c.componentWillUpdate&&c.componentWillUpdate(h,c.__s,y),null!=c.componentDidUpdate&&c.__h.push((function(){c.componentDidUpdate(d,f,_)}))}c.context=y,c.props=h,c.state=c.__s,(u=D.__r)&&u(t),c.__d=!1,c.__v=t,c.__P=e,u=c.render(c.props,c.state,c.context),t.__k=$(null!=u&&u.type==G&&null==u.key?u.props.children:u),null!=c.getChildContext&&(r=B(B({},r),c.getChildContext())),p||null==c.getSnapshotBeforeUpdate||(_=c.getSnapshotBeforeUpdate(d,f)),X(e,t,n,r,i,o,a,s,l),c.base=t.__e,c.__h.length&&a.push(c),m&&(c.__E=c.__=null),c.__e=null}else t.__e=function(e,t,n,r,i,o,a,s){var l,u,c,p,d,f=n.props,_=t.props;if(i="svg"===t.type||i,null==e&&null!=o)for(l=0;l<o.length;l++)if(null!=(u=o[l])&&(null===t.type?3===u.nodeType:u.localName===t.type)){e=u,o[l]=null;break}if(null==e){if(null===t.type)return document.createTextNode(_);e=i?document.createElementNS("http://www.w3.org/2000/svg",t.type):document.createElement(t.type),o=null}if(null===t.type)null!=o&&(o[o.indexOf(e)]=null),f===_||s||e.data==_||(e.data=_);else if(t!==n){if(null!=o&&(o=U.slice.call(e.childNodes)),c=(f=n.props||z).dangerouslySetInnerHTML,p=_.dangerouslySetInnerHTML,!s){if(f===z)for(f={},d=0;d<e.attributes.length;d++)f[e.attributes[d].name]=e.attributes[d].value;(p||c)&&(p&&c&&p.__html==c.__html||(e.innerHTML=p&&p.__html||""))}ee(e,_,f,i,s),t.__k=t.props.children,p||X(e,t,n,r,"foreignObject"!==t.type&&i,o,a,z,s),s||("value"in _&&void 0!==_.value&&_.value!==e.value&&(e.value=null==_.value?"":_.value),"checked"in _&&void 0!==_.checked&&_.checked!==e.checked&&(e.checked=_.checked))}return e}(n.__e,t,n,r,i,o,a,l);(u=D.diffed)&&u(t)}catch(e){D.__e(e,t,n)}return t.__e}function oe(e,t){D.__c&&D.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){D.__e(e,t.__v)}}))}function ae(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){D.__e(e,n)}}function se(e,t,n){var r,i,o;if(D.unmount&&D.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||ae(r,null,t)),n||"function"==typeof e.type||(n=null!=(i=e.__e)),e.__e=e.__d=null,null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){D.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&se(r[o],t,n);null!=i&&V(i)}function le(e,t,n){return this.constructor(e,n)}function ue(e,t,n){var r,i,o;D.__&&D.__(e,t),i=(r=n===P)?null:n&&n.__k||t.__k,e=W(G,null,[e]),o=[],ie(t,(r?t:n||t).__k=e,i||z,z,void 0!==t.ownerSVGElement,n&&!r?[n]:i?null:U.slice.call(t.childNodes),o,n||z,r),oe(o,e)}function ce(e){var t={},n={__c:"__cC"+j++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var r,i=this;return this.getChildContext||(r=[],this.getChildContext=function(){return t[n.__c]=i,t},this.shouldComponentUpdate=function(t){e.value!==t.value&&r.some((function(e){e.context=t.value,Y(e)}))},this.sub=function(e){r.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){r.splice(r.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Consumer.contextType=n,n}D={__e:function(e,t){for(var n,r;t=t.__;)if((n=t.__c)&&!n.__)try{if(n.constructor&&null!=n.constructor.getDerivedStateFromError&&(r=!0,n.setState(n.constructor.getDerivedStateFromError(e))),null!=n.componentDidCatch&&(r=!0,n.componentDidCatch(e)),r)return Y(n.__E=n)}catch(t){e=t}throw e}},R=function(e){return null!=e&&void 0===e.constructor},K.prototype.setState=function(e,t){var n;n=this.__s!==this.state?this.__s:this.__s=B({},this.state),"function"==typeof e&&(e=e(n,this.props)),e&&B(n,e),null!=e&&this.__v&&(this.__e=!1,t&&this.__h.push(t),Y(this))},K.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Y(this))},K.prototype.render=G,E=[],N="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,P=z,j=0;var pe=Object.freeze({__proto__:null,render:ue,hydrate:function(e,t){ue(e,t,P)},createElement:W,h:W,Fragment:G,createRef:function(){return{}},get isValidElement(){return R},Component:K,cloneElement:function(e,t){return t=B(B({},e.props),t),arguments.length>2&&(t.children=U.slice.call(arguments,2)),J(e.type,t,t.key||e.key,t.ref||e.ref)},createContext:ce,toChildArray:$,_unmount:se,get options(){return D}}),de=function e(t,n,r,i){var o;n[0]=0;for(var a=1;a<n.length;a++){var s=n[a++],l=n[a]?(n[0]|=s?1:2,r[n[a++]]):n[++a];3===s?i[0]=l:4===s?i[1]=Object.assign(i[1]||{},l):5===s?(i[1]=i[1]||{})[n[++a]]=l:6===s?i[1][n[++a]]+=l+"":s?(o=t.apply(l,e(t,l,r,["",null])),i.push(o),l[0]?n[0]|=2:(n[a-2]=0,n[a]=o)):i.push(l)}return i},fe=new Map;var _e=function(e){var t=fe.get(this);return t||(t=new Map,fe.set(this,t)),(t=de(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,i="",o="",a=[0],s=function(e){1===r&&(e||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?a.push(0,e,i):3===r&&(e||i)?(a.push(3,e,i),r=2):2===r&&"..."===i&&e?a.push(4,e,0):2===r&&i&&!e?a.push(5,0,!0,i):r>=5&&((i||!e&&5===r)&&(a.push(r,0,i,n),r=6),e&&(a.push(r,e,0,n),r=6)),i=""},l=0;l<e.length;l++){l&&(1===r&&s(),s(l));for(var u=0;u<e[l].length;u++)t=e[l][u],1===r?"<"===t?(s(),a=[a],r=3):i+=t:4===r?"--"===i&&">"===t?(r=1,i=""):i=t+i[0]:o?t===o?o="":i+=t:'"'===t||"'"===t?o=t:">"===t?(s(),r=1):r&&("="===t?(r=5,n=i,i=""):"/"===t&&(r<5||">"===e[l][u+1])?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):i+=t),3===r&&"!--"===i&&(r=4,a=a[0])}return s(),a}(e)),t),arguments,[])).length>1?t:t[0]}.bind(W),me="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function he(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function ve(e){var t={exports:{}};return e(t,t.exports),t.exports}var ye=he(pe),ge=ve((function(e,t){var n=ye;function r(e,t){for(var n in t)e[n]=t[n];return e}function i(e){this.getChildContext=function(){return{store:e.store}}}i.prototype.render=function(e){return e.children&&e.children[0]||e.children},t.connect=function(e,t){var i;return"function"!=typeof e&&("string"==typeof(i=e||{})&&(i=i.split(/\s*,\s*/)),e=function(e){for(var t={},n=0;n<i.length;n++)t[i[n]]=e[i[n]];return t}),function(i){function o(o,a){var s=this,l=a.store,u=e(l?l.getState():{},o),c=t?function(e,t){"function"==typeof e&&(e=e(t));var n={};for(var r in e)n[r]=t.action(e[r]);return n}(t,l):{store:l},p=function(){var t=e(l?l.getState():{},o);for(var n in t)if(t[n]!==u[n])return u=t,s.setState({});for(var r in u)if(!(r in t))return u=t,s.setState({})};this.componentWillReceiveProps=function(e){o=e,p()},this.componentDidMount=function(){l.subscribe(p)},this.componentWillUnmount=function(){l.unsubscribe(p)},this.render=function(e){return n.h(i,r(r(r({},c),e),u))}}return(o.prototype=new n.Component).constructor=o}},t.Provider=i}));function be(e,t){return t=t||{},new Promise((function(n,r){var i=new XMLHttpRequest,o=[],a=[],s={},l=function e(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:e,headers:{keys:function(){return o},entries:function(){return a},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var u in i.open(t.method||"get",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){o.push(t=t.toLowerCase()),a.push([t,n]),s[t]=s[t]?s[t]+","+n:n})),n(l())},i.onerror=r,i.withCredentials="include"==t.credentials,t.headers)i.setRequestHeader(u,t.headers[u]);i.send(t.body||null)}))}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}function Ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ke(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?Ie(e):t}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ce(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function Oe(e,t,n){return(Oe=Ce()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&we(i,n.prototype),i}).apply(null,arguments)}function Me(e){var t="function"==typeof Map?new Map:void 0;return(Me=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Oe(e,arguments,Se(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),we(r,e)})(e)}function Te(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Ae=function(e){xe(n,Me(Error));var t=Te(n);function n(e,r){var o;return i(this,n),(o=t.call(this,e)).name=o.constructor.name,o.statusCode=null==r?void 0:r.status,o.response=r,o}return n}(),De=function(){var e=r(F.mark((function e(t){var n,r,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!1,!t.ok){e.next=16;break}return e.prev=2,e.next=5,t.json();case 5:return r=e.sent,n&&console.log(r),e.abrupt("return",{data:r,status:t.status});case 10:return e.prev=10,e.t0=e.catch(2),n&&console.log("Response is not in json"),e.abrupt("return",{data:null,status:t.status});case 14:e.next=22;break;case 16:if(405!==t.status){e.next=22;break}return e.next=19,t.json();case 19:return e.t1=e.sent,e.t2=t.status,e.abrupt("return",{data:e.t1,status:e.t2});case 22:return n&&console.log("Received a non-2xx status code"),i=new Ae(t.statusText,t),e.abrupt("return",Promise.reject(i));case 25:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}();function Re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ee(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Re(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Re(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Ne=function e(t){var n=this;i(this,e),this.getTemplate=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/template/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,self_api_key:n.config.apiKey||null}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.getAuthUrl=function(t){var r=new URL("".concat(n.config.baseUrl,"/auth/login/").concat(t,"/"));return e.addUrlSearchParams(r,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),r.toString()},this.getTemplateStep=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/template_step/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,self_api_key:n.config.apiKey||null}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.verifyOAuth=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/").concat(n.config.oauthVerifyPath)),e.addUrlSearchParams(i,{authorization_id:"".concat(r),app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"POST"}).then(De);case 5:return o=t.sent,t.abrupt("return",!!o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.deleteAuth=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/connected-accounts/").concat(r)),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"DELETE"}).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",{status:o.status,data:o.data});case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.callDynamicDataEndpoint=function(){var t=r(F.mark((function t(r){var i,o,a=arguments;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=a.length>1&&void 0!==a[1]?a[1]:{},e.addUrlSearchParams(r,Ee({app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId},i)),t.prev=2,t.next=5,be(r.toString()).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.getTemplateListing=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/bundle/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString()).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.saveIntegration=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/integration/")),e.addUrlSearchParams(i,{async:!1,app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,activate:!0}),t.prev=2,t.next=5,be(i.toString(),{method:"POST",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}}).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.updateIntegration=function(){var t=r(F.mark((function t(r,i){var o,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new URL("".concat(n.config.baseUrlv2,"/integration/").concat(r,"/")),e.addUrlSearchParams(o,{async:!1,app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId,activate:!0}),t.prev=2,t.next=5,be(o.toString(),{method:"PUT",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}}).then((function(e){return De(e)}));case 5:return a=t.sent,t.abrupt("return",a.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,n){return t.apply(this,arguments)}}(),this.deleteIntegration=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrl,"/setup/template/").concat(r,"/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"DELETE"}).then((function(e){return De(e)}));case 5:return o=t.sent,t.abrupt("return",o.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.toggleIntegration=function(){var t=r(F.mark((function t(r,i){var o,a;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new URL("".concat(n.config.baseUrlv2,"/integration/").concat(r,"/").concat(i?"enable":"disable","/")),e.addUrlSearchParams(o,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(o.toString(),{method:"PUT"}).then((function(e){return De(e)}));case 5:return a=t.sent,t.abrupt("return",a.data);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,n){return t.apply(this,arguments)}}(),this.getIntegrationStatuses=function(){var t=r(F.mark((function t(r){var i,o;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new URL("".concat(n.config.baseUrlv2,"/integration_status/")),e.addUrlSearchParams(i,{app_key:n.config.appKey,hash:n.config.hash,user_id:n.config.userId}),t.prev=2,t.next=5,be(i.toString(),{method:"PUT",body:JSON.stringify(r),headers:{"Content-Type":"application/json"}}).then(De);case 5:return o=t.sent,t.abrupt("return",o);case 9:return t.prev=9,t.t0=t.catch(2),console.error(t.t0),t.abrupt("return",null);case 13:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e){return t.apply(this,arguments)}}(),this.config=t};function Le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pe(e,t){if(e){if("string"==typeof e)return Le(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Le(e,t):void 0}}function je(e){return function(e){if(Array.isArray(e))return Le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Pe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fe(){return(Fe=r(F.mark((function e(t,n){var r,i,o,a,s;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=(r=function(e){return new Uint8Array(je(unescape(encodeURIComponent(e))).map((function(e){return e.charCodeAt(0)})))})(n),o=r(t),e.next=5,crypto.subtle.importKey("raw",i,{name:"HMAC",hash:"SHA-256"},!0,["sign"]);case 5:return a=e.sent,e.next=8,crypto.subtle.sign("HMAC",a,o);case 8:return s=e.sent,e.abrupt("return",je(new Uint8Array(s)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ze(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}}(e,t)||Pe(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Ne.addUrlSearchParams=function(e,t){return Object.keys(t).map((function(n){return t[n]&&e.searchParams.append(n,"".concat(t[n]))}))};var He,Be,Ve,We=[],Je=D.__r,Ge=D.diffed,Ke=D.__c,qe=D.unmount;function Qe(e){D.__h&&D.__h(Be);var t=Be.__H||(Be.__H={t:[],u:[]});return e>=t.t.length&&t.t.push({}),t.t[e]}function Ye(e){return function(e,t,n){var r=Qe(He++);return r.__c||(r.__c=Be,r.i=[n?n(t):ot(void 0,t),function(t){var n=e(r.i[0],t);r.i[0]!==n&&(r.i[0]=n,r.__c.setState({}))}]),r.i}(ot,e)}function Ze(e,t){var n=Qe(He++);it(n.o,t)&&(n.i=e,n.o=t,Be.__H.u.push(n))}function Xe(e){return $e((function(){return{current:e}}),[])}function $e(e,t){var n=Qe(He++);return it(n.o,t)?(n.o=t,n.v=e,n.i=e()):n.i}function et(e){var t=Be.context[e.__c];if(!t)return e.__;var n=Qe(He++);return null==n.i&&(n.i=!0,t.sub(Be)),t.props.value}function tt(){We.some((function(e){e.__P&&(e.__H.u.forEach(nt),e.__H.u.forEach(rt),e.__H.u=[])})),We=[]}function nt(e){e.m&&e.m()}function rt(e){var t=e.i();"function"==typeof t&&(e.m=t)}function it(e,t){return!e||t.some((function(t,n){return t!==e[n]}))}function ot(e,t){return"function"==typeof t?t(e):t}function at(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function st(e,t,n){return t&&at(e.prototype,t),n&&at(e,n),e}D.__r=function(e){Je&&Je(e),He=0,(Be=e.__c).__H&&(Be.__H.u.forEach(nt),Be.__H.u.forEach(rt),Be.__H.u=[])},D.diffed=function(e){Ge&&Ge(e);var t=e.__c;if(t){var n=t.__H;n&&n.u.length&&(1!==We.push(t)&&Ve===D.requestAnimationFrame||((Ve=D.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);"undefined"!=typeof window&&(t=requestAnimationFrame(n))})(tt))}},D.__c=function(e,t){t.some((function(e){e.__h.forEach(nt),e.__h=e.__h.filter((function(e){return!e.i||rt(e)}))})),Ke&&Ke(e,t)},D.unmount=function(e){qe&&qe(e);var t=e.__c;if(t){var n=t.__H;n&&n.t.forEach((function(e){return e.m&&e.m()}))}};var lt=["message"],ut=F.mark(xt),ct=F.mark(It);function pt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ft(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?ft(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ft(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function mt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var ht=function(e){xe(n,Me(TypeError));var t=mt(n);function n(e,r){var o,a;i(this,n);var s=e.message,l=ze(e,lt),u=e.path,c=0===u.length?s:"At path: "+u.join(".")+" -- "+s;return o=t.call(this,c),Object.assign(Ie(o),l),o.name=o.constructor.name,o.failures=function(){var t;return null!=(t=a)?t:a=[e].concat(je(r()))},o}return n}();function vt(e){return yt(e)&&"function"==typeof e[Symbol.iterator]}function yt(e){return"object"===o(e)&&null!=e}function gt(e){return"string"==typeof e?JSON.stringify(e):""+e}function bt(e){var t=e.next(),n=t.done,r=t.value;return n?void 0:r}function wt(e,t,n,r){if(!0!==e){!1===e?e={}:"string"==typeof e&&(e={message:e});var i=t.path,o=t.branch,a=n.type,s=e,l=s.refinement,u=s.message,c=void 0===u?"Expected a value of type `"+a+"`"+(l?" with refinement `"+l+"`":"")+", but received: `"+gt(r)+"`":u;return _t(_t({value:r,type:a,refinement:l,key:i[i.length-1],path:i,branch:o},e),{},{message:c})}}function xt(e,t,n,r){var i,o,a,s;return F.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:vt(e)||(e=[e]),i=pt(e),l.prev=2,i.s();case 4:if((o=i.n()).done){l.next=12;break}if(a=o.value,!(s=wt(a,t,n,r))){l.next=10;break}return l.next=10,s;case 10:l.next=4;break;case 12:l.next=17;break;case 14:l.prev=14,l.t0=l.catch(2),i.e(l.t0);case 17:return l.prev=17,i.f(),l.finish(17);case 20:case"end":return l.stop()}}),ut,null,[[2,14,17,20]])}function It(e,t){var n,r,i,o,a,s,l,u,c,p,d,f,_,m,h,v,y,g,b,w,x,I,k,S,C,O,M,T,A=arguments;return F.wrap((function(D){for(;;)switch(D.prev=D.next){case 0:if(n=A.length>2&&void 0!==A[2]?A[2]:{},r=n.path,i=void 0===r?[]:r,o=n.branch,a=void 0===o?[e]:o,s=n.coerce,l=void 0!==s&&s,u=n.mask,c=void 0!==u&&u,p={path:i,branch:a},l&&(e=t.coercer(e,p),c&&"type"!==t.type&&yt(t.schema)&&yt(e)&&!Array.isArray(e)))for(d in e)void 0===t.schema[d]&&delete e[d];f=!0,_=pt(t.validator(e,p)),D.prev=6,_.s();case 8:if((m=_.n()).done){D.next=15;break}return h=m.value,f=!1,D.next=13,[h,void 0];case 13:D.next=8;break;case 15:D.next=20;break;case 17:D.prev=17,D.t0=D.catch(6),_.e(D.t0);case 20:return D.prev=20,_.f(),D.finish(20);case 23:v=pt(t.entries(e,p)),D.prev=24,v.s();case 26:if((y=v.n()).done){D.next=53;break}g=Ue(y.value,3),b=g[0],w=g[1],x=g[2],I=It(w,x,{path:void 0===b?i:[].concat(je(i),[b]),branch:void 0===b?a:[].concat(je(a),[w]),coerce:l,mask:c}),k=pt(I),D.prev=30,k.s();case 32:if((S=k.n()).done){D.next=43;break}if(!(C=S.value)[0]){D.next=40;break}return f=!1,D.next=38,[C[0],void 0];case 38:D.next=41;break;case 40:l&&(w=C[1],void 0===b?e=w:e instanceof Map?e.set(b,w):e instanceof Set?e.add(w):yt(e)&&(e[b]=w));case 41:D.next=32;break;case 43:D.next=48;break;case 45:D.prev=45,D.t1=D.catch(30),k.e(D.t1);case 48:return D.prev=48,k.f(),D.finish(48);case 51:D.next=26;break;case 53:D.next=58;break;case 55:D.prev=55,D.t2=D.catch(24),v.e(D.t2);case 58:return D.prev=58,v.f(),D.finish(58);case 61:if(!f){D.next=80;break}O=pt(t.refiner(e,p)),D.prev=63,O.s();case 65:if((M=O.n()).done){D.next=72;break}return T=M.value,f=!1,D.next=70,[T,void 0];case 70:D.next=65;break;case 72:D.next=77;break;case 74:D.prev=74,D.t3=D.catch(63),O.e(D.t3);case 77:return D.prev=77,O.f(),D.finish(77);case 80:if(!f){D.next=83;break}return D.next=83,[void 0,e];case 83:case"end":return D.stop()}}),ct,null,[[6,17,20,23],[24,55,58,61],[30,45,48,51],[63,74,77,80]])}var kt=function(){function e(t){var n=this;i(this,e);var r=t.type,o=t.schema,a=t.validator,s=t.refiner,l=t.coercer,u=void 0===l?function(e){return e}:l,c=t.entries,p=void 0===c?F.mark((function e(){return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})):c;this.type=r,this.schema=o,this.entries=p,this.coercer=u,this.validator=a?function(e,t){return xt(a(e,t),t,n,e)}:function(){return[]},this.refiner=s?function(e,t){return xt(s(e,t),t,n,e)}:function(){return[]}}return st(e,[{key:"assert",value:function(e){return St(e,this)}},{key:"create",value:function(e){return function(e,t){var n=Ct(e,t,{coerce:!0});if(n[0])throw n[0];return n[1]}(e,this)}},{key:"is",value:function(e){return function(e,t){return!Ct(e,t)[0]}(e,this)}},{key:"mask",value:function(e){return function(e,t){var n=Ct(e,t,{coerce:!0,mask:!0});if(n[0])throw n[0];return n[1]}(e,this)}},{key:"validate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ct(e,this,t)}}]),e}();function St(e,t){var n=Ct(e,t);if(n[0])throw n[0]}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=It(e,t,n),i=bt(r);if(i[0]){var o=new ht(i[0],F.mark((function e(){var t,n,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=pt(r),e.prev=1,t.s();case 3:if((n=t.n()).done){e.next=10;break}if(!(i=n.value)[0]){e.next=8;break}return e.next=8,i[0];case 8:e.next=3;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),t.e(e.t0);case 15:return e.prev=15,t.f(),e.finish(15);case 18:case"end":return e.stop()}}),e,null,[[1,12,15,18]])})));return[o,void 0]}var a=i[1];return[void 0,a]}function Ot(e,t){return new kt({type:e,schema:null,validator:t})}function Mt(e){return new kt({type:"array",schema:e,entries:F.mark((function t(n){var r,i,o,a,s;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e||!Array.isArray(n)){t.next=18;break}r=pt(n.entries()),t.prev=2,r.s();case 4:if((i=r.n()).done){t.next=10;break}return o=Ue(i.value,2),a=o[0],s=o[1],t.next=8,[a,s,e];case 8:t.next=4;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(2),r.e(t.t0);case 15:return t.prev=15,r.f(),t.finish(15);case 18:case"end":return t.stop()}}),t,null,[[2,12,15,18]])})),coercer:function(e){return Array.isArray(e)?e.slice():e},validator:function(e){return Array.isArray(e)||"Expected an array value, but received: "+gt(e)}})}function Tt(){return Ot("boolean",(function(e){return"boolean"==typeof e}))}function At(){return Ot("date",(function(e){return e instanceof Date&&!isNaN(e.getTime())||"Expected a valid `Date` object, but received: "+gt(e)}))}function Dt(e){return new kt(_t(_t({},e),{},{validator:function(t,n){return null===t||e.validator(t,n)},refiner:function(t,n){return null===t||e.refiner(t,n)}}))}function Rt(){return Ot("number",(function(e){return"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+gt(e)}))}function Et(e){var t=e?Object.keys(e):[],n=Ot("never",(function(){return!1}));return new kt({type:"object",schema:e||null,entries:F.mark((function r(i){var o,a,s,l,u,c,p;return F.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||!yt(i)){r.next=37;break}o=new Set(Object.keys(i)),a=pt(t),r.prev=3,a.s();case 5:if((s=a.n()).done){r.next=12;break}return l=s.value,o.delete(l),r.next=10,[l,i[l],e[l]];case 10:r.next=5;break;case 12:r.next=17;break;case 14:r.prev=14,r.t0=r.catch(3),a.e(r.t0);case 17:return r.prev=17,a.f(),r.finish(17);case 20:u=pt(o),r.prev=21,u.s();case 23:if((c=u.n()).done){r.next=29;break}return p=c.value,r.next=27,[p,i[p],n];case 27:r.next=23;break;case 29:r.next=34;break;case 31:r.prev=31,r.t1=r.catch(21),u.e(r.t1);case 34:return r.prev=34,u.f(),r.finish(34);case 37:case"end":return r.stop()}}),r,null,[[3,14,17,20],[21,31,34,37]])})),validator:function(e){return yt(e)||"Expected an object, but received: "+gt(e)},coercer:function(e){return yt(e)?_t({},e):e}})}function Nt(e){return new kt(_t(_t({},e),{},{validator:function(t,n){return void 0===t||e.validator(t,n)},refiner:function(t,n){return void 0===t||e.refiner(t,n)}}))}function Lt(){return Ot("string",(function(e){return"string"==typeof e||"Expected a string, but received: "+gt(e)}))}function Pt(e,t,n){return new kt(_t(_t({},e),{},{refiner:function(e){var t=F.mark(n);function n(n,r){var i=arguments;return F.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(e.apply(this,i),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}}),t,this)}return n.toString=function(){return e.toString()},n}(F.mark((function r(i,o){var a,s,l,u,c;return F.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(e.refiner(i,o),"t0",1);case 1:a=n(i,o),s=xt(a,o,e,i),l=pt(s),r.prev=4,l.s();case 6:if((u=l.n()).done){r.next=12;break}return c=u.value,r.next=10,_t(_t({},c),{},{refinement:t});case 10:r.next=6;break;case 12:r.next=17;break;case 14:r.prev=14,r.t1=r.catch(4),l.e(r.t1);case 17:return r.prev=17,l.f(),r.finish(17);case 20:case"end":return r.stop()}}),r,null,[[4,14,17,20]])})))}))}var jt=ce(null);function Ft(e,t){for(var n in t)e[n]=t[n];return e}var zt={stepState:{steps:[],currentStep:{type:"CONFIRMATION"},stepIndex:0,showValidation:!1,allStepsCompleted:!1},genericData:{bundleId:null,templateId:null,templateApp:null,isPreviewMode:!1},stepMapping:{},stepDataMapping:{},parentChildMapping:{}};function Ut(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ht(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Ut(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Bt=function(t){return{setSteps:function(t,n){var r=[];return n.forEach((function(t){if(t.hide_authorization||r.push({stepId:t.id,title:"Connect ".concat(t.activity.app.name),iconUrl:t.activity.app.icon_url,isCompleted:!1,isCurrentlyOpen:!1,type:"AUTH",requiredFields:[t.id],invalidFields:e({},t.id,""),isValid:!1}),t.is_visible&&t.template_fields.length>0){var n=t.template_fields.filter((function(e){return e.is_visible})).length>0,i=t.template_fields.filter((function(e){return e.is_required&&e.is_visible})).map((function(e){return e.id})),o=t.template_fields.filter((function(e){return e.is_required&&!e.default_value})).reduce((function(t,n){return Ht(Ht({},t),{},e({},n.id,""))}),{});n&&r.push({stepId:t.id,title:t.title,iconUrl:t.activity.app.icon_url,isCompleted:!1,isCurrentlyOpen:!1,type:"CONFIGURATION",requiredFields:i,invalidFields:o,isValid:!(Object.keys(o).length>0)})}})),Ht(Ht({},t),{},{stepState:{steps:r,currentStep:r[0],stepIndex:0,showValidation:!1,allStepsCompleted:!1}})},showStepValidationState:function(e){return{stepState:Ht(Ht({},e.stepState),{},{showValidation:!0})}},hideStepValidationState:function(e){return{stepState:Ht(Ht({},e.stepState),{},{showValidation:!1})}},gotoNextStep:function(e){var t=e.stepState;if(t){var n=Number(t.stepIndex)+1,r=t.steps[Number(t.stepIndex)+1],i=Ht(Ht({},t.steps[e.stepState.stepIndex]),{},{isCompleted:!0});return r?{stepState:Ht(Ht({},t),{},{steps:[].concat(je(t.steps.slice(0,t.stepIndex)),[i],je(t.steps.slice(t.stepIndex+1))),currentStep:Ht({},r),stepIndex:n,showValidation:!1})}:{stepState:Ht(Ht({},t),{},{steps:[].concat(je(t.steps.slice(0,t.stepIndex)),[i],je(t.steps.slice(t.stepIndex+1))),currentStep:{type:"CONFIRMATION"},stepIndex:n,allStepsCompleted:!0,showValidation:!1})}}return e},gotoPreviousStep:function(e){if(e.stepState){var t=Number(e.stepState.stepIndex)-1,n=e.stepState.steps[Number(e.stepState.stepIndex)-1];return{stepState:Ht(Ht({},e.stepState),{},{currentStep:n,stepIndex:t})}}return e},gotoStepInPreview:function(e,t){var n=e.stepState,r=t.stepId,i=t.type;if(r&&"CONFIRMATION"!==i){var o=n.steps.findIndex((function(e){return e.stepId===r&&e.type===i}));if(o>-1)return{stepState:Ht(Ht({},e.stepState),{},{currentStep:n.steps[o],stepIndex:o,allStepsCompleted:!1})}}return r||"CONFIRMATION"!==i?e:{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})}},gotoStep:function(e,t){var n=e.stepState,r=n.stepIndex;if(n){var i=n.steps[r],o=n.steps[t];if(e.genericData.isPreviewMode)return t===n.steps.length?{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})}:{stepState:Ht(Ht({},e.stepState),{},{currentStep:Ht({},o),stepIndex:t,allStepsCompleted:!1})};if(n.allStepsCompleted&&t===n.steps.length)return{stepState:Ht(Ht({},n),{},{currentStep:{type:"CONFIRMATION"},stepIndex:n.steps.length,allStepsCompleted:!0})};if(i&&i.isValid&&r===n.steps.length-1&&t===n.steps.length){var a=Ht(Ht({},n.steps[r]),{},{isCompleted:!0});return{stepState:Ht(Ht({},n),{},{steps:[].concat(je(n.steps.slice(0,r)),[a],je(n.steps.slice(r+1))),currentStep:{type:"CONFIRMATION"},stepIndex:t,allStepsCompleted:!0})}}if(o&&o.isCompleted)return{stepState:Ht(Ht({},e.stepState),{},{currentStep:Ht({},o),stepIndex:t})};if(i&&i.isValid&&t===r+1){var s=Ht(Ht({},n.steps[r]),{},{isCompleted:!0});return{stepState:Ht(Ht({},e.stepState),{},{steps:[].concat(je(n.steps.slice(0,r)),[s],je(n.steps.slice(r+1))),currentStep:Ht({},o),stepIndex:t})}}}return e},getStepState:function(){return t.getState().stepState},setGenericData:function(e,t){return{genericData:Ht(Ht({},e.genericData),t)}},setTemplateApp:function(e,t){return{genericData:Ht(Ht({},e.genericData),{},{templateApp:{name:t.name,iconUrl:t.iconUrl}})}},setStepMapping:function(t,n){var r=n.reduce((function(n,r){var i,o,a,s;return Ht(Ht({},n),{},e({},r.id,{step:r,authorizations:null!==(i=null===(o=r.authorization_type.authorizations)||void 0===o?void 0:o.map((function(e){return{authorizationId:e.id,userIdentity:e.user_identity,authType:e.authorization_type,disableLink:e.disable_link,isErrored:!1,isVerified:!1}})))&&void 0!==i?i:[],isAuthVerified:!1,selectedAuthId:r.hide_authorization||t.genericData.isPreviewMode?null!==(a=null===(s=r.authorization_type.authorizations[0])||void 0===s?void 0:s.id)&&void 0!==a?a:"":r.step_authorization||t.stepMapping[r.id]?t.stepMapping[r.id].selectedAuthId:""}))}),{}),i=n.reduce((function(n,r){return Ht(Ht({},n),{},e({},r.id,Ht(Ht({},t.stepDataMapping[r.id]),r.template_fields.reduce((function(n,i){var o;return Ht(Ht({},n),{},e({},i.id,{fieldId:i.id,value:!i.is_visible||i.default_value?i.default_value:t.stepDataMapping[r.id]&&t.stepDataMapping[r.id][i.id]&&t.stepDataMapping[r.id][i.id].value||"",machineName:null===(o=i.activity_field)||void 0===o?void 0:o.machine_name,isRequired:i.is_required,isVisible:i.is_visible}))}),{}))))}),{});return{stepMapping:Ht(Ht({},t.stepMapping),r),stepDataMapping:Ht(Ht({},t.stepDataMapping),i),genericData:Ht(Ht({},t.genericData),{},{templateApp:{name:n.length>0?n[0].activity.app.name:"",iconUrl:n.length>0?n[0].activity.app.icon_url:""}})}},setActivityOutputData:function(e,t){return Ht(Ht({},e),{},{activityOutputData:t.activityOutputData})},setDynamicFieldData:function(t,n){return Ht(Ht({},t),{},{dynamicFieldData:Object.keys(n.dynamicFieldData).reduce((function(t,r){return Ht(Ht({},t),{},e({},"{".concat(r,"}"),n.dynamicFieldData[r]))}),{})})},setParentChildMapping:function(t,n){var r=n.reduce((function(n,r){return Ht(Ht({},n),{},e({},r.id,Ht(Ht({},t.parentChildMapping[r.id]),r.template_fields.reduce((function(t,n){var r,i,o,a,s;return n.activity_field?Ht(Ht({},t),{},e({},null===(r=n.activity_field)||void 0===r?void 0:r.machine_name,{fieldId:n.id,childFields:null!==(i=n.activity_field)&&void 0!==i&&i.child_fields?JSON.parse(null===(o=n.activity_field)||void 0===o?void 0:o.child_fields):null,parentFields:null!==(a=n.activity_field)&&void 0!==a&&a.parent_fields?JSON.parse(null===(s=n.activity_field)||void 0===s?void 0:s.parent_fields):null})):t}),{}))))}),{});return{parentChildMapping:Ht(Ht({},t.parentChildMapping),r)}},addAuthorization:function(t,n){var r=n.stepId,i=n.authData;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(je(t.stepMapping[r].authorizations),[i])})))}},removeAuthorization:function(t,n){var r=n.stepId,i=n.authId;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:t.stepMapping[r].authorizations.filter((function(e){return e.authorizationId!==i}))})))}},toggleVerifyAuthorizationFlag:function(t,n){var r=n.stepId,i=n.authId,o=n.isVerifying,a=t.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(je(t.stepMapping[r].authorizations.slice(0,a)),[Ht(Ht({},t.stepMapping[r].authorizations[a]),{},{isVerifying:o})],je(t.stepMapping[r].authorizations.slice(a+1)))})))}},toggleDeleteAuthorizationFlag:function(t,n){var r=n.stepId,i=n.authId,o=n.isDeleting,a=n.error,s=t.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{authorizations:[].concat(je(t.stepMapping[r].authorizations.slice(0,s)),[Ht(Ht({},t.stepMapping[r].authorizations[s]),{},{isDeleting:o,error:a})],je(t.stepMapping[r].authorizations.slice(s+1)))})))}},setStepAuthId:function(t,n){var r=n.stepId,i=n.authId;return{stepMapping:Ht(Ht({},t.stepMapping),{},e({},r,Ht(Ht({},t.stepMapping[r]),{},{selectedAuthId:i})))}},setStepAuthorization:function(n,r,i,o,a){var s,l,u=n.stepState.steps[n.stepState.stepIndex],c=n.stepMapping[r],p=t.getState().stepState;if("CONFIRMATION"!==u.type&&"CONFIRMATION"!==(null===(s=p.currentStep)||void 0===s?void 0:s.type)&&(null===(l=p.currentStep)||void 0===l?void 0:l.stepId)===r){var d=u.invalidFields;o&&delete d[r];var f=Ht(Ht({},n.stepState.steps[n.stepState.stepIndex]),{},{invalidFields:d,isValid:Object.keys(d).length<1,isCompleted:null!==c.selectedAuthId||o}),_=n.stepMapping[r].authorizations.findIndex((function(e){return e.authorizationId===i}));return{stepState:Ht(Ht({},n.stepState),{},{steps:[].concat(je(n.stepState.steps.slice(0,n.stepState.stepIndex)),[f],je(n.stepState.steps.slice(n.stepState.stepIndex+1))),currentStep:f,showValidation:!o&&!c.selectedAuthId}),stepMapping:Ht(Ht({},n.stepMapping),{},e({},r,Ht(Ht({},n.stepMapping[r]),{},{selectedAuthId:o?i:n.stepMapping[r].selectedAuthId,authorizations:[].concat(je(n.stepMapping[r].authorizations.slice(0,_)),[Ht(Ht({},n.stepMapping[r].authorizations[_]),{},{isVerified:o,isVerifying:!1,didFetchStatus:!0,error:""})],je(n.stepMapping[r].authorizations.slice(_+1)))}))),stepDataMapping:Ht(Ht({},n.stepDataMapping),{},e({},r,Ht(Ht({},n.stepDataMapping[r]),a?a.reduce((function(t,i){return Ht(Ht({},t),{},e({},i,Ht(Ht({},n.stepDataMapping[r][i]),{},{value:""})))}),{}):{})))}}return n},setStepFieldData:function(t,n){var r=n.stepId,i=n.fieldId,o=n.value,a=t.stepState.steps[t.stepState.stepIndex];if("CONFIRMATION"!==a.type){var s=a.invalidFields;delete s[i];var l=Ht(Ht({},t.stepState.steps[t.stepState.stepIndex]),{},{invalidFields:s,isValid:Object.keys(s).length<1});return{stepState:Ht(Ht({},t.stepState),{},{steps:[].concat(je(t.stepState.steps.slice(0,t.stepState.stepIndex)),[l],je(t.stepState.steps.slice(t.stepState.stepIndex+1))),currentStep:l}),stepDataMapping:Ht(Ht({},t.stepDataMapping),{},e({},r,Ht(Ht({},t.stepDataMapping[r]),{},e({},i,Ht(Ht({},t.stepDataMapping[r][i]),{},{value:o})))))}}return t},setStepMappingData:function(t,n){var r,i;return{stepDataMapping:Ht(Ht({},t.stepDataMapping),{},e({},n.stepId,Ht(Ht({},t.stepDataMapping[n.stepId]),{},e({},n.fieldId,Ht(Ht({},t.stepDataMapping[n.stepId][n.fieldId]),{},{objectValue:Ht(Ht({},null!==(r=null===(i=t.stepDataMapping[n.stepId][n.fieldId])||void 0===i?void 0:i.objectValue)&&void 0!==r?r:{}),e({},n.id,n.value))})))))}},reset:function(){return zt}}},Vt=function(){return function(e){var t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__,n=!1;return t?(e.devtools||(e.devtools=t.connect(),e.devtools.subscribe((function(t){"DISPATCH"===t.type&&t.state&&(n="JUMP_TO_ACTION"===t.payload.type||"JUMP_TO_STATE"===t.payload.type,e.setState(JSON.parse(t.state),!0))})),e.devtools.init(e.getState()),e.subscribe((function(t,r){var i=r&&r.name||"setState";n?n=!1:e.devtools.send(i,t)}))),e):(console.warn("Please install/enable Redux devtools extension"),e.devtools=null,e)}(function(e){var t=[];function n(e){for(var n=[],r=0;r<t.length;r++)t[r]===e?e=null:n.push(t[r]);t=n}function r(n,r,i){e=r?n:Ft(Ft({},e),n);for(var o=t,a=0;a<o.length;a++)o[a](e,i)}return e=e||{},{action:function(t){function n(e){r(e,!1,t)}return function(){for(var r=arguments,i=[e],o=0;o<arguments.length;o++)i.push(r[o]);var a=t.apply(this,i);if(null!=a)return a.then?a.then(n):n(a)}},setState:r,subscribe:function(e){return t.push(e),function(){n(e)}},unsubscribe:n,getState:function(){return e}}}(zt))},Wt=Et({id:Rt(),name:Lt(),description:Lt(),app:Et({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:Nt(Lt()),action_url:Dt(Nt(Lt())),created_at:Nt(At()),tags:Lt()}),branding_app:Et({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:Nt(Lt()),action_url:Dt(Nt(Lt())),created_at:Nt(At()),tags:Lt()}),button_text:Dt(Lt()),is_wizard:Tt(),publishing_status:Lt(),steps:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r="Expected a "+e.type,i=t===n?"of `"+t+"`":"between `"+t+"` and `"+n+"`";return Pt(e,"size",(function(e){if("number"==typeof e||e instanceof Date)return t<=e&&e<=n||r+" "+i+" but received `"+e+"`";if(e instanceof Map||e instanceof Set){var o=e.size;return t<=o&&o<=n||r+" with a size "+i+" but received one with a size of `"+o+"`"}var a=e.length;return t<=a&&a<=n||r+" with a length "+i+" but received one with a length of `"+a+"`"}))}(Mt(Et({id:Rt(),weight:Rt(),title:Lt(),is_visible:Tt(),activity:Et({id:Rt(),name:Lt(),type:Lt(),endpoint:Lt(),auth_required:Tt(),total_fields:Rt(),app:Et({id:Rt(),name:Lt(),description:Lt(),icon_url:Lt(),color:Lt(),publishing_status:Lt(),category:Mt(Lt()),app_type:Nt(Lt()),action_url:Dt(Nt(Lt())),created_at:Nt(At()),tags:Lt()}),activity_output:Dt(Lt()),activity_output_url:Dt(Lt()),dynamic_field_data_endpoint:Dt(Lt())}),authorization_type:Et({id:Rt(),type:Lt(),authorizations:Mt(Et({id:Rt(),authorization_type:Lt(),app_user:Nt(Rt()),app_user_id:Nt(Rt()),disable_link:Nt(Lt()),integration_count:Nt(Rt()),user_identity:Lt()})),provider:Lt(),is_sandbox_enabled:Tt(),authorization_url_sandbox:Lt()}),template_fields:Mt(Et({id:Rt(),is_required:Tt(),is_hidden:Tt(),default_value:Dt(Lt()),weight:Rt(),description:Lt(),summary:Dt(Lt()),placeholder:Dt(Lt()),activity_field:Dt(Et({id:Rt(),machine_name:Lt(),type:Lt(),title:Lt(),description:Lt(),weight:Rt(),is_required:Tt(),child_fields:Dt(Lt()),is_dynamic:Tt(),data_src:Dt(Lt()),data_src_endpoint:Dt(Rt()),parent_fields:Dt(Lt()),dynamic_field_src:Dt(Lt()),default_value:Dt(Lt()),auto_machine_name:Lt(),dynamic_field_src_endpoint:Dt(Rt()),regex:Dt(Lt()),is_searchable:Tt()})),title:Dt(Lt()),type:Lt(),child_field:Dt(Lt()),child_field_value:Dt(Lt()),button_text:Dt(Lt()),icon_url:Dt(Lt()),long_description:Dt(Lt()),regex:Dt(Lt()),regex_msg:Dt(Lt()),is_visible:Tt()})),allow_multiple_authorizations:Tt(),step_authorization:Dt(Rt()),button_text:Dt(Lt()),is_self_step:Tt(),summary:Dt(Lt()),auth_description:Dt(Lt()),hide_authorization:Tt(),machine_name:Dt(Lt()),is_custom_machine_name:Tt()})),0,Number.POSITIVE_INFINITY)});function Jt(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var Gt,Kt="styles-module_loader__2ufbr";Jt(".styles-module_loader__2ufbr {\n animation-name: styles-module_ckw__1aYrI;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n transform-origin: 50% 50%; }\n\n@keyframes styles-module_ckw__1aYrI {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n");var qt=function(){return _e(Gt||(Gt=t(["\n <svg\n class=",'\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9.13037 0.179352C7.57047 -0.168051 5.94039 -0.00810102 4.47777 0.635883C3.01515 1.27987 1.79647 2.37421 0.999409 3.75937C0.202348 5.14453 -0.131421 6.74808 0.0467641 8.33623C0.224949 9.92438 0.90577 11.4141 1.98997 12.5882C3.07417 13.7623 4.50506 14.5593 6.07402 14.8632C7.64298 15.167 9.26799 14.9618 10.7121 14.2773C12.1562 13.5929 13.344 12.4651 14.1022 11.0582C14.8604 9.65144 15.1494 8.03922 14.9271 6.45665L14.1844 6.56098C14.3845 7.9853 14.1243 9.43629 13.442 10.7024C12.7596 11.9685 11.6906 12.9836 10.3909 13.5996C9.09119 14.2156 7.62869 14.4003 6.21662 14.1269C4.80455 13.8534 3.51675 13.136 2.54097 12.0794C1.56519 11.0227 0.952454 9.68194 0.792088 8.2526C0.631721 6.82327 0.932113 5.38008 1.64947 4.13343C2.36682 2.88679 3.46363 1.90188 4.77999 1.32229C6.09635 0.742709 7.56343 0.598754 8.96733 0.911417L9.13037 0.179352Z"\n fill="#E0E0E0"\n />\n <path\n d="M14.93 6.47755C14.7207 4.95709 14.0501 3.53742 13.0085 2.41017C11.9669 1.28292 10.6046 0.50235 9.10537 0.173829L8.94483 0.906446C10.2941 1.20212 11.5202 1.90462 12.4577 2.91915C13.3951 3.93368 13.9987 5.21138 14.187 6.57979L14.93 6.47755Z"\n fill="#ADADAD"\n />\n </svg>\n'])),Kt)};function Qt(e){return null!=e}var Yt,Zt,Xt,$t=ve((function(e){!function(){var t={}.hasOwnProperty;function n(){for(var e=[],r=0;r<arguments.length;r++){var i=arguments[r];if(i){var a=o(i);if("string"===a||"number"===a)e.push(i);else if(Array.isArray(i)){if(i.length){var s=n.apply(null,i);s&&e.push(s)}}else if("object"===a)if(i.toString===Object.prototype.toString)for(var l in i)t.call(i,l)&&i[l]&&e.push(l);else e.push(i.toString())}}return e.join(" ")}e.exports?(n.default=n,e.exports=n):window.classNames=n}()})),en="styles-module_preact-hint__2fj-j",tn="styles-module_preact-hint__top__eUj7n",nn="styles-module_preact-hint__bottom__2goUI",rn="styles-module_preact-hint__content__23OpK";function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?on(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):on(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function sn(e){var n=Xe(null),r=Ue(Ye(1e4),2),i=r[0],o=r[1],a=e.position;return Ze((function(){n.current&&o(n.current.getBoundingClientRect().width)}),[n]),_e(Yt||(Yt=t(['\n <div\n class="','"\n style=',"\n >\n <pre class="," ref=",">\n ","\n </pre\n >\n </div>\n "])),"".concat(en," ").concat("top"===a?tn:nn),an(an({},{left:e.targetBoundingRect.left-e.rootBoundingRect.left-i/2+e.targetBoundingRect.width/2}),"top"===a?{bottom:e.rootBoundingRect.height-e.targetBoundingRect.top+e.rootBoundingRect.top+2}:{top:e.rootBoundingRect.height-e.targetBoundingRect.top+e.rootBoundingRect.top+2}),rn,n,e.template?e.template(e.content):e.content)}Jt(".styles-module_preact-hint__2fj-j {\n position: absolute;\n z-index: 9999;\n cursor: default; }\n .styles-module_preact-hint__2fj-j::after {\n content: '';\n width: 0;\n height: 0;\n margin: auto;\n display: block;\n position: absolute;\n border: 4px solid transparent; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__top__eUj7n {\n padding-bottom: 4px; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__top__eUj7n::after {\n top: auto;\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: none;\n border-top-color: #000; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__bottom__2goUI {\n padding-top: 4px; }\n .styles-module_preact-hint__2fj-j.styles-module_preact-hint__bottom__2goUI::after {\n top: 0;\n left: 0;\n right: 0;\n bottom: auto;\n border-top: none;\n border-bottom-color: #000; }\n\n.styles-module_preact-hint__content__23OpK {\n font-family: inherit;\n background: #000000;\n box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.062132);\n padding: 8px;\n margin: 0;\n border-radius: 2px;\n font-style: normal;\n margin: 0;\n line-height: 12px;\n font-weight: normal;\n font-size: 10px;\n color: #ffffff;\n display: block; }\n");var ln,un=function(e){var n=e.position,r=void 0===n?"bottom":n,i=e.attribute,o=void 0===i?"data-hint":i,a=Ue(Ye(""),2),s=a[0],l=a[1],u=Ue(Ye(null),2),c=u[0],p=u[1],d=Ue(Ye(null),2),f=d[0],_=d[1],m=function(e,t){return $e((function(){return e}),t)}((function(t){p(t),c&&(c.addEventListener("mouseover",(function(e){e.target instanceof Element&&e.target.hasAttribute(o)&&(l(e.target.getAttribute(o)||""),_(e.target.getBoundingClientRect()))})),c.addEventListener("mouseout",(function(e){e.target instanceof Element&&e.target.hasAttribute(o)&&(l(""),_(null))})),e.dismissOnClick&&c.addEventListener("click",(function(){l(""),_(null)})))}),[c]);return _e(Zt||(Zt=t(["\n <div ref=",' style="position: relative">\n ',"\n ","\n </div>\n "])),m,s&&c&&f&&_e(Xt||(Xt=t([" <","\n content=","\n position=","\n template=","\n rootBoundingRect=","\n targetBoundingRect=","\n />"])),sn,s,r,e.template,null==c?void 0:c.getBoundingClientRect(),f),e.children)},cn="styles-module_button__osBYJ",pn="styles-module_buttonPrimary__1u5p2",dn="styles-module_disabled__CiT_f",fn="styles-module_buttonSecondary__2HV1m",_n="styles-module_buttonLink__39jcU";Jt(".styles-module_button__osBYJ {\n outline: none;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n font-size: 12px;\n padding: 0px 15px;\n height: 30px; }\n .styles-module_button__osBYJ.styles-module_buttonPrimary__1u5p2 {\n border: 1px solid #5f4d86;\n background: #5f4d86;\n border-radius: 4px;\n font-size: 12px;\n color: #ffffff; }\n .styles-module_button__osBYJ.styles-module_buttonPrimary__1u5p2:not(.styles-module_disabled__CiT_f):hover {\n background-color: #473a64; }\n .styles-module_button__osBYJ.styles-module_buttonSecondary__2HV1m {\n border: 1px solid #5f4d86;\n background: transparent;\n text-align: center;\n font-size: 12px;\n color: #5f4d86;\n border-radius: 4px; }\n .styles-module_button__osBYJ.styles-module_buttonSecondary__2HV1m:not(.styles-module_disabled__CiT_f):hover {\n background: #5f4d86;\n color: white; }\n .styles-module_button__osBYJ.styles-module_buttonLink__39jcU {\n border: none;\n color: #5f4d86;\n font-weight: 500;\n font-size: 12px;\n background: transparent;\n padding: 0;\n margin: 0; }\n .styles-module_button__osBYJ.styles-module_buttonLink__39jcU:not(.styles-module_disabled__CiT_f):hover {\n color: #473a64; }\n .styles-module_button__osBYJ.styles-module_disabled__CiT_f {\n opacity: 0.5;\n cursor: not-allowed; }\n");var mn,hn=["label","type","color","backgroundColor","disabled","tooltip","dismissOnClick","position","onClick"];function vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}!function(e){e.PRIMARY="primary",e.SECONDARY="secondary",e.LINK="link"}(mn||(mn={}));var yn,gn,bn,wn=function(n){var r,i=n.label,o=n.type,a=void 0===o?mn.PRIMARY:o,s=n.color,l=void 0===s?null:s,u=n.backgroundColor,c=void 0===u?null:u,p=n.disabled,d=void 0!==p&&p,f=n.tooltip,_=n.dismissOnClick,m=void 0===_||_,h=n.position,v=void 0===h?"bottom":h,y=n.onClick,g=void 0===y?void 0:y,b=ze(n,hn);return _e(ln||(ln=t(["\n <"," dismissOnClick="," position=",'>\n <button\n type="button"\n onclick=',"\n data-hint=","\n class=","\n style=","\n ","\n >\n ","\n </button>\n <//>\n "])),un,m,v,g,f||null,$t(cn,(e(r={},pn,a===mn.PRIMARY),e(r,fn,a===mn.SECONDARY),e(r,_n,a===mn.LINK),e(r,dn,d),r)),{backgroundColor:a===mn.PRIMARY?c:null,borderColor:a===mn.PRIMARY?c:l,color:l},function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?vn(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):vn(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},b),i)},xn="styles-module_errorPageWrapper__BMBHQ",In="styles-module_errorTitle__1baLE",kn="styles-module_errorDescription__1dTc9",Sn="styles-module_errorContainer__3WprN",Cn="styles-module_errorPayload__OjsC-";Jt(".styles-module_errorPageWrapper__BMBHQ {\n font-family: monospace;\n border: 1px solid red;\n padding: 30px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorTitle__1baLE {\n color: #b61717;\n font-weight: bold;\n font-size: 16px;\n line-height: 20px;\n margin-bottom: 8px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorDescription__1dTc9 {\n font-size: 14px;\n margin-bottom: 18px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorContainer__3WprN {\n overflow: hidden;\n background: #ffebeb;\n overflow-x: scroll;\n padding: 4px; }\n .styles-module_errorPageWrapper__BMBHQ .styles-module_errorPayload__OjsC- {\n margin: 0;\n padding: 8px 12px; }\n");var On,Mn,Tn,An,Dn,Rn=function(e){var n=e.title,r=e.description,i=e.errorPayload,o=e.onDismiss,a=void 0===o?null:o;return _e(yn||(yn=t(['\n <div class="','">\n <div class=',">","</div>\n <div class=",">","</div>\n ","\n ","\n </div>\n "])),xn,In,n,kn,r,i&&_e(gn||(gn=t(["\n <div class=",">\n <pre class=",">","</pre>\n <pre class=",">","</pre>\n </div>\n "])),Sn,Cn,i.message,Cn,i.stack),a&&_e(bn||(bn=t(["\n <div>\n <",' label="Dismiss" onClick='," />\n </div>\n "])),wn,a))},En="styles-module_navigation__2IuNI",Nn="styles-module_navItem__1kxtL",Ln="styles-module_navItemContent__28oLq",Pn="styles-module_imgContainer__wbjM4",jn="styles-module_arrow__3C8To",Fn="styles-module_active__28cMj",zn="styles-module_disabled__1Ltqi";function Un(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_navigation__2IuNI {\n margin-bottom: 45px;\n display: flex;\n align-items: center;\n justify-content: center; }\n\n.styles-module_navItem__1kxtL {\n cursor: pointer;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq {\n display: flex;\n align-items: center;\n padding-right: 0.25rem; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq p {\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 12px;\n font-weight: 500;\n color: #333333; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 {\n position: relative;\n margin-right: 0.5rem;\n height: 15px;\n width: 15px;\n overflow: hidden;\n border-radius: 9999px; }\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 img,\n .styles-module_navItem__1kxtL .styles-module_navItemContent__28oLq .styles-module_imgContainer__wbjM4 svg {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n object-fit: contain; }\n .styles-module_navItem__1kxtL .styles-module_arrow__3C8To {\n margin-top: 2px;\n margin-left: 0.75rem;\n margin-right: 0.5rem; }\n .styles-module_navItem__1kxtL.styles-module_active__28cMj {\n opacity: 1; }\n .styles-module_navItem__1kxtL.styles-module_disabled__1Ltqi {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n opacity: 0.5; }\n .styles-module_navItem__1kxtL.styles-module_disabled__1Ltqi p {\n font-weight: 400; }\n");var Hn,Bn,Vn,Wn,Jn,Gn,Kn,qn,Qn=_e(On||(On=t([' <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n>\n <rect opacity="0.7" width="15" height="15" rx="7.5" fill="#2ECC71" />\n <path\n d="M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n</svg>']))),Yn=_e(Mn||(Mn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="7.5"\n cy="7.5"\n r="6.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M10.3333 5.5L6.83522 9.5L5 7.40148"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n']))),Zn=function(e){xe(r,K);var n=Un(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props,n=e.logoUrl,r=e.isActive,i=void 0!==r&&r,o=e.isCompleted,a=void 0!==o&&o,s=e.isDisabled,l=void 0!==s&&s,u=e.isLastStep,c=void 0!==u&&u,p=e.onClick,d=void 0===p?function(){return null}:p;return _e(Tn||(Tn=t(["\n <div\n class=","\n onclick=",'\n tabindex="-1"\n role="button"\n >\n <div class=',">\n <div class=",">\n ","\n ","\n </div>\n <p>","</p>\n ","\n </div>\n </div>\n "])),"".concat(Nn," ").concat(l?zn:""," ").concat(i?Fn:""),d,Ln,Pn,!a||i?_e(An||(An=t(["<img src="," />"])),n):Qn,c&&Yn,this.props.label,!c&&_e(Dn||(Dn=t(["\n <div class=",'>\n <svg\n width="6"\n height="11"\n viewBox="0 0 6 11"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699"\n stroke="#999999"\n stroke-linecap="round"\n />\n </svg>\n </div>\n '])),jn))}}]),r}(),Xn=ge.connect("stepState",Bt)((function(e){var n=e.gotoStep,r=e.stepState,i=et(jt),o=function(e){n(e)},a=null==r?void 0:r.currentStep;return _e(Hn||(Hn=t(["\n <div class=",">\n ","\n ","\n </div>\n "])),En,r&&_e(Bn||(Bn=t(["\n ","\n "])),r.steps.map((function(e,n){return _e(Vn||(Vn=t([" <","\n label=","\n logoUrl=","\n isCompleted=","\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />"])),Zn,"CONFIRMATION"!==e.type?e.title:"Confirmation","CONFIRMATION"!==e.type&&e.iconUrl,!(null!=i&&i.isPreviewMode)&&e.isCompleted,"CONFIRMATION"!==(null==a?void 0:a.type)&&"CONFIRMATION"!==e.type&&r.stepIndex===n,(null==i?void 0:i.isPreviewMode)&&Number(null==r?void 0:r.stepIndex)!==n||Number(null==r?void 0:r.stepIndex)<n,n===(null==r?void 0:r.steps.length),(function(){return o(n)}))}))),r.steps.length>0&&_e(Wn||(Wn=t(["\n <",'\n label="Confirmation"\n logoUrl=""\n isCompleted=',"\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />\n "])),Zn,!0,void 0!==a&&(null==r?void 0:r.stepIndex)===(null==r?void 0:r.steps.length),void 0!==a&&(null==r?void 0:r.stepIndex)!==(null==r?void 0:r.steps.length),!0,(function(){var e;return o(null!==(e=null==r?void 0:r.steps.length)&&void 0!==e?e:0)})))})),$n="styles-module_radio__1wJfU",er="styles-module_button__3PLW1",tr="styles-module_text__Jq7I0",nr="styles-module_description__2UsHV";Jt(".styles-module_radioGroup__1aPpR fieldset {\n border: none;\n padding: 0; }\n\n.styles-module_radio__1wJfU {\n position: relative;\n display: flex;\n align-items: center;\n margin: 10px 0; }\n .styles-module_radio__1wJfU .styles-module_button__3PLW1 {\n position: absolute;\n width: 15px;\n height: 15px;\n left: 0;\n display: inline-block;\n border-radius: 9999px;\n background: transparent; }\n .styles-module_radio__1wJfU .styles-module_button__3PLW1 svg {\n width: 100%;\n height: 100%; }\n .styles-module_radio__1wJfU input[type='radio'] {\n opacity: 0;\n margin: 0; }\n .styles-module_radio__1wJfU label {\n display: flex;\n margin-left: 15px;\n align-items: center;\n cursor: pointer; }\n .styles-module_radio__1wJfU .styles-module_text__Jq7I0 {\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n margin: 2px 0;\n color: #333333; }\n .styles-module_radio__1wJfU .styles-module_description__2UsHV {\n font-size: 12px;\n line-height: 15px;\n color: #999999; }\n");var rr,ir=function(e){var n=e.label,r=e.name,i=e.description,o=void 0===i?null:i,a=e.value,s=e.isChecked,l=void 0!==s&&s,u=e.handleChange,c=void 0===u?function(){return null}:u;return _e(Jn||(Jn=t(["\n <div class=",">\n <input\n id=",'\n type="radio"\n name=',"\n value=","\n checked=","\n onclick=","\n />\n <div>\n <label for=",">\n <div class=",">\n ","\n </div>\n <div>\n <div class=",">","</div>\n ","\n </div>\n </label>\n </div>\n </div>\n "])),$n,a,r,a,l,(function(e){if(e.currentTarget instanceof HTMLInputElement){var t=e.currentTarget.value;c(t)}}),a,er,_e(l?Gn||(Gn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z"\n fill="white"\n stroke="#5F4D86"\n stroke-width="2"\n />\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M7.5 11C9.433 11 11 9.433 11 7.5C11 5.567 9.433 4 7.5 4C5.567 4 4 5.567 4 7.5C4 9.433 5.567 11 7.5 11Z"\n fill="#5F4D86"\n />\n </svg>\n '])):Kn||(Kn=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z"\n fill="white"\n stroke="#E2E0DB"\n stroke-width="2"\n />\n </svg>\n ']))),tr,n,o&&_e(qn||(qn=t(["<div class=",">","</div>"])),nr,o))},or="styles-module_errorMessage__2b8A_";Jt(".styles-module_errorMessage__2b8A_ {\n margin-top: 4px;\n font-size: 12px;\n color: #f05c42; }\n");var ar,sr,lr,ur=function(e){var n=e.children;return _e(rr||(rr=t([" <div class=",">","</div> "])),or,n)},cr="styles-module_label__PbFlo",pr="styles-module_required__1XFqi";Jt(".styles-module_label__PbFlo label > div:first-child {\n font-style: normal;\n font-weight: 500;\n font-size: 14px;\n line-height: 17px;\n color: #333333;\n margin-bottom: 5px; }\n\n.styles-module_label__PbFlo label > div:nth-child(2) {\n font-size: 14px;\n line-height: 17px;\n letter-spacing: -0.2px;\n color: #8c8c8c; }\n\n.styles-module_label__PbFlo .styles-module_required__1XFqi {\n color: red;\n font-size: 16px;\n margin-left: 2px; }\n");var dr=function(e){var n=e.title,r=e.description,i=e.isRequired,o=void 0!==i&&i;return _e(ar||(ar=t(["\n <div class=",">\n <label>\n <div>\n ","\n ","\n </div>\n ","\n </label>\n </div>\n "])),cr,n,o&&_e(sr||(sr=t(["<span class=",">*</span>"])),pr),r&&_e(lr||(lr=t(["<div>","</div>"])),r))},fr=function(){return!["undefined"==typeof window?"undefined":o(window),"undefined"==typeof document?"undefined":o(document)].includes("undefined")};var _r,mr,hr,vr,yr,gr,br,wr,xr,Ir,kr,Sr="styles-module_authSelectorWrap__34g8J",Cr="styles-module_rows__1gpAK",Or="styles-module_error__aL4zj",Mr="styles-module_checkboxRow__3Q67t",Tr="styles-module_statusWrap__3amIr",Ar="styles-module_deleteIcon__1mAJb",Dr="styles-module_status__OwFQa",Rr="styles-module_statusRed__1FG13",Er="styles-module_statusOrange__1FNhi",Nr="styles-module_statusGreen__1OD_4",Lr="styles-module_resend__To8qG";function Pr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_authSelectorWrap__34g8J {\n padding-bottom: 30px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_label__19jW8 {\n font-weight: 800;\n font-size: 14px;\n color: #333333;\n line-height: 20px;\n margin-bottom: 5px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_label__19jW8 span {\n color: #ff4d34;\n margin-left: 2px;\n font-size: 16px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_rows__1gpAK {\n margin-top: 10px;\n margin-bottom: 20px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_error__aL4zj {\n color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_error__aL4zj button {\n color: #f05c42;\n border-color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_errorMessage__3YjSh {\n margin-top: 4px;\n font-size: 12px;\n line-height: 15px;\n letter-spacing: -0.197647px;\n color: #f05c42; }\n .styles-module_authSelectorWrap__34g8J .styles-module_description__2c5sj {\n font-size: 14px;\n line-height: 20px;\n color: #8c8c8c;\n margin-bottom: 10px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t {\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: #333;\n font-size: 14px;\n min-width: 380px;\n padding-right: 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr {\n display: flex;\n align-items: center;\n font-size: 12px;\n margin-left: 20px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_deleteIcon__1mAJb {\n padding-left: 8px;\n padding-right: 8px;\n display: flex;\n align-items: center;\n cursor: pointer; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_deleteIcon__1mAJb svg {\n cursor: pointer;\n visibility: hidden;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa {\n position: relative; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa div {\n display: flex;\n align-items: center; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa svg {\n margin-left: 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusRed__1FG13,\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusOrange__1FNhi,\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusGreen__1OD_4 {\n width: 5px;\n height: 5px;\n border-radius: 9999px;\n margin: 0 8px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusRed__1FG13 {\n background: #e26154; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusOrange__1FNhi {\n background: #fcc700; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_statusGreen__1OD_4 {\n background: #2ecc71; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa span {\n margin-left: 10px; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t .styles-module_statusWrap__3amIr .styles-module_status__OwFQa .styles-module_resend__To8qG {\n cursor: pointer; }\n .styles-module_authSelectorWrap__34g8J .styles-module_checkboxRow__3Q67t:hover .styles-module_statusWrap__3amIr svg {\n visibility: visible;\n -webkit-user-select: auto;\n -ms-user-select: auto;\n user-select: auto; }\n");var jr=function(){return _e(_r||(_r=t(["\n <svg\n class=",'\n width="13"\n height="15"\n viewBox="0 0 13 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11.8403 5.34L10.1453 6.345C10.5053 6.96 10.7003 7.68 10.7003 8.445C10.7003 10.77 8.81031 12.645 6.50031 12.645C4.19031 12.645 2.30031 10.755 2.30031 8.445C2.30031 6.135 4.19031 4.245 6.50031 4.245V6.15L11.1053 3.27L6.50031 0.375V2.28C3.09531 2.28 0.320312 5.055 0.320312 8.46C0.320313 11.85 3.09531 14.625 6.50031 14.625C9.90531 14.625 12.6803 11.85 12.6803 8.445C12.6803 7.32 12.3653 6.255 11.8403 5.34Z"\n fill="#8D8D8D"\n />\n </svg>\n'])),Lr)},Fr=function(e){var n=e.label,r=e.name,i=e.value,o=e.isChecked,a=e.status,s=void 0===a?"IDLE":a,l=e.isDeleting,u=void 0!==l&&l,c=e.handleChange,p=e.handleReverify,d=e.handleDelete,f=void 0===d?function(){return null}:d,_=e.error;return _e(mr||(mr=t(["\n <div class=",">\n <","\n label=","\n name=","\n value=","\n isChecked=","\n handleChange=","\n />\n <div class=",">\n <div class=",">\n <div>\n ","\n </div>\n <div>\n ","\n </div>\n <div>\n ","\n </div>\n ","\n ","\n </div>\n <div class="," onclick=",">\n ","\n </div>\n </div>\n </div>\n "])),Mr,ir,n,r,i,o,c,Tr,Dr,"VERIFYING"===s&&!u&&_e(hr||(hr=t(["<div class="," />\n Verifying <"," /> "])),Er,qt),"CONNECTED"===s&&!_&&!u&&_e(vr||(vr=t(["<div class="," />\n Connected"])),Nr),"ERROR"===s&&!u&&_e(yr||(yr=t(["<div class="," />\n Failed\n <div onclick=","><"," /></div>"])),Rr,p,jr),u&&_e(gr||(gr=t(["<"," />"])),qt),_&&!u&&!("VERIFYING"===s)&&_e(br||(br=t(["<div class=",">","</div>"])),Or,_),Ar,f,!("VERIFYING"===s||u)&&_e(wr||(wr=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M1.5 4.1999H13.65" stroke="#F05C42" />\n <path\n d="M11.6254 5.5498V6.2248L10.9504 13.6498H4.20039L3.52539 6.2248V5.5498"\n stroke="#F05C42"\n stroke-linejoin="round"\n />\n <path\n d="M5.55078 3.525V2.175C5.55078 1.80221 5.85299 1.5 6.22578 1.5H8.92578C9.29857 1.5 9.60078 1.80221 9.60078 2.175V3.525"\n stroke="#F05C42"\n />\n </svg>\n ']))))},zr=function(e){xe(r,K);var n=Pr(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).verifyAuth=function(e){var n=t.props.stepId,r=t.props.stepMapping[n].authorizations[e];r&&(r.isVerified?t.props.onAuthSelected(r.authorizationId,!0):(t.props.toggleVerifyAuthorizationFlag({stepId:n,authId:r.authorizationId,isVerifying:!0}),t.setState({isLoading:!0}),t.props.apiHandler.verifyOAuth(r.authorizationId).then((function(e){e?t.props.onAuthSelected(r.authorizationId,!0):t.props.onAuthSelected(r.authorizationId,!1)})).catch((function(e){return console.error(e)})).finally((function(){t.props.toggleVerifyAuthorizationFlag({stepId:n,authId:r.authorizationId,isVerifying:!1}),t.setState({isLoading:!1})}))))},t.deleteAuth=function(e){var n=t.props.stepId,r=t.props.stepMapping[n].authorizations[e];t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!0,error:""}),t.props.apiHandler.deleteAuth(r.authorizationId).then((function(e){200===(null==e?void 0:e.status)?t.props.removeAuthorization({stepId:n,authId:r.authorizationId}):405===(null==e?void 0:e.status)?t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!1,error:"".concat(e.data)}):t.props.toggleDeleteAuthorizationFlag({stepId:n,authId:r.authorizationId,isDeleting:!1,error:"An unexpected error occurred"})})).catch((function(e){console.error(e)}))},t.onAuthResponseReceived=function(e){void 0!==e&&e.data.activity_name&&(console.info(e.data),t.props.stepId&&(e.data.already_exists?t.props.setStepAuthId({stepId:t.props.stepId,authId:Number(e.data.authorization_id)}):t.props.addAuthorization({stepId:t.props.stepId,authData:{authorizationId:e.data.authorization_id,userIdentity:e.data.user_identity,disableLink:"",authType:"",isVerified:!1,didFetchStatus:!1,isVerifying:!1,isDeleting:!1,error:""}})))},t.getAuthStatus=function(e){var t="IDLE";return e.isVerified&&e.didFetchStatus&&(t="CONNECTED"),!e.isVerified&&e.didFetchStatus&&(t="ERROR"),e.isVerifying&&(t="VERIFYING"),t},t.getError=function(){var e=t.props.stepId,n=t.props.stepMapping[e];return n.authorizations?"Please select a valid ".concat(n.step.activity.app.name," account"):"Please add a valid ".concat(n.step.activity.app.name," account")},t.openAuthWindow=function(){var e=t.props,n=e.stepMapping[e.stepId].step;n&&function(e,t,n,r,i){var o=n.top.outerHeight/2+n.top.screenY-i/2,a=n.top.outerWidth/2+n.top.screenX-r/2;n.open(e,t,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=".concat(r,", height=").concat(i,", top=").concat(o,", left=").concat(a))}(t.context.apiHandler.getAuthUrl(n.authorization_type.id),"Auth Window",window,800,600)},t.state={isLoading:!1,fetched:!1},t}return st(r,[{key:"componentDidMount",value:function(){fr()&&window.addEventListener("message",this.onAuthResponseReceived);var e=this.props,t=e.stepId,n=e.stepMapping,r=n[t].selectedAuthId,i=n[t].authorizations.findIndex((function(e){return e.authorizationId===r}));n[t].selectedAuthId&&"IDLE"===this.getAuthStatus(n[t].authorizations[i])&&this.verifyAuth(i)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.stepId,r=t.stepMapping,i=r[n],o=i.selectedAuthId,a=r[n].authorizations.findIndex((function(e){return e.authorizationId===o}));o!==e.stepMapping[n].selectedAuthId&&a&&this.verifyAuth(a),i.authorizations.length===e.stepMapping[n].authorizations.length+1&&this.verifyAuth(i.authorizations.length-1)}},{key:"componentWillUnmount",value:function(){fr()&&window.removeEventListener("message",this.onAuthResponseReceived)}},{key:"render",value:function(){var e=this,n=this.props,r=n.stepId,i=n.showErrors,o=void 0!==i&&i,a=this.props.stepMapping[r],s=a.authorizations;return _e(xr||(xr=t(["\n <div class=",">\n <",'\n title="Connect account"\n description=',"\n isRequired=","\n />\n <div class=",">\n ","\n </div>\n <div class=",">\n <","\n onClick=","\n label=","\n type=","\n disabled=","\n >\n <//>\n </div>\n ","\n </div>\n "])),Sr,dr,"Select your ".concat(a.step.activity.app.name," account"),!0,Cr,s.map((function(n,r){return _e(Ir||(Ir=t(["<","\n label=","\n value=","\n status=","\n isChecked=","\n isDeleting=","\n error=","\n handleChange=","\n handleReverify=","\n handleDelete=","\n />"])),Fr,n.userIdentity,n.authorizationId,e.getAuthStatus(n),n.authorizationId===a.selectedAuthId,n.isDeleting,n.error,(function(){return e.verifyAuth(r)}),(function(){return e.verifyAuth(r)}),(function(){return e.deleteAuth(r)}))})),o?"".concat(Or):"",wn,(function(){return e.openAuthWindow()}),"Add ".concat(a.step.activity.app.name," account"),mn.SECONDARY,this.state.isLoading,o&&_e(kr||(kr=t(["<",">","<//>"])),ur,this.getError()))}}]),r}();zr.contextType=jt;var Ur=ge.connect(["stepMapping"],Bt)(zr);var Hr,Br,Vr="styles-module_listboxGroupWrapper__1Kt5M",Wr="styles-module_listbox__2x2uP",Jr="styles-module_customSelect__3d-hM",Gr="styles-module_open__2fBAx",Kr="styles-module_customOptions__3iNrM",qr="styles-module_customSelectTrigger__2MlIG",Qr="styles-module_error__2KcSW",Yr="styles-module_arrow__TPQOZ",Zr="styles-module_close__3wlz1",Xr="styles-module_listboxItem__2jMpi",$r="styles-module_selected__nLzUy";Jt(".styles-module_listboxGroupWrapper__1Kt5M {\n min-width: 100px; }\n .styles-module_listboxGroupWrapper__1Kt5M fieldset {\n margin: 0;\n padding: 0;\n border: none; }\n\n.styles-module_listbox__2x2uP {\n position: relative;\n width: 100%;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding-top: 10px; }\n .styles-module_listbox__2x2uP .styles-module_customSelect__3d-hM {\n position: relative;\n display: flex;\n flex-direction: column;\n font-size: 14px;\n letter-spacing: -0.197647px;\n color: #999999; }\n .styles-module_listbox__2x2uP .styles-module_customSelect__3d-hM.styles-module_open__2fBAx .styles-module_customOptions__3iNrM {\n opacity: 1;\n visibility: visible;\n pointer-events: auto; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n font-size: 14px;\n padding: 9.5px 10px;\n border: 1px solid #e2e0db;\n border-radius: 4px; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG span {\n padding-right: 2rem; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG:focus {\n outline: none; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG.styles-module_error__2KcSW {\n border-color: #f05c42; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG .styles-module_arrow__TPQOZ {\n transform: rotate(0);\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms; }\n .styles-module_listbox__2x2uP .styles-module_customSelectTrigger__2MlIG .styles-module_arrow__TPQOZ.styles-module_close__3wlz1 {\n transform: rotate(180deg); }\n .styles-module_listbox__2x2uP .styles-module_customOptions__3iNrM {\n position: absolute;\n top: 100%;\n left: 0px;\n right: 0px;\n z-index: 10;\n margin-top: 0.5rem;\n display: block;\n overflow: hidden;\n background-color: #fff;\n font-size: 0.875rem;\n line-height: 1.25rem;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n pointer-events: none;\n visibility: hidden;\n max-height: 12rem;\n min-height: 100%;\n overflow: auto;\n border-width: 1px;\n border-style: solid;\n border-color: #e2e0db;\n opacity: 0;\n border-radius: 4px; }\n\n.styles-module_listboxItem__2jMpi {\n position: relative;\n display: block;\n cursor: pointer;\n border-width: 0px;\n border-bottom-width: 1px;\n border-style: solid;\n border-color: #e2e0db;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 2.5rem;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms; }\n .styles-module_listboxItem__2jMpi svg {\n position: absolute;\n height: 100%;\n width: 12px;\n left: 16px;\n top: 0; }\n .styles-module_listboxItem__2jMpi:last-child {\n border: none; }\n .styles-module_listboxItem__2jMpi:hover {\n color: #333;\n background: #ececec; }\n .styles-module_listboxItem__2jMpi.styles-module_selected__nLzUy {\n color: #333;\n font-weight: 500; }\n");var ei,ti,ni,ri,ii,oi,ai,si,li,ui,ci,pi,di,fi,_i,mi,hi,vi=function(e){var n=e.id,r=e.value,i=e.isSelected,o=e.onClick;return _e(Hr||(Hr=t(["\n <span\n class=","\n data-value=","\n onclick=","\n >\n ","\n ","\n </span>\n "])),"".concat(Xr," ").concat(i?$r:""),n,o,i&&_e(Br||(Br=t(['\n <svg\n width="7"\n height="7"\n viewBox="0 0 7 7"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n stroke="#333"\n >\n <path\n d="M6.33333 1.5L2.83522 5.5L1 3.40148"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n </svg>\n ']))),r)},yi=function(e){var n,r,i=e.title,o=e.description,a=e.items,s=void 0===a?[]:a,l=e.value,u=void 0===l?null:l,c=e.isOpen,p=void 0!==c&&c,d=e.isDynamic,f=void 0!==d&&d,_=e.endpointData,m=e.isRequired,h=void 0!==m&&m,v=e.placeholder,y=e.onChange,g=void 0===y?function(){return null}:y,b=e.showStepValidation,w=void 0!==b&&b,x=e.responseMapper,I=void 0===x?function(e){return e}:x,k=Ue(Ye(s),2),S=k[0],C=k[1],O=Ue(Ye(f&&!s.length&&!u),2),M=O[0],T=O[1],A=Ue(Ye(p),2),D=A[0],R=A[1],E=Xe();Ze((function(){var e=function(e){e.target instanceof HTMLElement&&(!n.current||n.current.contains(e.target))||r(e)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[n=E,r=function(){return D&&R(!1)}]),Ze((function(){var t=e.apiHandler,n=e.isDynamic,r=e.endpointUrl;if(n&&r){var i;T(!0);try{i=JSON.parse(_)}catch(e){i=""}t.callDynamicDataEndpoint(new URL(r),i).then((function(e){T(!1),e&&C(I(e))}))}}),[_]);var N=function(){R((function(e){return!e}))},L=$e((function(){var e=S.findIndex((function(e){return e.id===u}));return e>-1?S[e].value:""}),[S,u]);return _e(ei||(ei=t(["\n <div ref=",' class="','">\n <fieldset>\n ',"\n <div class=",">\n <div\n class=","\n >\n <div\n class=",'\n role="button"\n tabindex=',"\n onclick=","\n onkeyup=","\n >\n <span>\n ","\n </span>\n\n <div ref=",' style="display: flex;">\n ',"\n </div>\n </div>\n <div class=",">\n ","\n </div>\n </div>\n ","\n </div>\n </fieldset>\n </div>\n "])),E,Vr,i&&_e(ti||(ti=t(["\n <","\n title=","\n description=","\n isRequired=","\n />\n "])),dr,i,o,h),Wr,"".concat(Jr," ").concat(D?Gr:""),"".concat(qr," ").concat(w&&!u&&h&&Qr),0,N,(function(e){"Enter"===e.key&&N()}),M?_e(ni||(ni=t(["Loading"]))):_e(ri||(ri=t(["\n ","\n "])),S.length>0?_e(ii||(ii=t(["\n ","\n "])),u?_e(oi||(oi=t(["",""])),L):_e(ai||(ai=t(["",""])),v||"Please select an option")):_e(si||(si=t(["No options"])))),E,M?_e(li||(li=t(["<","><//>"])),qt):_e(ui||(ui=t(["\n <div\n class=",'\n >\n <svg\n width="12"\n height="8"\n viewBox="0 0 12 8"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11 1.5L6 6.5L1 1.5"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n '])),"".concat(Yr," ").concat(D?Zr:"")),Kr,S.length>0&&!M&&_e(ci||(ci=t(["\n ","\n "])),S.map((function(e){return _e(pi||(pi=t(["\n <","\n key=","\n id=","\n value=","\n isSelected=","\n onClick=","\n ><//>\n "])),vi,e.id,e.id,e.value,u===e.id,(function(){g(e.id),R(!1)}))}))),w&&!u&&h&&_e(di||(di=t([" <",">Please select a value<//>"])),ur))},gi="styles-module_checkbox__3mvqm",bi="styles-module_button__2oPQ0",wi="styles-module_text__1AHNH",xi="styles-module_description__3Ox13";Jt(".styles-module_checkboxGroup__2u-bL fieldset {\n border: none;\n padding: 0; }\n\n.styles-module_checkbox__3mvqm {\n position: relative;\n display: flex;\n margin-bottom: 22px;\n align-items: center;\n margin-top: 12px; }\n .styles-module_checkbox__3mvqm .styles-module_button__2oPQ0 {\n display: block;\n height: 20px;\n width: 20px;\n padding-right: 10px;\n background-color: transparent; }\n .styles-module_checkbox__3mvqm input[type='checkbox'] {\n opacity: 0;\n margin: 0;\n display: none; }\n .styles-module_checkbox__3mvqm label {\n display: flex;\n flex: 1;\n cursor: pointer;\n font-size: 14px;\n color: #333333; }\n .styles-module_checkbox__3mvqm .styles-module_text__1AHNH {\n display: flex;\n color: #333;\n font-size: 14px;\n font-weight: 400;\n line-height: 26px;\n margin-top: -2px; }\n .styles-module_checkbox__3mvqm .styles-module_description__3Ox13 {\n font-size: 12px;\n color: #222; }\n");var Ii,ki=function(e){var n=e.label,r=e.name,i=e.description,o=void 0===i?null:i,a=e.value,s=e.isChecked,l=void 0!==s&&s,u=e.handleChange,c=void 0===u?function(){return null}:u;return _e(fi||(fi=t(["\n <div class=",">\n <label for=",">\n <input\n id=",'\n type="checkbox"\n name=',"\n value=","\n checked=","\n onclick=","\n />\n <div class=",">\n ","\n </div>\n <div>\n <div class=",">","</div>\n ","\n </div>\n </label>\n </div>\n "])),gi,r,r,r,a,l,(function(e){if(e.target instanceof HTMLInputElement){var t=e.target,n=t.id,r=t.checked;c(n,r)}}),bi,_e(l?_i||(_i=t(['\n <svg\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M7.86364 15.5L10 13.4923L17.5 6.49357L15.3485 4.5L7.86364 11.4987L4.63636 8.50129L2.5 10.4949L5.71212 13.4923L7.86364 15.5Z"\n fill="#5F4D86"\n />\n <path\n d="M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z"\n fill="#5F4D86"\n />\n </svg>\n '])):mi||(mi=t(['\n <svg\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z"\n fill="#5F4D86"\n />\n </svg>\n ']))),wi,n,o&&_e(hi||(hi=t(["<div class=",">","</div>"])),xi,o))},Si="styles-module_loader__1RKKC";Jt(".styles-module_loader__1RKKC {\n animation-name: styles-module_ckw__i9e23;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n transform-origin: 50% 50%; }\n\n@keyframes styles-module_ckw__i9e23 {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n");var Ci,Oi,Mi,Ti,Ai,Di=function(){return _e(Ii||(Ii=t(["\n <svg\n class=",'\n width="26"\n height="25"\n viewBox="0 0 26 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M15.7173 0.29892C13.1175 -0.280085 10.4006 -0.0135017 7.96294 1.0598C5.52524 2.13311 3.49412 3.95702 2.16568 6.26562C0.837246 8.57421 0.280965 11.2468 0.57794 13.8937C0.874915 16.5406 2.00962 19.0235 3.81662 20.9803C5.62362 22.9371 8.00843 24.2656 10.6234 24.772C13.2383 25.2784 15.9466 24.9363 18.3535 23.7956C20.7604 22.6548 22.74 20.7751 24.0036 18.4304C25.2673 16.0857 25.749 13.3987 25.3785 10.7611L24.1406 10.935C24.4741 13.3088 24.0406 15.7272 22.9033 17.8374C21.766 19.9476 19.9844 21.6393 17.8182 22.666C15.652 23.6927 13.2145 24.0006 10.861 23.5448C8.50758 23.089 6.36125 21.8934 4.73495 20.1323C3.10866 18.3711 2.08742 16.1366 1.82015 13.7543C1.55287 11.3721 2.05352 8.96679 3.24911 6.88905C4.44471 4.81132 6.27272 3.1698 8.46665 2.20382C10.6606 1.23785 13.1057 0.997923 15.4456 1.51903L15.7173 0.29892Z"\n fill="#EFEFEF"\n />\n <path\n d="M25.3833 10.7959C25.0346 8.26181 23.9168 5.8957 22.1808 4.01695C20.4449 2.13819 18.1743 0.83725 15.6756 0.289715L15.4081 1.51074C17.6569 2.00353 19.7004 3.17437 21.2628 4.86525C22.8251 6.55613 23.8311 8.68563 24.145 10.9663L25.3833 10.7959Z"\n fill="#C4C4C4"\n />\n </svg>\n'])),Si)},Ri="styles-module_selectWrapper__wU7p8";Jt(".styles-module_selectWrapper__wU7p8 {\n position: relative;\n width: 100%; }\n .styles-module_selectWrapper__wU7p8 fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n .styles-module_selectWrapper__wU7p8 select {\n width: 100%;\n color: #999999;\n position: relative;\n box-sizing: border-box;\n padding-right: 10px;\n font-size: 12px;\n -webkit-appearance: none;\n appearance: none;\n padding: 8.5px 14px;\n border-radius: 4px;\n border: 1px solid #e2e0db;\n outline: none; }\n .styles-module_selectWrapper__wU7p8 select:focus {\n outline: none; }\n .styles-module_selectWrapper__wU7p8 svg {\n position: absolute;\n right: 10px;\n top: 13px; }\n");var Ei,Ni,Li,Pi,ji,Fi,zi,Ui=function(e){var n=e.placeholder,r=e.ariaLabel,i=e.value,o=e.options,a=void 0===o?[]:o,s=e.showUnselectedValue,l=void 0!==s&&s,u=e.unselectedText,c=void 0===u?"Select a value":u,p=e.isRequired,d=void 0!==p&&p,f=e.showStepValidation,_=void 0!==f&&f,m=e.onChange,h=void 0===m?function(){return null}:m;return _e(Ci||(Ci=t(["\n <div class=",">\n <select aria-label="," onchange=",">\n ","\n ","\n ",'\n </select>\n <svg\n width="12"\n height="8"\n viewBox="0 0 12 8"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M11 1.5L6 6.5L1 1.5"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n ',"\n "])),Ri,r,(function(e){if(e.currentTarget instanceof HTMLSelectElement){var t=e.currentTarget.value,n=a.findIndex((function(e){return"".concat(e.key)==="".concat(t)}));h(n)}}),l&&_e(Oi||(Oi=t([' <option value="">',"</option> "])),c),!i&&_e(Mi||(Mi=t(['\n <option value="" disabled selected hidden>',"</option>\n "])),n),a.map((function(e){return _e(Ti||(Ti=t(["\n <option value="," selected=",">\n ","\n </option>\n "])),e.key,i===e.key,e.label)})),d&&!i&&_&&_e(Ai||(Ai=t(["<",">Please map this required field<//>"])),ur))},Hi="styles-module_mappingWrap__cU3_M",Bi="styles-module_mappingInfo__2Nvsw",Vi="styles-module_loader__3uPJj",Wi="styles-module_mappingRow__LbAkF",Ji="styles-module_title__3EC37",Gi="styles-module_sampleData__ZpCR2",Ki="styles-module_selectBox__2gn7w",qi="styles-module_mappingHeaderItem__3Ue0A";function Qi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yi(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Qi(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qi(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}Jt(".styles-module_mappingWrap__cU3_M {\n margin-top: 1rem;\n padding-bottom: 33px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw {\n margin-top: 20px;\n display: flex;\n justify-content: flex-end;\n font-size: 10px;\n line-height: 12px;\n display: flex;\n align-items: center;\n letter-spacing: 0.1px;\n color: #999999; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > :not(:last-child) {\n margin-right: 20px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > div {\n margin-right: 7px; }\n .styles-module_mappingWrap__cU3_M .styles-module_mappingInfo__2Nvsw > div > span:first-child {\n color: #333333;\n margin: 0;\n margin-right: 3px; }\n\n.styles-module_loader__3uPJj {\n margin-top: 64px;\n display: flex;\n justify-content: center; }\n\n.styles-module_mappingRow__LbAkF {\n display: flex;\n box-sizing: content-box;\n align-items: center;\n justify-content: space-between;\n background-color: #fff;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 15px;\n padding-bottom: 15px;\n font-size: 0.875rem;\n line-height: 1.25rem;\n height: 60px; }\n .styles-module_mappingRow__LbAkF .styles-module_title__3EC37 {\n width: 40%;\n padding-right: 4px;\n font-weight: 500;\n font-size: 14px;\n color: #333333; }\n .styles-module_mappingRow__LbAkF .styles-module_title__3EC37 span {\n color: red;\n font-size: 16px;\n margin-left: 2px; }\n .styles-module_mappingRow__LbAkF .styles-module_sampleData__ZpCR2 {\n display: flex;\n flex-direction: column;\n width: 40%;\n overflow: hidden;\n word-break: break-word;\n padding-right: 20px; }\n .styles-module_mappingRow__LbAkF .styles-module_selectBox__2gn7w {\n width: 40%; }\n .styles-module_mappingRow__LbAkF:nth-child(even) {\n background: #f8f8f880; }\n .styles-module_mappingRow__LbAkF:first-child {\n color: #333333; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A {\n display: flex;\n align-items: center;\n width: 40%; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A:first-child {\n padding-right: 4px; }\n .styles-module_mappingRow__LbAkF .styles-module_mappingHeaderItem__3Ue0A img {\n height: 25px;\n width: 25px;\n object-fit: contain;\n border-radius: 9999px;\n margin-right: 5px; }\n .styles-module_mappingRow__LbAkF pre {\n margin: 0;\n padding: 0;\n color: #7d7d7d;\n overflow: hidden;\n text-overflow: ellipsis; }\n");var Zi,Xi,$i=ge.connect(["stepState","genericData","stepMapping","activityOutputData","dynamicFieldData","stepDataMapping","parentChildMapping"],Bt)((function(n){var i,o,a=Ue(Ye(!1),2),s=a[0],l=a[1],u=Ue(Ye(!1),2),c=u[0],p=u[1],d=Ue(Ye(!1),2),f=d[0],_=d[1],m=Ue(Ye([]),2),h=m[0],v=m[1],y=Ue(Ye(""),2),g=y[0],b=y[1],w=et(jt),x=Xe(""),I=Xe(0);Ze((function(){var t=n.templateFields.filter((function(e){return e.activity_field&&"DYNAMIC"===e.activity_field.type}))[0];t&&b("".concat(t.id));var r=n.templateFields.filter((function(e){return e.activity_field&&"TEXTFIELD"===e.activity_field.type&&e.is_visible})).map((function(e){return{fieldId:e.id,id:e.activity_field&&e.activity_field.machine_name,title:e.activity_field&&e.activity_field.title,type:"text",isNotDynamic:!0}}));if(t.activity_field){var i,o=n.parentChildMapping[n.stepId][t.activity_field.machine_name],a="";if(o){var s,u=null===(s=o.parentFields)||void 0===s?void 0:s.reduce((function(t,r){var i=n.parentChildMapping[n.stepId][r].fieldId;return Yi(Yi({},t),{},e({},i,n.stepDataMapping[n.stepId][i].value))}),{});a=JSON.stringify(u)}if(a!==x.current)l(!0),p(!0),_(!0),S(),null===(i=C(t))||void 0===i||i.then((function(e){l(!1),x.current=a,Array.isArray(e)&&v([].concat(je(r),je(e)))})).catch((function(e){return console.error(e)}))}}),[n.stepDataMapping[n.stepId]]);var k=function(t){var r=n.stepDataMapping[t];return Object.keys(r).filter((function(e){return r[Number(e)].value})).reduce((function(t,n){var i=r[Number(n)];return Yi(Yi({},t),{},e({},i.machineName,i.value))}),{})},S=function(){var e=r(F.mark((function e(){var t,r,i;return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=n.stepState.steps[0].stepId,r=k(t),t&&("TRIGGER"!==(i=n.stepMapping[t].step).activity.type&&"QUERY"!==i.activity.type||(i.activity.activity_output_url?(p(!0),null==w||w.apiHandler.callDynamicDataEndpoint(new URL(i.activity.activity_output_url),Yi({authorization_id:"".concat(n.stepMapping[t].selectedAuthId)},r)).then((function(e){p(!1),e&&n.setActivityOutputData({activityOutputData:e})}))):p(!1),i.activity.dynamic_field_data_endpoint?(_(!0),null==w||w.apiHandler.callDynamicDataEndpoint(new URL(i.activity.dynamic_field_data_endpoint),Yi({authorization_id:"".concat(n.stepMapping[t].selectedAuthId)},r)).then((function(e){_(!1),e&&n.setDynamicFieldData({dynamicFieldData:e})}))):_(!1)));case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),C=function(e){var t,r="".concat(null===(t=e.activity_field)||void 0===t?void 0:t.dynamic_field_src);return null==w?void 0:w.apiHandler.callDynamicDataEndpoint(new URL(r),Yi({authorization_id:"".concat(n.endpointData.authId)},n.endpointData.fieldsData))};return _e(Ei||(Ei=t(["\n <div>\n <",'\n title="Map data"\n description="Please map fields you want to use from both apps"\n />\n <div>\n ',"\n </div>\n </div>\n "])),dr,s||c||f?_e(Ni||(Ni=t(["<div class=","><"," /></div>"])),Vi,Di):_e(Li||(Li=t(["\n <div class=",">\n <div class=",">\n <div class=",">\n <img src="," />\n <div>"," Field</div>\n </div>\n <div class=",">Sample Data</div>\n <div class=",">\n <img\n src=","\n />\n <div>\n ","\n </div>\n </div>\n </div>\n ","\n <div class=",">\n <div>\n <span>Mapped</span>\n <span\n >","","\n field","</span\n >\n </div>\n <div>\n <span>Ignored</span>\n <span\n >","","\n field","</span\n >\n </div>\n </div>\n </div>\n "])),Hi,Wi,qi,null===(i=n.genericData.templateApp)||void 0===i?void 0:i.iconUrl,null===(o=n.genericData.templateApp)||void 0===o?void 0:o.name,Gi,qi,n.stepMapping[n.stepId].step.activity.app.icon_url,"".concat(n.stepMapping[n.stepId].step.activity.app.name," Field"),h.map((function(e){var r,i,o,a=n.stepDataMapping[n.stepId][e.fieldId];return _e(Pi||(Pi=t(["\n <div class=",">\n <div class=",">\n ","","\n </div>\n <div class=",">\n ","\n </div>\n <div class=",">\n <",'\n ariaLabel="Map a value"\n placeholder="Please map a value"\n options=',"\n value=","\n isRequired=","\n showStepValidation=","\n showUnselectedValue=",'\n unselectedText="Skip"\n onChange=',"\n ><//>\n </div>\n </div>\n "])),Wi,Ji,e.title,(null==a?void 0:a.isRequired)&&_e(ji||(ji=t(["<span>*</span>"]))),Gi,n.dynamicFieldData&&(null==a?void 0:a.value)&&(null===(r=n.dynamicFieldData[null==a?void 0:a.value])||void 0===r?void 0:r.map((function(e){return e?_e(Fi||(Fi=t(["<pre>","</pre>"])),e):_e(zi||(zi=t([""])))}))),Ki,Ui,null===(i=n.activityOutputData)||void 0===i?void 0:i.map((function(e){return{key:e.value,label:e.text}})),null==a||null===(o=a.value)||void 0===o?void 0:o.slice(1,-1),null==a?void 0:a.isRequired,n.showStepValidation,!0,(function(t){return function(e,t){var r,i=null===(r=n.activityOutputData)||void 0===r?void 0:r[e];e<0?(I.current>0&&(I.current-=1),n.setStepFieldData({stepId:"".concat(n.stepId),fieldId:"".concat(t.fieldId),value:""})):i&&(I.current>-1&&(I.current+=1),t.isNotDynamic?n.setStepFieldData({stepId:"".concat(n.stepId),fieldId:"".concat(t.fieldId),value:"{".concat(i.value,"}")}):g&&n.setStepMappingData({stepId:n.stepId,fieldId:Number(g),id:"".concat(t.id),value:"{".concat(i.value,"}")}))}(t,e)}))})),Bi,I.current," ",1!==I.current?"s":"",h.length-I.current," ",h.length-I.current!=1?"s":""))})),eo="styles-module_inputWrapper__1XBHY";Jt(".styles-module_inputWrapper__1XBHY {\n position: relative;\n width: 100%;\n padding-top: 10px; }\n .styles-module_inputWrapper__1XBHY input {\n width: 100%;\n color: #333;\n display: block;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n padding: 8.5px 14px;\n border-radius: 4px;\n border: 1px solid #e2e0db;\n font-size: 14px;\n outline: none; }\n .styles-module_inputWrapper__1XBHY input:focus {\n outline: none; }\n .styles-module_inputWrapper__1XBHY input:-ms-input-placeholder {\n color: #999999; }\n .styles-module_inputWrapper__1XBHY input::placeholder {\n color: #999999; }\n");var to,no,ro=function(e){var n=e.placeholder,r=e.value,i=e.type,o=void 0===i?"text":i,a=e.control,s=e.handleChange,l=void 0===s?function(){return null}:s;return _e(Zi||(Zi=t(["\n <div class=",">\n <input\n type=","\n placeholder=","\n value=","\n onkeyup=","\n />\n ","\n </div>\n "])),eo,o,n,r,(function(e){if(e.currentTarget instanceof HTMLInputElement){var t=e.currentTarget.value;l(t)}}),a&&_e(Xi||(Xi=t(["<"," //>"])),a))},io="styles-module_inputGroupWrapper__FJc-g";Jt(".styles-module_inputGroupWrapper__FJc-g fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n");var oo=function(e){var n=e.title,r=e.description,i=e.placeholder,o=e.value,a=e.showStepValidation,s=void 0!==a&&a,l=e.isRequired,u=void 0!==l&&l,c=e.onChange,p=void 0===c?function(){return null}:c;return _e(to||(to=t(['\n <div class="','">\n <fieldset>\n <'," title="," description="," //>\n <",'\n type="text"\n placeholder=',"\n handleChange=","\n value=","\n ><//>\n </fieldset>\n ","\n </div>\n "])),io,dr,n,r,ro,i,(function(e){p(e)}),o,s&&u&&_e(no||(no=t(["",">Please enter a value<//>"])),ur))};Jt(".styles-module_dateGroupWrapper__cV-ne fieldset {\n border: none;\n padding: 0;\n margin: 0; }\n\n.styles-module_dateGroupWrapper__cV-ne input[type='date'] {\n position: relative;\n cursor: pointer; }\n\n.styles-module_dateGroupWrapper__cV-ne input[type='date']::-webkit-calendar-picker-indicator {\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n color: transparent;\n background: transparent; }\n\n.styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl {\n display: flex;\n align-items: center;\n width: 20px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n margin: 0 auto; }\n .styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl svg {\n cursor: pointer; }\n .styles-module_dateGroupWrapper__cV-ne .styles-module_visibilityToggle__1l7Vl svg:hover {\n opacity: 0.5; }\n");Jt(".styles-module_passwordInputWrapper__1rzRX fieldset {\n padding: 0;\n margin: 0;\n border: none; }\n\n.styles-module_passwordInputWrapper__1rzRX .styles-module_innerWrap__2CRI3 {\n position: relative; }\n\n.styles-module_passwordInputWrapper__1rzRX input {\n padding-right: 18px; }\n\n.styles-module_visibilityToggle__3_Kyp {\n display: flex;\n align-items: center;\n width: 10px;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n margin: 0 auto; }\n .styles-module_visibilityToggle__3_Kyp svg {\n cursor: pointer; }\n");var ao,so,lo,uo,co,po,fo,_o,mo,ho,vo,yo,go,bo,wo=ve((function(e,t){e.exports=function(){function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var t=Object.hasOwnProperty,n=Object.setPrototypeOf,r=Object.isFrozen,i=Object.getPrototypeOf,a=Object.getOwnPropertyDescriptor,s=Object.freeze,l=Object.seal,u=Object.create,c="undefined"!=typeof Reflect&&Reflect,p=c.apply,d=c.construct;p||(p=function(e,t,n){return e.apply(t,n)}),s||(s=function(e){return e}),l||(l=function(e){return e}),d||(d=function(t,n){return new(Function.prototype.bind.apply(t,[null].concat(e(n))))});var f=I(Array.prototype.forEach),_=I(Array.prototype.pop),m=I(Array.prototype.push),h=I(String.prototype.toLowerCase),v=I(String.prototype.match),y=I(String.prototype.replace),g=I(String.prototype.indexOf),b=I(String.prototype.trim),w=I(RegExp.prototype.test),x=k(TypeError);function I(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return p(e,t,r)}}function k(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(e,n)}}function S(e,t){n&&n(e,null);for(var i=t.length;i--;){var o=t[i];if("string"==typeof o){var a=h(o);a!==o&&(r(t)||(t[i]=a),o=a)}e[o]=!0}return e}function C(e){var n=u(null),r=void 0;for(r in e)p(t,e,[r])&&(n[r]=e[r]);return n}function O(e,t){for(;null!==e;){var n=a(e,t);if(n){if(n.get)return I(n.get);if("function"==typeof n.value)return I(n.value)}e=i(e)}function r(e){return console.warn("fallback value for",e),null}return r}var M=s(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),T=s(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),A=s(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),D=s(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),R=s(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),E=s(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),N=s(["#text"]),L=s(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),P=s(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),j=s(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),F=s(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),z=l(/\{\{[\s\S]*|[\s\S]*\}\}/gm),U=l(/<%[\s\S]*|[\s\S]*%>/gm),H=l(/^data-[\-\w.\u00B7-\uFFFF]/),B=l(/^aria-[\-\w]+$/),V=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),W=l(/^(?:\w+script|data):/i),J=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),G="function"==typeof Symbol&&"symbol"===o(Symbol.iterator)?function(e){return o(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":o(e)};function K(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var q=function(){return"undefined"==typeof window?null:window},Q=function(e,t){if("object"!==(void 0===e?"undefined":G(e))||"function"!=typeof e.createPolicy)return null;var n=null,r="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function Y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:q(),t=function(e){return Y(e)};if(t.version="2.3.1",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,i=e.DocumentFragment,o=e.HTMLTemplateElement,a=e.Node,l=e.Element,u=e.NodeFilter,c=e.NamedNodeMap,p=void 0===c?e.NamedNodeMap||e.MozNamedAttrMap:c,d=e.Text,I=e.Comment,k=e.DOMParser,Z=e.trustedTypes,X=l.prototype,$=O(X,"cloneNode"),ee=O(X,"nextSibling"),te=O(X,"childNodes"),ne=O(X,"parentNode");if("function"==typeof o){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ie=Q(Z,n),oe=ie&&je?ie.createHTML(""):"",ae=r,se=ae.implementation,le=ae.createNodeIterator,ue=ae.createDocumentFragment,ce=ae.getElementsByTagName,pe=n.importNode,de={};try{de=C(r).documentMode?r.documentMode:{}}catch(e){}var fe={};t.isSupported="function"==typeof ne&&se&&void 0!==se.createHTMLDocument&&9!==de;var _e=z,me=U,he=H,ve=B,ye=W,ge=J,be=V,we=null,xe=S({},[].concat(K(M),K(T),K(A),K(R),K(N))),Ie=null,ke=S({},[].concat(K(L),K(P),K(j),K(F))),Se=null,Ce=null,Oe=!0,Me=!0,Te=!1,Ae=!1,De=!1,Re=!1,Ee=!1,Ne=!1,Le=!1,Pe=!0,je=!1,Fe=!0,ze=!0,Ue=!1,He={},Be=null,Ve=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),We=null,Je=S({},["audio","video","img","source","image","track"]),Ge=null,Ke=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",Qe="http://www.w3.org/2000/svg",Ye="http://www.w3.org/1999/xhtml",Ze=Ye,Xe=!1,$e=null,et=r.createElement("form"),tt=function(e){$e&&$e===e||(e&&"object"===(void 0===e?"undefined":G(e))||(e={}),e=C(e),we="ALLOWED_TAGS"in e?S({},e.ALLOWED_TAGS):xe,Ie="ALLOWED_ATTR"in e?S({},e.ALLOWED_ATTR):ke,Ge="ADD_URI_SAFE_ATTR"in e?S(C(Ke),e.ADD_URI_SAFE_ATTR):Ke,We="ADD_DATA_URI_TAGS"in e?S(C(Je),e.ADD_DATA_URI_TAGS):Je,Be="FORBID_CONTENTS"in e?S({},e.FORBID_CONTENTS):Ve,Se="FORBID_TAGS"in e?S({},e.FORBID_TAGS):{},Ce="FORBID_ATTR"in e?S({},e.FORBID_ATTR):{},He="USE_PROFILES"in e&&e.USE_PROFILES,Oe=!1!==e.ALLOW_ARIA_ATTR,Me=!1!==e.ALLOW_DATA_ATTR,Te=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ae=e.SAFE_FOR_TEMPLATES||!1,De=e.WHOLE_DOCUMENT||!1,Ne=e.RETURN_DOM||!1,Le=e.RETURN_DOM_FRAGMENT||!1,Pe=!1!==e.RETURN_DOM_IMPORT,je=e.RETURN_TRUSTED_TYPE||!1,Ee=e.FORCE_BODY||!1,Fe=!1!==e.SANITIZE_DOM,ze=!1!==e.KEEP_CONTENT,Ue=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,Ze=e.NAMESPACE||Ye,Ae&&(Me=!1),Le&&(Ne=!0),He&&(we=S({},[].concat(K(N))),Ie=[],!0===He.html&&(S(we,M),S(Ie,L)),!0===He.svg&&(S(we,T),S(Ie,P),S(Ie,F)),!0===He.svgFilters&&(S(we,A),S(Ie,P),S(Ie,F)),!0===He.mathMl&&(S(we,R),S(Ie,j),S(Ie,F))),e.ADD_TAGS&&(we===xe&&(we=C(we)),S(we,e.ADD_TAGS)),e.ADD_ATTR&&(Ie===ke&&(Ie=C(Ie)),S(Ie,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&S(Ge,e.ADD_URI_SAFE_ATTR),e.FORBID_CONTENTS&&(Be===Ve&&(Be=C(Be)),S(Be,e.FORBID_CONTENTS)),ze&&(we["#text"]=!0),De&&S(we,["html","head","body"]),we.table&&(S(we,["tbody"]),delete Se.tbody),s&&s(e),$e=e)},nt=S({},["mi","mo","mn","ms","mtext"]),rt=S({},["foreignobject","desc","title","annotation-xml"]),it=S({},T);S(it,A),S(it,D);var ot=S({},R);S(ot,E);var at=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:Ye,tagName:"template"});var n=h(e.tagName),r=h(t.tagName);if(e.namespaceURI===Qe)return t.namespaceURI===Ye?"svg"===n:t.namespaceURI===qe?"svg"===n&&("annotation-xml"===r||nt[r]):Boolean(it[n]);if(e.namespaceURI===qe)return t.namespaceURI===Ye?"math"===n:t.namespaceURI===Qe?"math"===n&&rt[r]:Boolean(ot[n]);if(e.namespaceURI===Ye){if(t.namespaceURI===Qe&&!rt[r])return!1;if(t.namespaceURI===qe&&!nt[r])return!1;var i=S({},["title","style","font","a","script"]);return!ot[n]&&(i[n]||!it[n])}return!1},st=function(e){m(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=oe}catch(t){e.remove()}}},lt=function(e,n){try{m(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){m(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!Ie[e])if(Ne||Le)try{st(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},ut=function(e){var t=void 0,n=void 0;if(Ee)e="<remove></remove>"+e;else{var i=v(e,/^[\r\n\t ]+/);n=i&&i[0]}var o=ie?ie.createHTML(e):e;if(Ze===Ye)try{t=(new k).parseFromString(o,"text/html")}catch(e){}if(!t||!t.documentElement){t=se.createDocument(Ze,"template",null);try{t.documentElement.innerHTML=Xe?"":o}catch(e){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(r.createTextNode(n),a.childNodes[0]||null),Ze===Ye?ce.call(t,De?"html":"body")[0]:De?t.documentElement:a},ct=function(e){return le.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},pt=function(e){return!(e instanceof d||e instanceof I||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof p&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},dt=function(e){return"object"===(void 0===a?"undefined":G(a))?e instanceof a:e&&"object"===(void 0===e?"undefined":G(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ft=function(e,n,r){fe[e]&&f(fe[e],(function(e){e.call(t,n,r,$e)}))},_t=function(e){var n=void 0;if(ft("beforeSanitizeElements",e,null),pt(e))return st(e),!0;if(v(e.nodeName,/[\u0080-\uFFFF]/))return st(e),!0;var r=h(e.nodeName);if(ft("uponSanitizeElement",e,{tagName:r,allowedTags:we}),!dt(e.firstElementChild)&&(!dt(e.content)||!dt(e.content.firstElementChild))&&w(/<[/\w]/g,e.innerHTML)&&w(/<[/\w]/g,e.textContent))return st(e),!0;if("select"===r&&w(/<template/i,e.innerHTML))return st(e),!0;if(!we[r]||Se[r]){if(ze&&!Be[r]){var i=ne(e)||e.parentNode,o=te(e)||e.childNodes;if(o&&i)for(var a=o.length-1;a>=0;--a)i.insertBefore($(o[a],!0),ee(e))}return st(e),!0}return e instanceof l&&!at(e)?(st(e),!0):"noscript"!==r&&"noembed"!==r||!w(/<\/no(script|embed)/i,e.innerHTML)?(Ae&&3===e.nodeType&&(n=e.textContent,n=y(n,_e," "),n=y(n,me," "),e.textContent!==n&&(m(t.removed,{element:e.cloneNode()}),e.textContent=n)),ft("afterSanitizeElements",e,null),!1):(st(e),!0)},mt=function(e,t,n){if(Fe&&("id"===t||"name"===t)&&(n in r||n in et))return!1;if(Me&&!Ce[t]&&w(he,t));else if(Oe&&w(ve,t));else{if(!Ie[t]||Ce[t])return!1;if(Ge[t]);else if(w(be,y(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==g(n,"data:")||!We[e])if(Te&&!w(ye,y(n,ge,"")));else if(n)return!1}return!0},ht=function(e){var n=void 0,r=void 0,i=void 0,o=void 0;ft("beforeSanitizeAttributes",e,null);var a=e.attributes;if(a){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ie};for(o=a.length;o--;){var l=n=a[o],u=l.name,c=l.namespaceURI;if(r=b(n.value),i=h(u),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,ft("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr&&(lt(u,e),s.keepAttr))if(w(/\/>/i,r))lt(u,e);else{Ae&&(r=y(r,_e," "),r=y(r,me," "));var p=e.nodeName.toLowerCase();if(mt(p,i,r))try{c?e.setAttributeNS(c,u,r):e.setAttribute(u,r),_(t.removed)}catch(e){}}}ft("afterSanitizeAttributes",e,null)}},vt=function e(t){var n=void 0,r=ct(t);for(ft("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ft("uponSanitizeShadowNode",n,null),_t(n)||(n.content instanceof i&&e(n.content),ht(n));ft("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,o){var s=void 0,l=void 0,u=void 0,c=void 0,p=void 0;if((Xe=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!dt(r)){if("function"!=typeof r.toString)throw x("toString is not a function");if("string"!=typeof(r=r.toString()))throw x("dirty is not a string, aborting")}if(!t.isSupported){if("object"===G(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(dt(r))return e.toStaticHTML(r.outerHTML)}return r}if(Re||tt(o),t.removed=[],"string"==typeof r&&(Ue=!1),Ue);else if(r instanceof a)1===(l=(s=ut("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===l.nodeName||"HTML"===l.nodeName?s=l:s.appendChild(l);else{if(!Ne&&!Ae&&!De&&-1===r.indexOf("<"))return ie&&je?ie.createHTML(r):r;if(!(s=ut(r)))return Ne?null:oe}s&&Ee&&st(s.firstChild);for(var d=ct(Ue?r:s);u=d.nextNode();)3===u.nodeType&&u===c||_t(u)||(u.content instanceof i&&vt(u.content),ht(u),c=u);if(c=null,Ue)return r;if(Ne){if(Le)for(p=ue.call(s.ownerDocument);s.firstChild;)p.appendChild(s.firstChild);else p=s;return Pe&&(p=pe.call(n,p,!0)),p}var f=De?s.outerHTML:s.innerHTML;return Ae&&(f=y(f,_e," "),f=y(f,me," ")),ie&&je?ie.createHTML(f):f},t.setConfig=function(e){tt(e),Re=!0},t.clearConfig=function(){$e=null,Re=!1},t.isValidAttribute=function(e,t,n){$e||tt({});var r=h(e),i=h(t);return mt(r,i,n)},t.addHook=function(e,t){"function"==typeof t&&(fe[e]=fe[e]||[],m(fe[e],t))},t.removeHook=function(e){fe[e]&&_(fe[e])},t.removeHooks=function(e){fe[e]&&(fe[e]=[])},t.removeAllHooks=function(){fe={}},t}return Y()}()})),xo="styles-module_stepsWrap__1Yzhl",Io="styles-module_stepWrap__eLO77";function ko(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function So(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?ko(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ko(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function Co(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__1Yzhl {\n width: 100%;\n margin-bottom: 1.5rem; }\n\n.styles-module_stepWrap__eLO77 {\n margin-bottom: 2rem; }\n");var Oo,Mo,To,Ao,Do,Ro,Eo,No,Lo,Po,jo,Fo,zo,Uo,Ho,Bo,Vo,Wo=function(n){xe(o,K);var r=Co(o);function o(t){var n;return i(this,o),(n=r.call(this,t)).getVisibleFieldsDataOnRootStep=function(){var t=n.props.stepDataMapping[n.props.step.id];return Object.keys(t).filter((function(e){return t[Number(e)].value})).reduce((function(n,r){var i=t[Number(r)];return So(So({},n),{},e({},i.machineName,i.value))}),{})},n.areParentValuesFilled=function(e,t){for(var r=!0,i=0;i<t.length;i+=1){var o=t[i],a=n.props.parentChildMapping[e][o].fieldId,s=n.props.stepDataMapping[e]&&n.props.stepDataMapping[e][a];if(!s||!s.value){r=!1;break}}return r},n.doParentFieldsHaveValues=function(e,t){var r=!0,i=n.props.parentChildMapping[e][t];if(i&&i.parentFields)for(var o=0;o<i.parentFields.length;o+=1){var a=n.props.parentChildMapping[e][i.parentFields[o]],s=n.props.stepDataMapping[e]&&n.props.stepDataMapping[e][a.fieldId];if(!s||!s.value){r=!1;break}}return r},n.shouldShowStep=function(e){var t=n.props.step.id,r=n.props.stepMapping&&n.props.stepMapping[t];if("BUTTON"===e.type||"HTML"===e.type)return!0;if(r&&e.activity_field){var i=!e.is_hidden,o=r.selectedAuthId,a=n.props.parentChildMapping[t][e.activity_field.machine_name].parentFields,s=!0;return a&&(s=n.areParentValuesFilled(t,a)),i&&o&&s}return!1},n.stepIsOfType=function(e){var t=n.props.step.id,r=n.props.stepMapping&&n.props.stepMapping[t];return e.indexOf(r.step.activity.type)>-1},n.textFieldParentHasValues=function(){var e=n.props.step.id,t=n.props.stepMapping&&n.props.stepMapping[e],r=t.step.template_fields.filter((function(e){return e.is_visible})),i=t.selectedAuthId,o=r.filter((function(e){return e.activity_field&&"DYNAMIC"===e.activity_field.type}))[0];return!o||!!(r.length>0&&o&&o.activity_field&&i&&n.doParentFieldsHaveValues(e,o.activity_field.machine_name))},n.shouldShowMapping=function(){var e=n.props.step.id,t=n.props.stepMapping&&n.props.stepMapping[e];if(n.stepIsOfType(["ADAPTER","ACTION"])){var r=t.step.template_fields.filter((function(e){return e.is_visible})),i=t.selectedAuthId,o=r.filter((function(e){return e.activity_field&&"DYNAMIC"===e.activity_field.type}))[0];if(!o)return!1;if(r.length>0&&i&&o&&o.activity_field&&n.doParentFieldsHaveValues(e,o.activity_field.machine_name))return!0}return!1},n.getMappingDataInput=function(){var e=n.props.step.id;return{authId:(n.props.stepMapping&&n.props.stepMapping[e]).selectedAuthId,fieldsData:n.getVisibleFieldsDataOnRootStep()}},n.fieldDynamicData=function(t){var r=n.props.step.id;if(n.props.stepMapping&&n.props.stepMapping[r]&&t.activity_field){var i=n.props.parentChildMapping[r][t.activity_field.machine_name].parentFields;if(i){var o=n.props.parentChildMapping[r][i[0]].fieldId;if(o)return e({},i[0],n.props.stepDataMapping[r][o].value)}}return null},n.state={loading:!1},n}return st(o,[{key:"render",value:function(){var e=this,n=this.props,r=n.step,i=n.stepMapping,o=n.stepDataMapping,a=n.setStepFieldData,s=n.showStepValidation,l=i[r.id]&&i[r.id].step,u=o&&o[r.id];return _e(ao||(ao=t(["\n ","\n "])),this.state.loading?_e(so||(so=t(["<"," //>"])),qt):_e(lo||(lo=t(["\n ","\n "])),l?_e(uo||(uo=t(["\n <div class=",">\n ","\n ","\n </div>\n "])),xo,l.template_fields.map((function(n){var i;if(e.shouldShowStep(n)&&n.activity_field)switch(n.activity_field.type){case"SELECT":return _e(co||(co=t(["\n <div class=",">\n <","\n key=","\n apiHandler=","\n title=","\n description=","\n showStepValidation=","\n placeholder=","\n isRequired=","\n value=","\n onChange=","\n endpointUrl=","\n isDynamic=","\n endpointData=","\n ><//>\n </div>\n "])),Io,yi,n.activity_field.id,e.props.apiHandler,n.title||n.activity_field.title,n.description||n.activity_field.description,s,n.placeholder,n.is_required,u&&u[n.id]&&u[n.id].value||"",(function(e){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:e})}),n.activity_field.data_src,n.activity_field.is_dynamic,JSON.stringify(So({authorization_id:e.props.stepMapping&&(null===(i=e.props.stepMapping[e.props.step.id])||void 0===i?void 0:i.selectedAuthId)},e.fieldDynamicData(n))));case"TEXTFIELD":return!e.shouldShowMapping()&&e.textFieldParentHasValues()&&_e(po||(po=t(["\n <div class=",">\n <","\n id=","\n title=","\n description=","\n value=","\n placeholder=","\n showStepValidation=","\n isRequired=","\n onChange=","\n ><//>\n </div>\n "])),Io,oo,n.activity_field.id,n.title||n.activity_field.title,n.description||n.activity_field.description,u&&u[n.id]&&u[n.id].value||"",n.placeholder||"Please enter a value",s,n.is_required,(function(e){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:e})}));case"CHECKBOX":return _e(fo||(fo=t(["\n <","\n title=","\n isRequired=","\n />\n <","\n label=","\n name=","\n value=","\n isChecked=","\n handleChange=","\n />\n "])),dr,n.title||n.activity_field.title,n.is_required,ki,n.activity_field.description,n.activity_field.machine_name,u&&u[n.id]&&u[n.id].value,u&&u[n.id]&&u[n.id].value,(function(e,t){a({stepId:"".concat(r.id),fieldId:"".concat(n.id),value:t})}));case"DYNAMIC":return _e(_o||(_o=t([""])));default:return _e(mo||(mo=t(["<div>\n Field: "," is currently not\n supported\n </div>"])),n.activity_field.type)}else switch(n.type){case"HTML":return _e(ho||(ho=t(['\n <div\n style="margin-bottom: 2rem;"\n dangerouslySetInnerHTML=',"\n />\n "])),{__html:wo(window).sanitize(n.default_value)});case"BUTTON":return _e(vo||(vo=t(['\n <div style="margin-bottom: 2rem;">\n <'," label="," />\n </div>\n "])),wn,n.title)}return _e(yo||(yo=t([""])))})),this.shouldShowMapping()&&_e(go||(go=t(["\n <div class=",">\n <","\n stepId=","\n templateFields=","\n showStepValidation=","\n endpointData=","\n ><//>\n </div>\n "])),Io,$i,l.id,l.template_fields,s,this.getMappingDataInput())):_e(bo||(bo=t(["Step data could not be loaded"])))))}}]),o}(),Jo=ge.connect(["stepMapping","stepDataMapping","parentChildMapping"],Bt)(Wo),Go="styles-module_stepsWrap__3VIDN",Ko="styles-module_stepInfo__nU7A7",qo="styles-module_header__2GDea",Qo="styles-module_name__h_9E1",Yo="styles-module_steps__1tZbw",Zo="styles-module_stepContainer__1DBMw",Xo="styles-module_top__JXVEL",$o="styles-module_bottom__2g7TT",ea="styles-module_buttons__2hBh9",ta="styles-module_save__1LVOi",na="styles-module_authWrap__em0DI";function ra(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__3VIDN {\n display: flex;\n min-height: 480px;\n border: 1px solid #d7d7d7;\n box-sizing: border-box;\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n width: 100%;\n box-sizing: border-box;\n padding: 30px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea .styles-module_name__h_9E1 {\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: 20px;\n color: #333333; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 .styles-module_header__2GDea .styles-module_steps__1tZbw {\n font-size: 12px;\n font-weight: 400;\n color: #8c8c8c; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 img,\n .styles-module_stepsWrap__3VIDN .styles-module_stepInfo__nU7A7 svg {\n margin-right: 10px;\n height: 25px;\n width: 25px;\n border-radius: 9999px;\n object-fit: contain; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw {\n display: flex;\n width: 100%;\n flex-direction: column; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_top__JXVEL {\n display: flex;\n width: 100%;\n flex: 1 1 0%;\n padding-top: 50px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT {\n display: flex;\n height: 2rem;\n align-items: center;\n justify-content: flex-end;\n box-sizing: initial;\n border-width: 0px;\n border-top-width: 1px;\n border-style: solid;\n border-color: #d7d7d7;\n padding-top: 20px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT .styles-module_buttons__2hBh9 {\n display: flex; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_bottom__2g7TT .styles-module_buttons__2hBh9 div:not(:last-child) {\n margin-right: 20px; }\n .styles-module_stepsWrap__3VIDN .styles-module_stepContainer__1DBMw .styles-module_save__1LVOi {\n font-size: 12px; }\n\n.styles-module_authWrap__em0DI {\n margin-bottom: 40px;\n width: 100%;\n max-width: 75%; }\n");var ia=function(e){xe(r,K);var n=ra(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).createIntegration=function(){var e=t.props,n=e.stepMapping,r=e.stepDataMapping;if(!t.context.isPreviewMode){t.setState({loading:!0});var i={name:"My new integration",notification_email:"",template:Number(t.props.genericData.templateId),bundle_id:Number(t.props.genericData.bundleId),steps:Object.keys(n).map((function(e){return{id:n[e].step.id,authorization:Number(n[e].selectedAuthId),template_step:n[e].step.id,app_user_data:n[e].step.template_fields.map((function(t){return{id:t.id,value:!r[n[e].step.id][t.id].value&&""!==r[n[e].step.id][t.id].value||r[n[e].step.id][t.id].objectValue?JSON.stringify(r[n[e].step.id][t.id].objectValue):"".concat(r[n[e].step.id][t.id].value),template_field:t.id}}))}}))};t.context.apiHandler.saveIntegration(i).then((function(e){t.setState({loading:!1}),t.context.eventEmitter.emit("did-save-integration",{integrationId:e.id,name:e.name,templateId:e.template,status:e.status})})).catch((function(e){return console.error(e)}))}},t.handleAuthSelected=function(e,n,r){var i=t.props.stepMapping[n].step.template_fields.filter((function(e){return e.activity_field&&e.activity_field.is_dynamic})).map((function(e){return e.id}));t.props.setStepAuthorization(n,e,r,i)},t.state={loading:!1,selectedAuthStep:null},t}return st(r,[{key:"componentDidUpdate",value:function(e){var t,n,r,i,o=e.stepState,a=this.props.stepState;o.stepIndex!==a.stepIndex&&this.context.eventEmitter.emit("did-change-step",{stepId:null!==(t=null===(n=a.steps[a.stepIndex])||void 0===n?void 0:n.stepId)&&void 0!==t?t:null,stepType:null!==(r=null===(i=a.steps[a.stepIndex])||void 0===i?void 0:i.type)&&void 0!==r?r:"CONFIRMATION"})}},{key:"render",value:function(){var e,n,r,i,o,a,s,l,u,c,p,d=this,f=null,_=this.props,m=_.stepState,h=_.stepMapping,v=m.currentStep,y=m.stepIndex,g=m.steps,b=!1,w=!1,x=!1,I=!1;y>-1&&"CONFIRMATION"!==(null==v?void 0:v.type)?(f=h[Number(null==v?void 0:v.stepId)],b=!1,w=m.stepIndex>0,x=null!==(p=null==v?void 0:v.isValid)&&void 0!==p&&p,I=m.showValidation):"CONFIRMATION"===(null==v?void 0:v.type)&&y===g.length&&(b=!0);return _e(Oo||(Oo=t(["\n <div class=",">\n <div class=",">\n <div class=",">\n ","\n </div>\n\n <div class=",'>\n <div style="padding-left: 35px; padding-right: 35px; width: 100%;">\n ',"\n </div>\n </div>\n ","\n </div>\n </div>\n "])),Go,Zo,Ko,v&&_e(Mo||(Mo=t(["\n ","\n "])),b?_e(To||(To=t(["\n <div class=",">\n <div class=",'>\n <svg\n width="25"\n height="25"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="11.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n <div>Confirmation</div>\n </div>\n <div class=',">\n ","\n </div>\n </div>\n "])),qo,Qo,Yo,"Step ".concat((null!==(e=null===(n=this.props.stepState)||void 0===n?void 0:n.stepIndex)&&void 0!==e?e:0)+1," / ").concat((null!==(r=null===(i=this.props.stepState)||void 0===i?void 0:i.steps.length)&&void 0!==r?r:0)+1)):_e(Ao||(Ao=t(["\n <div class=",">\n <div class=",">\n <img src="," />\n <div>\n ","\n </div>\n </div>\n <div class=",">\n ","\n </div>\n </div>\n "])),qo,Qo,null===(o=f)||void 0===o?void 0:o.step.activity.app.icon_url,"CONFIRMATION"!==(null==v?void 0:v.type)&&(null==v?void 0:v.title),Yo,"Step ".concat((null!==(a=null===(s=this.props.stepState)||void 0===s?void 0:s.stepIndex)&&void 0!==a?a:0)+1," / ").concat((null!==(l=null===(u=this.props.stepState)||void 0===u?void 0:u.steps.length)&&void 0!==l?l:0)+1))),Xo,v?_e(Do||(Do=t(["\n ","\n "])),b?_e(Ro||(Ro=t(["\n <div class=",">\n Your integration is ready to be enabled. Click\n “Save” to continue.\n </div>\n "])),ta):_e(Eo||(Eo=t(["\n ","\n "])),f&&_e(No||(No=t(["\n ","\n "])),"AUTH"===(null==v?void 0:v.type)?_e(Lo||(Lo=t(["\n <div class=",">\n <","\n stepId=","\n apiHandler=","\n showErrors=","\n onAuthSelected=","\n >\n <//>\n </div>\n "])),na,Ur,f.step.id,this.context.apiHandler,I,(function(e,t){var n;return d.handleAuthSelected(e,Number(null===(n=f)||void 0===n?void 0:n.step.id),t)})):_e(Po||(Po=t(["\n <","\n step=","\n stepType=","\n showStepValidation=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Jo,null===(c=f)||void 0===c?void 0:c.step,null==v?void 0:v.type,I,this.context.apiHandler,this.context.eventEmitter)))):_e(jo||(jo=t(["This template has no configured steps"]))),v&&_e(Fo||(Fo=t(["\n <div class=",">\n <div class=",">\n ","\n ","\n </div>\n </div>\n "])),$o,ea,w&&_e(zo||(zo=t(["\n <",'\n label="Back"\n onClick=',"\n type=","\n ><//>\n "])),wn,(function(){return d.props.gotoPreviousStep()}),mn.SECONDARY),b?_e(Uo||(Uo=t(["\n ","\n "])),this.state.loading?_e(Ho||(Ho=t(["<"," />"])),qt):_e(Bo||(Bo=t(["\n <",'\n label="Save"\n disabled=',"\n tooltip=","\n onClick=","\n ><//>\n "])),wn,this.context.isPreviewMode,this.context.isPreviewMode?'Integration setup will have to be\ndone in "Live View"':null,(function(){return d.createIntegration()}))):_e(Vo||(Vo=t(["\n <",'\n label="Next"\n disabled=',"\n onClick=","\n ><//>\n "])),wn,!x,(function(){return x?d.props.gotoNextStep():d.props.showStepValidationState()}))))}}]),r}();ia.contextType=jt;var oa,aa,sa,la,ua,ca,pa,da=ge.connect(["stepState","genericData","stepMapping","stepDataMapping"],Bt)(ia),fa="styles-module_wrap__2ZgZ0",_a="styles-module_main__11gFF";Jt(".styles-module_wrap__2ZgZ0 {\n position: relative;\n width: 100%;\n max-width: 730px; }\n\n.styles-module_main__11gFF {\n width: 100%;\n line-height: 1; }\n");var ma,ha=["steps"],va=ge.connect([""],Bt)((function(e){var n,r=Ue(Ye(!1),2),i=r[0],o=r[1],a=Ue(Ye(null),2),s=a[0],l=a[1],u=e.templateId,c=e.bundleId,p=e.customWrapper,d=e.templatePreviewData,f=e.previewMetadata,_=Ue(Ye(null),2),m=_[0],h=_[1],v=Ue(function(e){var t=Qe(He++),n=Ye();return t.i=e,Be.componentDidCatch||(Be.componentDidCatch=function(e){t.i&&t.i(e),n[1](e)}),[n[0],function(){n[1](void 0)}]}((function(){})),2),y=v[0],g=v[1],b=et(jt);return Ze((function(){return function(){e.reset()}}),[]),Ze((function(){y&&console.error(y)}),[y]),Ze((function(){if(o(!0),null!=b&&b.isPreviewMode&&f){if(!d)throw new Error("Preview data was not provided");try{St(d,Wt)}catch(e){return console.error(e),o(!1),void h(e)}var t=d.steps,n=ze(d,ha);return l(d),e.setGenericData({templateId:Number(n.id),bundleId:Number(c),isPreviewMode:b.isPreviewMode}),e.setSteps(t.filter(Qt)),e.setStepMapping(t.filter(Qt)),e.setParentChildMapping(t.filter(Qt)),e.gotoStepInPreview(f),b.eventEmitter.emit("did-load-preview",{templateId:Number(n.id),templateTitle:n.name,templateDescription:n.description}),void o(!1)}if(!u)throw new Error("Template ID not found");null==b||b.apiHandler.getTemplate(Number(u)).then((function(t){l(t),t&&Promise.all(t.steps.map((function(e){return b.apiHandler.getTemplateStep(Number(e.id))}))).then((function(n){n&&(o(!1),e.setSteps(n.filter(Qt)),e.setStepMapping(n.filter(Qt)),e.setParentChildMapping(n.filter(Qt)),e.setGenericData({templateId:Number(u),bundleId:Number(c)}),b.eventEmitter.emit("did-load-template",{templateId:Number(u),templateTitle:t.name,templateDescription:t.description}))})).catch((function(e){return console.error(e)}))}))}),[u]),p?_e(oa||(oa=t(["",""])),p):_e(aa||(aa=t(['\n <div class="'," ",'">\n ',"\n </div>\n "])),fa,"integry-container",y||m?_e(sa||(sa=t(["\n <","\n title=","\n description=","\n errorPayload=","\n onDismiss=","\n />\n "])),Rn,m?"Validation error":"An unexpected error occurred",m?"There was an error validating the preview payload:":"Please review the following stacktrace:",m||y,m?null:g):_e(la||(la=t(["\n <div>\n ","\n </div>\n <div class=",">\n ","\n ","\n </div>\n "])),!i&&s&&_e(ua||(ua=t(["\n <","\n steps=","\n ><//>\n "])),Xn,null===(n=s.steps)||void 0===n?void 0:n.map((function(e){return{label:e.title,logoUrl:e.activity.app.icon_url}}))),_a,i&&_e(ca||(ca=t(['<div style="display: flex; justify-content: center;">\n <'," />\n </div>"])),qt),!i&&s&&_e(pa||(pa=t([" <"," steps=","><//> "])),da,s.steps)))})),ya=ve((function(e){var t,n;t=me,n=function(){var e="undefined"==typeof window,t=new Map,n=new Map,r=[];r.total=0;var i=[],a=[];function s(){t.clear(),n.clear(),i=[],a=[]}function l(e){for(var t=-9007199254740991,n=e.length-1;n>=0;--n){var r=e[n];if(null!==r){var i=r.score;i>t&&(t=i)}}return-9007199254740991===t?null:t}function u(e,t){var n=e[t];if(void 0!==n)return n;var r=t;Array.isArray(t)||(r=t.split("."));for(var i=r.length,o=-1;e&&++o<i;)e=e[r[o]];return e}function c(e){return"object"===o(e)}var p=function(){var e=[],t=0,n={};function r(){for(var n=0,r=e[n],i=1;i<t;){var o=i+1;n=i,o<t&&e[o].score<e[i].score&&(n=o),e[n-1>>1]=e[n],i=1+(n<<1)}for(var a=n-1>>1;n>0&&r.score<e[a].score;a=(n=a)-1>>1)e[n]=e[a];e[n]=r}return n.add=function(n){var r=t;e[t++]=n;for(var i=r-1>>1;r>0&&n.score<e[i].score;i=(r=i)-1>>1)e[r]=e[i];e[r]=n},n.poll=function(){if(0!==t){var n=e[0];return e[0]=e[--t],r(),n}},n.peek=function(n){if(0!==t)return e[0]},n.replaceTop=function(t){e[0]=t,r()},n},d=p();return function o(f){var _={single:function(e,t,n){return e?(c(e)||(e=_.getPreparedSearch(e)),t?(c(t)||(t=_.getPrepared(t)),((n&&void 0!==n.allowTypo?n.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo)(e,t,e[0])):null):null},go:function(e,t,n){if(!e)return r;var i=(e=_.prepareSearch(e))[0],o=n&&n.threshold||f&&f.threshold||-9007199254740991,a=n&&n.limit||f&&f.limit||9007199254740991,s=(n&&void 0!==n.allowTypo?n.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo,p=0,m=0,h=t.length;if(n&&n.keys)for(var v=n.scoreFn||l,y=n.keys,g=y.length,b=h-1;b>=0;--b){for(var w=t[b],x=new Array(g),I=g-1;I>=0;--I)(C=u(w,S=y[I]))?(c(C)||(C=_.getPrepared(C)),x[I]=s(e,C,i)):x[I]=null;x.obj=w;var k=v(x);null!==k&&(k<o||(x.score=k,p<a?(d.add(x),++p):(++m,k>d.peek().score&&d.replaceTop(x))))}else if(n&&n.key){var S=n.key;for(b=h-1;b>=0;--b)(C=u(w=t[b],S))&&(c(C)||(C=_.getPrepared(C)),null!==(O=s(e,C,i))&&(O.score<o||(O={target:O.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:O.score,indexes:O.indexes,obj:w},p<a?(d.add(O),++p):(++m,O.score>d.peek().score&&d.replaceTop(O)))))}else for(b=h-1;b>=0;--b){var C,O;(C=t[b])&&(c(C)||(C=_.getPrepared(C)),null!==(O=s(e,C,i))&&(O.score<o||(p<a?(d.add(O),++p):(++m,O.score>d.peek().score&&d.replaceTop(O)))))}if(0===p)return r;var M=new Array(p);for(b=p-1;b>=0;--b)M[b]=d.poll();return M.total=p+m,M},goAsync:function(t,n,i){var o=!1,a=new Promise((function(a,s){if(!t)return a(r);var d=(t=_.prepareSearch(t))[0],m=p(),h=n.length-1,v=i&&i.threshold||f&&f.threshold||-9007199254740991,y=i&&i.limit||f&&f.limit||9007199254740991,g=(i&&void 0!==i.allowTypo?i.allowTypo:!f||void 0===f.allowTypo||f.allowTypo)?_.algorithm:_.algorithmNoTypo,b=0,w=0;function x(){if(o)return s("canceled");var p=Date.now();if(i&&i.keys)for(var f=i.scoreFn||l,I=i.keys,k=I.length;h>=0;--h){for(var S=n[h],C=new Array(k),O=k-1;O>=0;--O)(A=u(S,T=I[O]))?(c(A)||(A=_.getPrepared(A)),C[O]=g(t,A,d)):C[O]=null;C.obj=S;var M=f(C);if(null!==M&&!(M<v)&&(C.score=M,b<y?(m.add(C),++b):(++w,M>m.peek().score&&m.replaceTop(C)),h%1e3==0&&Date.now()-p>=10))return void(e?setImmediate(x):setTimeout(x))}else if(i&&i.key){for(var T=i.key;h>=0;--h)if((A=u(S=n[h],T))&&(c(A)||(A=_.getPrepared(A)),null!==(D=g(t,A,d))&&!(D.score<v)&&(D={target:D.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:D.score,indexes:D.indexes,obj:S},b<y?(m.add(D),++b):(++w,D.score>m.peek().score&&m.replaceTop(D)),h%1e3==0&&Date.now()-p>=10)))return void(e?setImmediate(x):setTimeout(x))}else for(;h>=0;--h){var A,D;if((A=n[h])&&(c(A)||(A=_.getPrepared(A)),null!==(D=g(t,A,d))&&!(D.score<v)&&(b<y?(m.add(D),++b):(++w,D.score>m.peek().score&&m.replaceTop(D)),h%1e3==0&&Date.now()-p>=10)))return void(e?setImmediate(x):setTimeout(x))}if(0===b)return a(r);for(var R=new Array(b),E=b-1;E>=0;--E)R[E]=m.poll();R.total=b+w,a(R)}e?setImmediate(x):x()}));return a.cancel=function(){o=!0},a},highlight:function(e,t,n){if(null===e)return null;void 0===t&&(t="<b>"),void 0===n&&(n="</b>");for(var r="",i=0,o=!1,a=e.target,s=a.length,l=e.indexes,u=0;u<s;++u){var c=a[u];if(l[i]===u){if(o||(o=!0,r+=t),++i===l.length){r+=c+n+a.substr(u+1);break}}else o&&(o=!1,r+=n);r+=c}return r},prepare:function(e){if(e)return{target:e,_targetLowerCodes:_.prepareLowerCodes(e),_nextBeginningIndexes:null,score:null,indexes:null,obj:null}},prepareSlow:function(e){if(e)return{target:e,_targetLowerCodes:_.prepareLowerCodes(e),_nextBeginningIndexes:_.prepareNextBeginningIndexes(e),score:null,indexes:null,obj:null}},prepareSearch:function(e){if(e)return _.prepareLowerCodes(e)},getPrepared:function(e){if(e.length>999)return _.prepare(e);var n=t.get(e);return void 0!==n||(n=_.prepare(e),t.set(e,n)),n},getPreparedSearch:function(e){if(e.length>999)return _.prepareSearch(e);var t=n.get(e);return void 0!==t||(t=_.prepareSearch(e),n.set(e,t)),t},algorithm:function(e,t,n){for(var r=t._targetLowerCodes,o=e.length,s=r.length,l=0,u=0,c=0,p=0;;){if(n===r[u]){if(i[p++]=u,++l===o)break;n=e[0===c?l:c===l?l+1:c===l-1?l-1:l]}if(++u>=s)for(;;){if(l<=1)return null;if(0===c){if(n===e[--l])continue;c=l}else{if(1===c)return null;if((n=e[1+(l=--c)])===e[l])continue}u=i[(p=l)-1]+1;break}}l=0;var d=0,f=!1,m=0,h=t._nextBeginningIndexes;null===h&&(h=t._nextBeginningIndexes=_.prepareNextBeginningIndexes(t.target));var v=u=0===i[0]?0:h[i[0]-1];if(u!==s)for(;;)if(u>=s){if(l<=0){if(++d>o-2)break;if(e[d]===e[d+1])continue;u=v;continue}--l,u=h[a[--m]]}else if(e[0===d?l:d===l?l+1:d===l-1?l-1:l]===r[u]){if(a[m++]=u,++l===o){f=!0;break}++u}else u=h[u];if(f)var y=a,g=m;else y=i,g=p;for(var b=0,w=-1,x=0;x<o;++x)w!==(u=y[x])-1&&(b-=u),w=u;for(f?0!==d&&(b+=-20):(b*=1e3,0!==c&&(b+=-20)),b-=s-o,t.score=b,t.indexes=new Array(g),x=g-1;x>=0;--x)t.indexes[x]=y[x];return t},algorithmNoTypo:function(e,t,n){for(var r=t._targetLowerCodes,o=e.length,s=r.length,l=0,u=0,c=0;;){if(n===r[u]){if(i[c++]=u,++l===o)break;n=e[l]}if(++u>=s)return null}l=0;var p=!1,d=0,f=t._nextBeginningIndexes;if(null===f&&(f=t._nextBeginningIndexes=_.prepareNextBeginningIndexes(t.target)),(u=0===i[0]?0:f[i[0]-1])!==s)for(;;)if(u>=s){if(l<=0)break;--l,u=f[a[--d]]}else if(e[l]===r[u]){if(a[d++]=u,++l===o){p=!0;break}++u}else u=f[u];if(p)var m=a,h=d;else m=i,h=c;for(var v=0,y=-1,g=0;g<o;++g)y!==(u=m[g])-1&&(v-=u),y=u;for(p||(v*=1e3),v-=s-o,t.score=v,t.indexes=new Array(h),g=h-1;g>=0;--g)t.indexes[g]=m[g];return t},prepareLowerCodes:function(e){for(var t=e.length,n=[],r=e.toLowerCase(),i=0;i<t;++i)n[i]=r.charCodeAt(i);return n},prepareBeginningIndexes:function(e){for(var t=e.length,n=[],r=0,i=!1,o=!1,a=0;a<t;++a){var s=e.charCodeAt(a),l=s>=65&&s<=90,u=l||s>=97&&s<=122||s>=48&&s<=57,c=l&&!i||!o||!u;i=l,o=u,c&&(n[r++]=a)}return n},prepareNextBeginningIndexes:function(e){for(var t=e.length,n=_.prepareBeginningIndexes(e),r=[],i=n[0],o=0,a=0;a<t;++a)i>a?r[a]=i:(i=n[++o],r[a]=void 0===i?t:i);return r},cleanup:s,new:o};return _}()},e.exports?e.exports=n():t.fuzzysort=n()})),ga="styles-module_search__2j0G1",ba="styles-module_resultCount__12RMZ";function wa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_search__2j0G1 {\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n display: flex;\n width: 100%;\n flex: 1 1 0%;\n overflow: hidden;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity)); }\n .styles-module_search__2j0G1 input {\n margin: 0.25rem;\n height: 100%;\n width: 100%;\n flex: 1 1 0%;\n border-style: none;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.styles-module_resultCount__12RMZ {\n display: flex;\n align-items: center;\n justify-content: center;\n border-left-width: 1px;\n border-top-width: 0px;\n border-right-width: 0px;\n border-bottom-width: 0px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 700;\n --tw-text-opacity: 1;\n color: rgba(156, 163, 175, var(--tw-text-opacity)); }\n");var xa,Ia=function(e){xe(r,K);var n=wa(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).onInput=function(e){if(e.target instanceof HTMLInputElement){var n=e.target.value;t.setState({value:n}),t.props.onChange(n)}},t.state={value:t.props.initialValue||""},t}return st(r,[{key:"render",value:function(){return _e(ma||(ma=t(["\n <div class="," ",">\n <input\n placeholder=","\n value=","\n oninput=","\n />\n <div class=",">"," results</div>\n </div>\n "])),ga,"integry-search",this.props.placeholder||"Search...",this.state.value,this.onInput,ba,this.props.resultCount)}}]),r}(),ka="styles-module_nav__bKw4L",Sa="styles-module_tab__3xQCg",Ca="styles-module_tabactive__2JeoG";Jt(".styles-module_nav__bKw4L {\n margin-bottom: 0px;\n margin-top: 0px;\n padding: 0px;\n border-top-width: 0px;\n border-right-width: 0px;\n border-left-width: 0px;\n border-bottom-width: 1px;\n border-style: solid;\n border-color: rgba(107, 114, 128, 0.25); }\n\n.styles-module_tab__3xQCg {\n display: inline-block;\n cursor: pointer;\n list-style-type: none;\n border-bottom-width: 2px;\n border-color: transparent;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-bottom: 0.25rem;\n line-height: 2rem;\n color: #9ca3af;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n margin-bottom: -1px; }\n .styles-module_tab__3xQCg:hover {\n border-width: 0px;\n border-bottom-width: 2px;\n border-style: solid;\n border-color: #509cf6; }\n\n.styles-module_tabactive__2JeoG {\n border-width: 0px;\n border-bottom-width: 2px;\n border-style: solid;\n border-color: #509cf6;\n color: #374151; }\n");var Oa,Ma,Ta,Aa=function(e){var n=e.label,r=e.activeTab,i=e.onClick;return _e(xa||(xa=t(["\n <li\n class=","\n onclick=","\n >\n ","\n </li>\n "])),"".concat(Sa," ").concat(r===n?Ca:""),(function(){i(n)}),n)},Da=function(e){var n=e.preSelectedTab,r=e.children;if(!Array.isArray(r)||r.length<2)throw new Error("Tab Bar must have at least two children");var i=Ue(Ye(n||r[0].props.label),2),o=i[0],a=i[1],s=function(e){a(e)};return _e(Oa||(Oa=t(["\n <div>\n <ol class=",">\n ",'\n </ol>\n <div className="tab-content">\n ',"\n </div>\n </div>\n "])),ka,r.map((function(e){var n=e.props.label;return _e(Ma||(Ma=t(["\n <","\n activeTab=","\n key=","\n label=","\n onClick=","\n >\n <//>\n "])),Aa,o,n,n,s)})),r.map((function(e){if(e.props.label===o)return e.props.children})))},Ra="styles-module_toggle__2c6vj",Ea="styles-module_inner__2w3FN",Na="styles-module_toggled__3gmsw";Jt(".styles-module_toggle__2c6vj {\n position: relative; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN {\n position: relative;\n border-radius: 9999px;\n background-color: #9ca3af;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: linear;\n position: relative;\n height: 20px;\n width: 40px; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN.styles-module_toggled__3gmsw {\n background: #39d239; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN label {\n position: absolute;\n left: 0px;\n margin-bottom: 0.5rem;\n transform: translateX(0px);\n cursor: pointer;\n border-radius: 9999px;\n border-width: 2px;\n border-style: solid;\n border-color: #9ca3af;\n background-color: white;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n height: 16px;\n width: 16px; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN label.styles-module_toggled__3gmsw {\n border-color: #39d239;\n transform: translateX(100%); }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input {\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input:active {\n outline: none; }\n .styles-module_toggle__2c6vj .styles-module_inner__2w3FN input:focus {\n outline: none; }\n");var La,Pa,ja,Fa,za,Ua=function(e){var n=e.id,r=e.value,i=e.onChange;return _e(Ta||(Ta=t(["\n <div class=",">\n <div class=",">\n <label for="," class=",'></label>\n <input type="checkbox" id='," onclick="," />\n </div>\n </div>\n "])),Ra,"".concat(Ea," ").concat(r?Na:""," "),n,"".concat(r?Na:""," "),n,(function(){i(!r)}))},Ha="styles-module_integrations__2vJT8",Ba="styles-module_integration__MtN8C",Va="styles-module_header__1d_zB",Wa="styles-module_row__1UAlk",Ja="styles-module_topbar__3TTLr";function Ga(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_integrations__2vJT8 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n display: flex;\n flex-direction: column; }\n .styles-module_integrations__2vJT8 .styles-module_integration__MtN8C {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem; }\n .styles-module_integrations__2vJT8 .styles-module_integration__MtN8C img {\n height: 3rem;\n width: 3rem; }\n\n.styles-module_header__1d_zB {\n margin-bottom: 0.75rem;\n margin-top: 1.5rem;\n letter-spacing: 0.025em;\n --tw-text-opacity: 1;\n color: rgba(80, 156, 246, var(--tw-text-opacity)); }\n\n.styles-module_row__1UAlk {\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-radius: 0.25rem;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n padding-top: 1rem;\n padding-bottom: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgba(55, 65, 81, var(--tw-text-opacity));\n transition: border-color 0.2s; }\n .styles-module_row__1UAlk:hover {\n border-color: #a8a8a8; }\n\n.styles-module_topbar__3TTLr {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 1rem; }\n");var Ka,qa,Qa=function(e){xe(r,K);var n=Ga(r);function r(){var e;return i(this,r),(e=n.apply(this,arguments)).toggleIntegration=function(t,n){e.props.apiHandler.toggleIntegration(t,n).then((function(e){console.info(e)})).catch((function(e){return console.error(e)}))},e.onIntegrationDelete=function(t){e.props.apiHandler.deleteIntegration(t).then((function(e){console.info(e)})).catch((function(e){return console.error(e)}))},e}return st(r,[{key:"render",value:function(){var e=this;return _e(La||(La=t(["\n <div>\n <div class=",">\n \x3c!-- <h2 class=",">My Flows</h2> --\x3e\n \x3c!-- <"," items=",' value="sort" //> --\x3e\n </div>\n <div class=','>\n <div class="flex w-12">Status</div>\n <div class="flex w-12"></div>\n <div class="flex-1 pl-4">Integration Name</div>\n <div class="w-24">Runs</div>\n <div class="w-40">Last Activity</div>\n <div class="w-16"></div>\n <div class="flex w-6"></div>\n </div>\n <div class=',">\n ","\n ","\n </div>\n </div>\n "])),Ja,Va,yi,[{id:"sort",value:"Sort"}],Wa,Ha,this.props.integrations.length<1&&_e(Pa||(Pa=t(["No integrations"]))),this.props.integrations.map((function(n){return _e(ja||(ja=t(['\n <div\n class="'," ",'"\n >\n <div class=','>\n <div class="flex w-12">\n ','\n </div>\n <div class="flex w-12">\n <img src=',' />\n </div>\n <div class="flex-1 pl-4">','</div>\n <div class="w-24">','</div>\n <div class="w-40">\n ','\n </div>\n <div class="w-16">\n <',"\n id=","\n value=","\n onChange=",'\n >\n <//>\n </div>\n <div\n class="flex w-6 cursor-pointer"\n onclick=','\n >\n <svg\n width="12"\n height="15"\n viewBox="0 0 12 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M0 4.16667H12"\n stroke="#F05C42"\n stroke-width="1.2"\n />\n <path\n d="M10 5.5V6.16667L9.33333 13.5H2.66667L2 6.16667V5.5"\n stroke="#F05C42"\n stroke-width="1.2"\n stroke-linejoin="round"\n />\n <path\n d="M4 3.5V2.16667C4 1.79848 4.29848 1.5 4.66667 1.5H7.33333C7.70152 1.5 8 1.79848 8 2.16667V3.5"\n stroke="#F05C42"\n stroke-width="1.2"\n />\n </svg>\n </div>\n </div>\n </div>\n '])),Ba,"integry_container_Integration",Wa,"fail"!==n.task_execution.status?_e(Fa||(Fa=t(['\n <svg\n width="22"\n height="22"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="12.5"\n fill="#2ECC71"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n </svg>\n ']))):_e(za||(za=t(['<svg\n width="22"\n height="25"\n viewBox="0 0 25 27"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle cx="12.5" cy="12.5" r="12.5" fill="#E26154" />\n <g filter="url(#filter0_d)">\n <path\n fill-rule="evenodd"\n clip-rule="evenodd"\n d="M11.1886 8.05792C11.1209 7.32574 11.7556 6.61621 12.4701 6.61621C13.2413 6.61621 13.8535 7.32568 13.7963 8.05792L13.3542 13.5234C13.3206 14.0117 12.8896 14.3955 12.4019 14.3605C11.9713 14.3255 11.6422 13.9535 11.6196 13.5234L11.1886 8.05792ZM11.1836 16.9743C11.1836 16.3124 11.7654 15.7737 12.4835 15.7737C13.2189 15.7737 13.8007 16.3124 13.8 16.9743V17.2052C13.8 17.8671 13.2015 18.3902 12.4835 18.3902C11.7647 18.3902 11.1836 17.8671 11.1836 17.2052V16.9743Z"\n fill="white"\n />\n </g>\n <defs>\n <filter\n id="filter0_d"\n x="7.18359"\n y="6.61621"\n width="10.6164"\n height="19.7739"\n filterUnits="userSpaceOnUse"\n color-interpolation-filters="sRGB"\n >\n <feFlood\n flood-opacity="0"\n result="BackgroundImageFix"\n />\n <feColorMatrix\n in="SourceAlpha"\n type="matrix"\n values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"\n result="hardAlpha"\n />\n <feOffset dy="4" />\n <feGaussianBlur stdDeviation="2" />\n <feColorMatrix\n type="matrix"\n values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"\n />\n <feBlend\n mode="normal"\n in2="BackgroundImageFix"\n result="effect1_dropShadow"\n />\n <feBlend\n mode="normal"\n in="SourceGraphic"\n in2="effect1_dropShadow"\n result="shape"\n />\n </filter>\n </defs>\n </svg> ']))),n.icon_url,n.name,n.runs_count,n.task_execution.last_execution_at?function(e){var t=Math.floor((Date.now()-e.getTime())/1e3),n=[{label:"year",seconds:31536e3},{label:"month",seconds:2592e3},{label:"day",seconds:86400},{label:"hour",seconds:3600},{label:"minute",seconds:60},{label:"A few second",seconds:0}].find((function(e){return e.seconds<t}));if(n){var r=Math.floor(t/n.seconds);return Number.isInteger(r)||(r=0),"".concat(r>0?r:""," ").concat(n.label).concat(1!==r?"s":""," ago")}return"Cannot be formatted with interval ".concat(n)}(new Date("".concat(n.task_execution.last_execution_at.date," ").concat(n.task_execution.last_execution_at.timezone))):"Never run",Ua,n.id,"ACTIVE"===n.status,(function(t){return e.toggleIntegration(n.id,t)}),(function(){return e.onIntegrationDelete(n.id)}))})))}}]),r}();!function(e){e.MODAL="MODAL",e.INLINE="INLINE",e.DETACHED="DETACHED",e.CUSTOM="CUSTOM"}(Ka||(Ka={})),function(e){e.GRID="GRID",e.LIST="LIST"}(qa||(qa={}));var Ya,Za,Xa,$a,es="styles-module_template_list__3HABS",ts="styles-module_template_grid__mH7-0",ns="styles-module_header__cdTrS";function rs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_template_list__3HABS {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.styles-module_template_grid__mH7-0 {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n @media (min-width: 768px) {\n .styles-module_template_grid__mH7-0 {\n grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n @media (min-width: 1280px) {\n .styles-module_template_grid__mH7-0 {\n grid-template-columns: repeat(5, minmax(0, 1fr)); } }\n\n.styles-module_header__cdTrS {\n margin-bottom: 0.75rem;\n margin-top: 1.5rem;\n letter-spacing: 0.025em;\n --tw-text-opacity: 1;\n color: rgba(80, 156, 246, var(--tw-text-opacity)); }\n");var is,os,as,ss,ls,us=function(e){xe(r,K);var n=rs(r);function r(){var e;return i(this,r),(e=n.call(this)).filterTemplates=function(t){t?e.setState({filteredTemplates:ya.go(t,e.state.templates,{keys:["name","branding_app.tags"],scoreFn:function(e){var t=e[0],n=e[1];return Math.max(t?t.score+100:-1/0,n?n.score:-1/0)}}).map((function(e){return e.obj}))}):e.setState({filteredTemplates:e.state.templates})},e.onTemplateClick=function(t){e.props.setGenericData({templateId:t}),e.props.onTemplateClick&&e.props.onTemplateClick(t)},e.state={loading:!1,integrations:[],templates:[],filteredTemplates:[]},e}return st(r,[{key:"componentDidMount",value:function(){var e=this;this.setState({loading:!0}),this.props.setGenericData({bundleId:Number(this.props.bundleId)}),this.props.apiHandler.getTemplateListing(this.props.bundleId).then((function(t){t&&e.setState({integrations:t.integrations,templates:t.templates,filteredTemplates:t.templates,loading:!1})}))}},{key:"render",value:function(){var e=this;return _e(Ya||(Ya=t(["\n <div>\n ","\n </div>\n "])),this.state.loading?_e(Za||(Za=t([" <"," //> "])),qt):_e(Xa||(Xa=t(["\n <",'>\n <div label="Guided Flows">\n \x3c!-- <h2 class=',">Available Flows</h2> --\x3e\n <div>\n <","\n resultCount=","\n onChange=",'\n >\n <//>\n </div>\n <div\n class="'," ",'"\n >\n ','\n </div>\n </div>\n <div label="My Flows">\n <'," apiHandler=","\n integrations="," //>\n </div>\n <//>\n "])),Da,ns,Ia,this.state.filteredTemplates.length,(function(t){return e.filterTemplates(t)}),this.props.layout===qa.LIST?es:ts,"integry-container_TemplatesView",this.state.filteredTemplates.map((function(n){return _e($a||($a=t(["\n <","\n name=","\n description=","\n layout=","\n tags=","\n imgUrl=","\n onClick=","\n >\n <//>\n "])),e.props.templateContainerTemplate,n.name,n.description,e.props.layout,n.branding_app.tags,n.branding_app.icon_url,(function(){return e.onTemplateClick(n.id)}))})),Qa,this.props.apiHandler,this.state.integrations))}}],[{key:"handleClick",value:function(e){e.preventDefault(),e.target instanceof HTMLElement&&console.info(e.target.localName)}}]),r}(),cs=ge.connect("",Bt)(us),ps="styles-module_navigation__2nFX8",ds="styles-module_navItem__ozaSU",fs="styles-module_navItemContent__3UHl8",_s="styles-module_imgContainer__c7lfR",ms="styles-module_active__1nm22",hs="styles-module_disabled__1JpJ1";function vs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_navigation__2nFX8 {\n width: 12rem; }\n\n.styles-module_navItem__ozaSU {\n margin-bottom: 0.5rem;\n cursor: pointer;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 {\n display: flex;\n height: 2.5rem;\n align-items: center;\n font-size: 0.875rem;\n line-height: 1.25rem; }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR {\n margin-right: 0.75rem;\n height: 1.5rem;\n width: 1.5rem;\n overflow: hidden;\n border-radius: 9999px; }\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR img,\n .styles-module_navItem__ozaSU .styles-module_navItemContent__3UHl8 .styles-module_imgContainer__c7lfR svg {\n height: 100%;\n width: 100%;\n object-fit: contain; }\n .styles-module_navItem__ozaSU.styles-module_active__1nm22 {\n opacity: 1; }\n .styles-module_navItem__ozaSU.styles-module_disabled__1JpJ1 {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n opacity: 0.5; }\n");var ys,gs,bs,ws=_e(is||(is=t([' <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n>\n <rect opacity="0.7" width="15" height="15" rx="7.5" fill="#2ECC71" />\n <path\n d="M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033"\n stroke="white"\n stroke-width="1.2"\n stroke-linecap="round"\n />\n</svg>']))),xs=_e(os||(os=t(['\n <svg\n width="15"\n height="15"\n viewBox="0 0 15 15"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="7.5"\n cy="7.5"\n r="6.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M10.3333 5.5L6.83522 9.5L5 7.40148"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n']))),Is=function(e){xe(r,K);var n=vs(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props,n=e.logoUrl,r=e.isActive,i=void 0!==r&&r,o=e.isCompleted,a=void 0!==o&&o,s=e.isDisabled,l=void 0!==s&&s,u=e.isLastStep,c=void 0!==u&&u,p=e.onClick,d=void 0===p?function(){return null}:p;return _e(as||(as=t(["\n <div\n class=","\n onclick=",'\n tabindex="-1"\n role="button"\n >\n <div class=',">\n <div class=",">\n ","\n </div>\n <div>","</div>\n </div>\n </div>\n "])),"".concat(ds," ").concat(l?hs:""," ").concat(i?ms:""),d,fs,_s,c?xs:_e(ss||(ss=t(["\n ","\n "])),!a||i?_e(ls||(ls=t(["<img src="," />"])),n):ws),this.props.label)}}]),r}();function ks(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Ss=function(e){xe(r,K);var n=ks(r);function r(){var e;return i(this,r),(e=n.apply(this,arguments)).changeStep=function(t){e.props.gotoStep(t)},e}return st(r,[{key:"render",value:function(){var e,n=this,r=this.props.stepState,i=null==r?void 0:r.currentStep;return _e(ys||(ys=t(["\n <div class=",">\n <div>\n ","\n <",'\n label="Confirmation"\n isCompleted=',"\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />\n </div>\n </div>\n "])),ps,this.props.stepState&&_e(gs||(gs=t(["\n ","\n "])),null===(e=this.props.stepState)||void 0===e?void 0:e.steps.map((function(e,o){return _e(bs||(bs=t([" <","\n label=","\n logoUrl=","\n isCompleted=","\n isActive=","\n isDisabled=","\n isLastStep=","\n onClick=","\n />"])),Is,"CONFIRMATION"!==e.type?e.title:"Confirmation","CONFIRMATION"!==e.type&&e.iconUrl,e.isCompleted,"CONFIRMATION"!==(null==i?void 0:i.type)&&"CONFIRMATION"!==e.type&&r.stepIndex===o,Number(null==r?void 0:r.stepIndex)<o,!1,(function(){return n.changeStep(o)}))}))),Is,!0,void 0!==i&&(null==r?void 0:r.stepIndex)===(null==r?void 0:r.steps.length),void 0!==i&&(null==r?void 0:r.stepIndex)!==(null==r?void 0:r.steps.length),!0,(function(){var e;return n.changeStep(null!==(e=null==r?void 0:r.steps.length)&&void 0!==e?e:0)}))}}]),r}();Ss.defaultProps={currentStepIndex:-1,completedTillIndex:-1};var Cs,Os,Ms,Ts,As,Ds,Rs,Es,Ns,Ls,Ps,js,Fs,zs=ge.connect("stepState",Bt)(Ss),Us={stepsWrap:"styles-module_stepsWrap__axf95",stepsContainer:"styles-module_stepsContainer__1vEyC",stepContainer:"styles-module_stepContainer__1u05c",top:"styles-module_top__1EhEd",bottom:"styles-module_bottom__3dACP",buttons:"styles-module_buttons__LDv9h"};function Hs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_stepsWrap__axf95 {\n min-height: 400px;\n margin-top: 1rem;\n display: flex;\n min-height: 400px; }\n .styles-module_stepsWrap__axf95 .styles-module_stepsContainer__1vEyC {\n border-width: 0px;\n border-right-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(209, 213, 219, var(--tw-border-opacity));\n padding-right: 1rem; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding-left: 1rem; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_top__1EhEd {\n display: flex;\n width: 100%;\n flex: 1 1 0%; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP {\n display: flex;\n justify-content: flex-end; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP .styles-module_buttons__LDv9h {\n display: flex; }\n .styles-module_stepsWrap__axf95 .styles-module_stepContainer__1u05c .styles-module_bottom__3dACP .styles-module_buttons__LDv9h button:not(:last-child) {\n margin-right: 14px; }\n");var Bs=function(e){xe(r,K);var n=Hs(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).createIntegration=function(){var e=t.props,n=e.stepMapping,r=e.stepDataMapping;console.info(n),t.setState({loading:!0});var i={name:"My new integration",notification_email:"",template:Number(t.props.genericData.templateId),bundle_id:Number(t.props.genericData.bundleId),steps:Object.keys(n).map((function(e){return{id:n[e].step.id,authorization:Number(n[e].selectedAuthId),template_step:n[e].step.id,app_user_data:n[e].step.template_fields.map((function(t){return{id:t.id,value:!r[n[e].step.id][t.id].value&&""!==r[n[e].step.id][t.id].value||r[n[e].step.id][t.id].objectValue?JSON.stringify(r[n[e].step.id][t.id].objectValue):"".concat(r[n[e].step.id][t.id].value),template_field:t.id}}))}}))};console.info(i),t.context.apiHandler.saveIntegration(i).then((function(e){console.info(e),t.setState({loading:!1})})).catch((function(e){return console.error(e)}))},t.handleAuthSelected=function(e,n,r){var i=t.props.stepMapping[n].step.template_fields.filter((function(e){return e.activity_field&&e.activity_field.is_dynamic})).map((function(e){return e.id}));t.props.setStepAuthorization(n,e,r,i)},t.state={loading:!1,selectedAuthStep:null},t}return st(r,[{key:"render",value:function(){var e,n,r,i,o,a=this,s=null,l=this.props.stepState,u=l.currentStep,c=l.stepIndex,p=l.steps,d=!1,f=!1,_=!1,m=!1;c>-1&&"CONFIRMATION"!==(null==u?void 0:u.type)?(s=this.props.stepMapping[Number(null==u?void 0:u.stepId)],d=!1,f=this.props.stepState.stepIndex>0,_=null!==(o=null==u?void 0:u.isValid)&&void 0!==o&&o,m=l.showValidation):"CONFIRMATION"===(null==u?void 0:u.type)&&c===p.length&&(d=!0);return _e(Cs||(Cs=t(["\n <div class=",">\n <div class=",">\n <","\n steps=","\n currentStepIndex=","\n completedTillIndex=","\n ><//>\n </div>\n <div class=",">\n <div class=",">\n ","\n </div>\n\n <div class=",">\n ","\n </div>\n <div class=",">\n <div class=",">\n ","\n ","\n </div>\n </div>\n </div>\n </div>\n "])),Us.stepsWrap,Us.stepsContainer,zs,null===(e=this.props.steps)||void 0===e?void 0:e.map((function(e){return{label:e.title,logoUrl:e.activity.app.icon_url}})),-1,-1,Us.stepContainer,Us.stepInfo,d?_e(Os||(Os=t(['\n <svg\n width="25"\n height="25"\n viewBox="0 0 25 25"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12.5"\n cy="12.5"\n r="11.75"\n fill="white"\n stroke="#2ECC71"\n stroke-width="1.5"\n />\n <path\n d="M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361"\n stroke="#2ECC71"\n stroke-width="1.5"\n stroke-linecap="round"\n />\n </svg>\n <div>Confirmation</div>\n ']))):_e(Ms||(Ms=t(["\n \x3c!-- <img src="," />\n <div>","</div> --\x3e\n "])),null===(n=s)||void 0===n?void 0:n.step.activity.app.icon_url,null===(r=s)||void 0===r?void 0:r.step.title),Us.top,d?_e(Ts||(Ts=t(["\n <div class=",">\n Your integration is ready to be enabled. Click “Save” to\n continue.\n </div>\n "])),Us.save):_e(As||(As=t(["\n ","\n "])),s&&_e(Ds||(Ds=t(["\n ","\n "])),"AUTH"===(null==u?void 0:u.type)?_e(Rs||(Rs=t(["\n <div class=",">\n <","\n stepId=","\n apiHandler=","\n showErrors=","\n onAuthSelected=","\n >\n <//>\n </div>\n "])),Us.stepWrap,Ur,s.step.id,this.context.apiHandler,m,(function(e,t){var n;return a.handleAuthSelected(e,Number(null===(n=s)||void 0===n?void 0:n.step.id),t)})):_e(Es||(Es=t(["\n <","\n step=","\n stepType=","\n showStepValidation=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Jo,null===(i=s)||void 0===i?void 0:i.step,null==u?void 0:u.type,m,this.context.apiHandler,this.context.eventEmitter))),Us.bottom,Us.buttons,f&&_e(Ns||(Ns=t(["\n <",'\n label="Back"\n onClick=',"\n type=","\n ><//>\n "])),wn,(function(){return a.props.gotoPreviousStep()}),mn.SECONDARY),d?_e(Ls||(Ls=t(["\n ","\n "])),this.state.loading?_e(Ps||(Ps=t(["<"," />"])),qt):_e(js||(js=t(["\n <",'\n label="Save"\n onClick=',"\n ><//>\n "])),wn,(function(){return a.createIntegration()}))):_e(Fs||(Fs=t(["\n <",'\n label="Next"\n disabled=',"\n onClick=","\n ><//>\n "])),wn,!_,(function(){return _?a.props.gotoNextStep():a.props.showStepValidationState()})))}}]),r}();Bs.contextType=jt;var Vs,Ws,Js,Gs=ge.connect(["stepState","genericData","stepMapping","stepDataMapping"],Bt)(Bs),Ks="styles-module_header__3p3k1",qs="styles-module_name__2PDqJ",Qs="styles-module_description__39K41";function Ys(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_header__3p3k1 {\n width: 100%;\n align-items: center;\n display: flex;\n height: 100%;\n margin-bottom: 1rem; }\n .styles-module_header__3p3k1 img {\n border-radius: 9999px;\n margin-right: 0.5rem; }\n .styles-module_header__3p3k1 .styles-module_name__2PDqJ {\n font-weight: 700;\n line-height: 1.625; }\n .styles-module_header__3p3k1 .styles-module_description__39K41 {\n font-weight: 300;\n font-size: 0.875rem;\n line-height: 1.25rem; }\n");var Zs,Xs,$s,el=function(e){xe(r,K);var n=Ys(r);function r(){var e;return i(this,r),(e=n.call(this)).state={loading:!0,template:null},e}return st(r,[{key:"componentDidMount",value:function(){var e=this;this.props.apiHandler.getTemplate(this.props.templateId).then((function(t){t&&Promise.all(t.steps.map((function(t){return e.props.apiHandler.getTemplateStep(Number(t.id))}))).then((function(n){e.setState({template:t,loading:!1}),e.props.setSteps(n.filter(Qt)),e.props.setStepMapping(n.filter(Qt)),e.props.setParentChildMapping(n.filter(Qt)),e.props.setGenericData({templateId:Number(e.props.templateId)})})).catch((function(e){return console.error(e)}))})).catch((function(e){throw new Error(e)}))}},{key:"render",value:function(){var e=this.state.template;return _e(Vs||(Vs=t(["\n <div>\n ","\n </div>\n "])),this.state.loading?_e(Ws||(Ws=t(["<"," //>"])),qt):_e(Js||(Js=t(["\n <div class=",">\n <img src=",' width="40" />\n <div>\n <div class=',">","</div>\n <div class=",">\n ","\n </div>\n </div>\n </div>\n\n <","\n steps=","\n apiHandler=","\n eventEmitter=","\n />\n "])),Ks,null==e?void 0:e.branding_app.icon_url,qs,null==e?void 0:e.name,Qs,null==e?void 0:e.description,Gs,null==e?void 0:e.steps,this.props.apiHandler,this.props.eventEmitter))}}]),r}(),tl=ge.connect("",Bt)(el),nl="styles-module_name__3qMVY",rl="styles-module_description__2S97K",il="styles-module_tags__2fhyE",ol="styles-module_tag__26APx",al="styles-module_template_list_view__jxmde",sl="styles-module_template_grid_view__WmHjg";function ll(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_name__3qMVY {\n margin-bottom: 0.5rem;\n --tw-text-opacity: 1;\n color: rgba(31, 41, 55, var(--tw-text-opacity)); }\n\n.styles-module_description__2S97K {\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: rgba(107, 114, 128, var(--tw-text-opacity)); }\n\n.styles-module_tags__2fhyE {\n margin-top: 0.5rem;\n margin-bottom: -0.5rem;\n display: flex;\n flex-wrap: wrap; }\n .styles-module_tags__2fhyE .styles-module_tag__26APx {\n margin-right: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: 0.75rem;\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n padding: 0.25rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.75rem;\n line-height: 1rem;\n --tw-text-opacity: 1;\n color: rgba(107, 114, 128, var(--tw-text-opacity)); }\n\n.styles-module_template_list_view__jxmde {\n display: flex;\n cursor: pointer;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n transition: border-color 0.2s; }\n .styles-module_template_list_view__jxmde img {\n margin-bottom: 0.75rem;\n height: 2.5rem;\n width: 2.5rem; }\n .styles-module_template_list_view__jxmde:hover {\n border-color: #a8a8a8; }\n\n.styles-module_template_grid_view__WmHjg {\n display: flex;\n cursor: pointer;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 0.25rem;\n border-width: 1px;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n transition: border-color 0.2s; }\n .styles-module_template_grid_view__WmHjg img {\n margin-bottom: 0.75rem;\n height: 2.5rem;\n width: 2.5rem; }\n .styles-module_template_grid_view__WmHjg:hover {\n border-color: #a8a8a8; }\n");var ul,cl,pl=function(e){xe(r,K);var n=ll(r);function r(e){var t;return i(this,r),(t=n.call(this,e)).handleClick=function(){console.info(t.props.name)},t.state={templateName:t.props.name},t}return st(r,[{key:"render",value:function(){return _e(Zs||(Zs=t(["\n <div\n onclick=",'\n class="'," ",'"\n >\n <div>\n <img src='," />\n <p class=",">","</p>\n <p class=",">","</p>\n </div>\n ","\n </div>\n "])),this.props.onClick,this.props.layout===qa.LIST?al:sl,"integry-container_Template",this.props.imgUrl,nl,this.state.templateName,rl,this.props.description,this.props.tags.length>0&&_e(Xs||(Xs=t(["\n <div class=",">\n ","\n </div>\n "])),il,this.props.tags.split(",").map((function(e){return _e($s||($s=t([" <div class=",">","</div> "])),ol,e)}))))}}],[{key:"handleClick",value:function(e){e.preventDefault(),e.target instanceof HTMLElement&&console.info(e.target.localName)}}]),r}(),dl="styles-module_modal__3ImBF",fl="styles-module_open__AAUJ5",_l="styles-module_modalContainer__o6TKt",ml="styles-module_inset__-NimT",hl="styles-module_span__3nIVQ",vl="styles-module_contentWrap__2QGtd",yl="styles-module_content__3wdFn",gl="styles-module_close__2IqHP";function bl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_modal__3ImBF {\n display: none;\n z-index: 99;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow-y: auto; }\n .styles-module_modal__3ImBF.styles-module_open__AAUJ5 {\n position: fixed;\n display: block; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt {\n display: flex;\n min-height: 100vh;\n align-items: flex-end;\n justify-content: center;\n text-align: center; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt {\n display: block;\n padding: 0; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_inset__-NimT {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n opacity: 0.75;\n background-color: #111827; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_span__3nIVQ {\n display: none; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_span__3nIVQ {\n display: inline-block;\n height: 100vh;\n vertical-align: middle; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd {\n display: none;\n position: relative;\n vertical-align: bottom;\n background: white;\n border-radius: 4px;\n text-align: left;\n overflow: hidden;\n box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd.styles-module_open__AAUJ5 {\n display: inline-block; }\n @media (min-width: 640px) {\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd {\n width: 100%;\n max-width: 48rem;\n margin-top: 2rem;\n margin-bottom: 2rem;\n vertical-align: middle; } }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd .styles-module_content__3wdFn {\n position: relative;\n background: white;\n padding: 30px; }\n .styles-module_modal__3ImBF .styles-module_modalContainer__o6TKt .styles-module_contentWrap__2QGtd .styles-module_close__2IqHP {\n position: absolute;\n cursor: pointer;\n top: 10px;\n right: 10px; }\n");var wl,xl=function(e){xe(r,K);var n=bl(r);function r(){return i(this,r),n.apply(this,arguments)}return st(r,[{key:"render",value:function(){var e=this.props.isOpen;return _e(ul||(ul=t(["\n <div\n class=",'\n aria-labelledby="modal-title"\n role="dialog"\n aria-modal="true"\n >\n <div class=',">\n <div class=",' aria-hidden="true"></div>\n\n <span class=',' aria-hidden="true"></span>\n\n <div\n class=',"\n >\n <div class=",">\n <div\n onclick=","\n class=",'\n >\n <svg\n width="20"\n height="22"\n viewBox="0 0 20 22"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M14.2426 16.1822L5.75732 6.86328"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n <path\n d="M14.2426 6.86328L5.75732 16.1822"\n stroke="#999999"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </div>\n ',"\n </div>\n </div>\n </div>\n </div>\n "])),"".concat(dl," ").concat(e?"".concat(fl):""),_l,ml,hl,"".concat(vl," ").concat(e?"".concat(fl):""),yl,this.props.onClose,gl,this.props.isOpen&&_e(cl||(cl=t([" "," "])),this.props.children))}}]),r}(),Il="styles-module_integry-container__3nnxM";function kl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}Jt(".styles-module_integry-container__3nnxM {\n margin-bottom: 0.5rem; }\n\n.styles-module_modal__3R9nC {\n position: fixed;\n z-index: 10;\n overflow-y: auto;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px; }\n");var Sl=function(e){xe(r,K);var n=kl(r);function r(){var e;return i(this,r),(e=n.call(this)).onTemplateClick=function(t){e.setState({isModalOpen:!0,templateId:t})},e.state={isModalOpen:!1,templateId:null},e.store=Vt(),e}return st(r,[{key:"componentWillMount",value:function(){this.templateComponent=pl,this.templateListComponent=cs}},{key:"render",value:function(){var e=this;return _e(wl||(wl=t(["\n <>\n <"," store=",'>\n <div class="'," ",'">\n <',"\n layout=","\n bundleId=","\n templateContainerTemplate=","\n apiHandler=","\n eventEmitter=","\n onTemplateClick=","\n >\n </div>\n <"," \n isOpen="," \n onClose=","\n > \n <"," \n apiHandler=","\n templateId="," \n />\n <//>\n <//>\n </>\n "])),ge.Provider,this.store,Il,"integry-container",this.templateListComponent,this.props.layout,this.props.bundleId,this.templateComponent,this.context.apiHandler,this.context.eventEmitter,this.onTemplateClick,xl,this.state.isModalOpen,(function(){return e.setState({isModalOpen:!1,templateId:null})}),tl,this.context.apiHandler,this.state.templateId)}}]),r}();Sl.contextType=jt;var Cl=function(){function e(t,n){i(this,e),this.emitter=t,this.handler=n}return st(e,[{key:"getHandler",value:function(){return this.handler}}]),e}();function Ol(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Ml=function(e){xe(n,Cl);var t=Ol(n);function n(){return i(this,n),t.apply(this,arguments)}return st(n,[{key:"run",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.handler.apply(null,n)}}]),n}();function Tl(e,t,n){return(Tl="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Se(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function Al(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Se(e);if(t){var i=Se(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return ke(this,n)}}var Dl,Rl,El,Nl=function(e){xe(n,Ml);var t=Al(n);function n(e,r){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(i(this,n),(o=t.call(this,e,r)).total=a,o.i=0,o.total<1)throw new Error("{total} can not be less than 1");return o}return st(n,[{key:"run",value:function(e){for(var t,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];(t=Tl(Se(n.prototype),"run",this)).call.apply(t,[this,e].concat(i)),++this.i>=this.total&&this.emitter.off(e,this.handler)}}]),n}(),Ll=function(){function e(){i(this,e),this.events=Object.create(null)}return st(e,[{key:"on",value:function(e,t){this.addEventListener(e,new Ml(this,t))}},{key:"once",value:function(e,t){this.addEventListener(e,new Nl(this,t,1))}},{key:"off",value:function(e,t){var n=this.events[e];null!=n&&n.length&&(this.events[e]=n.filter((function(e){return e.getHandler()!==t})))}},{key:"offAll",value:function(){var e=this;Object.keys(this.events).forEach((function(t){var n=e.events[t];n&&(n.length=0)})),this.events=Object.create(null)}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=this.events[e];i&&i.forEach((function(t){return t.run.apply(t,[e].concat(n))}))}},{key:"addEventListener",value:function(e,t){var n=this.events[e];Array.isArray(n)?n.push(t):this.events[e]=[t]}}]),e}();function Pl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jl(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?Pl(Object(r),!0).forEach((function(n){e(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Pl(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Fl={getAuthHash:function(e,t){return Fe.apply(this,arguments)}},zl=function e(n){var o,a,s,l,u=this;(i(this,e),this.eventEmitter=new Ll,this.getRandomTemplateId=function(e){for(var t=[],n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",r=n.length,i=0;i<e;i+=1)t.push(n.charAt(Math.floor(Math.random()*r)));return"x-integry-modal-".concat(t.join(""))},this.getAuthParamsFromUrl=function(){var e=fr()&&new URLSearchParams(window.location.search);if(e){var t=e.get("user_id"),n=e.get("app_key"),r=e.get("hash"),i=e.get("bundle_id");if(!(t&&n&&r&&i))throw new Error("The following auth variables are undefined: ".concat(t?"":"userId"," ").concat(n?"":"appKey"," ").concat(r?"":"hash"," ").concat(i?"":"bundleId"));return{userId:t,appKey:n,hash:r,bundleId:i}}return{userId:"",appKey:"",hash:"",bundleId:""}},this.printVersion=function(){console.info("@integry/sdk@".concat(e.SDK_VERSION))},this.getTemplatesList=r(F.mark((function e(){return F.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.apiHandler.getTemplateListing(u.config.bundleId));case 1:case"end":return e.stop()}}),e)}))),this.setupTemplateFormDestination=function(e,t){var n=null;if(t){if(e===Ka.MODAL||e===Ka.INLINE)throw new Error('The `templateContainerId` property is unsupported when render mode is set to "MODAL" or "INLINE"');(n=document.getElementById(t))||console.warn("The template form render target with id ".concat(t," was not found"))}switch(e){case Ka.MODAL:return(n=document.createElement("div")).id=u.getRandomTemplateId(8),document.body.appendChild(n),n;case Ka.INLINE:return null;case Ka.DETACHED:case Ka.CUSTOM:return n;default:throw new Error("Unsupported renderMode ".concat(e," configuration, please provide one of ").concat(JSON.stringify(Object.keys(Ka))))}},this.renderTemplateForm=function(e,n){var r=document.getElementById(n);if(r){var i=Vt();ue(_e(Dl||(Dl=t(["\n <","\n value=","\n >\n <"," store=",">\n <","\n bundleId=","\n templateId=","\n >\n <//>\n <//>\n <//>\n "])),jt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!1},ge.Provider,i,va,u.config.bundleId,e),r)}else console.warn("Integry template form render target with id ".concat(n," was not found"))},this.renderPreview=function(e){var n=e.templateData,r=e.metadata,i=e.previewContainerId,o=document.getElementById(i);if(o){var a=Vt();ue(_e(Rl||(Rl=t(["\n <","\n value=","\n >\n <"," store=",">\n <","\n bundleId=","\n isPreviewMode=","\n templatePreviewData=","\n previewMetadata=","\n >\n <//>\n <//>\n <//>\n "])),jt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!0},ge.Provider,a,va,u.config.bundleId,!0,n,r),o)}else console.warn("Integry template form render target with id ".concat(i," was not found"))},this.init=function(e){var n=e.containerId,r=e.templateContainerId,i=e.renderMode,o=document.getElementById(n);if(!i)throw new Error("Template form render mode needs to be defined");if(u.setupTemplateFormDestination(i,r),o){var a=o.getAttribute("x-integry-layout")||qa.LIST,s=Vt();ue(_e(El||(El=t(["\n <","\n value=","\n >\n <"," store=",">\n <"," bundleId="," layout=",">\n <//>\n <//>\n <//>\n "])),jt.Provider,{apiHandler:u.apiHandler,eventEmitter:u.eventEmitter,isPreviewMode:!1},ge.Provider,s,Sl,u.config.bundleId,a),o)}else console.warn("Integry SDK render target with id ".concat(n," was not found"))},this.destroy=function(){try{u.eventEmitter.offAll()}catch(e){console.error("There was an error unsubscribing from all events")}},"staging"===n.env)?a={oauthVerifyPath:"auth/verify",endpointsUrl:"https://integry-app.appspot.com",baseUrl:"https://beta.integry.io",baseUrlv2:"https://beta.integry.io/v2",apiKey:null===(s=n.xIntegryConfig)||void 0===s?void 0:s.appAuth.apiKey}:a={oauthVerifyPath:"auth/verify",endpointsUrl:"https://integry-app.appspot.com",baseUrl:"https://app.integry.io",baseUrlv2:"https://app.integry.io/v2",apiKey:null===(l=n.xIntegryConfig)||void 0===l?void 0:l.appAuth.apiKey};if("appKey"in n)o=jl(jl({},a),{},{appKey:n.appKey,hash:n.hash,userId:n.userId}),this.config=jl(jl({},a),{},{appKey:n.appKey,hash:n.hash,userId:n.userId,bundleId:n.bundleId});else{var c=this.getAuthParamsFromUrl()||{};o=jl(jl({},a),c),this.config=jl(jl({},a),c)}this.apiHandler=new Ne(o)};zl.SDK_VERSION="0.0.51",zl.RenderModes=Ka;export{Fl as Helpers,zl as IntegryJS};
|
|
18
18
|
//# sourceMappingURL=index.csm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.csm.js","sources":["../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/regenerator/index.js","../../node_modules/preact/dist/preact.module.js","../../node_modules/htm/dist/htm.mjs","../../node_modules/htm/preact/index.mjs","../../node_modules/unfetch/dist/unfetch.module.js","../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/@babel/runtime/helpers/esm/construct.js","../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../src/extensions/IntegryAPIError.ts","../../src/modules/api/responseHandler.ts","../../src/modules/api/index.ts","../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/extensions/HMAC.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/preact/hooks/dist/hooks.module.js","../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../node_modules/superstruct/lib/index.es.js","../../src/contexts/AppContext.ts","../../node_modules/unistore/dist/unistore.es.js","../../node_modules/unistore/devtools.js","../../src/store/initialState.ts","../../src/store/actionFunctions.ts","../../src/store/index.ts","../../src/interfaces/index.ts","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/Loader/index.ts","../../src/types/utils.ts","../../node_modules/classnames/index.js","../../src/components/Tooltip/index.ts","../../src/components/Button/index.ts","../../src/components/ErrorPage/index.ts","../../src/features/appdir/StepNavigation/NavItem.ts","../../src/features/appdir/StepNavigation/index.ts","../../src/components/RadioGroup/Radio.ts","../../src/components/ErrorMessage/index.ts","../../src/components/Label/index.ts","../../src/utils/isBrowser.ts","../../src/features/common/AuthSelector/index.ts","../../src/utils/isAuthMessage.ts","../../src/utils/popup.ts","../../src/components/Listbox/ListBoxItem.ts","../../src/components/Listbox/index.ts","../../src/hooks/useOnClickOutside.ts","../../src/components/CheckboxGroup/Checkbox.ts","../../src/components/LargeLoader/index.ts","../../src/components/BasicSelect/index.ts","../../src/features/common/MappingUI/index.ts","../../src/components/Input/BaseInput/index.ts","../../src/components/Input/Input/index.ts","../../src/features/templates/Step/index.ts","../../src/features/appdir/Steps/index.ts","../../src/features/appdir/Wrapper/index.ts","../../node_modules/fuzzysort/fuzzysort.js","../../src/features/templates/TemplateSearch/index.ts","../../src/components/TabBar/Tab.ts","../../src/components/TabBar/index.ts","../../src/components/Toggle/index.ts","../../src/types/index.ts","../../src/features/integrations/IntegrationsList/index.ts","../../src/utils/datetime.ts","../../src/features/templates/TemplatesView/index.ts","../../src/features/common/StepNavigation/NavItem.ts","../../src/features/common/StepNavigation/index.ts","../../src/features/templates/Steps/index.ts","../../src/features/templates/TemplateForm/index.ts","../../src/features/templates/Template/index.ts","../../src/components/Modal/index.ts","../../src/features/common/Container/index.ts","../../src/modules/event-emitter/runners/abstract.ts","../../src/modules/event-emitter/runners/default.ts","../../node_modules/@babel/runtime/helpers/esm/get.js","../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../src/modules/event-emitter/runners/ntimes.ts","../../src/modules/event-emitter/index.ts","../../src/index.ts"],"sourcesContent":["export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\"use strict\";\n\nvar Op = Object.prototype;\nvar hasOwn = Op.hasOwnProperty;\nvar undefined; // More compressible than void 0.\nvar $Symbol = typeof Symbol === \"function\" ? Symbol : {};\nvar iteratorSymbol = $Symbol.iterator || \"@@iterator\";\nvar asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\nvar toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\nfunction wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n}\n\n// Try/catch helper to minimize deoptimizations. Returns a completion\n// record like context.tryEntries[i].completion. This interface could\n// have been (and was previously) designed to take a closure to be\n// invoked without arguments, but in all the cases we care about we\n// already have an existing method we want to call, so there's no need\n// to create a new function object. We can even get away with assuming\n// the method takes exactly one argument, since that happens to be true\n// in every case, so we don't have to touch the arguments object. The\n// only additional allocation required is the completion record, which\n// has a stable shape and so hopefully should be cheap to allocate.\nfunction tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n}\n\nvar GenStateSuspendedStart = \"suspendedStart\";\nvar GenStateSuspendedYield = \"suspendedYield\";\nvar GenStateExecuting = \"executing\";\nvar GenStateCompleted = \"completed\";\n\n// Returning this object from the innerFn has the same effect as\n// breaking out of the dispatch switch statement.\nvar ContinueSentinel = {};\n\n// Dummy constructor functions that we use as the .constructor and\n// .constructor.prototype properties for functions that return Generator\n// objects. For full spec compliance, you may wish to configure your\n// minifier not to mangle the names of these two functions.\nfunction Generator() {}\nfunction GeneratorFunction() {}\nfunction GeneratorFunctionPrototype() {}\n\n// This is a polyfill for %IteratorPrototype% for environments that\n// don't natively support it.\nvar IteratorPrototype = {};\nIteratorPrototype[iteratorSymbol] = function () {\n return this;\n};\n\nvar getProto = Object.getPrototypeOf;\nvar NativeIteratorPrototype = getProto && getProto(getProto(values([])));\nif (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n}\n\nvar Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\nGeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\nGeneratorFunctionPrototype.constructor = GeneratorFunction;\nGeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n// Helper for defining the .next, .throw, and .return methods of the\n// Iterator interface in terms of a single ._invoke method.\nfunction defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n}\n\nfunction isGeneratorFunction (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n};\n\nfunction mark (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n};\n\n// Within the body of any async function, `await x` is transformed to\n// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n// `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n// meant to be awaited.\nfunction awrap (arg) {\n return { __await: arg };\n};\n\nfunction AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n}\n\ndefineIteratorMethods(AsyncIterator.prototype);\nAsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n};\n\n// Note that simple async functions are implemented on top of\n// AsyncIterator objects; they just return a Promise for the value of\n// the final result produced by the iterator.\n function async (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n};\n\nfunction makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n}\n\n// Call delegate.iterator[context.method](context.arg) and handle the\n// result, either by returning a { value, done } result from the\n// delegate iterator, or by modifying context.method and context.arg,\n// setting context.delegate to null, and returning the ContinueSentinel.\nfunction maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n}\n\n// Define Generator.prototype.{next,throw,return} in terms of the\n// unified ._invoke helper method.\ndefineIteratorMethods(Gp);\n\nGp[toStringTagSymbol] = \"Generator\";\n\n// A Generator should always return itself as the iterator object when the\n// @@iterator function is called on it. Some browsers' implementations of the\n// iterator prototype chain incorrectly implement this, causing the Generator\n// object to not be returned from this call. This ensures that doesn't happen.\n// See https://github.com/facebook/regenerator/issues/274 for more details.\nGp[iteratorSymbol] = function() {\n return this;\n};\n\nGp.toString = function() {\n return \"[object Generator]\";\n};\n\nfunction pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n}\n\nfunction resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n}\n\nfunction Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n}\n\nfunction keys (object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n};\n\nfunction values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n}\n\nfunction doneResult() {\n return { value: undefined, done: true };\n}\n\nContext.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n};\n\n// Export a default namespace that plays well with Rollup\nexport default {\n wrap,\n isGeneratorFunction,\n AsyncIterator,\n mark,\n awrap,\n async,\n keys,\n values\n};\n","var n,l,u,t,i,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(n,l,u){var t,i=arguments,o={};for(t in l)\"key\"!==t&&\"ref\"!==t&&(o[t]=l[t]);if(arguments.length>3)for(u=[u],t=3;t<arguments.length;t++)u.push(i[t]);if(null!=u&&(o.children=u),\"function\"==typeof n&&null!=n.defaultProps)for(t in n.defaultProps)void 0===o[t]&&(o[t]=n.defaultProps[t]);return v(n,o,l&&l.key,l&&l.ref)}function v(l,u,t,i){var o={type:l,props:u,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:null,__c:null,constructor:void 0};return n.vnode&&n.vnode(o),o}function p(){return{}}function y(n){return n.children}function d(n,l){this.props=n,this.context=l}function m(n,l){if(null==l)return n.__?m(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?m(n):null}function w(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return w(n)}}function g(l){(!l.__d&&(l.__d=!0)&&1===u.push(l)||i!==n.debounceRendering)&&((i=n.debounceRendering)||t)(k)}function k(){var n,l,t,i,o,r,f;for(u.sort(function(n,l){return l.__v.__b-n.__v.__b});n=u.pop();)n.__d&&(t=void 0,i=void 0,r=(o=(l=n).__v).__e,(f=l.__P)&&(t=[],i=T(f,o,s({},o),l.__n,void 0!==f.ownerSVGElement,null,t,null==r?m(o):r),$(t,o),i!=r&&w(o)))}function _(n,l,u,t,i,o,r,c,s){var h,v,p,y,d,w,g,k=u&&u.__k||e,_=k.length;if(c==f&&(c=null!=o?o[0]:_?m(u,0):null),h=0,l.__k=b(l.__k,function(u){if(null!=u){if(u.__=l,u.__b=l.__b+1,null===(p=k[h])||p&&u.key==p.key&&u.type===p.type)k[h]=void 0;else for(v=0;v<_;v++){if((p=k[v])&&u.key==p.key&&u.type===p.type){k[v]=void 0;break}p=null}if(y=T(n,u,p=p||f,t,i,o,r,c,s),(v=u.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,u),g.push(v,u.__c||y,u)),null!=y){if(null==w&&(w=y),null!=u.__d)y=u.__d,u.__d=null;else if(o==p||y!=c||null==y.parentNode){n:if(null==c||c.parentNode!==n)n.appendChild(y);else{for(d=c,v=0;(d=d.nextSibling)&&v<_;v+=2)if(d==y)break n;n.insertBefore(y,c)}\"option\"==l.type&&(n.value=\"\")}c=y.nextSibling,\"function\"==typeof l.type&&(l.__d=y)}}return h++,u}),l.__e=w,null!=o&&\"function\"!=typeof l.type)for(h=o.length;h--;)null!=o[h]&&a(o[h]);for(h=_;h--;)null!=k[h]&&A(k[h],k[h]);if(g)for(h=0;h<g.length;h++)z(g[h],g[++h],g[++h])}function b(n,l,u){if(null==u&&(u=[]),null==n||\"boolean\"==typeof n)l&&u.push(l(null));else if(Array.isArray(n))for(var t=0;t<n.length;t++)b(n[t],l,u);else u.push(l?l(\"string\"==typeof n||\"number\"==typeof n?v(null,n,null,null):null!=n.__e||null!=n.__c?v(n.type,n.props,n.key,null):n):n);return u}function x(n,l,u,t,i){var o;for(o in u)o in l||P(n,o,null,u[o],t);for(o in l)i&&\"function\"!=typeof l[o]||\"value\"===o||\"checked\"===o||u[o]===l[o]||P(n,o,l[o],u[o],t)}function C(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=\"number\"==typeof u&&!1===c.test(l)?u+\"px\":null==u?\"\":u}function P(n,l,u,t,i){var o,r,f,e,c;if(i?\"className\"===l&&(l=\"class\"):\"class\"===l&&(l=\"className\"),\"key\"===l||\"children\"===l);else if(\"style\"===l)if(o=n.style,\"string\"==typeof u)o.cssText=u;else{if(\"string\"==typeof t&&(o.cssText=\"\",t=null),t)for(r in t)u&&r in u||C(o,r,\"\");if(u)for(f in u)t&&u[f]===t[f]||C(o,f,u[f])}else\"o\"===l[0]&&\"n\"===l[1]?(e=l!==(l=l.replace(/Capture$/,\"\")),c=l.toLowerCase(),l=(c in n?c:l).slice(2),u?(t||n.addEventListener(l,N,e),(n.l||(n.l={}))[l]=u):n.removeEventListener(l,N,e)):\"list\"!==l&&\"tagName\"!==l&&\"form\"!==l&&\"type\"!==l&&!i&&l in n?n[l]=null==u?\"\":u:\"function\"!=typeof u&&\"dangerouslySetInnerHTML\"!==l&&(l!==(l=l.replace(/^xlink:?/,\"\"))?null==u||!1===u?n.removeAttributeNS(\"http://www.w3.org/1999/xlink\",l.toLowerCase()):n.setAttributeNS(\"http://www.w3.org/1999/xlink\",l.toLowerCase(),u):null==u||!1===u?n.removeAttribute(l):n.setAttribute(l,u))}function N(l){this.l[l.type](n.event?n.event(l):l)}function T(l,u,t,i,o,r,f,e,c){var a,h,v,p,m,w,g,k,x,C,P=u.type;if(void 0!==u.constructor)return null;(a=n.__b)&&a(u);try{n:if(\"function\"==typeof P){if(k=u.props,x=(a=P.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(k,C):(u.__c=h=new d(k,C),h.constructor=P,h.render=D),x&&x.sub(h),h.props=k,h.state||(h.state={}),h.context=C,h.__n=i,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,P.getDerivedStateFromProps(k,h.__s))),p=h.props,m=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&k!==p&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,C),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,C)){for(h.props=k,h.state=h.__s,h.__d=!1,h.__v=u,u.__e=t.__e,u.__k=t.__k,h.__h.length&&f.push(h),a=0;a<u.__k.length;a++)u.__k[a]&&(u.__k[a].__=u);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,C),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(p,m,w)})}h.context=C,h.props=k,h.state=h.__s,(a=n.__r)&&a(u),h.__d=!1,h.__v=u,h.__P=l,a=h.render(h.props,h.state,h.context),u.__k=b(null!=a&&a.type==y&&null==a.key?a.props.children:a),null!=h.getChildContext&&(i=s(s({},i),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(w=h.getSnapshotBeforeUpdate(p,m)),_(l,u,t,i,o,r,f,e,c),h.base=u.__e,h.__h.length&&f.push(h),g&&(h.__E=h.__=null),h.__e=null}else u.__e=j(t.__e,u,t,i,o,r,f,c);(a=n.diffed)&&a(u)}catch(l){n.__e(l,u,t)}return u.__e}function $(l,u){n.__c&&n.__c(u,l),l.some(function(u){try{l=u.__h,u.__h=[],l.some(function(n){n.call(u)})}catch(l){n.__e(l,u.__v)}})}function j(n,l,u,t,i,o,r,c){var s,a,h,v,p,y=u.props,d=l.props;if(i=\"svg\"===l.type||i,null==n&&null!=o)for(s=0;s<o.length;s++)if(null!=(a=o[s])&&(null===l.type?3===a.nodeType:a.localName===l.type)){n=a,o[s]=null;break}if(null==n){if(null===l.type)return document.createTextNode(d);n=i?document.createElementNS(\"http://www.w3.org/2000/svg\",l.type):document.createElement(l.type),o=null}if(null===l.type)null!=o&&(o[o.indexOf(n)]=null),y===d||c||n.data==d||(n.data=d);else if(l!==u){if(null!=o&&(o=e.slice.call(n.childNodes)),h=(y=u.props||f).dangerouslySetInnerHTML,v=d.dangerouslySetInnerHTML,!c){if(y===f)for(y={},p=0;p<n.attributes.length;p++)y[n.attributes[p].name]=n.attributes[p].value;(v||h)&&(v&&h&&v.__html==h.__html||(n.innerHTML=v&&v.__html||\"\"))}x(n,d,y,i,c),l.__k=l.props.children,v||_(n,l,u,t,\"foreignObject\"!==l.type&&i,o,r,f,c),c||(\"value\"in d&&void 0!==d.value&&d.value!==n.value&&(n.value=null==d.value?\"\":d.value),\"checked\"in d&&void 0!==d.checked&&d.checked!==n.checked&&(n.checked=d.checked))}return n}function z(l,u,t){try{\"function\"==typeof l?l(u):l.current=u}catch(l){n.__e(l,t)}}function A(l,u,t){var i,o,r;if(n.unmount&&n.unmount(l),(i=l.ref)&&(i.current&&i.current!==l.__e||z(i,null,u)),t||\"function\"==typeof l.type||(t=null!=(o=l.__e)),l.__e=l.__d=null,null!=(i=l.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(l){n.__e(l,u)}i.base=i.__P=null}if(i=l.__k)for(r=0;r<i.length;r++)i[r]&&A(i[r],u,t);null!=o&&a(o)}function D(n,l,u){return this.constructor(n,u)}function E(l,u,t){var i,r,c;n.__&&n.__(l,u),r=(i=t===o)?null:t&&t.__k||u.__k,l=h(y,null,[l]),c=[],T(u,(i?u:t||u).__k=l,r||f,f,void 0!==u.ownerSVGElement,t&&!i?[t]:r?null:e.slice.call(u.childNodes),c,t||f,i),$(c,l)}function H(n,l){E(n,l,o)}function I(n,l){return l=s(s({},n.props),l),arguments.length>2&&(l.children=e.slice.call(arguments,2)),v(n.type,l,l.key||n.key,l.ref||n.ref)}function L(n){var l={},u={__c:\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var t,i=this;return this.getChildContext||(t=[],this.getChildContext=function(){return l[u.__c]=i,l},this.shouldComponentUpdate=function(l){n.value!==l.value&&t.some(function(n){n.context=l.value,g(n)})},this.sub=function(n){t.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){t.splice(t.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Consumer.contextType=u,u}n={__e:function(n,l){for(var u,t;l=l.__;)if((u=l.__c)&&!u.__)try{if(u.constructor&&null!=u.constructor.getDerivedStateFromError&&(t=!0,u.setState(u.constructor.getDerivedStateFromError(n))),null!=u.componentDidCatch&&(t=!0,u.componentDidCatch(n)),t)return g(u.__E=u)}catch(l){n=l}throw n}},l=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(u,this.props)),n&&s(u,n),null!=n&&this.__v&&(this.__e=!1,l&&this.__h.push(l),g(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),g(this))},d.prototype.render=y,u=[],t=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,o=f,r=0;export{E as render,H as hydrate,h as createElement,h,y as Fragment,p as createRef,l as isValidElement,d as Component,I as cloneElement,L as createContext,b as toChildArray,A as _unmount,n as options};\n//# sourceMappingURL=preact.module.js.map\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import{h as r,Component as o,render as t}from\"preact\";export{h,render,Component}from\"preact\";import e from\"htm\";var m=e.bind(r);export{m as html};\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import { UnfetchResponse } from '../types';\n\n/**\n * Extend default Error class\n */\nclass IntegryAPIError extends Error {\n statusCode: number | undefined;\n\n response: UnfetchResponse | undefined;\n\n constructor(errorMessage: string, response?: UnfetchResponse) {\n super(errorMessage);\n this.name = this.constructor.name;\n this.statusCode = response?.status;\n this.response = response;\n }\n}\n\nexport { IntegryAPIError };\n","/* eslint-disable no-console */\n\nimport { UnfetchResponse } from '../../types';\nimport { IntegryAPIError } from '../../extensions/IntegryAPIError';\n\nexport const ResponseHandler = async <T>(\n response: UnfetchResponse,\n): Promise<{\n data: T | null;\n status: number;\n}> => {\n const debugMode = !!process.env.DEBUG;\n\n if (response.ok) {\n try {\n const parsedResponse: T = await response.json();\n if (debugMode) console.log(parsedResponse);\n return {\n data: parsedResponse,\n status: response.status,\n };\n } catch (error) {\n if (debugMode) console.log('Response is not in json');\n return {\n data: null,\n status: response.status,\n };\n }\n } else if (response.status === 405) {\n return {\n data: await response.json(),\n status: response.status,\n };\n }\n if (debugMode) console.log('Received a non-2xx status code');\n const error = new IntegryAPIError(response.statusText, response);\n return Promise.reject(error);\n};\n","/**\n * Simple API module\n */\n\nimport fetch from 'unfetch';\n\nimport {\n APIConfig,\n BundleResponse,\n IntegrationSaveResponse,\n IntegrationStatusResponse,\n SaveOrUpdateIntegrationBody,\n TemplateResponse,\n TemplateStep,\n} from '@/interfaces';\n\nimport { ResponseHandler } from './responseHandler';\n\nclass IntegryAPI {\n private config: APIConfig;\n\n constructor(config: APIConfig) {\n this.config = config;\n }\n\n static addUrlSearchParams = (\n url: URL,\n paramList: Record<string, string | boolean | null>,\n ) =>\n Object.keys(paramList).map(\n (objKey) =>\n paramList[objKey] &&\n url.searchParams.append(objKey, `${paramList[objKey]}`),\n );\n\n public getTemplate = async (\n templateId: number,\n ): Promise<TemplateResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/template/${templateId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n self_api_key: this.config.apiKey || null,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<TemplateResponse>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getAuthUrl = (authorizationTypeId: number): string => {\n const url = new URL(\n `${this.config.baseUrl}/auth/login/${authorizationTypeId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n return url.toString();\n };\n\n public getTemplateStep = async (\n stepId: number,\n ): Promise<TemplateStep | null> => {\n const url = new URL(`${this.config.baseUrl}/template_step/${stepId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n self_api_key: this.config.apiKey || null,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<TemplateStep>(data),\n );\n\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public verifyOAuth = async (authId: number): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrl}/${this.config.oauthVerifyPath}`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n authorization_id: `${authId}`,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), { method: 'POST' }).then(\n ResponseHandler,\n );\n return !!response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public deleteAuth = async (\n authId: number,\n ): Promise<{\n data: string | null;\n status: number;\n } | null> => {\n const url = new URL(`${this.config.baseUrl}/connected-accounts/${authId}`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'DELETE',\n }).then((data) => ResponseHandler<string>(data));\n\n return {\n status: response.status,\n data: response.data,\n };\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public callDynamicDataEndpoint = async <T>(\n url: URL,\n endpointData: Record<string, string> = {},\n ): Promise<T | null> => {\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n ...endpointData,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<T>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getTemplateListing = async (\n bundleId: string,\n ): Promise<BundleResponse | null> => {\n const url = new URL(`${this.config.baseUrl}/bundle/${bundleId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<BundleResponse>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public saveIntegration = async (\n body: SaveOrUpdateIntegrationBody,\n ): Promise<IntegrationSaveResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/integration/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n async: false,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n activate: true,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((data) => ResponseHandler<IntegrationSaveResponse>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public updateIntegration = async (\n integrationId: string,\n body: SaveOrUpdateIntegrationBody,\n ): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrlv2}/integration/${integrationId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n async: false,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n activate: true,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((data) => ResponseHandler<boolean>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public deleteIntegration = async (\n integrationId: number,\n ): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrl}/setup/template/${integrationId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'DELETE',\n }).then((data) => ResponseHandler<boolean>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public toggleIntegration = async (\n integrationId: number,\n activate: boolean,\n ): Promise<string | null> => {\n const url = new URL(\n `${this.config.baseUrlv2}/integration/${integrationId}/${\n activate ? 'enable' : 'disable'\n }/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n }).then((data) => ResponseHandler<string>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getIntegrationStatuses = async (\n integrationIds: number[],\n ): Promise<IntegrationStatusResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/integration_status/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n body: JSON.stringify(integrationIds),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then(ResponseHandler);\n return response;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n}\n\nexport { IntegryAPI };\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n *\n * @param key Key to sign hash\n * @param message Message to hash\n * @returns {string}\n */\nexport async function HMAC(message: string, key: string): Promise<string> {\n const g = (str: string) =>\n new Uint8Array(\n [...unescape(encodeURIComponent(str))].map((c) => c.charCodeAt(0)),\n );\n const k = g(key);\n const m = g(message);\n const c = await crypto.subtle.importKey(\n 'raw',\n k,\n { name: 'HMAC', hash: 'SHA-256' },\n true,\n ['sign'],\n );\n const s = await crypto.subtle.sign('HMAC', c, m);\n return [...new Uint8Array(s)]\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n}\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import{options as n}from\"preact\";var t,u,r,i=[],o=n.__r,f=n.diffed,c=n.__c,e=n.unmount;function a(t){n.__h&&n.__h(u);var r=u.__H||(u.__H={t:[],u:[]});return t>=r.t.length&&r.t.push({}),r.t[t]}function v(n){return m(E,n)}function m(n,r,i){var o=a(t++);return o.__c||(o.__c=u,o.i=[i?i(r):E(void 0,r),function(t){var u=n(o.i[0],t);o.i[0]!==u&&(o.i[0]=u,o.__c.setState({}))}]),o.i}function p(n,r){var i=a(t++);x(i.o,r)&&(i.i=n,i.o=r,u.__H.u.push(i))}function l(n,r){var i=a(t++);x(i.o,r)&&(i.i=n,i.o=r,u.__h.push(i))}function d(n){return y(function(){return{current:n}},[])}function s(n,t,u){l(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function y(n,u){var r=a(t++);return x(r.o,u)?(r.o=u,r.v=n,r.i=n()):r.i}function T(n,t){return y(function(){return n},t)}function w(n){var r=u.context[n.__c];if(!r)return n.__;var i=a(t++);return null==i.i&&(i.i=!0,r.sub(u)),r.props.value}function A(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function F(n){var r=a(t++),i=v();return r.i=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.i&&r.i(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}function _(){i.some(function(n){n.__P&&(n.__H.u.forEach(g),n.__H.u.forEach(q),n.__H.u=[])}),i=[]}function g(n){n.m&&n.m()}function q(n){var t=n.i();\"function\"==typeof t&&(n.m=t)}function x(n,t){return!n||t.some(function(t,u){return t!==n[u]})}function E(n,t){return\"function\"==typeof t?t(n):t}n.__r=function(n){o&&o(n),t=0,(u=n.__c).__H&&(u.__H.u.forEach(g),u.__H.u.forEach(q),u.__H.u=[])},n.diffed=function(t){f&&f(t);var u=t.__c;if(u){var o=u.__H;o&&o.u.length&&(1!==i.push(u)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);\"undefined\"!=typeof window&&(t=requestAnimationFrame(u))})(_))}},n.__c=function(n,t){t.some(function(n){n.__h.forEach(g),n.__h=n.__h.filter(function(n){return!n.i||q(n)})}),c&&c(n,t)},n.unmount=function(n){e&&e(n);var t=n.__c;if(t){var u=t.__H;u&&u.t.forEach(function(n){return n.m&&n.m()})}};export{v as useState,m as useReducer,p as useEffect,l as useLayoutEffect,d as useRef,s as useImperativeHandle,y as useMemo,T as useCallback,w as useContext,A as useDebugValue,F as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const {\n message,\n ...rest\n } = failure;\n const {\n path\n } = failure;\n const msg = path.length === 0 ? message : \"At path: \" + path.join('.') + \" -- \" + message;\n super(msg);\n Object.assign(this, rest);\n this.name = this.constructor.name;\n\n this.failures = () => {\n var _cached;\n\n return (_cached = cached) != null ? _cached : cached = [failure, ...failures()];\n };\n }\n\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\n\n\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\n\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\n\nfunction print(value) {\n return typeof value === 'string' ? JSON.stringify(value) : \"\" + value;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\n\nfunction shiftIterator(input) {\n const {\n done,\n value\n } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\n\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n } else if (result === false) {\n result = {};\n } else if (typeof result === 'string') {\n result = {\n message: result\n };\n }\n\n const {\n path,\n branch\n } = context;\n const {\n type\n } = struct;\n const {\n refinement,\n message = \"Expected a value of type `\" + type + \"`\" + (refinement ? \" with refinement `\" + refinement + \"`\" : '') + \", but received: `\" + print(value) + \"`\"\n } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\n\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\n\nfunction* run(value, struct, options = {}) {\n const {\n path = [],\n branch = [value],\n coerce = false,\n mask = false\n } = options;\n const ctx = {\n path,\n branch\n };\n\n if (coerce) {\n value = struct.coercer(value, ctx);\n\n if (mask && struct.type !== 'type' && isObject(struct.schema) && isObject(value) && !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n\n let valid = true;\n\n for (const failure of struct.validator(value, ctx)) {\n valid = false;\n yield [failure, undefined];\n }\n\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask\n });\n\n for (const t of ts) {\n if (t[0]) {\n valid = false;\n yield [t[0], undefined];\n } else if (coerce) {\n v = t[1];\n\n if (k === undefined) {\n value = v;\n } else if (value instanceof Map) {\n value.set(k, v);\n } else if (value instanceof Set) {\n value.add(v);\n } else if (isObject(value)) {\n value[k] = v;\n }\n }\n }\n }\n\n if (valid) {\n for (const failure of struct.refiner(value, ctx)) {\n valid = false;\n yield [failure, undefined];\n }\n }\n\n if (valid) {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\n\nclass Struct {\n constructor(props) {\n const {\n type,\n schema,\n validator,\n refiner,\n coercer = value => value,\n entries = function* () {}\n } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.validator = () => [];\n }\n\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n\n\n assert(value) {\n return assert(value, this);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n\n\n create(value) {\n return create(value, this);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n\n\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n\n\n mask(value) {\n return mask(value, this);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n\n\n validate(value, options = {}) {\n return validate(value, this, options);\n }\n\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\n\nfunction assert(value, struct) {\n const result = validate(value, struct);\n\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\n\nfunction create(value, struct) {\n const result = validate(value, struct, {\n coerce: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\n\nfunction mask(value, struct) {\n const result = validate(value, struct, {\n coerce: true,\n mask: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\n\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\n\nfunction validate(value, struct, options = {}) {\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n } else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign(...Structs) {\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map(s => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\n\nfunction define(name, validator) {\n return new Struct({\n type: name,\n schema: null,\n validator\n });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\n\nfunction deprecated(struct, log) {\n return new Struct({ ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n } else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n }\n\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\n\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n }\n\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\n\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n\n *entries(value, ctx) {\n var _struct;\n\n (_struct = struct) != null ? _struct : struct = fn();\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n var _struct2;\n\n (_struct2 = struct) != null ? _struct2 : struct = fn();\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n var _struct3;\n\n (_struct3 = struct) != null ? _struct3 : struct = fn();\n return struct.coercer(value, ctx);\n }\n\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\n\nfunction omit(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = { ...schema\n };\n\n for (const key of keys) {\n delete subschema[key];\n }\n\n return object(subschema);\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\n\nfunction partial(struct) {\n const schema = struct instanceof Struct ? { ...struct.schema\n } : { ...struct\n };\n\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\n\nfunction pick(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = {};\n\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n\n return object(subschema);\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\n\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\n\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n\n validator(value) {\n return Array.isArray(value) || \"Expected an array value, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\n\nfunction boolean() {\n return define('boolean', value => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\n\nfunction date() {\n return define('date', value => {\n return value instanceof Date && !isNaN(value.getTime()) || \"Expected a valid `Date` object, but received: \" + print(value);\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map(v => print(v)).join();\n\n for (const key of values) {\n schema[key] = key;\n }\n\n return new Struct({\n type: 'enums',\n schema,\n\n validator(value) {\n return values.includes(value) || \"Expected one of `\" + description + \"`, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a function.\n */\n\nfunction func() {\n return define('func', value => {\n return typeof value === 'function' || \"Expected a function, but received: \" + print(value);\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\n\nfunction instance(Class) {\n return define('instance', value => {\n return value instanceof Class || \"Expected a `\" + Class.name + \"` instance, but received: \" + print(value);\n });\n}\n/**\n * Ensure that a value is an integer.\n */\n\nfunction integer() {\n return define('integer', value => {\n return typeof value === 'number' && !isNaN(value) && Number.isInteger(value) || \"Expected an integer, but received: \" + print(value);\n });\n}\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n }\n\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n\n validator(value) {\n return value === constant || \"Expected the literal `\" + description + \"`, but received: \" + print(value);\n }\n\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n\n validator(value) {\n return value instanceof Map || \"Expected a `Map` object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\n\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\n\nfunction nullable(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is a number.\n */\n\nfunction number() {\n return define('number', value => {\n return typeof value === 'number' && !isNaN(value) || \"Expected a number, but received: \" + print(value);\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n },\n\n coercer(value) {\n return isObject(value) ? { ...value\n } : value;\n }\n\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\n\nfunction optional(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\n\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\n\nfunction regexp() {\n return define('regexp', value => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n\n validator(value) {\n return value instanceof Set || \"Expected a `Set` object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a string.\n */\n\nfunction string() {\n return define('string', value => {\n return typeof value === 'string' || \"Expected a string, but received: \" + print(value);\n });\n}\nfunction tuple(Elements) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Elements.length, value.length);\n\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Elements[i] || Never];\n }\n }\n },\n\n validator(value) {\n return Array.isArray(value) || \"Expected an array, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\n\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n }\n\n });\n}\nfunction union(Structs) {\n const description = Structs.map(s => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n\n coercer(value, ctx) {\n const firstMatch = Structs.find(s => {\n const [e] = s.validate(value, {\n coerce: true\n });\n return !e;\n }) || unknown();\n return firstMatch.coercer(value, ctx);\n },\n\n validator(value, ctx) {\n const failures = [];\n\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n\n if (!first[0]) {\n return [];\n } else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n\n return [\"Expected the value to satisfy a union of `\" + description + \"`, but received: \" + print(value), ...failures];\n }\n\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\n\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction coerce(struct, condition, coercer) {\n return new Struct({ ...struct,\n coercer: (value, ctx) => {\n return is(value, condition) ? struct.coercer(coercer(value, ctx), ctx) : struct.coercer(value, ctx);\n }\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction defaulted(struct, fallback, options = {}) {\n return coerce(struct, unknown(), x => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n\n if (x === undefined) {\n return f;\n }\n\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x\n };\n let changed = false;\n\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n\n if (changed) {\n return ret;\n }\n }\n\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction trimmed(struct) {\n return coerce(struct, string(), x => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\n\nfunction empty(struct) {\n const expected = \"Expected an empty \" + struct.type;\n return refine(struct, 'empty', value => {\n if (value instanceof Map || value instanceof Set) {\n const {\n size\n } = value;\n return size === 0 || expected + \" but received one with a size of `\" + size + \"`\";\n } else {\n const {\n length\n } = value;\n return length === 0 || expected + \" but received one with a length of `\" + length + \"`\";\n }\n });\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\n\nfunction max(struct, threshold, options = {}) {\n const {\n exclusive\n } = options;\n return refine(struct, 'max', value => {\n return exclusive ? value < threshold : value <= threshold || \"Expected a \" + struct.type + \" less than \" + (exclusive ? '' : 'or equal to ') + threshold + \" but received `\" + value + \"`\";\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\n\nfunction min(struct, threshold, options = {}) {\n const {\n exclusive\n } = options;\n return refine(struct, 'min', value => {\n return exclusive ? value > threshold : value >= threshold || \"Expected a \" + struct.type + \" greater than \" + (exclusive ? '' : 'or equal to ') + threshold + \" but received `\" + value + \"`\";\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\n\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', value => {\n return regexp.test(value) || \"Expected a \" + struct.type + \" matching `/\" + regexp.source + \"/` but received \\\"\" + value + \"\\\"\";\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\n\nfunction size(struct, min, max = min) {\n const expected = \"Expected a \" + struct.type;\n const of = min === max ? \"of `\" + min + \"`\" : \"between `\" + min + \"` and `\" + max + \"`\";\n return refine(struct, 'size', value => {\n if (typeof value === 'number' || value instanceof Date) {\n return min <= value && value <= max || expected + \" \" + of + \" but received `\" + value + \"`\";\n } else if (value instanceof Map || value instanceof Set) {\n const {\n size\n } = value;\n return min <= size && size <= max || expected + \" with a size \" + of + \" but received one with a size of `\" + size + \"`\";\n } else {\n const {\n length\n } = value;\n return min <= length && length <= max || expected + \" with a length \" + of + \" but received one with a length of `\" + length + \"`\";\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\n\nfunction refine(struct, name, refiner) {\n return new Struct({ ...struct,\n\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n\n for (const failure of failures) {\n yield { ...failure,\n refinement: name\n };\n }\n }\n\n });\n}\n\nexport { Struct, StructError, any, array, assert, assign, boolean, coerce, create, date, defaulted, define, deprecated, dynamic, empty, enums, func, instance, integer, intersection, is, lazy, literal, map, mask, max, min, never, nullable, number, object, omit, optional, partial, pattern, pick, record, refine, regexp, set, size, string, struct, trimmed, tuple, type, union, unknown, validate };\n//# sourceMappingURL=index.es.js.map\n","import { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { IntegrySDKEvents } from '@/types';\nimport { createContext } from 'preact';\n\nexport default createContext<{\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n isPreviewMode: boolean;\n} | null>(null);\n","function n(n,t){for(var r in t)n[r]=t[r];return n}export default function(t){var r=[];function u(n){for(var t=[],u=0;u<r.length;u++)r[u]===n?n=null:t.push(r[u]);r=t}function e(u,e,f){t=e?u:n(n({},t),u);for(var i=r,o=0;o<i.length;o++)i[o](t,f)}return t=t||{},{action:function(n){function r(t){e(t,!1,n)}return function(){for(var u=arguments,e=[t],f=0;f<arguments.length;f++)e.push(u[f]);var i=n.apply(this,e);if(null!=i)return i.then?i.then(r):r(i)}},setState:e,subscribe:function(n){return r.push(n),function(){u(n)}},unsubscribe:u,getState:function(){return t}}}\n//# sourceMappingURL=unistore.es.js.map\n","module.exports = function unistoreDevTools(store) {\n\tvar extension = window.__REDUX_DEVTOOLS_EXTENSION__ || window.top.__REDUX_DEVTOOLS_EXTENSION__;\n\tvar ignoreState = false;\n\n\tif (!extension) {\n\t\tconsole.warn('Please install/enable Redux devtools extension');\n\t\tstore.devtools = null;\n\n\t\treturn store;\n\t}\n\n\tif (!store.devtools) {\n\t\tstore.devtools = extension.connect();\n\t\tstore.devtools.subscribe(function (message) {\n\t\t\tif (message.type === 'DISPATCH' && message.state) {\n\t\t\t\tignoreState = (message.payload.type === 'JUMP_TO_ACTION' || message.payload.type === 'JUMP_TO_STATE');\n\t\t\t\tstore.setState(JSON.parse(message.state), true);\n\t\t\t}\n\t\t});\n\t\tstore.devtools.init(store.getState());\n\t\tstore.subscribe(function (state, action) {\n\t\t\tvar actionName = action && action.name || 'setState';\n\n\t\t\tif (!ignoreState) {\n\t\t\t\tstore.devtools.send(actionName, state);\n\t\t\t} else {\n\t\t\t\tignoreState = false;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn store;\n}\n","import { State } from '@/types/store';\n\nexport const initialState: State = {\n stepState: {\n steps: [],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: 0,\n showValidation: false,\n allStepsCompleted: false,\n },\n genericData: {\n bundleId: null,\n templateId: null,\n templateApp: null,\n isPreviewMode: false,\n },\n stepMapping: {},\n stepDataMapping: {},\n parentChildMapping: {},\n};\n","import { Store } from 'unistore';\n\nimport { PreviewMetadata, TemplateStep } from '@/interfaces';\nimport { StepStateStep, State } from '@/types/store';\nimport { Authorization } from '@/types';\nimport { initialState } from '@/store/initialState';\n\n// If actions is a function, it gets passed the store:\nexport const actionFunctions = (storeSnapshot: Store<State>) => ({\n setSteps(state: State, templateSteps: TemplateStep[]): Partial<State> {\n const parsedSteps: StepStateStep[] = [];\n templateSteps.forEach((element) => {\n if (!element.hide_authorization) {\n // step has auth required so split into two.\n parsedSteps.push({\n stepId: element.id,\n title: `Connect ${element.activity.app.name}`,\n iconUrl: element.activity.app.icon_url,\n isCompleted: false,\n isCurrentlyOpen: false,\n type: 'AUTH',\n requiredFields: [element.id], // auth if required will always be named like this\n invalidFields: {\n [element.id]: '',\n },\n isValid: false,\n });\n } else {\n // auth is implicit so we will select the first available auth\n }\n\n if (element.is_visible) {\n // check if we need to show the config step at all\n if (element.template_fields.length > 0) {\n // step has template fields with atleast one visible\n const hasVisibleTemplateFields =\n element.template_fields.filter((el) => el.is_visible).length > 0;\n\n // check which of these are required\n const requiredFields = element.template_fields\n .filter((el) => el.is_required && el.is_visible)\n .map((field) => field.id);\n\n // check if no default value is provided\n const invalidFields = element.template_fields\n .filter((el) => el.is_required && !el.default_value)\n .reduce((prev, field) => ({ ...prev, [field.id]: '' }), {});\n\n if (hasVisibleTemplateFields)\n parsedSteps.push({\n stepId: element.id,\n title: element.title,\n iconUrl: element.activity.app.icon_url,\n isCompleted: false,\n isCurrentlyOpen: false,\n type: 'CONFIGURATION',\n requiredFields,\n invalidFields,\n isValid: !(Object.keys(invalidFields).length > 0),\n });\n }\n }\n });\n\n return {\n ...state,\n stepState: {\n steps: parsedSteps,\n currentStep: parsedSteps[0],\n stepIndex: 0,\n showValidation: false,\n allStepsCompleted: false,\n },\n };\n },\n\n showStepValidationState(state: State): Partial<State> {\n const { stepState } = state;\n return {\n stepState: {\n ...stepState,\n showValidation: true,\n },\n };\n },\n\n hideStepValidationState(state: State): Partial<State> {\n const { stepState } = state;\n return {\n stepState: {\n ...stepState,\n showValidation: false,\n },\n };\n },\n\n gotoNextStep(state: State): Partial<State> {\n const { stepState } = state;\n if (stepState) {\n const newIndex = Number(stepState.stepIndex) + 1;\n const step = stepState.steps[Number(stepState.stepIndex) + 1];\n const updatedStep = {\n ...stepState.steps[state.stepState.stepIndex],\n isCompleted: true,\n };\n if (!step) {\n // last step reached\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, stepState.stepIndex),\n updatedStep,\n ...stepState.steps.slice(stepState.stepIndex + 1),\n ],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: newIndex,\n allStepsCompleted: true,\n showValidation: false,\n },\n };\n }\n\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, stepState.stepIndex),\n updatedStep,\n ...stepState.steps.slice(stepState.stepIndex + 1),\n ],\n currentStep: {\n ...step,\n },\n stepIndex: newIndex,\n showValidation: false,\n },\n };\n }\n return state;\n },\n\n gotoPreviousStep(state: State): Partial<State> {\n if (state.stepState) {\n const newIndex = Number(state.stepState.stepIndex) - 1;\n const step = state.stepState.steps[Number(state.stepState.stepIndex) - 1];\n\n return {\n stepState: {\n ...state.stepState,\n currentStep: step,\n stepIndex: newIndex,\n },\n };\n }\n return state;\n },\n\n gotoStepInPreview: (\n state: State,\n previewMetadata: PreviewMetadata,\n ): Partial<State> => {\n const { stepState } = state;\n const { stepId, type } = previewMetadata;\n\n if (stepId && type !== 'CONFIRMATION') {\n // go to a particular step\n const stepIndexToNavigateTo = stepState.steps.findIndex(\n (el) => el.stepId === stepId && el.type === type,\n );\n if (stepIndexToNavigateTo > -1)\n return {\n stepState: {\n ...state.stepState,\n currentStep: stepState.steps[stepIndexToNavigateTo],\n stepIndex: stepIndexToNavigateTo,\n allStepsCompleted: false,\n },\n };\n }\n\n if (!stepId && type === 'CONFIRMATION') {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n return state;\n },\n\n gotoStep: (state: State, stepIndex: number): Partial<State> => {\n const { stepState } = state;\n const { stepIndex: oldStepIndex } = stepState;\n if (stepState) {\n const currentStep = stepState.steps[oldStepIndex];\n const stepToNavigateTo = stepState.steps[stepIndex];\n\n if (state.genericData.isPreviewMode) {\n // we can go to any step in preview mode\n if (stepIndex === stepState.steps.length) {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n return {\n stepState: {\n ...state.stepState,\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n allStepsCompleted: false,\n },\n };\n }\n\n // navigate directly to confirmation page if all steps are completed\n if (stepState.allStepsCompleted && stepIndex === stepState.steps.length) {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n\n // navigate to confirmation from final step\n if (\n currentStep &&\n currentStep.isValid &&\n oldStepIndex === stepState.steps.length - 1 &&\n stepIndex === stepState.steps.length\n ) {\n const updatedStep = {\n ...stepState.steps[oldStepIndex],\n isCompleted: true,\n };\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, oldStepIndex),\n updatedStep,\n ...stepState.steps.slice(oldStepIndex + 1),\n ],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex,\n allStepsCompleted: true,\n },\n };\n }\n // navigate to a step if it is completed\n if (stepToNavigateTo && stepToNavigateTo.isCompleted) {\n return {\n stepState: {\n ...state.stepState,\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n },\n };\n }\n if (\n // clicking on next step with current completed\n currentStep &&\n currentStep.isValid &&\n stepIndex === oldStepIndex + 1\n ) {\n const updatedStep = {\n ...stepState.steps[oldStepIndex],\n isCompleted: true,\n };\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...stepState.steps.slice(0, oldStepIndex),\n updatedStep,\n ...stepState.steps.slice(oldStepIndex + 1),\n ],\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n },\n };\n }\n }\n return state;\n },\n\n getStepState() {\n return storeSnapshot.getState().stepState;\n },\n\n setGenericData(\n state: State,\n genericData: Partial<{\n templateId: number;\n bundleId: number;\n isPreviewMode: boolean;\n }>,\n ): Partial<State> {\n return {\n genericData: {\n ...state.genericData,\n ...genericData,\n },\n };\n },\n\n setTemplateApp(\n state: State,\n data: {\n name: string;\n iconUrl: string;\n },\n ): Partial<State> {\n return {\n genericData: {\n ...state.genericData,\n templateApp: {\n name: data.name,\n iconUrl: data.iconUrl,\n },\n },\n };\n },\n\n setStepMapping(state: State, steps: TemplateStep[]): Partial<State> {\n const stepMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n step,\n authorizations:\n step.authorization_type.authorizations?.map((el) => ({\n authorizationId: el.id,\n userIdentity: el.user_identity,\n authType: el.authorization_type,\n disableLink: el.disable_link,\n isErrored: false,\n isVerified: false,\n })) ?? [],\n isAuthVerified: false,\n selectedAuthId:\n // eslint-disable-next-line no-nested-ternary\n step.hide_authorization || state.genericData.isPreviewMode\n ? step.authorization_type.authorizations[0]?.id ?? '' // select first available auth\n : step.step_authorization || state.stepMapping[step.id]\n ? state.stepMapping[step.id].selectedAuthId\n : '',\n },\n }),\n {},\n );\n\n const stepDataMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n ...state.stepDataMapping[step.id],\n ...step.template_fields.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.id]: {\n fieldId: curr.id,\n value:\n !curr.is_visible || curr.default_value // set default value if step is not visible on SDK\n ? curr.default_value\n : (state.stepDataMapping[step.id] && // set empty if initializing, or existing if already set\n state.stepDataMapping[step.id][curr.id] &&\n state.stepDataMapping[step.id][curr.id].value) ||\n '',\n machineName: curr.activity_field?.machine_name,\n isRequired: curr.is_required,\n isVisible: curr.is_visible,\n },\n }),\n {},\n ),\n },\n }),\n {},\n );\n\n return {\n stepMapping: {\n ...state.stepMapping,\n ...stepMapping,\n },\n stepDataMapping: {\n ...state.stepDataMapping,\n ...stepDataMapping,\n },\n genericData: {\n ...state.genericData,\n templateApp: {\n name: steps.length > 0 ? steps[0].activity.app.name : '',\n iconUrl: steps.length > 0 ? steps[0].activity.app.icon_url : '',\n },\n },\n };\n },\n\n setActivityOutputData(\n state: State,\n data: {\n activityOutputData: {\n value: string;\n text: string;\n }[];\n },\n ): Partial<State> {\n return {\n ...state,\n activityOutputData: data.activityOutputData,\n };\n },\n\n setDynamicFieldData(\n state: State,\n data: {\n dynamicFieldData: {\n [fieldId: string]: (string | Record<string, string>)[];\n };\n },\n ): Partial<State> {\n return {\n ...state,\n dynamicFieldData: Object.keys(data.dynamicFieldData).reduce(\n (prev, next) => ({\n ...prev,\n [`{${next}}`]: data.dynamicFieldData[next],\n }),\n {},\n ),\n };\n },\n\n setParentChildMapping(state: State, steps: TemplateStep[]): Partial<State> {\n const parentChildMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n ...state.parentChildMapping[step.id],\n ...step.template_fields.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.activity_field?.machine_name]: {\n fieldId: curr.id,\n childFields: curr.activity_field?.child_fields\n ? JSON.parse(curr.activity_field?.child_fields)\n : null,\n parentFields: curr.activity_field?.parent_fields\n ? JSON.parse(curr.activity_field?.parent_fields)\n : null,\n },\n }),\n {},\n ),\n },\n }),\n {},\n );\n\n return {\n parentChildMapping: {\n ...state.parentChildMapping,\n ...parentChildMapping,\n },\n };\n },\n\n addAuthorization(\n state: State,\n params: {\n stepId: number;\n authData: Authorization;\n },\n ): Partial<State> {\n const { stepId, authData } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations,\n authData,\n ],\n },\n },\n };\n },\n\n removeAuthorization(\n state: State,\n params: {\n stepId: number;\n authId: number;\n },\n ): Partial<State> {\n const { stepId, authId } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: state.stepMapping[stepId].authorizations.filter(\n (el) => el.authorizationId !== authId,\n ),\n },\n },\n };\n },\n\n toggleVerifyAuthorizationFlag(\n state: State,\n params: {\n stepId: number;\n authId: number;\n isVerifying: boolean;\n },\n ): Partial<State> {\n const { stepId, authId, isVerifying } = params;\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === authId,\n );\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(0, authObjIndex),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isVerifying,\n },\n ...state.stepMapping[stepId].authorizations.slice(authObjIndex + 1),\n ],\n },\n },\n };\n },\n\n toggleDeleteAuthorizationFlag(\n state: State,\n params: {\n stepId: number;\n authId: number;\n isDeleting: boolean;\n error: string;\n },\n ): Partial<State> {\n const { stepId, authId, isDeleting, error } = params;\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === authId,\n );\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(0, authObjIndex),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isDeleting,\n error,\n },\n ...state.stepMapping[stepId].authorizations.slice(authObjIndex + 1),\n ],\n },\n },\n };\n },\n\n setStepAuthId(\n state: State,\n params: { stepId: number; authId: number },\n ): Partial<State> {\n const { stepId, authId } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n selectedAuthId: authId,\n },\n },\n };\n },\n\n setStepAuthorization(\n state: State,\n stepId: number,\n selectedAuthId: number | null,\n isVerified: boolean,\n fieldsToReset?: number[],\n ): Partial<State> {\n const step = state.stepState.steps[state.stepState.stepIndex];\n const stepFromMapping = state.stepMapping[stepId];\n const latestStepState = storeSnapshot.getState().stepState;\n if (\n step.type !== 'CONFIRMATION' &&\n latestStepState.currentStep?.type !== 'CONFIRMATION' &&\n latestStepState.currentStep?.stepId === stepId\n ) {\n const { invalidFields } = step;\n if (isVerified) delete invalidFields[stepId];\n const updatedStep = {\n ...state.stepState.steps[state.stepState.stepIndex],\n invalidFields,\n isValid: Object.keys(invalidFields).length < 1,\n isCompleted: stepFromMapping.selectedAuthId !== null || isVerified,\n };\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === selectedAuthId,\n );\n\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...state.stepState.steps.slice(0, state.stepState.stepIndex),\n updatedStep,\n ...state.stepState.steps.slice(state.stepState.stepIndex + 1),\n ],\n currentStep: updatedStep,\n showValidation: !isVerified && !stepFromMapping.selectedAuthId,\n },\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n selectedAuthId: isVerified\n ? selectedAuthId\n : state.stepMapping[stepId].selectedAuthId,\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(\n 0,\n authObjIndex,\n ),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isVerified,\n isVerifying: false,\n didFetchStatus: true,\n error: '',\n },\n ...state.stepMapping[stepId].authorizations.slice(\n authObjIndex + 1,\n ),\n ],\n },\n },\n // reset all values for the dependent fields of auth\n stepDataMapping: {\n ...state.stepDataMapping,\n [stepId]: {\n ...state.stepDataMapping[stepId],\n ...(fieldsToReset\n ? fieldsToReset.reduce(\n (acc, curr) => ({\n ...acc,\n [curr]: {\n ...state.stepDataMapping[stepId][curr],\n value: '',\n },\n }),\n {},\n )\n : {}),\n },\n },\n };\n }\n return state;\n },\n\n setStepFieldData(\n state: State,\n data: {\n stepId: number;\n fieldId: number;\n value: string;\n },\n ): Partial<State> {\n const { stepId, fieldId, value } = data;\n const step = state.stepState.steps[state.stepState.stepIndex];\n if (step.type !== 'CONFIRMATION') {\n const { invalidFields } = step;\n\n // since this field was filled, it is no longer invalid\n delete invalidFields[fieldId];\n\n const updatedStep = {\n ...state.stepState.steps[state.stepState.stepIndex],\n invalidFields,\n isValid: Object.keys(invalidFields).length < 1,\n };\n\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...state.stepState.steps.slice(0, state.stepState.stepIndex),\n updatedStep,\n ...state.stepState.steps.slice(state.stepState.stepIndex + 1),\n ],\n currentStep: updatedStep,\n },\n stepDataMapping: {\n ...state.stepDataMapping,\n [stepId]: {\n ...state.stepDataMapping[stepId],\n [fieldId]: {\n ...state.stepDataMapping[stepId][fieldId],\n value,\n },\n },\n },\n };\n }\n return state;\n },\n\n setStepMappingData(\n state: State,\n data: {\n stepId: number;\n fieldId: number;\n id: string;\n value: string;\n },\n ): Partial<State> {\n return {\n stepDataMapping: {\n ...state.stepDataMapping,\n [data.stepId]: {\n ...state.stepDataMapping[data.stepId],\n [data.fieldId]: {\n ...state.stepDataMapping[data.stepId][data.fieldId],\n objectValue: {\n ...(state.stepDataMapping[data.stepId][data.fieldId]\n ?.objectValue ?? {}),\n ...{ [data.id]: data.value },\n },\n },\n },\n },\n };\n },\n reset(): State {\n return initialState;\n },\n});\n","import createStore, { Store } from 'unistore';\nimport devtools from 'unistore/devtools';\n\nimport { initialState } from '@/store/initialState';\n\nimport { State } from '../types/store';\nimport { actionFunctions } from './actionFunctions';\n\nconst createSDKStore = (): Store<State> => {\n const createStoreWrapper = () => createStore<State>(initialState);\n // const store = createStoreWrapper();\n const store = devtools(createStoreWrapper());\n return store;\n};\n\nexport { createSDKStore, actionFunctions, initialState };\n","import { Authorization, TemplateFormRenderModes } from '@/types';\nimport {\n array,\n boolean,\n date,\n Describe,\n nullable,\n number,\n object,\n optional,\n size,\n string,\n} from 'superstruct';\n\nexport interface SDKConfig {\n env?: 'staging' | 'production';\n debug?: boolean;\n xIntegryConfig?: {\n appAuth: {\n apiKey: string;\n };\n };\n}\n\nexport interface ConfigWithObject extends SDKConfig {\n appKey: string;\n hash: string;\n userId: string;\n bundleId: string;\n}\n\nexport interface ConfigWithUrlParams extends SDKConfig {\n useUrlParams?: boolean;\n}\n\nexport interface APIConfig {\n baseUrl: string;\n baseUrlv2: string;\n endpointsUrl: string;\n appKey: string;\n hash: string;\n userId: string;\n oauthVerifyPath: string;\n apiKey?: string;\n}\n\nexport interface Template {\n id: number;\n name: string;\n description: string;\n can_add_integration: boolean;\n integration_count: number;\n app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n branding_app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n}\n\nexport interface Integration {\n name: string;\n branding_app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n id: number;\n runs_count: number;\n bundle_instance: number;\n created: Date;\n delete_link: string;\n disable_link: string;\n edit_link: string;\n enable_link: string;\n icon_url: string;\n is_visible: number;\n last_modified: Date;\n status: string;\n template: number;\n task_execution: {\n integration_created_at: Date;\n last_execution_at: {\n date: Date;\n timezone: string;\n timezone_type: number;\n } | null;\n status: string | null;\n };\n}\n\nexport interface IntegrationSaveResponse {\n id: number;\n connected_account_id: number;\n is_visible: number | boolean;\n name: string;\n bundle_name: string;\n bundle_instance_id: number;\n status: string;\n template: number;\n}\n\nexport interface BundleResponse {\n templates: Template[];\n integrations: Integration[];\n}\n\ntype SaveIntegrationRequestStep = {\n id: number;\n authorization: number;\n template_step: number;\n app_user_data: {\n id: number;\n value: string;\n template_field: number;\n }[];\n};\n\nexport interface SaveOrUpdateIntegrationBody {\n id?: number;\n name: string;\n notification_email: string;\n template: number;\n bundle_id: number;\n bundle_instance_id?: number;\n steps: SaveIntegrationRequestStep[];\n}\n\nexport interface IntegrationStatusResponse {\n [integrationId: number]: {\n name: string;\n status: string;\n template_id: number;\n tooltip: string | null;\n task_execution: {\n integration_created_at: string;\n last_execution_at: string | null;\n status: string | null;\n };\n };\n}\n\ntype App = {\n id: number;\n name: string;\n description: string;\n icon_url: string;\n color: string;\n publishing_status: string;\n category: string[];\n app_type?: string;\n action_url?: string | null;\n created_at?: Date;\n tags: string;\n};\n\ntype Activity = {\n id: number;\n name: string;\n type: string;\n endpoint: string;\n auth_required: boolean;\n total_fields: number;\n app: App;\n activity_output: string;\n activity_output_url: string | null;\n dynamic_field_data_endpoint: string | null;\n};\n\ntype AuthorizationType = {\n id: number;\n type: string;\n authorizations: Authorization[];\n provider: string;\n is_sandbox_enabled: boolean;\n authorization_url_sandbox: string;\n};\n\nexport type IntegryStep = {\n id: number;\n weight: number;\n title: string;\n is_visible: boolean;\n activity: Activity;\n};\n\nexport interface TemplateResponse {\n id: number;\n name: string;\n description: string;\n app: App;\n branding_app: App;\n button_text: string | null;\n is_wizard: boolean;\n steps: IntegryStep[];\n publishing_status: string;\n level?: number;\n parent_id?: number;\n}\n\nexport interface TemplateField {\n id: number;\n is_required: boolean;\n is_hidden: boolean;\n default_value: string | null;\n weight: number;\n description: string;\n summary: string | null;\n activity_field: {\n id: number;\n machine_name: string;\n type: string;\n title: string;\n description: string;\n weight: number;\n is_required: boolean;\n child_fields: string | null;\n is_dynamic: boolean;\n data_src: string | null;\n data_src_endpoint: number | null;\n parent_fields: string | null;\n dynamic_field_src: string | null;\n default_value: string | null;\n auto_machine_name: string;\n dynamic_field_src_endpoint: number | null;\n regex: string | null;\n is_searchable: boolean;\n };\n title: string | null;\n type: string;\n placeholder: string | null;\n // manual_template: unknown | null;\n child_field: string | null;\n child_field_value: string | null;\n // template_fields: unknown[];\n button_text: string | null;\n // field_actions: unknown[];\n icon_url: string | null;\n long_description: string | null;\n regex: string | null;\n regex_msg: string | null;\n is_visible: boolean;\n}\n\nexport interface TemplateStep {\n id: number;\n weight: number;\n title: string;\n is_visible: boolean;\n activity: Activity;\n authorization_type: AuthorizationType;\n template_fields: TemplateField[];\n // step_instance: unknown | null;\n allow_multiple_authorizations: boolean;\n step_authorization: number | null;\n button_text: string | null;\n is_self_step: boolean;\n summary: string | null;\n auth_description: string | null;\n hide_authorization: boolean;\n // step_condition: unknown | null;\n machine_name: string | null;\n is_custom_machine_name: boolean;\n}\n\nexport interface InitConfig {\n containerId: string;\n templateContainerId?: string;\n renderMode: TemplateFormRenderModes;\n}\n\nexport interface TemplatePreviewData {\n id: number;\n name: string;\n description: string;\n app: App;\n branding_app: App;\n button_text: string | null;\n is_wizard: boolean;\n publishing_status: string;\n level?: number;\n parent_id?: number;\n steps: TemplateStep[];\n}\n\nexport const TemplatePreviewDataType: Describe<TemplatePreviewData> = object({\n id: number(),\n name: string(),\n description: string(),\n app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n branding_app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n button_text: nullable(string()),\n is_wizard: boolean(),\n publishing_status: string(),\n steps: size(\n array(\n object({\n id: number(),\n weight: number(),\n title: string(),\n is_visible: boolean(),\n activity: object({\n id: number(),\n name: string(),\n type: string(),\n endpoint: string(),\n auth_required: boolean(),\n total_fields: number(),\n app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n activity_output: string(),\n activity_output_url: nullable(string()),\n dynamic_field_data_endpoint: nullable(string()),\n }),\n authorization_type: object({\n id: number(),\n type: string(),\n authorizations: array(\n object({\n id: number(),\n authorization_type: string(),\n app_user: optional(number()),\n app_user_id: optional(number()),\n disable_link: optional(string()),\n integration_count: optional(number()),\n user_identity: string(),\n }),\n ),\n provider: string(),\n is_sandbox_enabled: boolean(),\n authorization_url_sandbox: string(),\n }),\n template_fields: array(\n object({\n id: number(),\n is_required: boolean(),\n is_hidden: boolean(),\n default_value: nullable(string()),\n weight: number(),\n description: string(),\n summary: nullable(string()),\n placeholder: nullable(string()),\n activity_field: object({\n id: number(),\n machine_name: string(),\n type: string(),\n title: string(),\n description: string(),\n weight: number(),\n is_required: boolean(),\n child_fields: nullable(string()),\n is_dynamic: boolean(),\n data_src: nullable(string()),\n data_src_endpoint: nullable(number()),\n parent_fields: nullable(string()),\n dynamic_field_src: nullable(string()),\n default_value: nullable(string()),\n auto_machine_name: string(),\n dynamic_field_src_endpoint: nullable(number()),\n regex: nullable(string()),\n is_searchable: boolean(),\n }),\n title: nullable(string()),\n type: string(),\n // manual_template: unknown | null;\n child_field: nullable(string()),\n child_field_value: nullable(string()),\n // template_fields: unknown[];\n button_text: nullable(string()),\n // field_actions: unknown[];\n icon_url: nullable(string()),\n long_description: nullable(string()),\n regex: nullable(string()),\n regex_msg: nullable(string()),\n is_visible: boolean(),\n }),\n ),\n // step_instance: unknown | null;\n allow_multiple_authorizations: boolean(),\n step_authorization: nullable(number()),\n button_text: nullable(string()),\n is_self_step: boolean(),\n summary: nullable(string()),\n auth_description: nullable(string()),\n hide_authorization: boolean(),\n // step_condition: unknown | null;\n machine_name: nullable(string()),\n is_custom_machine_name: boolean(),\n }),\n ),\n 0,\n Number.POSITIVE_INFINITY,\n ),\n});\n\nexport interface PreviewMetadata {\n stepId: number | null;\n type: 'AUTH' | 'CONFIGURATION' | 'CONFIRMATION' | 'SECTION';\n}\n\nexport interface PreviewPayload {\n templateData: TemplatePreviewData;\n metadata: PreviewMetadata;\n previewContainerId: string;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nconst Loader = () => html`\n <svg\n class=${styles.loader}\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.13037 0.179352C7.57047 -0.168051 5.94039 -0.00810102 4.47777 0.635883C3.01515 1.27987 1.79647 2.37421 0.999409 3.75937C0.202348 5.14453 -0.131421 6.74808 0.0467641 8.33623C0.224949 9.92438 0.90577 11.4141 1.98997 12.5882C3.07417 13.7623 4.50506 14.5593 6.07402 14.8632C7.64298 15.167 9.26799 14.9618 10.7121 14.2773C12.1562 13.5929 13.344 12.4651 14.1022 11.0582C14.8604 9.65144 15.1494 8.03922 14.9271 6.45665L14.1844 6.56098C14.3845 7.9853 14.1243 9.43629 13.442 10.7024C12.7596 11.9685 11.6906 12.9836 10.3909 13.5996C9.09119 14.2156 7.62869 14.4003 6.21662 14.1269C4.80455 13.8534 3.51675 13.136 2.54097 12.0794C1.56519 11.0227 0.952454 9.68194 0.792088 8.2526C0.631721 6.82327 0.932113 5.38008 1.64947 4.13343C2.36682 2.88679 3.46363 1.90188 4.77999 1.32229C6.09635 0.742709 7.56343 0.598754 8.96733 0.911417L9.13037 0.179352Z\"\n fill=\"#E0E0E0\"\n />\n <path\n d=\"M14.93 6.47755C14.7207 4.95709 14.0501 3.53742 13.0085 2.41017C11.9669 1.28292 10.6046 0.50235 9.10537 0.173829L8.94483 0.906446C10.2941 1.20212 11.5202 1.90462 12.4577 2.91915C13.3951 3.93368 13.9987 5.21138 14.187 6.57979L14.93 6.47755Z\"\n fill=\"#ADADAD\"\n />\n </svg>\n`;\n\nexport { Loader };\n","/**\n * Utility types\n */\n\nexport type OrNull<Type> = Type | null;\n\nexport type OneOrMany<Type> = Type | Type[];\n\nexport type OneOrManyOrNull<Type> = OrNull<OneOrMany<Type>>;\n\nexport type Merge<A, B> = {\n [K in keyof (A | B)]: K extends keyof B ? B[K] : A[K];\n};\n\nexport function notEmpty<TValue>(\n value: TValue | null | undefined,\n): value is TValue {\n return value !== null && value !== undefined;\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Modified version of https://github.com/rschristian/preact-hint\n * for Preact with htm with added support for:\n * 1. bottom position\n * 2. dismissing popup on click of target element\n */\n\nimport { html } from 'htm/preact';\nimport type { ComponentChild, VNode } from 'preact';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n children: ComponentChild | ComponentChild[];\n dismissOnClick?: boolean;\n position?: 'top' | 'bottom';\n attribute?: string;\n template?: (content: string) => VNode;\n}\n\ninterface HintProps {\n content: string;\n position: 'top' | 'bottom';\n template?: (content: string) => VNode;\n rootBoundingRect: ClientRect;\n targetBoundingRect: ClientRect;\n}\n\nexport function HintWrap(props: HintProps): VNode {\n const hint = useRef<HTMLSpanElement | null>(null);\n // Render way off-screen to prevent rubber banding from initial (and unavoidable) render.\n const [hintWidth, setHintWidth] = useState(10000);\n\n const { position } = props;\n\n useEffect(() => {\n if (hint.current) {\n setHintWidth(hint.current.getBoundingClientRect().width);\n }\n }, [hint]);\n\n return html`\n <div\n class=\"${`${styles['preact-hint']} ${\n position === 'top'\n ? styles['preact-hint__top']\n : styles['preact-hint__bottom']\n }`}\"\n style=${{\n ...{\n left:\n props.targetBoundingRect.left -\n props.rootBoundingRect.left -\n hintWidth / 2 +\n props.targetBoundingRect.width / 2,\n },\n ...(position === 'top'\n ? {\n bottom:\n props.rootBoundingRect.height -\n props.targetBoundingRect.top +\n props.rootBoundingRect.top +\n 2,\n }\n : {\n top:\n props.rootBoundingRect.height -\n props.targetBoundingRect.top +\n props.rootBoundingRect.top +\n 2,\n }),\n }}\n >\n <pre class=${styles['preact-hint__content']} ref=${hint}>\n ${props.template ? props.template(props.content) : props.content}\n </pre\n >\n </div>\n `;\n}\n\nexport const Hint = (props: Props): VNode => {\n const { position = 'bottom', attribute = 'data-hint' } = props;\n const [content, setContent] = useState<string>('');\n const [\n containerElement,\n setContainerElement,\n ] = useState<HTMLDivElement | null>(null);\n const [\n targetBoundingRect,\n setTargetBoundingRect,\n ] = useState<ClientRect | null>(null);\n\n const onRefChange = useCallback(\n (node: HTMLDivElement | null) => {\n setContainerElement(node);\n if (containerElement) {\n containerElement.addEventListener('mouseover', (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(attribute)) {\n setContent(e.target.getAttribute(attribute) || '');\n setTargetBoundingRect(e.target.getBoundingClientRect());\n }\n });\n containerElement.addEventListener('mouseout', (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(attribute)) {\n setContent('');\n setTargetBoundingRect(null);\n }\n });\n if (props.dismissOnClick)\n containerElement.addEventListener('click', () => {\n setContent('');\n setTargetBoundingRect(null);\n });\n }\n },\n [containerElement],\n );\n\n return html`\n <div ref=${onRefChange} style=\"position: relative\">\n ${content &&\n containerElement &&\n targetBoundingRect &&\n html` <${HintWrap}\n content=${content}\n position=${position}\n template=${props.template}\n rootBoundingRect=${containerElement?.getBoundingClientRect()}\n targetBoundingRect=${targetBoundingRect}\n />`}\n ${props.children}\n </div>\n `;\n};\n","import { html } from 'htm/preact';\nimport cx from 'classnames';\n\nimport { Hint } from '@/components/Tooltip';\n\nimport styles from './styles.module.scss';\n\nexport enum ButtonTypes {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n LINK = 'link',\n}\n\nexport interface ButtonProps {\n label: string;\n type?: ButtonTypes;\n color?: string;\n dismissOnClick?: boolean;\n position?: 'top' | 'bottom';\n tooltip?: string;\n disabled?: boolean;\n backgroundColor: string;\n onClick: (e: MouseEvent) => void;\n}\n\n/**\n * Button component\n *\n */\nexport const Button = (props: ButtonProps) => {\n const {\n label,\n type = ButtonTypes.PRIMARY,\n color = null,\n backgroundColor = null,\n disabled = false,\n tooltip,\n dismissOnClick = true,\n position = 'bottom',\n onClick = undefined,\n ...restOfProps\n } = props;\n\n return html`\n <${Hint} dismissOnClick=${dismissOnClick} position=${position}>\n <button\n type=\"button\"\n onclick=${onClick}\n data-hint=${tooltip || null}\n class=${cx(styles.button, {\n [styles.buttonPrimary]: type === ButtonTypes.PRIMARY,\n [styles.buttonSecondary]: type === ButtonTypes.SECONDARY,\n [styles.buttonLink]: type === ButtonTypes.LINK,\n [styles.disabled]: disabled,\n })}\n style=${{\n backgroundColor:\n type === ButtonTypes.PRIMARY ? backgroundColor : null,\n borderColor: type === ButtonTypes.PRIMARY ? backgroundColor : color,\n color,\n }}\n ${{ ...restOfProps }}\n >\n ${label}\n </button>\n <//>\n `;\n};\n","import { html } from 'htm/preact';\nimport { StructError } from 'superstruct';\nimport { Button } from '../Button';\n\nimport styles from './styles.module.scss';\n\ninterface ErrorPageProps {\n title: string;\n description: string;\n errorPayload: Error | StructError | null;\n onDismiss?: () => void;\n}\n\n/**\n * ErrorPage component\n *\n */\nconst ErrorPage = (props: ErrorPageProps) => {\n const { title, description, errorPayload, onDismiss = null } = props;\n\n return html`\n <div class=\"${styles.errorPageWrapper}\">\n <div class=${styles.errorTitle}>${title}</div>\n <div class=${styles.errorDescription}>${description}</div>\n ${errorPayload &&\n html`\n <div class=${styles.errorContainer}>\n <pre class=${styles.errorPayload}>${errorPayload.message}</pre>\n <pre class=${styles.errorPayload}>${errorPayload.stack}</pre>\n </div>\n `}\n ${onDismiss &&\n html`\n <div>\n <${Button} label=\"Dismiss\" onClick=${onDismiss} />\n </div>\n `}\n </div>\n `;\n};\n\nexport { ErrorPage, ErrorPageProps };\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ntype NavItemProps = {\n label: string;\n logoUrl?: string;\n isDisabled?: boolean;\n isActive?: boolean;\n isCompleted?: boolean;\n isLastStep?: boolean;\n onClick?(): void;\n};\n\nconst TickMark = html` <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <rect opacity=\"0.7\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#2ECC71\" />\n <path\n d=\"M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n</svg>`;\n\nconst FinalTickMark = html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"7.5\"\n cy=\"7.5\"\n r=\"6.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M10.3333 5.5L6.83522 9.5L5 7.40148\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n`;\n\nclass NavItem extends Component<NavItemProps> {\n render() {\n const {\n logoUrl,\n isActive = false,\n isCompleted = false,\n isDisabled = false,\n isLastStep = false,\n onClick = () => null,\n } = this.props;\n return html`\n <div\n class=${`${styles.navItem} ${isDisabled ? styles.disabled : ''} ${\n isActive ? styles.active : ''\n }`}\n onclick=${onClick}\n tabindex=\"-1\"\n role=\"button\"\n >\n <div class=${styles.navItemContent}>\n <div class=${styles.imgContainer}>\n ${!(isCompleted && !isActive)\n ? html`<img src=${logoUrl} />`\n : TickMark}\n ${isLastStep && FinalTickMark}\n </div>\n <p>${this.props.label}</p>\n ${!isLastStep &&\n html`\n <div class=${styles.arrow}>\n <svg\n width=\"6\"\n height=\"11\"\n viewBox=\"0 0 6 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699\"\n stroke=\"#999999\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n `}\n </div>\n </div>\n `;\n }\n}\n\nexport { NavItem, NavItemProps };\n","import { html } from 'htm/preact';\nimport { useContext } from 'preact/hooks';\nimport { connect } from 'unistore/preact';\nimport { StoreType } from '@/types/store';\n\nimport AppContext from '@/contexts/AppContext';\nimport { actionFunctions } from '@/store';\nimport { NavItem } from './NavItem';\n\nimport styles from './styles.module.scss';\n\nexport type StepNavigationProps = StoreType;\n\nconst StepNavigation = (props: StepNavigationProps) => {\n const { gotoStep, stepState } = props;\n const context = useContext(AppContext);\n\n const changeStep = (stepIndex: number) => {\n gotoStep(stepIndex);\n };\n\n const step = stepState?.currentStep;\n\n return html`\n <div class=${styles.navigation}>\n ${stepState &&\n html`\n ${stepState.steps.map(\n (el, idx) =>\n html` <${NavItem}\n label=${el.type !== 'CONFIRMATION' ? el.title : 'Confirmation'}\n logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}\n isCompleted=${!context?.isPreviewMode && el.isCompleted}\n isActive=${step?.type !== 'CONFIRMATION' &&\n el.type !== 'CONFIRMATION' &&\n stepState.stepIndex === idx}\n isDisabled=${(context?.isPreviewMode &&\n Number(stepState?.stepIndex) !== idx) ||\n Number(stepState?.stepIndex) < idx}\n isLastStep=${idx === stepState?.steps.length}\n onClick=${() => changeStep(idx)}\n />`,\n )}\n `}\n ${stepState.steps.length > 0 &&\n html`\n <${NavItem}\n label=\"Confirmation\"\n logoUrl=\"\"\n isCompleted=${true}\n isActive=${step !== undefined &&\n stepState?.stepIndex === stepState?.steps.length}\n isDisabled=${step !== undefined &&\n stepState?.stepIndex !== stepState?.steps.length}\n isLastStep=${true}\n onClick=${() => changeStep(stepState?.steps.length ?? 0)}\n />\n `}\n </div>\n `;\n};\n\nexport default connect<StepNavigationProps, unknown, StoreType, unknown>(\n 'stepState',\n actionFunctions,\n)(StepNavigation);\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nexport interface RadioProps extends HTMLInputElement {\n label: string;\n name: string;\n description?: string;\n value: string;\n isChecked?: boolean;\n handleChange?: (id: string) => void;\n}\n\n/**\n * Radio component\n *\n */\nexport const Radio = (props: RadioProps) => {\n const {\n label,\n name,\n description = null,\n value,\n isChecked = false,\n handleChange = () => null,\n } = props;\n\n const handleRadioChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLInputElement) {\n const { value: newValue } = e.currentTarget;\n handleChange(newValue);\n }\n };\n\n return html`\n <div class=${styles.radio}>\n <input\n id=${value}\n type=\"radio\"\n name=${name}\n value=${value}\n checked=${isChecked}\n onclick=${handleRadioChange}\n />\n <div>\n <label for=${value}>\n <div class=${styles.button}>\n ${isChecked\n ? html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z\"\n fill=\"white\"\n stroke=\"#5F4D86\"\n stroke-width=\"2\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 11C9.433 11 11 9.433 11 7.5C11 5.567 9.433 4 7.5 4C5.567 4 4 5.567 4 7.5C4 9.433 5.567 11 7.5 11Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `\n : html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z\"\n fill=\"white\"\n stroke=\"#E2E0DB\"\n stroke-width=\"2\"\n />\n </svg>\n `}\n </div>\n <div>\n <div class=${styles.text}>${label}</div>\n ${description &&\n html`<div class=${styles.description}>${description}</div>`}\n </div>\n </label>\n </div>\n </div>\n `;\n};\n","import { FunctionComponent } from 'preact';\nimport { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\n/**\n * ErrorMessage component\n *\n */\nconst ErrorMessage: FunctionComponent = (props) => {\n const { children } = props;\n\n return html` <div class=${styles.errorMessage}>${children}</div> `;\n};\n\nexport { ErrorMessage };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n title: string;\n description?: string;\n isRequired?: boolean;\n}\n\nconst Label = (props: LabelProps) => {\n const { title, description, isRequired = false } = props;\n return html`\n <div class=${styles.label}>\n <label>\n <div>\n ${title}\n ${isRequired && html`<span class=${styles.required}>*</span>`}\n </div>\n ${description && html`<div>${description}</div>`}\n </label>\n </div>\n `;\n};\n\nexport { Label, LabelProps };\n","export default () => ![typeof window, typeof document].includes('undefined');\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\n\nimport { Loader } from '@/components/Loader';\nimport { IntegryAPI } from '@/modules/api';\nimport { Radio } from '@/components/RadioGroup/Radio';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { Label } from '@/components/Label';\nimport { Authorization, StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\nimport isBrowser from '@/utils/isBrowser';\nimport AppContext from '@/contexts/AppContext';\n\nimport { openPopupWindow } from '@/utils/popup';\nimport { AuthData, isAuthMessage } from '@/utils/isAuthMessage';\n\nimport styles from './styles.module.scss';\n\ninterface AuthSelectorPropsType extends StoreType {\n stepId: number;\n apiHandler: IntegryAPI;\n showErrors?: boolean;\n onAuthSelected(authId: number | null, isVerified: boolean): void;\n}\n\ninterface AuthSelectorStateType {\n isLoading: boolean;\n fetched: boolean;\n}\n\nconst Resend = () => html`\n <svg\n class=${styles.resend}\n width=\"13\"\n height=\"15\"\n viewBox=\"0 0 13 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.8403 5.34L10.1453 6.345C10.5053 6.96 10.7003 7.68 10.7003 8.445C10.7003 10.77 8.81031 12.645 6.50031 12.645C4.19031 12.645 2.30031 10.755 2.30031 8.445C2.30031 6.135 4.19031 4.245 6.50031 4.245V6.15L11.1053 3.27L6.50031 0.375V2.28C3.09531 2.28 0.320312 5.055 0.320312 8.46C0.320313 11.85 3.09531 14.625 6.50031 14.625C9.90531 14.625 12.6803 11.85 12.6803 8.445C12.6803 7.32 12.3653 6.255 11.8403 5.34Z\"\n fill=\"#8D8D8D\"\n />\n </svg>\n`;\n\nconst AuthorizationRow = (props: {\n label: string;\n name: string;\n value: string;\n isChecked?: boolean;\n isLoading: boolean;\n isDeleting?: boolean;\n error?: string;\n status: 'VERIFYING' | 'CONNECTED' | 'ERROR' | 'IDLE';\n handleChange?: (id: string) => void;\n handleReverify?: () => void;\n handleDelete?: () => void;\n}) => {\n const {\n label,\n name,\n value,\n isChecked,\n status = 'IDLE',\n isDeleting = false,\n handleChange,\n handleReverify,\n handleDelete = () => null,\n error,\n } = props;\n return html`\n <div class=${styles.checkboxRow}>\n <${Radio}\n label=${label}\n name=${name}\n value=${value}\n isChecked=${isChecked}\n handleChange=${handleChange}\n />\n <div class=${styles.statusWrap}>\n <div class=${styles.status}>\n <div>\n ${status === 'VERIFYING' &&\n !isDeleting &&\n html`<div class=${styles.statusOrange} />\n Verifying <${Loader} /> `}\n </div>\n <div>\n ${status === 'CONNECTED' &&\n !error &&\n !isDeleting &&\n html`<div class=${styles.statusGreen} />\n Connected`}\n </div>\n <div>\n ${status === 'ERROR' &&\n !isDeleting &&\n html`<div class=${styles.statusRed} />\n Failed\n <div onclick=${handleReverify}><${Resend} /></div>`}\n </div>\n ${isDeleting && html`<${Loader} />`}\n ${error &&\n !isDeleting &&\n !(status === 'VERIFYING') &&\n html`<div class=${styles.error}>${error}</div>`}\n </div>\n <div class=${styles.deleteIcon} onclick=${handleDelete}>\n ${!(status === 'VERIFYING' || isDeleting) &&\n html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M1.5 4.1999H13.65\" stroke=\"#F05C42\" />\n <path\n d=\"M11.6254 5.5498V6.2248L10.9504 13.6498H4.20039L3.52539 6.2248V5.5498\"\n stroke=\"#F05C42\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M5.55078 3.525V2.175C5.55078 1.80221 5.85299 1.5 6.22578 1.5H8.92578C9.29857 1.5 9.60078 1.80221 9.60078 2.175V3.525\"\n stroke=\"#F05C42\"\n />\n </svg>\n `}\n </div>\n </div>\n </div>\n `;\n};\n\nclass AuthSelector extends Component<\n AuthSelectorPropsType,\n AuthSelectorStateType\n> {\n static contextType = AppContext;\n\n constructor(props: AuthSelectorPropsType) {\n super(props);\n this.state = {\n isLoading: false,\n fetched: false,\n };\n }\n\n componentDidMount() {\n if (isBrowser())\n window.addEventListener('message', this.onAuthResponseReceived);\n\n // in preview mode, auto-verify the auth we pass\n const { stepId, stepMapping } = this.props;\n const auth = stepMapping[stepId].selectedAuthId;\n const authIndex = stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === auth,\n );\n // auth is selected but is in idle state\n if (\n stepMapping[stepId].selectedAuthId &&\n this.getAuthStatus(stepMapping[stepId].authorizations[authIndex]) ===\n 'IDLE'\n ) {\n this.verifyAuth(authIndex);\n }\n }\n\n componentDidUpdate(prevProps: AuthSelectorPropsType) {\n const { stepId, stepMapping } = this.props;\n const step = stepMapping[stepId];\n const auth = step.selectedAuthId;\n\n const authIndex = stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === auth,\n );\n // verify auth whenever we select a new one\n if (auth !== prevProps.stepMapping[stepId].selectedAuthId && authIndex) {\n this.verifyAuth(authIndex);\n }\n if (\n step.authorizations.length ===\n prevProps.stepMapping[stepId].authorizations.length + 1\n ) {\n // auth was added so we verify\n this.verifyAuth(step.authorizations.length - 1);\n }\n }\n\n componentWillUnmount() {\n if (isBrowser())\n window.removeEventListener('message', this.onAuthResponseReceived);\n }\n\n private verifyAuth = (authIndex: number) => {\n const { stepId } = this.props;\n const auth = this.props.stepMapping[stepId].authorizations[authIndex];\n\n if (!auth) return;\n\n if (auth.isVerified) {\n this.props.onAuthSelected(auth.authorizationId, true);\n return;\n }\n\n this.props.toggleVerifyAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isVerifying: true,\n });\n this.setState({ isLoading: true });\n\n this.props.apiHandler\n .verifyOAuth(auth.authorizationId)\n .then((res) => {\n if (res) {\n this.props.onAuthSelected(auth.authorizationId, true);\n } else {\n this.props.onAuthSelected(auth.authorizationId, false);\n }\n })\n .catch((err) => console.error(err))\n .finally(() => {\n this.props.toggleVerifyAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isVerifying: false,\n });\n this.setState({ isLoading: false });\n });\n };\n\n private deleteAuth = (authIndex: number) => {\n const { stepId } = this.props;\n const auth = this.props.stepMapping[stepId].authorizations[authIndex];\n\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: true,\n error: '',\n });\n\n this.props.apiHandler\n .deleteAuth(auth.authorizationId)\n .then((res) => {\n if (res?.status === 200) {\n this.props.removeAuthorization({\n stepId,\n authId: auth.authorizationId,\n });\n } else if (res?.status === 405) {\n // we have a deletion error\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: false,\n error: `${res.data}`,\n });\n } else {\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: false,\n error: 'An unexpected error occurred',\n });\n }\n })\n .catch((err) => {\n console.error(err);\n });\n };\n\n private onAuthResponseReceived = (messageEvent: MessageEvent<AuthData>) => {\n if (isAuthMessage(messageEvent) && messageEvent.data.activity_name) {\n console.info(messageEvent.data);\n if (this.props.stepId) {\n if (!messageEvent.data.already_exists) {\n this.props.addAuthorization({\n stepId: this.props.stepId,\n authData: {\n authorizationId: messageEvent.data.authorization_id,\n userIdentity: messageEvent.data.user_identity,\n disableLink: '',\n authType: '',\n isVerified: false,\n didFetchStatus: false,\n isVerifying: false,\n isDeleting: false,\n error: '',\n },\n });\n } else {\n this.props.setStepAuthId({\n stepId: this.props.stepId,\n authId: Number(messageEvent.data.authorization_id),\n });\n }\n }\n }\n };\n\n private getAuthStatus = (auth: Authorization) => {\n let status = 'IDLE';\n if (auth.isVerified && auth.didFetchStatus) status = 'CONNECTED';\n if (!auth.isVerified && auth.didFetchStatus) status = 'ERROR';\n if (auth.isVerifying) status = 'VERIFYING';\n return status;\n };\n\n private getError = () => {\n const { stepId } = this.props;\n const step = this.props.stepMapping[stepId];\n if (!step.authorizations) {\n return `Please add a valid ${step.step.activity.app.name} account`;\n }\n return `Please select a valid ${step.step.activity.app.name} account`;\n };\n\n public openAuthWindow = () => {\n const { stepMapping, stepId } = this.props;\n const selectedStep = stepMapping[stepId].step;\n if (selectedStep) {\n const url = this.context.apiHandler.getAuthUrl(\n selectedStep.authorization_type.id,\n );\n openPopupWindow(url, 'Auth Window', window, 800, 600);\n }\n };\n\n render() {\n const { stepId, showErrors = false } = this.props;\n const step = this.props.stepMapping[stepId];\n const { authorizations } = step;\n\n return html`\n <div class=${styles.authSelectorWrap}>\n <${Label}\n title=\"Connect account\"\n description=${`Select your ${step.step.activity.app.name} account`}\n isRequired=${true}\n />\n <div class=${styles.rows}>\n ${authorizations.map(\n (el, index) => html`<${AuthorizationRow}\n label=${el.userIdentity}\n value=${el.authorizationId}\n status=${this.getAuthStatus(el)}\n isChecked=${el.authorizationId === step.selectedAuthId}\n isDeleting=${el.isDeleting}\n error=${el.error}\n handleChange=${() => this.verifyAuth(index)}\n handleReverify=${() => this.verifyAuth(index)}\n handleDelete=${() => this.deleteAuth(index)}\n />`,\n )}\n </div>\n <div class=${showErrors ? `${styles.error}` : ''}>\n <${Button}\n onClick=${() => this.openAuthWindow()}\n label=${`Add ${step.step.activity.app.name} account`}\n type=${ButtonTypes.SECONDARY}\n disabled=${this.state.isLoading}\n >\n <//>\n </div>\n ${showErrors && html`<${ErrorMessage}>${this.getError()}<//>`}\n </div>\n `;\n }\n}\n\nexport default connect<\n AuthSelectorPropsType,\n AuthSelectorStateType,\n StoreType,\n unknown\n>(\n ['stepMapping'],\n actionFunctions,\n)(AuthSelector);\n","interface AuthData {\n activity_name: string;\n already_exists: boolean;\n authorization_id: number;\n user_identity: string;\n}\n\nfunction isAuthMessage(\n msg: MessageEvent<AuthData>,\n): msg is MessageEvent<AuthData> {\n return (msg as MessageEvent<AuthData>) !== undefined;\n}\n\nexport { isAuthMessage, AuthData };\n","/**\n *\n * @param url Url to open in this popup window\n * @param windowName Given name\n * @param win Original window reference\n * @param w Width in px\n * @param h Height in px\n * @returns Reference to the newly created popup window\n */\nfunction openPopupWindow(\n url: string,\n windowName: string,\n win: Window,\n w: number,\n h: number,\n): Window | null {\n const y = win.top.outerHeight / 2 + win.top.screenY - h / 2;\n const x = win.top.outerWidth / 2 + win.top.screenX - w / 2;\n return win.open(\n url,\n windowName,\n `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=${w}, height=${h}, top=${y}, left=${x}`,\n );\n}\n\nexport { openPopupWindow };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ListBoxItemProps {\n value: string;\n id: string;\n isSelected?: boolean;\n onClick(): void;\n}\n\nconst ListBoxItem = (props: ListBoxItemProps) => {\n const { id, value, isSelected, onClick } = props;\n return html`\n <span\n class=${`${styles.listboxItem} ${isSelected ? styles.selected : ''}`}\n data-value=${id}\n onclick=${onClick}\n >\n ${isSelected &&\n html`\n <svg\n width=\"7\"\n height=\"7\"\n viewBox=\"0 0 7 7\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"#333\"\n >\n <path\n d=\"M6.33333 1.5L2.83522 5.5L1 3.40148\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n `}\n ${value}\n </span>\n `;\n};\n\nexport { ListBoxItem, ListBoxItemProps };\n","import { html } from 'htm/preact';\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks';\n\nimport { Label } from '@/components/Label';\nimport { useOnClickOutside } from '@/hooks/useOnClickOutside';\nimport { Loader } from '@/components/Loader';\nimport { IntegryAPI } from '@/modules/api';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { ListBoxItem, ListBoxItemProps } from './ListBoxItem';\n\nimport styles from './styles.module.scss';\n\ninterface ListBoxProps {\n title: string;\n description: string;\n items: Omit<ListBoxItemProps, 'onClick'>[];\n value?: string;\n onChange(val: string): void;\n isOpen?: boolean;\n isDynamic?: boolean;\n endpointUrl?: string;\n placeholder: string | null;\n isRequired?: boolean;\n showStepValidation?: boolean;\n responseMapper?(input: unknown): Omit<ListBoxItemProps, 'onClick'>[];\n apiHandler: IntegryAPI;\n endpointData: string;\n}\n\nconst ListBox = (props: ListBoxProps) => {\n const {\n title,\n description,\n items: passedItems = [],\n value = null,\n isOpen = false,\n isDynamic = false,\n endpointData,\n isRequired = false,\n placeholder,\n onChange = () => null,\n showStepValidation = false,\n responseMapper = (input: { id: string; value: string }[]) => input,\n } = props;\n\n const [items, setItems] = useState<Omit<ListBoxItemProps, 'onClick'>[]>(\n passedItems,\n );\n const [loading, setLoading] = useState(\n isDynamic && !passedItems.length && !value,\n );\n\n const [isDropdownOpen, setIsDropdownOpen] = useState(isOpen);\n\n const dropdownRef = useRef<HTMLDivElement>();\n\n useOnClickOutside(\n dropdownRef,\n () => isDropdownOpen && setIsDropdownOpen(false),\n );\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { apiHandler, isDynamic, endpointUrl } = props;\n if (isDynamic && endpointUrl) {\n setLoading(true);\n let data;\n try {\n data = JSON.parse(endpointData);\n } catch (error) {\n data = '';\n }\n apiHandler\n .callDynamicDataEndpoint<\n {\n id: string;\n value: string;\n }[]\n >(new URL(endpointUrl), data)\n .then((res) => {\n setLoading(false);\n if (res) {\n setItems(responseMapper(res));\n }\n });\n }\n }, [endpointData]);\n\n const toggleDropdown = () => {\n setIsDropdownOpen((prev) => !prev);\n };\n\n const onEnterClicked = () => {\n toggleDropdown();\n };\n\n const getSelectedItem = useMemo(() => {\n const index = items.findIndex((el) => el.id === value);\n return index > -1 ? items[index].value : '';\n }, [items, value]);\n\n return html`\n <div ref=${dropdownRef} class=\"${styles.listboxGroupWrapper}\">\n <fieldset>\n ${title &&\n html`\n <${Label}\n title=${title}\n description=${description}\n isRequired=${isRequired}\n />\n `}\n <div class=${styles.listbox}>\n <div\n class=${`${styles.customSelect} ${\n isDropdownOpen ? styles.open : ''\n }`}\n >\n <div\n class=${`${styles.customSelectTrigger} ${\n showStepValidation && !value && isRequired && styles.error\n }`}\n role=\"button\"\n tabindex=${0}\n onclick=${toggleDropdown}\n onkeyup=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onEnterClicked();\n }\n }}\n >\n <span>\n ${loading\n ? html`Loading`\n : html`\n ${items.length > 0\n ? html`\n ${value\n ? html`${getSelectedItem}`\n : html`${placeholder || 'Please select an option'}`}\n `\n : html`No options`}\n `}\n </span>\n\n <div ref=${dropdownRef} style=\"display: flex;\">\n ${loading\n ? html`<${Loader}><//>`\n : html`\n <div\n class=${`${styles.arrow} ${\n isDropdownOpen ? styles.close : ''\n }`}\n >\n <svg\n width=\"12\"\n height=\"8\"\n viewBox=\"0 0 12 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 1.5L6 6.5L1 1.5\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n `}\n </div>\n </div>\n <div class=${styles.customOptions}>\n ${items.length > 0 &&\n !loading &&\n html`\n ${items.map(\n (el) => html`\n <${ListBoxItem}\n key=${el.id}\n id=${el.id}\n value=${el.value}\n isSelected=${value === el.id}\n onClick=${() => {\n onChange(el.id);\n setIsDropdownOpen(false);\n }}\n ><//>\n `,\n )}\n `}\n </div>\n </div>\n ${showStepValidation &&\n !value &&\n isRequired &&\n html` <${ErrorMessage}>Please select a value<//>`}\n </div>\n </fieldset>\n </div>\n `;\n};\n\nexport { ListBox, ListBoxProps };\n","/**\n * https://usehooks.com/useOnClickOutside/\n */\n\nimport { RefObject } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nexport function useOnClickOutside(\n ref: RefObject<HTMLDivElement>,\n handler: (event: MouseEvent | TouchEvent) => unknown,\n) {\n useEffect(\n () => {\n const listener = (event: MouseEvent | TouchEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (event.target instanceof HTMLElement) {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n }\n handler(event);\n };\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n },\n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, handler],\n );\n}\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nexport interface CheckboxProps extends Partial<HTMLInputElement> {\n label: string;\n name: string;\n description?: string;\n value: string;\n isChecked?: boolean;\n handleChange?: (id: string, value: boolean) => void;\n}\n\n/**\n * Checkbox component\n *\n */\nexport const Checkbox = (props: CheckboxProps) => {\n const {\n label,\n name,\n description = null,\n value,\n isChecked = false,\n handleChange = () => null,\n } = props;\n\n const handleCheckboxChange = (e: MouseEvent) => {\n if (e.target instanceof HTMLInputElement) {\n const { id: changedId, checked } = e.target;\n handleChange(changedId, checked);\n }\n };\n\n return html`\n <div class=${styles.checkbox}>\n <label for=${name}>\n <input\n id=${name}\n type=\"checkbox\"\n name=${name}\n value=${value}\n checked=${isChecked}\n onclick=${handleCheckboxChange}\n />\n <div class=${styles.button}>\n ${isChecked\n ? html`\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.86364 15.5L10 13.4923L17.5 6.49357L15.3485 4.5L7.86364 11.4987L4.63636 8.50129L2.5 10.4949L5.71212 13.4923L7.86364 15.5Z\"\n fill=\"#5F4D86\"\n />\n <path\n d=\"M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `\n : html`\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `}\n </div>\n <div>\n <div class=${styles.text}>${label}</div>\n ${description &&\n html`<div class=${styles.description}>${description}</div>`}\n </div>\n </label>\n </div>\n `;\n};\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nconst LargeLoader = () => html`\n <svg\n class=${styles.loader}\n width=\"26\"\n height=\"25\"\n viewBox=\"0 0 26 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.7173 0.29892C13.1175 -0.280085 10.4006 -0.0135017 7.96294 1.0598C5.52524 2.13311 3.49412 3.95702 2.16568 6.26562C0.837246 8.57421 0.280965 11.2468 0.57794 13.8937C0.874915 16.5406 2.00962 19.0235 3.81662 20.9803C5.62362 22.9371 8.00843 24.2656 10.6234 24.772C13.2383 25.2784 15.9466 24.9363 18.3535 23.7956C20.7604 22.6548 22.74 20.7751 24.0036 18.4304C25.2673 16.0857 25.749 13.3987 25.3785 10.7611L24.1406 10.935C24.4741 13.3088 24.0406 15.7272 22.9033 17.8374C21.766 19.9476 19.9844 21.6393 17.8182 22.666C15.652 23.6927 13.2145 24.0006 10.861 23.5448C8.50758 23.089 6.36125 21.8934 4.73495 20.1323C3.10866 18.3711 2.08742 16.1366 1.82015 13.7543C1.55287 11.3721 2.05352 8.96679 3.24911 6.88905C4.44471 4.81132 6.27272 3.1698 8.46665 2.20382C10.6606 1.23785 13.1057 0.997923 15.4456 1.51903L15.7173 0.29892Z\"\n fill=\"#EFEFEF\"\n />\n <path\n d=\"M25.3833 10.7959C25.0346 8.26181 23.9168 5.8957 22.1808 4.01695C20.4449 2.13819 18.1743 0.83725 15.6756 0.289715L15.4081 1.51074C17.6569 2.00353 19.7004 3.17437 21.2628 4.86525C22.8251 6.55613 23.8311 8.68563 24.145 10.9663L25.3833 10.7959Z\"\n fill=\"#C4C4C4\"\n />\n </svg>\n`;\n\nexport { LargeLoader };\n","import { html } from 'htm/preact';\nimport { ErrorMessage } from '../ErrorMessage';\n\nimport styles from './styles.module.scss';\n\ninterface SelectProps {\n ariaLabel: string;\n options: { label: string; key: string }[];\n placeholder: string;\n value?: string;\n showUnselectedValue?: boolean;\n unselectedText?: string;\n isRequired?: boolean;\n showStepValidation?: boolean;\n onChange?: (index: number) => void;\n}\n\n/**\n * Input component\n *\n */\nconst Select = (props: SelectProps) => {\n const {\n placeholder,\n ariaLabel,\n value,\n options = [],\n showUnselectedValue = false,\n unselectedText = 'Select a value',\n isRequired = false,\n showStepValidation = false,\n onChange = () => null,\n } = props;\n\n const handleInputChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLSelectElement) {\n const { value: newValue } = e.currentTarget;\n const val = options.findIndex((el) => `${el.key}` === `${newValue}`);\n onChange(val);\n }\n };\n\n return html`\n <div class=${styles.selectWrapper}>\n <select aria-label=${ariaLabel} onchange=${handleInputChange}>\n ${showUnselectedValue &&\n html` <option value=\"\">${unselectedText}</option> `}\n ${!value &&\n html`\n <option value=\"\" disabled selected hidden>${placeholder}</option>\n `}\n ${options.map(\n (el) => html`\n <option value=${el.key} selected=${value === el.key}>\n ${el.label}\n </option>\n `,\n )}\n </select>\n <svg\n width=\"12\"\n height=\"8\"\n viewBox=\"0 0 12 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 1.5L6 6.5L1 1.5\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n ${isRequired &&\n !value &&\n showStepValidation &&\n html`<${ErrorMessage}>Please map this required field<//>`}\n `;\n};\n\nexport { Select, SelectProps };\n","import { html } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { useContext, useEffect, useRef, useState } from 'preact/hooks';\nimport { TemplateField } from '@/interfaces';\nimport AppContext from '@/contexts/AppContext';\nimport { StoreType } from '@/types/store';\nimport { LargeLoader } from '@/components/LargeLoader';\nimport { actionFunctions } from '@/store';\nimport { Label } from '@/components/Label';\nimport { Select } from '@/components/BasicSelect';\n\nimport styles from './styles.module.scss';\n\nexport type MappingUiProps = {\n stepId: number;\n templateFields: TemplateField[];\n showStepValidation?: boolean;\n endpointData: {\n authId: number;\n fieldsData: Record<string, string | number>;\n };\n} & StoreType;\n\ninterface DynamicDataItem {\n fieldId: number;\n id: string;\n title: string;\n type: string;\n isNotDynamic?: boolean;\n}\n\nconst MappingUI = (props: MappingUiProps) => {\n const [loading, setLoading] = useState<boolean>(false);\n const [rootDataLoading, setRootDataLoading] = useState<boolean>(false);\n const [dynamicDataLoading, setDynamicDataLoading] = useState<boolean>(false);\n\n const [dynamicItems, setDynamicItems] = useState<DynamicDataItem[]>([]);\n const [dynamicListId, setDynamicListId] = useState('');\n\n const context = useContext(AppContext);\n\n const dynamicFieldIdRef = useRef('');\n const mappingCountRef = useRef(0);\n\n useEffect(() => {\n const dynamicFieldToRender = props.templateFields.filter(\n (el) => el.activity_field.type === 'DYNAMIC',\n )[0];\n\n if (dynamicFieldToRender) setDynamicListId(`${dynamicFieldToRender.id}`);\n\n const textFieldsToRender = props.templateFields\n .filter((el) => el.activity_field.type === 'TEXTFIELD' && el.is_visible)\n .map((el) => ({\n fieldId: el.id,\n id: el.activity_field.machine_name,\n title: el.activity_field.title,\n type: 'text',\n isNotDynamic: true,\n }));\n\n const mappingField =\n props.parentChildMapping[props.stepId][\n dynamicFieldToRender.activity_field.machine_name\n ];\n\n let valuesMapField = '';\n if (mappingField) {\n const valuesMap = mappingField.parentFields?.reduce((prev, next) => {\n const parentFieldId =\n props.parentChildMapping[props.stepId][next].fieldId;\n return {\n ...prev,\n [parentFieldId]:\n props.stepDataMapping[props.stepId][parentFieldId].value,\n };\n }, {});\n valuesMapField = JSON.stringify(valuesMap);\n }\n\n if (valuesMapField !== dynamicFieldIdRef.current) {\n setLoading(true);\n setRootDataLoading(true);\n setDynamicDataLoading(true);\n // eslint-disable-next-line no-use-before-define\n setRootStepData();\n\n // eslint-disable-next-line no-use-before-define\n fetchDynamicFieldData(dynamicFieldToRender)\n ?.then((res) => {\n setLoading(false);\n dynamicFieldIdRef.current = valuesMapField;\n if (Array.isArray(res)) {\n setDynamicItems([...textFieldsToRender, ...res]);\n }\n })\n .catch((err) => console.error(err));\n }\n }, [props.stepDataMapping[props.stepId]]);\n\n const getVisibleFieldsDataOnRootStep = (\n stepId: number,\n ): {\n [machineName: string]: string;\n } => {\n const fields = props.stepDataMapping[stepId];\n const requiredFieldsWithValues = Object.keys(fields)\n .filter((el) => fields[Number(el)].value)\n .reduce((prev, curr) => {\n const currentItem = fields[Number(curr)];\n return {\n ...prev,\n [currentItem.machineName]: currentItem.value,\n };\n }, {});\n\n return requiredFieldsWithValues;\n };\n\n const setRootStepData = async () => {\n const triggerStepId = props.stepState.steps[0].stepId;\n const additionalData = getVisibleFieldsDataOnRootStep(triggerStepId);\n\n let stepData;\n if (triggerStepId) {\n stepData = props.stepMapping[triggerStepId].step;\n if (\n stepData.activity.type === 'TRIGGER' ||\n stepData.activity.type === 'QUERY'\n ) {\n if (stepData.activity.activity_output_url) {\n setRootDataLoading(true);\n context?.apiHandler\n .callDynamicDataEndpoint<\n {\n text: string;\n value: string;\n }[]\n >(new URL(stepData.activity.activity_output_url), {\n authorization_id: `${props.stepMapping[triggerStepId].selectedAuthId}`,\n ...additionalData,\n })\n .then((res) => {\n setRootDataLoading(false);\n if (res)\n props.setActivityOutputData({\n activityOutputData: res,\n });\n });\n } else {\n setRootDataLoading(false);\n }\n if (stepData.activity.dynamic_field_data_endpoint) {\n setDynamicDataLoading(true);\n context?.apiHandler\n .callDynamicDataEndpoint<{\n [fieldId: string]: (string | Record<string, string>)[];\n }>(new URL(stepData.activity.dynamic_field_data_endpoint), {\n authorization_id: `${props.stepMapping[triggerStepId].selectedAuthId}`,\n ...additionalData,\n })\n .then((res) => {\n setDynamicDataLoading(false);\n if (res)\n props.setDynamicFieldData({\n dynamicFieldData: res,\n });\n });\n } else {\n setDynamicDataLoading(false);\n }\n }\n }\n };\n\n const fetchDynamicFieldData = (templateField: TemplateField) => {\n const dynamicEndpoint = `${templateField.activity_field.dynamic_field_src}`;\n return context?.apiHandler.callDynamicDataEndpoint<DynamicDataItem[]>(\n new URL(dynamicEndpoint),\n {\n authorization_id: `${props.endpointData.authId}`,\n ...props.endpointData.fieldsData,\n },\n );\n };\n\n const onMappingValueSelected = (index: number, item: DynamicDataItem) => {\n const activityOutputObject = props.activityOutputData?.[index];\n if (index < 0) {\n if (mappingCountRef.current > 0) mappingCountRef.current -= 1;\n props.setStepFieldData({\n stepId: `${props.stepId}`,\n fieldId: `${item.fieldId}`,\n value: '',\n });\n } else if (activityOutputObject) {\n if (mappingCountRef.current > -1) mappingCountRef.current += 1;\n if (item.isNotDynamic) {\n props.setStepFieldData({\n stepId: `${props.stepId}`,\n fieldId: `${item.fieldId}`,\n value: `{${activityOutputObject.value}}`,\n });\n } else if (dynamicListId) {\n props.setStepMappingData({\n stepId: props.stepId,\n fieldId: Number(dynamicListId),\n id: item.id,\n value: `{${activityOutputObject.value}}`,\n });\n }\n }\n };\n\n return html`\n <div>\n <${Label}\n title=\"Map data\"\n description=\"Please map fields you want to use from both apps\"\n />\n <div>\n ${loading || rootDataLoading || dynamicDataLoading\n ? html`<div class=${styles.loader}><${LargeLoader} /></div>`\n : html`\n <div class=${styles.mappingWrap}>\n <div class=${styles.mappingRow}>\n <div class=${styles.mappingHeaderItem}>\n <img src=${props.genericData.templateApp?.iconUrl} />\n <div>${props.genericData.templateApp?.name} Field</div>\n </div>\n <div class=${styles.sampleData}>Sample Data</div>\n <div class=${styles.mappingHeaderItem}>\n <img\n src=${props.stepMapping[props.stepId].step.activity.app\n .icon_url}\n />\n <div>\n ${`${\n props.stepMapping[props.stepId].step.activity.app.name\n } Field`}\n </div>\n </div>\n </div>\n ${dynamicItems.map((el) => {\n const ele = props.stepDataMapping[props.stepId][el.fieldId];\n return html`\n <div class=${styles.mappingRow}>\n <div class=${styles.title}>\n ${el.title}${ele?.isRequired && html`<span>*</span>`}\n </div>\n <div class=${styles.sampleData}>\n ${props.dynamicFieldData &&\n ele?.value &&\n props.dynamicFieldData[\n ele?.value\n ]?.map((sample: string | Record<string, string>) =>\n sample ? html`<pre>${sample}</pre>` : html``,\n )}\n </div>\n <div class=${styles.selectBox}>\n <${Select}\n ariaLabel=\"Map a value\"\n placeholder=\"Please map a value\"\n options=${props.activityOutputData?.map((item) => ({\n key: item.value,\n label: item.text,\n }))}\n value=${ele?.value?.slice(1, -1)}\n isRequired=${ele?.isRequired}\n showStepValidation=${props.showStepValidation}\n showUnselectedValue=${true}\n unselectedText=\"Skip\"\n onChange=${(index: number) =>\n onMappingValueSelected(index, el)}\n ><//>\n </div>\n </div>\n `;\n })}\n <div class=${styles.mappingInfo}>\n <div>\n <span>Mapped</span>\n <span\n >${mappingCountRef.current}${' '}\n field${mappingCountRef.current !== 1 ? 's' : ''}</span\n >\n </div>\n <div>\n <span>Ignored</span>\n <span\n >${dynamicItems.length - mappingCountRef.current}${' '}\n field${dynamicItems.length - mappingCountRef.current !== 1\n ? 's'\n : ''}</span\n >\n </div>\n </div>\n </div>\n `}\n </div>\n </div>\n `;\n};\n\nexport default connect<MappingUiProps, unknown, StoreType, unknown>(\n [\n 'stepState',\n 'genericData',\n 'stepMapping',\n 'activityOutputData',\n 'dynamicFieldData',\n 'stepDataMapping',\n 'parentChildMapping',\n ],\n actionFunctions,\n)(MappingUI);\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface BaseInputProps extends Partial<HTMLInputElement> {\n placeholder: string;\n value: string;\n control?: Component;\n handleChange?: (id: string) => void;\n}\n\n/**\n * BaseInput component\n *\n */\nconst BaseInput = (props: BaseInputProps) => {\n const {\n placeholder,\n value,\n type = 'text',\n control,\n handleChange = () => null,\n } = props;\n\n const handleInputChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLInputElement) {\n const { value: newValue } = e.currentTarget;\n handleChange(newValue);\n }\n };\n\n return html`\n <div class=${styles.inputWrapper}>\n <input\n type=${type}\n placeholder=${placeholder}\n value=${value}\n onkeyup=${handleInputChange}\n />\n ${control && html`<${control} //>`}\n </div>\n `;\n};\n\nexport { BaseInput, BaseInputProps };\n","import { html } from 'htm/preact';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { Label } from '@/components/Label';\n\nimport { BaseInput } from '../BaseInput';\nimport styles from './styles.module.scss';\n\ninterface InputProps {\n title: string;\n description: string;\n placeholder: string;\n value?: string;\n isRequired?: boolean;\n showStepValidation?: boolean;\n onChange?: (val: string) => void;\n}\n\n/**\n * Input component\n *\n */\nconst Input = (props: InputProps) => {\n const {\n title,\n description,\n placeholder,\n value,\n showStepValidation = false,\n isRequired = false,\n onChange = () => null,\n } = props;\n\n const handleChange = (inputValue: string) => {\n onChange(inputValue);\n };\n\n return html`\n <div class=\"${styles.inputGroupWrapper}\">\n <fieldset>\n <${Label} title=${title} description=${description} //>\n <${BaseInput}\n type=\"text\"\n placeholder=${placeholder}\n handleChange=${handleChange}\n value=${value}\n ><//>\n </fieldset>\n ${showStepValidation &&\n isRequired &&\n html`${ErrorMessage}>Please enter a value<//>`}\n </div>\n `;\n};\n\nexport { Input, InputProps };\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegrySDKEvents } from '@/types';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { ListBox } from '@/components/Listbox';\nimport { Loader } from '@/components/Loader';\nimport { IntegryStep, TemplateField } from '@/interfaces';\nimport { actionFunctions } from '@/store';\nimport { Checkbox } from '@/components/CheckboxGroup/Checkbox';\nimport MappingUI from '@/features/common/MappingUI';\nimport { Label } from '@/components/Label';\nimport { StoreType } from '@/types/store';\nimport { Input } from '@/components/Input';\n\nimport styles from './styles.module.scss';\n\ninterface StepPropsType extends StoreType {\n step: IntegryStep;\n stepType: 'AUTH' | 'CONFIGURATION' | 'SECTION';\n showStepValidation: boolean;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n}\n\ninterface StepStateType {\n loading: boolean;\n}\n\nclass Step extends Component<StepPropsType, StepStateType> {\n constructor(props: StepPropsType) {\n super(props);\n this.state = {\n loading: false,\n };\n }\n\n private getVisibleFieldsDataOnRootStep = (): {\n [machineName: string]: string;\n } => {\n const fields = this.props.stepDataMapping[this.props.step.id];\n const requiredFieldsWithValues = Object.keys(fields)\n .filter((el) => fields[Number(el)].value)\n .reduce((prev, curr) => {\n const currentItem = fields[Number(curr)];\n return {\n ...prev,\n [currentItem.machineName]: currentItem.value,\n };\n }, {});\n\n return requiredFieldsWithValues;\n };\n\n private areParentValuesFilled = (stepId: number, parentFields: string[]) => {\n let valid = true;\n // check if all parent fields have their values set\n for (let index = 0; index < parentFields.length; index += 1) {\n const val = parentFields[index];\n const { fieldId } = this.props.parentChildMapping[stepId][val];\n const parentField =\n this.props.stepDataMapping[stepId] &&\n this.props.stepDataMapping[stepId][fieldId];\n if (!(parentField && parentField.value)) {\n valid = false;\n break;\n }\n }\n return valid;\n };\n\n private doParentFieldsHaveValues = (stepId: number, machineName: string) => {\n let valid = true;\n const fieldInfo = this.props.parentChildMapping[stepId][machineName];\n\n if (fieldInfo && fieldInfo.parentFields)\n // check if all parent fields have their values set\n for (let index = 0; index < fieldInfo.parentFields.length; index += 1) {\n const parentField = this.props.parentChildMapping[stepId][\n fieldInfo.parentFields[index]\n ];\n const parentFieldData =\n this.props.stepDataMapping[stepId] &&\n this.props.stepDataMapping[stepId][parentField.fieldId];\n if (!(parentFieldData && parentFieldData.value)) {\n valid = false;\n break;\n }\n }\n return valid;\n };\n\n private shouldShowStep = (field: TemplateField) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n if (stepObject) {\n const shouldBeShown = !field.is_hidden;\n const isAuthSelected = stepObject.selectedAuthId;\n const { parentFields } = this.props.parentChildMapping[stepId][\n field.activity_field.machine_name\n ];\n\n let isValid = true;\n if (parentFields) {\n isValid = this.areParentValuesFilled(stepId, parentFields);\n }\n\n return shouldBeShown && isAuthSelected && isValid;\n }\n return false;\n };\n\n private stepIsOfType = (fields: string[]) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n return fields.indexOf(stepObject.step.activity.type) > -1;\n };\n\n private textFieldParentHasValues = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n\n const anyVisibleFields = stepObject.step.template_fields.filter(\n (el) => el.is_visible,\n );\n\n const isAuthSelected = stepObject.selectedAuthId;\n\n const dynamicField = anyVisibleFields.filter(\n (el) => el.activity_field.type === 'DYNAMIC',\n )[0];\n\n if (!dynamicField) {\n return true;\n }\n\n if (\n anyVisibleFields.length > 0 &&\n dynamicField &&\n isAuthSelected &&\n this.doParentFieldsHaveValues(\n stepId,\n dynamicField.activity_field.machine_name,\n )\n ) {\n return true;\n }\n return false;\n };\n\n private shouldShowMapping = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n if (this.stepIsOfType(['ADAPTER', 'ACTION'])) {\n const anyVisibleFields = stepObject.step.template_fields.filter(\n (el) => el.is_visible,\n );\n\n // console.log({ anyVisibleFields });\n\n const isAuthSelected = stepObject.selectedAuthId;\n\n // console.log({ isAuthSelected });\n\n const dynamicField = anyVisibleFields.filter(\n (el) => el.activity_field.type === 'DYNAMIC',\n )[0];\n\n // console.log({ dynamicField });\n\n if (!dynamicField) {\n return false;\n }\n\n if (\n anyVisibleFields.length > 0 &&\n isAuthSelected &&\n dynamicField &&\n this.doParentFieldsHaveValues(\n stepId,\n dynamicField.activity_field.machine_name,\n )\n ) {\n return true;\n }\n }\n return false;\n };\n\n private getMappingDataInput = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n return {\n authId: stepObject.selectedAuthId,\n fieldsData: this.getVisibleFieldsDataOnRootStep(),\n };\n };\n\n private fieldDynamicData = (field: TemplateField) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n if (stepObject) {\n const { parentFields } = this.props.parentChildMapping[stepId][\n field.activity_field.machine_name\n ];\n if (parentFields) {\n const { fieldId } = this.props.parentChildMapping[stepId][\n parentFields[0]\n ];\n if (fieldId) {\n return {\n [parentFields[0]]: this.props.stepDataMapping[stepId][fieldId]\n .value,\n };\n }\n }\n }\n return null;\n };\n\n render() {\n const {\n step,\n stepMapping,\n stepDataMapping,\n setStepFieldData,\n showStepValidation,\n } = this.props;\n const selectedStep = stepMapping[step.id] && stepMapping[step.id].step;\n const selectedStepData = stepDataMapping && stepDataMapping[step.id];\n\n return html`\n ${this.state.loading\n ? html`<${Loader} //>`\n : html`\n ${selectedStep\n ? html`\n <div class=${styles.stepsWrap}>\n ${selectedStep.template_fields.map((el) => {\n if (this.shouldShowStep(el)) {\n switch (el.activity_field.type) {\n case 'SELECT':\n return html`\n <div class=${styles.stepWrap}>\n <${ListBox}\n key=${el.activity_field.id}\n apiHandler=${this.props.apiHandler}\n title=${el.title || el.activity_field.title}\n description=${el.description ||\n el.activity_field.description}\n showStepValidation=${showStepValidation}\n placeholder=${el.placeholder}\n isRequired=${el.is_required}\n value=${(selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value) ||\n ''}\n onChange=${(val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n endpointUrl=${el.activity_field.data_src}\n isDynamic=${el.activity_field.is_dynamic}\n endpointData=${JSON.stringify({\n authorization_id:\n this.props.stepMapping &&\n this.props.stepMapping[this.props.step.id]\n ?.selectedAuthId,\n ...this.fieldDynamicData(el),\n })}\n ><//>\n </div>\n `;\n case 'TEXTFIELD':\n return (\n !this.shouldShowMapping() &&\n this.textFieldParentHasValues() &&\n html`\n <div class=${styles.stepWrap}>\n <${Input}\n id=${el.activity_field.id}\n title=${el.title || el.activity_field.title}\n description=${el.description ||\n el.activity_field.description}\n value=${(selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value) ||\n ''}\n placeholder=${el.placeholder ||\n 'Please enter a value'}\n showStepValidation=${showStepValidation}\n isRequired=${el.is_required}\n onChange=${(val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n ><//>\n </div>\n `\n );\n case 'CHECKBOX': {\n return html`\n <${Label}\n title=${el.title || el.activity_field.title}\n isRequired=${el.is_required}\n />\n <${Checkbox}\n label=${el.activity_field.description}\n name=${el.activity_field.machine_name}\n value=${selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value}\n isChecked=${selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value}\n handleChange=${(_: string, val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n />\n `;\n }\n case 'DYNAMIC':\n return html``;\n default:\n return html`<div>\n Field: ${el.activity_field.type} is currently not\n supported\n </div>`;\n }\n }\n return html``;\n })}\n ${this.shouldShowMapping() &&\n html`\n <div class=${styles.stepWrap}>\n <${MappingUI}\n stepId=${selectedStep.id}\n templateFields=${selectedStep.template_fields}\n showStepValidation=${showStepValidation}\n endpointData=${this.getMappingDataInput()}\n ><//>\n </div>\n `}\n </div>\n `\n : html`Step data could not be loaded`}\n `}\n `;\n }\n}\n\nexport default connect<StepPropsType, StepStateType, StoreType, unknown>(\n ['stepMapping', 'stepDataMapping', 'parentChildMapping'],\n actionFunctions,\n)(Step);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegrationSaveResponse, TemplateStep } from '@/interfaces';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { StoreType } from '@/types/store';\nimport { Loader } from '@/components/Loader';\nimport AuthSelector from '@/features/common/AuthSelector';\nimport AppContext from '@/contexts/AppContext';\nimport Step from '@/features/templates/Step';\nimport { actionFunctions } from '@/store';\n\nimport styles from './styles.module.scss';\n\nexport type StepsPropsType = StoreType;\n\ntype StepsStateType = {\n selectedAuthStep: number | null;\n loading: boolean;\n};\n\nclass Steps extends Component<\n StepsPropsType,\n StepsStateType & Record<string, unknown>\n> {\n static contextType = AppContext;\n\n constructor(props: StepsPropsType) {\n super(props);\n this.state = {\n loading: false,\n selectedAuthStep: null,\n };\n }\n\n componentDidUpdate(prevProps: StepsPropsType) {\n const { stepState: prevStepState } = prevProps;\n const { stepState: newStepState } = this.props;\n if (prevStepState.stepIndex !== newStepState.stepIndex)\n this.context.eventEmitter.emit('did-change-step', {\n stepId: newStepState.steps[newStepState.stepIndex]?.stepId ?? null,\n stepType:\n newStepState.steps[newStepState.stepIndex]?.type ?? 'CONFIRMATION',\n });\n }\n\n private createIntegration = () => {\n const { stepMapping, stepDataMapping } = this.props;\n if (this.context.isPreviewMode) {\n return;\n }\n this.setState({ loading: true });\n const payload = {\n name: 'My new integration',\n notification_email: '',\n template: Number(this.props.genericData.templateId),\n bundle_id: Number(this.props.genericData.bundleId),\n steps: Object.keys(stepMapping).map((el) => ({\n id: stepMapping[el].step.id,\n authorization: Number(stepMapping[el].selectedAuthId),\n template_step: stepMapping[el].step.id,\n app_user_data: stepMapping[el].step.template_fields.map((tField) => ({\n id: tField.id,\n value:\n (stepDataMapping[stepMapping[el].step.id][tField.id].value ||\n stepDataMapping[stepMapping[el].step.id][tField.id].value ===\n '') &&\n !stepDataMapping[stepMapping[el].step.id][tField.id].objectValue\n ? `${stepDataMapping[stepMapping[el].step.id][tField.id].value}`\n : JSON.stringify(\n stepDataMapping[stepMapping[el].step.id][tField.id]\n .objectValue,\n ),\n template_field: tField.id,\n })),\n })),\n };\n\n this.context.apiHandler\n .saveIntegration(payload)\n .then((integration: IntegrationSaveResponse) => {\n this.setState({ loading: false });\n this.context.eventEmitter.emit('did-save-integration', {\n integrationId: integration.id,\n name: integration.name,\n templateId: integration.template,\n status: integration.status,\n });\n })\n .catch((err: unknown) => console.error(err));\n };\n\n private handleAuthSelected = (\n authId: number,\n stepId: number,\n isVerified: boolean,\n ) => {\n const dependentSteps = this.props.stepMapping[stepId].step.template_fields\n .filter((el) => el.activity_field.is_dynamic)\n .map((el) => el.id);\n // reset all dynamic steps if auth changes\n this.props.setStepAuthorization(stepId, authId, isVerified, dependentSteps);\n };\n\n render() {\n let selectedStep: {\n step: TemplateStep;\n selectedAuthId: number | null;\n } | null = null;\n const { stepState, stepMapping } = this.props;\n const { currentStep, stepIndex, steps } = stepState;\n\n let shouldShowLastStep = false;\n let shouldShowBackButton = false;\n let isStepValid = false;\n let showStepValidation = false;\n if (stepIndex > -1 && currentStep?.type !== 'CONFIRMATION') {\n selectedStep = stepMapping[Number(currentStep?.stepId)];\n\n shouldShowLastStep = false;\n shouldShowBackButton = stepState.stepIndex > 0;\n isStepValid = currentStep?.isValid ?? false;\n showStepValidation = stepState.showValidation;\n } else if (\n currentStep?.type === 'CONFIRMATION' &&\n stepIndex === steps.length\n ) {\n shouldShowLastStep = true;\n }\n\n return html`\n <div class=${styles.stepsWrap}>\n <div class=${styles.stepContainer}>\n <div class=${styles.stepInfo}>\n ${currentStep &&\n html`\n ${shouldShowLastStep\n ? html`\n <div class=${styles.header}>\n <div class=${styles.name}>\n <svg\n width=\"25\"\n height=\"25\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"11.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n <div>Confirmation</div>\n </div>\n <div class=${styles.steps}>\n ${`Step ${\n (this.props.stepState?.stepIndex ?? 0) + 1\n } / ${(this.props.stepState?.steps.length ?? 0) + 1}`}\n </div>\n </div>\n `\n : html`\n <div class=${styles.header}>\n <div class=${styles.name}>\n <img src=${selectedStep?.step.activity.app.icon_url} />\n <div>\n ${currentStep?.type !== 'CONFIRMATION' &&\n currentStep?.title}\n </div>\n </div>\n <div class=${styles.steps}>\n ${`Step ${\n (this.props.stepState?.stepIndex ?? 0) + 1\n } / ${(this.props.stepState?.steps.length ?? 0) + 1}`}\n </div>\n </div>\n `}\n `}\n </div>\n\n <div class=${styles.top}>\n <div style=\"padding-left: 35px; padding-right: 35px; width: 100%;\">\n ${currentStep\n ? html`\n ${shouldShowLastStep\n ? html`\n <div class=${styles.save}>\n Your integration is ready to be enabled. Click\n “Save” to continue.\n </div>\n `\n : html`\n ${selectedStep &&\n html`\n ${currentStep?.type === 'AUTH'\n ? html`\n <div class=${styles.authWrap}>\n <${AuthSelector}\n stepId=${selectedStep.step.id}\n apiHandler=${this.context.apiHandler}\n showErrors=${showStepValidation}\n onAuthSelected=${(\n authId: number,\n isVerified: boolean,\n ) =>\n this.handleAuthSelected(\n authId,\n Number(selectedStep?.step.id),\n isVerified,\n )}\n >\n <//>\n </div>\n `\n : html`\n <${Step}\n step=${selectedStep?.step}\n stepType=${currentStep?.type}\n showStepValidation=${showStepValidation}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n />\n `}\n `}\n `}\n `\n : html`This template has no configured steps`}\n </div>\n </div>\n ${currentStep &&\n html`\n <div class=${styles.bottom}>\n <div class=${styles.buttons}>\n ${shouldShowBackButton &&\n html`\n <${Button}\n label=\"Back\"\n onClick=${() => this.props.gotoPreviousStep()}\n type=${ButtonTypes.SECONDARY}\n ><//>\n `}\n ${shouldShowLastStep\n ? html`\n ${this.state.loading\n ? html`<${Loader} />`\n : html`\n <${Button}\n label=\"Save\"\n disabled=${this.context.isPreviewMode}\n tooltip=${this.context.isPreviewMode\n ? 'Integration setup will have to be\\ndone in \"Live View\"'\n : null}\n onClick=${() => this.createIntegration()}\n ><//>\n `}\n `\n : html`\n <${Button}\n label=\"Next\"\n disabled=${!isStepValid}\n onClick=${() =>\n isStepValid\n ? this.props.gotoNextStep()\n : this.props.showStepValidationState()}\n ><//>\n `}\n </div>\n </div>\n `}\n </div>\n </div>\n `;\n }\n}\n\nexport default connect<StepsPropsType, StepsStateType, StoreType, unknown>(\n ['stepState', 'genericData', 'stepMapping', 'stepDataMapping'],\n actionFunctions,\n)(Steps);\n","import { html } from 'htm/preact';\nimport {\n useContext,\n useEffect,\n useErrorBoundary,\n useState,\n} from 'preact/hooks';\nimport { assert, StructError } from 'superstruct';\nimport { connect } from 'unistore/preact';\n\nimport AppContext from '@/contexts/AppContext';\nimport { actionFunctions } from '@/store';\nimport { StoreType } from '@/types/store';\nimport {\n TemplateResponse,\n TemplatePreviewData,\n PreviewMetadata,\n TemplatePreviewDataType,\n} from '@/interfaces';\nimport { Loader } from '@/components/Loader';\nimport { notEmpty } from '@/types/utils';\nimport { ErrorPage } from '@/components/ErrorPage';\n\nimport StepNavigation from '../StepNavigation';\nimport Steps from '../Steps';\n\nimport styles from './styles.module.scss';\n\nexport interface WrapperProps extends StoreType {\n bundleId: string;\n templateId?: string;\n templatePreviewData?: TemplatePreviewData;\n isPreviewMode?: boolean;\n previewMetadata?: PreviewMetadata;\n customWrapper?: preact.VNode<Record<string, never>>;\n}\n\n/**\n * Wrapper component\n *\n */\nconst Wrapper = (props: WrapperProps) => {\n const [loading, setLoading] = useState<boolean>(false);\n const [templateData, setTemplateData] = useState<TemplateResponse | null>(\n null,\n );\n const {\n templateId,\n bundleId,\n customWrapper,\n templatePreviewData,\n previewMetadata,\n } = props;\n\n const [validationErr, setValidationErr] = useState<StructError | null>(null);\n\n const [sdkError, resetSdkError] = useErrorBoundary(() => {\n // log something here\n });\n\n const context = useContext(AppContext);\n\n // reset store when unmounting preview\n useEffect(\n () => () => {\n props.reset();\n },\n [],\n );\n\n useEffect(() => {\n if (sdkError) console.error(sdkError);\n }, [sdkError]);\n\n useEffect(() => {\n setLoading(true);\n if (context?.isPreviewMode && previewMetadata) {\n // setup state using preview data\n if (!templatePreviewData)\n throw new Error('Preview data was not provided');\n try {\n assert(templatePreviewData, TemplatePreviewDataType);\n } catch (error) {\n console.error(error);\n setLoading(false);\n setValidationErr(error as StructError);\n return;\n }\n const { steps, ...template } = templatePreviewData;\n setTemplateData(templatePreviewData);\n props.setGenericData({\n templateId: Number(template.id),\n bundleId: Number(bundleId),\n isPreviewMode: context.isPreviewMode,\n });\n props.setSteps(steps.filter(notEmpty));\n props.setStepMapping(steps.filter(notEmpty));\n props.setParentChildMapping(steps.filter(notEmpty));\n props.gotoStepInPreview(previewMetadata);\n context.eventEmitter.emit('did-load-preview', {\n templateId: Number(template.id),\n templateTitle: template.name,\n templateDescription: template.description,\n });\n setLoading(false);\n return;\n }\n if (templateId) {\n context?.apiHandler.getTemplate(Number(templateId)).then((data) => {\n setTemplateData(data);\n if (data)\n Promise.all(\n data.steps.map((el) =>\n context.apiHandler.getTemplateStep(Number(el.id)),\n ),\n )\n .then((res) => {\n if (res) {\n setLoading(false);\n props.setSteps(res.filter(notEmpty));\n props.setStepMapping(res.filter(notEmpty));\n props.setParentChildMapping(res.filter(notEmpty));\n props.setGenericData({\n templateId: Number(templateId),\n bundleId: Number(bundleId),\n });\n context.eventEmitter.emit('did-load-template', {\n templateId: Number(templateId),\n templateTitle: data.name,\n templateDescription: data.description,\n });\n }\n })\n .catch((err) => console.error(err));\n });\n } else throw new Error('Template ID not found');\n }, [templateId]);\n\n if (customWrapper) {\n return html`${customWrapper}`;\n }\n\n return html`\n <div class=\"${styles.wrap} ${'integry-container'}\">\n ${sdkError || validationErr\n ? html`\n <${ErrorPage}\n title=${validationErr\n ? 'Validation error'\n : 'An unexpected error occurred'}\n description=${validationErr\n ? 'There was an error validating the preview payload:'\n : 'Please review the following stacktrace:'}\n errorPayload=${validationErr || sdkError}\n onDismiss=${validationErr ? null : resetSdkError}\n />\n `\n : html`\n <div>\n ${!loading &&\n templateData &&\n html`\n <${StepNavigation}\n steps=${templateData.steps?.map((el) => ({\n label: el.title,\n logoUrl: el.activity.app.icon_url,\n }))}\n ><//>\n `}\n </div>\n <div class=${styles.main}>\n ${loading &&\n html`<div style=\"display: flex; justify-content: center;\">\n <${Loader} />\n </div>`}\n ${!loading &&\n templateData &&\n html` <${Steps} steps=${templateData.steps}><//> `}\n </div>\n `}\n </div>\n `;\n};\n\nexport default connect<WrapperProps, unknown, StoreType, unknown>(\n [''],\n actionFunctions,\n)(Wrapper);\n","/*\r\nWHAT: SublimeText-like Fuzzy Search\r\n\r\nUSAGE:\r\n fuzzysort.single('fs', 'Fuzzy Search') // {score: -16}\r\n fuzzysort.single('test', 'test') // {score: 0}\r\n fuzzysort.single('doesnt exist', 'target') // null\r\n\r\n fuzzysort.go('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])\r\n // [{score: -18, target: \"MeshRenderer.cpp\"}, {score: -6009, target: \"Monitor.cpp\"}]\r\n\r\n fuzzysort.highlight(fuzzysort.single('fs', 'Fuzzy Search'), '<b>', '</b>')\r\n // <b>F</b>uzzy <b>S</b>earch\r\n*/\r\n\r\n// UMD (Universal Module Definition) for fuzzysort\r\n;(function(root, UMD) {\r\n if(typeof define === 'function' && define.amd) define([], UMD)\r\n else if(typeof module === 'object' && module.exports) module.exports = UMD()\r\n else root.fuzzysort = UMD()\r\n})(this, function UMD() { function fuzzysortNew(instanceOptions) {\r\n\r\n var fuzzysort = {\r\n\r\n single: function(search, target, options) {\r\n if(!search) return null\r\n if(!isObj(search)) search = fuzzysort.getPreparedSearch(search)\r\n\r\n if(!target) return null\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n return algorithm(search, target, search[0])\r\n // var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n // var result = algorithm(search, target, search[0])\r\n // if(result === null) return null\r\n // if(result.score < threshold) return null\r\n // return result\r\n },\r\n\r\n go: function(search, targets, options) {\r\n if(!search) return noResults\r\n search = fuzzysort.prepareSearch(search)\r\n var searchLowerCode = search[0]\r\n\r\n var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n var resultsLen = 0; var limitedCount = 0\r\n var targetsLen = targets.length\r\n\r\n // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]\r\n\r\n // options.keys\r\n if(options && options.keys) {\r\n var scoreFn = options.scoreFn || defaultScoreFn\r\n var keys = options.keys\r\n var keysLen = keys.length\r\n for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]\r\n var objResults = new Array(keysLen)\r\n for (var keyI = keysLen - 1; keyI >= 0; --keyI) {\r\n var key = keys[keyI]\r\n var target = getValue(obj, key)\r\n if(!target) { objResults[keyI] = null; continue }\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n objResults[keyI] = algorithm(search, target, searchLowerCode)\r\n }\r\n objResults.obj = obj // before scoreFn so scoreFn can use it\r\n var score = scoreFn(objResults)\r\n if(score === null) continue\r\n if(score < threshold) continue\r\n objResults.score = score\r\n if(resultsLen < limit) { q.add(objResults); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(score > q.peek().score) q.replaceTop(objResults)\r\n }\r\n }\r\n\r\n // options.key\r\n } else if(options && options.key) {\r\n var key = options.key\r\n for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]\r\n var target = getValue(obj, key)\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n\r\n // have to clone result so duplicate targets from different obj can each reference the correct obj\r\n result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden\r\n\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n }\r\n\r\n // no keys\r\n } else {\r\n for(var i = targetsLen - 1; i >= 0; --i) { var target = targets[i]\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n }\r\n }\r\n\r\n if(resultsLen === 0) return noResults\r\n var results = new Array(resultsLen)\r\n for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()\r\n results.total = resultsLen + limitedCount\r\n return results\r\n },\r\n\r\n goAsync: function(search, targets, options) {\r\n var canceled = false\r\n var p = new Promise(function(resolve, reject) {\r\n if(!search) return resolve(noResults)\r\n search = fuzzysort.prepareSearch(search)\r\n var searchLowerCode = search[0]\r\n\r\n var q = fastpriorityqueue()\r\n var iCurrent = targets.length - 1\r\n var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n var resultsLen = 0; var limitedCount = 0\r\n function step() {\r\n if(canceled) return reject('canceled')\r\n\r\n var startMs = Date.now()\r\n\r\n // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]\r\n\r\n // options.keys\r\n if(options && options.keys) {\r\n var scoreFn = options.scoreFn || defaultScoreFn\r\n var keys = options.keys\r\n var keysLen = keys.length\r\n for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]\r\n var objResults = new Array(keysLen)\r\n for (var keyI = keysLen - 1; keyI >= 0; --keyI) {\r\n var key = keys[keyI]\r\n var target = getValue(obj, key)\r\n if(!target) { objResults[keyI] = null; continue }\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n objResults[keyI] = algorithm(search, target, searchLowerCode)\r\n }\r\n objResults.obj = obj // before scoreFn so scoreFn can use it\r\n var score = scoreFn(objResults)\r\n if(score === null) continue\r\n if(score < threshold) continue\r\n objResults.score = score\r\n if(resultsLen < limit) { q.add(objResults); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(score > q.peek().score) q.replaceTop(objResults)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n\r\n // options.key\r\n } else if(options && options.key) {\r\n var key = options.key\r\n for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]\r\n var target = getValue(obj, key)\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n\r\n // have to clone result so duplicate targets from different obj can each reference the correct obj\r\n result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden\r\n\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n\r\n // no keys\r\n } else {\r\n for(; iCurrent >= 0; --iCurrent) { var target = targets[iCurrent]\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(resultsLen === 0) return resolve(noResults)\r\n var results = new Array(resultsLen)\r\n for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()\r\n results.total = resultsLen + limitedCount\r\n resolve(results)\r\n }\r\n\r\n isNode?setImmediate(step):step()\r\n })\r\n p.cancel = function() { canceled = true }\r\n return p\r\n },\r\n\r\n highlight: function(result, hOpen, hClose) {\r\n if(result === null) return null\r\n if(hOpen === undefined) hOpen = '<b>'\r\n if(hClose === undefined) hClose = '</b>'\r\n var highlighted = ''\r\n var matchesIndex = 0\r\n var opened = false\r\n var target = result.target\r\n var targetLen = target.length\r\n var matchesBest = result.indexes\r\n for(var i = 0; i < targetLen; ++i) { var char = target[i]\r\n if(matchesBest[matchesIndex] === i) {\r\n ++matchesIndex\r\n if(!opened) { opened = true\r\n highlighted += hOpen\r\n }\r\n\r\n if(matchesIndex === matchesBest.length) {\r\n highlighted += char + hClose + target.substr(i+1)\r\n break\r\n }\r\n } else {\r\n if(opened) { opened = false\r\n highlighted += hClose\r\n }\r\n }\r\n highlighted += char\r\n }\r\n\r\n return highlighted\r\n },\r\n\r\n prepare: function(target) {\r\n if(!target) return\r\n return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:null, score:null, indexes:null, obj:null} // hidden\r\n },\r\n prepareSlow: function(target) {\r\n if(!target) return\r\n return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:fuzzysort.prepareNextBeginningIndexes(target), score:null, indexes:null, obj:null} // hidden\r\n },\r\n prepareSearch: function(search) {\r\n if(!search) return\r\n return fuzzysort.prepareLowerCodes(search)\r\n },\r\n\r\n\r\n\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n\r\n\r\n\r\n getPrepared: function(target) {\r\n if(target.length > 999) return fuzzysort.prepare(target) // don't cache huge targets\r\n var targetPrepared = preparedCache.get(target)\r\n if(targetPrepared !== undefined) return targetPrepared\r\n targetPrepared = fuzzysort.prepare(target)\r\n preparedCache.set(target, targetPrepared)\r\n return targetPrepared\r\n },\r\n getPreparedSearch: function(search) {\r\n if(search.length > 999) return fuzzysort.prepareSearch(search) // don't cache huge searches\r\n var searchPrepared = preparedSearchCache.get(search)\r\n if(searchPrepared !== undefined) return searchPrepared\r\n searchPrepared = fuzzysort.prepareSearch(search)\r\n preparedSearchCache.set(search, searchPrepared)\r\n return searchPrepared\r\n },\r\n\r\n algorithm: function(searchLowerCodes, prepared, searchLowerCode) {\r\n var targetLowerCodes = prepared._targetLowerCodes\r\n var searchLen = searchLowerCodes.length\r\n var targetLen = targetLowerCodes.length\r\n var searchI = 0 // where we at\r\n var targetI = 0 // where you at\r\n var typoSimpleI = 0\r\n var matchesSimpleLen = 0\r\n\r\n // very basic fuzzy match; to remove non-matching targets ASAP!\r\n // walk through target. find sequential matches.\r\n // if all chars aren't found then exit\r\n for(;;) {\r\n var isMatch = searchLowerCode === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesSimple[matchesSimpleLen++] = targetI\r\n ++searchI; if(searchI === searchLen) break\r\n searchLowerCode = searchLowerCodes[typoSimpleI===0?searchI : (typoSimpleI===searchI?searchI+1 : (typoSimpleI===searchI-1?searchI-1 : searchI))]\r\n }\r\n\r\n ++targetI; if(targetI >= targetLen) { // Failed to find searchI\r\n // Check for typo or exit\r\n // we go as far as possible before trying to transpose\r\n // then we transpose backwards until we reach the beginning\r\n for(;;) {\r\n if(searchI <= 1) return null // not allowed to transpose first char\r\n if(typoSimpleI === 0) { // we haven't tried to transpose yet\r\n --searchI\r\n var searchLowerCodeNew = searchLowerCodes[searchI]\r\n if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char\r\n typoSimpleI = searchI\r\n } else {\r\n if(typoSimpleI === 1) return null // reached the end of the line for transposing\r\n --typoSimpleI\r\n searchI = typoSimpleI\r\n searchLowerCode = searchLowerCodes[searchI + 1]\r\n var searchLowerCodeNew = searchLowerCodes[searchI]\r\n if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char\r\n }\r\n matchesSimpleLen = searchI\r\n targetI = matchesSimple[matchesSimpleLen - 1] + 1\r\n break\r\n }\r\n }\r\n }\r\n\r\n var searchI = 0\r\n var typoStrictI = 0\r\n var successStrict = false\r\n var matchesStrictLen = 0\r\n\r\n var nextBeginningIndexes = prepared._nextBeginningIndexes\r\n if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)\r\n var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]\r\n\r\n // Our target string successfully matched all characters in sequence!\r\n // Let's try a more advanced and strict test to improve the score\r\n // only count it as a match if it's consecutive or a beginning character!\r\n if(targetI !== targetLen) for(;;) {\r\n if(targetI >= targetLen) {\r\n // We failed to find a good spot for this search char, go back to the previous search char and force it forward\r\n if(searchI <= 0) { // We failed to push chars forward for a better match\r\n // transpose, starting from the beginning\r\n ++typoStrictI; if(typoStrictI > searchLen-2) break\r\n if(searchLowerCodes[typoStrictI] === searchLowerCodes[typoStrictI+1]) continue // doesn't make sense to transpose a repeat char\r\n targetI = firstPossibleI\r\n continue\r\n }\r\n\r\n --searchI\r\n var lastMatch = matchesStrict[--matchesStrictLen]\r\n targetI = nextBeginningIndexes[lastMatch]\r\n\r\n } else {\r\n var isMatch = searchLowerCodes[typoStrictI===0?searchI : (typoStrictI===searchI?searchI+1 : (typoStrictI===searchI-1?searchI-1 : searchI))] === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesStrict[matchesStrictLen++] = targetI\r\n ++searchI; if(searchI === searchLen) { successStrict = true; break }\r\n ++targetI\r\n } else {\r\n targetI = nextBeginningIndexes[targetI]\r\n }\r\n }\r\n }\r\n\r\n { // tally up the score & keep track of matches for highlighting later\r\n if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }\r\n else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }\r\n var score = 0\r\n var lastTargetI = -1\r\n for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]\r\n // score only goes down if they're not consecutive\r\n if(lastTargetI !== targetI - 1) score -= targetI\r\n lastTargetI = targetI\r\n }\r\n if(!successStrict) {\r\n score *= 1000\r\n if(typoSimpleI !== 0) score += -20/*typoPenalty*/\r\n } else {\r\n if(typoStrictI !== 0) score += -20/*typoPenalty*/\r\n }\r\n score -= targetLen - searchLen\r\n prepared.score = score\r\n prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]\r\n\r\n return prepared\r\n }\r\n },\r\n\r\n algorithmNoTypo: function(searchLowerCodes, prepared, searchLowerCode) {\r\n var targetLowerCodes = prepared._targetLowerCodes\r\n var searchLen = searchLowerCodes.length\r\n var targetLen = targetLowerCodes.length\r\n var searchI = 0 // where we at\r\n var targetI = 0 // where you at\r\n var matchesSimpleLen = 0\r\n\r\n // very basic fuzzy match; to remove non-matching targets ASAP!\r\n // walk through target. find sequential matches.\r\n // if all chars aren't found then exit\r\n for(;;) {\r\n var isMatch = searchLowerCode === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesSimple[matchesSimpleLen++] = targetI\r\n ++searchI; if(searchI === searchLen) break\r\n searchLowerCode = searchLowerCodes[searchI]\r\n }\r\n ++targetI; if(targetI >= targetLen) return null // Failed to find searchI\r\n }\r\n\r\n var searchI = 0\r\n var successStrict = false\r\n var matchesStrictLen = 0\r\n\r\n var nextBeginningIndexes = prepared._nextBeginningIndexes\r\n if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)\r\n var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]\r\n\r\n // Our target string successfully matched all characters in sequence!\r\n // Let's try a more advanced and strict test to improve the score\r\n // only count it as a match if it's consecutive or a beginning character!\r\n if(targetI !== targetLen) for(;;) {\r\n if(targetI >= targetLen) {\r\n // We failed to find a good spot for this search char, go back to the previous search char and force it forward\r\n if(searchI <= 0) break // We failed to push chars forward for a better match\r\n\r\n --searchI\r\n var lastMatch = matchesStrict[--matchesStrictLen]\r\n targetI = nextBeginningIndexes[lastMatch]\r\n\r\n } else {\r\n var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesStrict[matchesStrictLen++] = targetI\r\n ++searchI; if(searchI === searchLen) { successStrict = true; break }\r\n ++targetI\r\n } else {\r\n targetI = nextBeginningIndexes[targetI]\r\n }\r\n }\r\n }\r\n\r\n { // tally up the score & keep track of matches for highlighting later\r\n if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }\r\n else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }\r\n var score = 0\r\n var lastTargetI = -1\r\n for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]\r\n // score only goes down if they're not consecutive\r\n if(lastTargetI !== targetI - 1) score -= targetI\r\n lastTargetI = targetI\r\n }\r\n if(!successStrict) score *= 1000\r\n score -= targetLen - searchLen\r\n prepared.score = score\r\n prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]\r\n\r\n return prepared\r\n }\r\n },\r\n\r\n prepareLowerCodes: function(str) {\r\n var strLen = str.length\r\n var lowerCodes = [] // new Array(strLen) sparse array is too slow\r\n var lower = str.toLowerCase()\r\n for(var i = 0; i < strLen; ++i) lowerCodes[i] = lower.charCodeAt(i)\r\n return lowerCodes\r\n },\r\n prepareBeginningIndexes: function(target) {\r\n var targetLen = target.length\r\n var beginningIndexes = []; var beginningIndexesLen = 0\r\n var wasUpper = false\r\n var wasAlphanum = false\r\n for(var i = 0; i < targetLen; ++i) {\r\n var targetCode = target.charCodeAt(i)\r\n var isUpper = targetCode>=65&&targetCode<=90\r\n var isAlphanum = isUpper || targetCode>=97&&targetCode<=122 || targetCode>=48&&targetCode<=57\r\n var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum\r\n wasUpper = isUpper\r\n wasAlphanum = isAlphanum\r\n if(isBeginning) beginningIndexes[beginningIndexesLen++] = i\r\n }\r\n return beginningIndexes\r\n },\r\n prepareNextBeginningIndexes: function(target) {\r\n var targetLen = target.length\r\n var beginningIndexes = fuzzysort.prepareBeginningIndexes(target)\r\n var nextBeginningIndexes = [] // new Array(targetLen) sparse array is too slow\r\n var lastIsBeginning = beginningIndexes[0]\r\n var lastIsBeginningI = 0\r\n for(var i = 0; i < targetLen; ++i) {\r\n if(lastIsBeginning > i) {\r\n nextBeginningIndexes[i] = lastIsBeginning\r\n } else {\r\n lastIsBeginning = beginningIndexes[++lastIsBeginningI]\r\n nextBeginningIndexes[i] = lastIsBeginning===undefined ? targetLen : lastIsBeginning\r\n }\r\n }\r\n return nextBeginningIndexes\r\n },\r\n\r\n cleanup: cleanup,\r\n new: fuzzysortNew,\r\n }\r\n return fuzzysort\r\n} // fuzzysortNew\r\n\r\n// This stuff is outside fuzzysortNew, because it's shared with instances of fuzzysort.new()\r\nvar isNode = typeof require !== 'undefined' && typeof window === 'undefined'\r\n// var MAX_INT = Number.MAX_SAFE_INTEGER\r\n// var MIN_INT = Number.MIN_VALUE\r\nvar preparedCache = new Map()\r\nvar preparedSearchCache = new Map()\r\nvar noResults = []; noResults.total = 0\r\nvar matchesSimple = []; var matchesStrict = []\r\nfunction cleanup() { preparedCache.clear(); preparedSearchCache.clear(); matchesSimple = []; matchesStrict = [] }\r\nfunction defaultScoreFn(a) {\r\n var max = -9007199254740991\r\n for (var i = a.length - 1; i >= 0; --i) {\r\n var result = a[i]; if(result === null) continue\r\n var score = result.score\r\n if(score > max) max = score\r\n }\r\n if(max === -9007199254740991) return null\r\n return max\r\n}\r\n\r\n// prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]\r\n// prop = 'key1.key2' 10ms\r\n// prop = ['key1', 'key2'] 27ms\r\nfunction getValue(obj, prop) {\r\n var tmp = obj[prop]; if(tmp !== undefined) return tmp\r\n var segs = prop\r\n if(!Array.isArray(prop)) segs = prop.split('.')\r\n var len = segs.length\r\n var i = -1\r\n while (obj && (++i < len)) obj = obj[segs[i]]\r\n return obj\r\n}\r\n\r\nfunction isObj(x) { return typeof x === 'object' } // faster as a function\r\n\r\n// Hacked version of https://github.com/lemire/FastPriorityQueue.js\r\nvar fastpriorityqueue=function(){var r=[],o=0,e={};function n(){for(var e=0,n=r[e],c=1;c<o;){var f=c+1;e=c,f<o&&r[f].score<r[c].score&&(e=f),r[e-1>>1]=r[e],c=1+(e<<1)}for(var a=e-1>>1;e>0&&n.score<r[a].score;a=(e=a)-1>>1)r[e]=r[a];r[e]=n}return e.add=function(e){var n=o;r[o++]=e;for(var c=n-1>>1;n>0&&e.score<r[c].score;c=(n=c)-1>>1)r[n]=r[c];r[n]=e},e.poll=function(){if(0!==o){var e=r[0];return r[0]=r[--o],n(),e}},e.peek=function(e){if(0!==o)return r[0]},e.replaceTop=function(o){r[0]=o,n()},e};\r\nvar q = fastpriorityqueue() // reuse this, except for async, it needs to make its own\r\n\r\nreturn fuzzysortNew()\r\n}) // UMD\r\n\r\n// TODO: (performance) wasm version!?\r\n\r\n// TODO: (performance) layout memory in an optimal way to go fast by avoiding cache misses\r\n\r\n// TODO: (performance) preparedCache is a memory leak\r\n\r\n// TODO: (like sublime) backslash === forwardslash\r\n\r\n// TODO: (performance) i have no idea how well optizmied the allowing typos algorithm is\r\n","import { html, Component } from 'htm/preact';\nimport styles from './styles.module.scss';\n\ninterface SearchState {\n value: string;\n}\n\ninterface SearchProps {\n initialValue?: string;\n placeholder: string;\n resultCount: number;\n onChange: (val: string) => void;\n}\n\nexport class TemplateSearch extends Component<SearchProps, SearchState> {\n constructor(props: SearchProps) {\n super(props);\n this.state = {\n value: this.props.initialValue || '',\n };\n }\n\n onInput = (e: Event) => {\n if (e.target instanceof HTMLInputElement) {\n const { value } = e.target;\n this.setState({ value });\n this.props.onChange(value);\n }\n };\n\n render() {\n return html`\n <div class=${styles.search} ${'integry-search'}>\n <input\n placeholder=${this.props.placeholder || 'Search...'}\n value=${this.state.value}\n oninput=${this.onInput}\n />\n <div class=${styles.resultCount}>${this.props.resultCount} results</div>\n </div>\n `;\n }\n}\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface TabProps {\n activeTab: string;\n label: string;\n onClick(label: string): void;\n}\n\nconst Tab = (props: TabProps) => {\n const { label, activeTab, onClick } = props;\n\n const onClickHandler = () => {\n onClick(label);\n };\n\n return html`\n <li\n class=${`${styles.tab} ${activeTab === label ? styles.tabactive : ''}`}\n onclick=${onClickHandler}\n >\n ${label}\n </li>\n `;\n};\n\nexport { Tab, TabProps };\n","import { html } from 'htm/preact';\nimport { VNode } from 'preact';\nimport { useState } from 'preact/hooks';\n\nimport { Tab } from './Tab';\n\nimport styles from './styles.module.scss';\n\ninterface TabBarProps {\n preSelectedTab?: string;\n children: VNode<{ label: string }>[];\n}\n\nconst TabBar = (props: TabBarProps) => {\n const { preSelectedTab, children } = props;\n\n if (!Array.isArray(children) || children.length < 2) {\n throw new Error('Tab Bar must have at least two children');\n }\n\n // either select preselected if specified, or the first tab\n const [activeTab, setActiveTab] = useState<string>(\n preSelectedTab || children[0].props.label,\n );\n\n const onClickTabItem = (label: string) => {\n setActiveTab(label);\n };\n\n return html`\n <div>\n <ol class=${styles.nav}>\n ${children.map((child) => {\n const { label } = child.props;\n return html`\n <${Tab}\n activeTab=${activeTab}\n key=${label}\n label=${label}\n onClick=${onClickTabItem}\n >\n <//>\n `;\n })}\n </ol>\n <div className=\"tab-content\">\n ${children.map((child) => {\n if (child.props.label !== activeTab) return undefined;\n return child.props.children;\n })}\n </div>\n </div>\n `;\n};\n\nexport { TabBar, TabBarProps };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ToggleProps {\n id: string;\n value: boolean;\n onChange: (val: boolean) => void;\n}\n\n/**\n * Toggle component\n *\n */\nconst Toggle = (props: ToggleProps) => {\n const { id, value: isToggled, onChange } = props;\n\n const handleChange = () => {\n onChange(!isToggled);\n };\n\n return html`\n <div class=${styles.toggle}>\n <div class=${`${styles.inner} ${isToggled ? styles.toggled : ''} `}>\n <label for=${id} class=${`${isToggled ? styles.toggled : ''} `}></label>\n <input type=\"checkbox\" id=${id} onclick=${handleChange} />\n </div>\n </div>\n `;\n};\n\nexport { Toggle, ToggleProps };\n","export type IntegrySDKEvents = {\n 'should-load-template': ({ templateId }: { templateId: number }) => void;\n 'did-load-template': (data: {\n templateId: number;\n templateTitle: string;\n templateDescription: string;\n }) => void;\n 'did-save-integration': (data: {\n integrationId: number;\n name: string;\n templateId: number;\n status: string;\n }) => void;\n 'did-load-preview': (data: {\n templateId: number;\n templateTitle: string;\n templateDescription: string;\n }) => void;\n 'did-change-step': (data: {\n stepId: number;\n stepType: 'AUTH' | 'CONFIGURATION' | 'SECTION' | 'CONFIRMATION';\n }) => void;\n};\n\nexport enum TemplateFormRenderModes {\n MODAL = 'MODAL',\n INLINE = 'INLINE',\n DETACHED = 'DETACHED',\n CUSTOM = 'CUSTOM',\n}\n\nexport enum TemplateListingRenderModes {\n GRID = 'GRID',\n LIST = 'LIST',\n}\n\nexport type Authorization = {\n id: number;\n authorization_type: string;\n app_user?: number;\n app_user_id?: number;\n disable_link?: string;\n integration_count?: number;\n user_identity: string;\n};\n\nexport type UnfetchResponse = {\n ok: boolean;\n statusText: string;\n status: number;\n url: string;\n text: () => Promise<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n json: () => Promise<any>;\n blob: () => Promise<Blob>;\n clone: () => UnfetchResponse;\n headers: {\n keys: () => string[];\n entries: () => Array<[string, string]>;\n get: (key: string) => string | undefined;\n has: (key: string) => boolean;\n };\n};\n","import { html, Component } from 'htm/preact';\n\nimport { timeAgo } from '@/utils/datetime';\nimport { Toggle } from '@/components/Toggle';\nimport { ListBox } from '@/components/Listbox';\nimport { Integration } from '@/interfaces';\nimport { IntegryAPI } from '@/modules/api';\n\nimport style from './styles.module.scss';\n\ntype Props = {\n integrations: Integration[];\n apiHandler: IntegryAPI;\n};\n\ntype State = {\n loading: boolean;\n};\n\nclass IntegrationsList extends Component<Props, State> {\n private toggleIntegration = (integrationId: number, activate: boolean) => {\n this.props.apiHandler\n .toggleIntegration(integrationId, activate)\n .then((res) => {\n console.info(res);\n })\n .catch((err) => console.error(err));\n };\n\n private onIntegrationDelete = (integrationId: number) => {\n this.props.apiHandler\n .deleteIntegration(integrationId)\n .then((res) => {\n console.info(res);\n })\n .catch((err) => console.error(err));\n };\n\n render() {\n return html`\n <div>\n <div class=${style.topbar}>\n <!-- <h2 class=${style.header}>My Flows</h2> -->\n <!-- <${ListBox} items=${[{ id: 'sort', value: 'Sort' }]} value=\"sort\" //> -->\n </div>\n <div class=${style.row}>\n <div class=\"flex w-12\">Status</div>\n <div class=\"flex w-12\"></div>\n <div class=\"flex-1 pl-4\">Integration Name</div>\n <div class=\"w-24\">Runs</div>\n <div class=\"w-40\">Last Activity</div>\n <div class=\"w-16\"></div>\n <div class=\"flex w-6\"></div>\n </div>\n <div class=${style.integrations}>\n ${this.props.integrations.length < 1 && html`No integrations`}\n ${this.props.integrations.map(\n (el) => html`\n <div\n class=\"${style.integration} ${'integry_container_Integration'}\"\n >\n <div class=${style.row}>\n <div class=\"flex w-12\">\n ${el.task_execution.status !== 'fail'\n ? html`\n <svg\n width=\"22\"\n height=\"22\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"12.5\"\n fill=\"#2ECC71\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n `\n : html`<svg\n width=\"22\"\n height=\"25\"\n viewBox=\"0 0 25 27\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"12.5\" cy=\"12.5\" r=\"12.5\" fill=\"#E26154\" />\n <g filter=\"url(#filter0_d)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.1886 8.05792C11.1209 7.32574 11.7556 6.61621 12.4701 6.61621C13.2413 6.61621 13.8535 7.32568 13.7963 8.05792L13.3542 13.5234C13.3206 14.0117 12.8896 14.3955 12.4019 14.3605C11.9713 14.3255 11.6422 13.9535 11.6196 13.5234L11.1886 8.05792ZM11.1836 16.9743C11.1836 16.3124 11.7654 15.7737 12.4835 15.7737C13.2189 15.7737 13.8007 16.3124 13.8 16.9743V17.2052C13.8 17.8671 13.2015 18.3902 12.4835 18.3902C11.7647 18.3902 11.1836 17.8671 11.1836 17.2052V16.9743Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <filter\n id=\"filter0_d\"\n x=\"7.18359\"\n y=\"6.61621\"\n width=\"10.6164\"\n height=\"19.7739\"\n filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\"\n >\n <feFlood\n flood-opacity=\"0\"\n result=\"BackgroundImageFix\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dy=\"4\" />\n <feGaussianBlur stdDeviation=\"2\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect1_dropShadow\"\n result=\"shape\"\n />\n </filter>\n </defs>\n </svg> `}\n </div>\n <div class=\"flex w-12\">\n <img src=${el.icon_url} />\n </div>\n <div class=\"flex-1 pl-4\">${el.name}</div>\n <div class=\"w-24\">${el.runs_count}</div>\n <div class=\"w-40\">\n ${el.task_execution.last_execution_at\n ? timeAgo(\n new Date(\n `${el.task_execution.last_execution_at.date} ${el.task_execution.last_execution_at.timezone}`,\n ),\n )\n : 'Never run'}\n </div>\n <div class=\"w-16\">\n <${Toggle}\n id=${el.id}\n value=${el.status === 'ACTIVE'}\n onChange=${(active: boolean) =>\n this.toggleIntegration(el.id, active)}\n >\n <//>\n </div>\n <div\n class=\"flex w-6 cursor-pointer\"\n onclick=${() => this.onIntegrationDelete(el.id)}\n >\n <svg\n width=\"12\"\n height=\"15\"\n viewBox=\"0 0 12 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 4.16667H12\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n />\n <path\n d=\"M10 5.5V6.16667L9.33333 13.5H2.66667L2 6.16667V5.5\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M4 3.5V2.16667C4 1.79848 4.29848 1.5 4.66667 1.5H7.33333C7.70152 1.5 8 1.79848 8 2.16667V3.5\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n />\n </svg>\n </div>\n </div>\n </div>\n `,\n )}\n </div>\n </div>\n `;\n }\n}\n\nexport { IntegrationsList };\n","/**\n *\n * @param length Array length to generate\n * @returns String array like ['00', '01', '02' ...]\n */\nfunction generateDoubleDigitStringArr(length: number): string[] {\n return Array.from({ length }, (_, i) => {\n if (i < 10) return `0${i}`;\n return `${i + 1}`;\n });\n}\n\n/**\n *\n * @param date Input date\n * @returns {string} Date string formatted as YYYY-MM-DD\n */\nfunction getDateFormat(date: Date): string {\n return new Date(date.getTime() - date.getTimezoneOffset() * 60000)\n .toISOString()\n .split('T')[0];\n}\n\nconst timeAgo = (date: Date) => {\n const intervals = [\n { label: 'year', seconds: 31536000 },\n { label: 'month', seconds: 2592000 },\n { label: 'day', seconds: 86400 },\n { label: 'hour', seconds: 3600 },\n { label: 'minute', seconds: 60 },\n { label: 'A few second', seconds: 0 },\n ];\n\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n const interval = intervals.find((i) => i.seconds < seconds);\n if (interval) {\n let count = Math.floor(seconds / interval.seconds);\n if (!Number.isInteger(count)) count = 0;\n return `${count > 0 ? count : ''} ${interval.label}${\n count !== 1 ? 's' : ''\n } ago`;\n }\n return `Cannot be formatted with interval ${interval}`;\n};\n\nexport { generateDoubleDigitStringArr, getDateFormat, timeAgo };\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport fuzzysort from 'fuzzysort';\n\nimport { Integration, Template as TemplateType } from '@/interfaces';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { TemplateSearch } from '@/features/templates/TemplateSearch';\nimport { Loader } from '@/components/Loader';\nimport { TabBar } from '@/components/TabBar';\n\nimport { IntegrationsList } from '@/features/integrations/IntegrationsList';\nimport { IntegrySDKEvents, TemplateListingRenderModes } from '@/types';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport style from './styles.module.scss';\n\ntype Props = {\n bundleId: string;\n layout: TemplateListingRenderModes;\n templateContainerTemplate: Component;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n onTemplateClick?: (templateId: number) => void;\n} & StoreType;\n\ntype State = {\n loading: boolean;\n integrations: Integration[];\n templates: TemplateType[];\n filteredTemplates: TemplateType[];\n};\n\nclass TemplatesView extends Component<Props, State> {\n constructor() {\n super();\n this.state = {\n loading: false,\n integrations: [],\n templates: [],\n filteredTemplates: [],\n };\n }\n\n // Adding the this argument restricts binding\n static handleClick(this: HTMLButtonElement, event: MouseEvent) {\n event.preventDefault();\n if (event.target instanceof HTMLElement) {\n console.info(event.target.localName);\n }\n }\n\n componentDidMount() {\n this.setState({ loading: true });\n this.props.setGenericData({\n bundleId: Number(this.props.bundleId),\n });\n this.props.apiHandler\n .getTemplateListing(this.props.bundleId)\n .then((data) => {\n if (data)\n this.setState({\n integrations: data.integrations,\n templates: data.templates,\n filteredTemplates: data.templates,\n loading: false,\n });\n });\n }\n\n filterTemplates = (query: string) => {\n if (query) {\n this.setState({\n filteredTemplates: fuzzysort\n .go(query, this.state.templates, {\n keys: ['name', 'branding_app.tags'],\n scoreFn: (keysResult) => {\n const nameResult = keysResult[0];\n const tagsResult = keysResult[1];\n // assign higher score to name result\n const score = Math.max(\n nameResult ? nameResult.score + 100 : -Infinity,\n tagsResult ? tagsResult.score : -Infinity,\n );\n return score;\n },\n })\n .map((el) => el.obj),\n });\n } else {\n this.setState({ filteredTemplates: this.state.templates });\n }\n };\n\n onTemplateClick = (templateId: number) => {\n this.props.setGenericData({\n templateId,\n });\n if (this.props.onTemplateClick) {\n this.props.onTemplateClick(templateId);\n }\n };\n\n render() {\n return html`\n <div>\n ${this.state.loading\n ? html` <${Loader} //> `\n : html`\n <${TabBar}>\n <div label=\"Guided Flows\">\n <!-- <h2 class=${style.header}>Available Flows</h2> -->\n <div>\n <${TemplateSearch}\n resultCount=${this.state.filteredTemplates.length}\n onChange=${(val: string) => this.filterTemplates(val)}\n >\n <//>\n </div>\n <div\n class=\"${this.props.layout ===\n TemplateListingRenderModes.LIST\n ? style.template_list\n : style.template_grid} ${'integry-container_TemplatesView'}\"\n >\n ${this.state.filteredTemplates.map(\n (template) =>\n html`\n <${this.props.templateContainerTemplate}\n name=${template.name}\n description=${template.description}\n layout=${this.props.layout}\n tags=${template.branding_app.tags}\n imgUrl=${template.branding_app.icon_url}\n onClick=${() => this.onTemplateClick(template.id)}\n >\n <//>\n `,\n )}\n </div>\n </div>\n <div label=\"My Flows\">\n <${IntegrationsList} apiHandler=${this.props.apiHandler}\n integrations=${this.state.integrations} //>\n </div>\n <//>\n `}\n </div>\n `;\n }\n}\n\nexport default connect<Props, State, StoreType, unknown>(\n '',\n actionFunctions,\n)(TemplatesView);\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ntype NavItemProps = {\n label: string;\n logoUrl?: string;\n isDisabled?: boolean;\n isActive?: boolean;\n isCompleted?: boolean;\n isLastStep?: boolean;\n onClick?(): void;\n};\n\nconst TickMark = html` <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <rect opacity=\"0.7\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#2ECC71\" />\n <path\n d=\"M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n</svg>`;\n\nconst FinalTickMark = html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"7.5\"\n cy=\"7.5\"\n r=\"6.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M10.3333 5.5L6.83522 9.5L5 7.40148\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n`;\n\nclass NavItem extends Component<NavItemProps> {\n render() {\n const {\n logoUrl,\n isActive = false,\n isCompleted = false,\n isDisabled = false,\n isLastStep = false,\n onClick = () => null,\n } = this.props;\n return html`\n <div\n class=${`${styles.navItem} ${isDisabled ? styles.disabled : ''} ${\n isActive ? styles.active : ''\n }`}\n onclick=${onClick}\n tabindex=\"-1\"\n role=\"button\"\n >\n <div class=${styles.navItemContent}>\n <div class=${styles.imgContainer}>\n ${isLastStep\n ? FinalTickMark\n : html`\n ${!(isCompleted && !isActive)\n ? html`<img src=${logoUrl} />`\n : TickMark}\n `}\n </div>\n <div>${this.props.label}</div>\n </div>\n </div>\n `;\n }\n}\n\nexport { NavItem, NavItemProps };\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport { NavItem, NavItemProps } from './NavItem';\n\nimport styles from './styles.module.scss';\n\nexport type StepNavigationProps = {\n steps: NavItemProps[];\n currentStepIndex?: number;\n completedTillIndex?: number;\n} & StoreType;\n\ntype StepNavigationState = {\n templateName: string;\n};\n\nclass StepNavigation extends Component<\n StepNavigationProps,\n StepNavigationState\n> {\n changeStep = (stepIndex: number) => {\n this.props.gotoStep(stepIndex);\n };\n\n render() {\n const { stepState } = this.props;\n const step = stepState?.currentStep;\n\n return html`\n <div class=${styles.navigation}>\n <div>\n ${this.props.stepState &&\n html`\n ${this.props.stepState?.steps.map(\n (el, idx) =>\n html` <${NavItem}\n label=${el.type !== 'CONFIRMATION'\n ? el.title\n : 'Confirmation'}\n logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}\n isCompleted=${el.isCompleted}\n isActive=${step?.type !== 'CONFIRMATION' &&\n el.type !== 'CONFIRMATION' &&\n stepState.stepIndex === idx}\n isDisabled=${Number(stepState?.stepIndex) < idx}\n isLastStep=${false}\n onClick=${() => this.changeStep(idx)}\n />`,\n )}\n `}\n <${NavItem}\n label=\"Confirmation\"\n isCompleted=${true}\n isActive=${step !== undefined &&\n stepState?.stepIndex === stepState?.steps.length}\n isDisabled=${step !== undefined &&\n stepState?.stepIndex !== stepState?.steps.length}\n isLastStep=${true}\n onClick=${() => this.changeStep(stepState?.steps.length ?? 0)}\n />\n </div>\n </div>\n `;\n }\n}\n\nStepNavigation.defaultProps = {\n currentStepIndex: -1,\n completedTillIndex: -1,\n};\n\nexport default connect<\n StepNavigationProps,\n StepNavigationState,\n StoreType,\n unknown\n>(\n 'stepState',\n actionFunctions,\n)(StepNavigation);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegryStep, TemplateStep } from '@/interfaces';\nimport Step from '@/features/templates/Step';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { IntegryAPI } from '@/modules/api';\nimport StepNavigation from '@/features/common/StepNavigation';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport AppContext from '@/contexts/AppContext';\nimport AuthSelector from '@/features/common/AuthSelector';\nimport { IntegrySDKEvents, TemplateListingRenderModes } from '@/types';\nimport { Loader } from '@/components/Loader';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport styles from './styles.module.scss';\n\nexport type StepsPropsType = {\n steps: IntegryStep[];\n layout: TemplateListingRenderModes;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n} & StoreType;\n\ntype StepsStateType = {\n selectedAuthStep: number | null;\n loading: boolean;\n};\n\nclass Steps extends Component<\n StepsPropsType,\n StepsStateType & Record<string, unknown>\n> {\n static contextType = AppContext;\n\n constructor(props: StepsPropsType) {\n super(props);\n this.state = {\n loading: false,\n selectedAuthStep: null,\n };\n }\n\n private createIntegration = () => {\n const { stepMapping, stepDataMapping } = this.props;\n console.info(stepMapping);\n this.setState({ loading: true });\n const payload = {\n name: 'My new integration',\n notification_email: '',\n template: Number(this.props.genericData.templateId),\n bundle_id: Number(this.props.genericData.bundleId),\n steps: Object.keys(stepMapping).map((el) => ({\n id: stepMapping[el].step.id,\n authorization: Number(stepMapping[el].selectedAuthId),\n template_step: stepMapping[el].step.id,\n app_user_data: stepMapping[el].step.template_fields.map((tField) => ({\n id: tField.id,\n value:\n (stepDataMapping[stepMapping[el].step.id][tField.id].value ||\n stepDataMapping[stepMapping[el].step.id][tField.id].value ===\n '') &&\n !stepDataMapping[stepMapping[el].step.id][tField.id].objectValue\n ? `${stepDataMapping[stepMapping[el].step.id][tField.id].value}`\n : JSON.stringify(\n stepDataMapping[stepMapping[el].step.id][tField.id]\n .objectValue,\n ),\n template_field: tField.id,\n })),\n })),\n };\n console.info(payload);\n this.context.apiHandler\n .saveIntegration(payload)\n .then((res: unknown) => {\n console.info(res);\n this.setState({ loading: false });\n })\n .catch((err: unknown) => console.error(err));\n };\n\n private handleAuthSelected = (\n authId: number,\n stepId: number,\n isVerified: boolean,\n ) => {\n const dependentSteps = this.props.stepMapping[stepId].step.template_fields\n .filter((el) => el.activity_field.is_dynamic)\n .map((el) => el.id);\n // reset all dynamic steps if auth changes\n this.props.setStepAuthorization(stepId, authId, isVerified, dependentSteps);\n };\n\n render() {\n let selectedStep: {\n step: TemplateStep;\n selectedAuthId: number | null;\n } | null = null;\n const { stepState } = this.props;\n const { currentStep, stepIndex, steps } = stepState;\n\n let shouldShowLastStep = false;\n let shouldShowBackButton = false;\n let isStepValid = false;\n let showStepValidation = false;\n if (stepIndex > -1 && currentStep?.type !== 'CONFIRMATION') {\n selectedStep = this.props.stepMapping[Number(currentStep?.stepId)];\n\n shouldShowLastStep = false;\n shouldShowBackButton = this.props.stepState.stepIndex > 0;\n isStepValid = currentStep?.isValid ?? false;\n showStepValidation = stepState.showValidation;\n } else if (\n currentStep?.type === 'CONFIRMATION' &&\n stepIndex === steps.length\n ) {\n shouldShowLastStep = true;\n }\n\n return html`\n <div class=${styles.stepsWrap}>\n <div class=${styles.stepsContainer}>\n <${StepNavigation}\n steps=${this.props.steps?.map((el) => ({\n label: el.title,\n logoUrl: el.activity.app.icon_url,\n }))}\n currentStepIndex=${-1}\n completedTillIndex=${-1}\n ><//>\n </div>\n <div class=${styles.stepContainer}>\n <div class=${styles.stepInfo}>\n ${shouldShowLastStep\n ? html`\n <svg\n width=\"25\"\n height=\"25\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"11.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n <div>Confirmation</div>\n `\n : html`\n <!-- <img src=${selectedStep?.step.activity.app.icon_url} />\n <div>${selectedStep?.step.title}</div> -->\n `}\n </div>\n\n <div class=${styles.top}>\n ${shouldShowLastStep\n ? html`\n <div class=${styles.save}>\n Your integration is ready to be enabled. Click “Save” to\n continue.\n </div>\n `\n : html`\n ${selectedStep &&\n html`\n ${currentStep?.type === 'AUTH'\n ? html`\n <div class=${styles.stepWrap}>\n <${AuthSelector}\n stepId=${selectedStep.step.id}\n apiHandler=${this.context.apiHandler}\n showErrors=${showStepValidation}\n onAuthSelected=${(\n authId: number,\n isVerified: boolean,\n ) =>\n this.handleAuthSelected(\n authId,\n Number(selectedStep?.step.id),\n isVerified,\n )}\n >\n <//>\n </div>\n `\n : html`\n <${Step}\n step=${selectedStep?.step}\n stepType=${currentStep?.type}\n showStepValidation=${showStepValidation}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n />\n `}\n `}\n `}\n </div>\n <div class=${styles.bottom}>\n <div class=${styles.buttons}>\n ${shouldShowBackButton &&\n html`\n <${Button}\n label=\"Back\"\n onClick=${() => this.props.gotoPreviousStep()}\n type=${ButtonTypes.SECONDARY}\n ><//>\n `}\n ${shouldShowLastStep\n ? html`\n ${this.state.loading\n ? html`<${Loader} />`\n : html`\n <${Button}\n label=\"Save\"\n onClick=${() => this.createIntegration()}\n ><//>\n `}\n `\n : html`\n <${Button}\n label=\"Next\"\n disabled=${!isStepValid}\n onClick=${() =>\n isStepValid\n ? this.props.gotoNextStep()\n : this.props.showStepValidationState()}\n ><//>\n `}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default connect<StepsPropsType, StepsStateType, StoreType, unknown>(\n ['stepState', 'genericData', 'stepMapping', 'stepDataMapping'],\n actionFunctions,\n)(Steps);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { TemplateResponse } from '@/interfaces';\nimport Steps from '@/features/templates/Steps';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { Loader } from '@/components/Loader';\nimport { IntegrySDKEvents } from '@/types';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\nimport { notEmpty } from '@/types/utils';\n\nimport styles from './styles.module.scss';\n\ninterface TemplateFormProps extends StoreType {\n templateId: number;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n}\n\ninterface TemplateState {\n loading: boolean;\n template: TemplateResponse | null;\n}\n\nclass TemplateForm extends Component<TemplateFormProps, TemplateState> {\n constructor() {\n super();\n this.state = {\n loading: true,\n template: null,\n };\n }\n\n componentDidMount() {\n this.props.apiHandler\n .getTemplate(this.props.templateId)\n .then((data) => {\n if (data)\n Promise.all(\n data.steps.map((el) =>\n this.props.apiHandler.getTemplateStep(Number(el.id)),\n ),\n )\n .then((res) => {\n this.setState({ template: data, loading: false });\n this.props.setSteps(res.filter(notEmpty));\n this.props.setStepMapping(res.filter(notEmpty));\n this.props.setParentChildMapping(res.filter(notEmpty));\n this.props.setGenericData({\n templateId: Number(this.props.templateId),\n });\n })\n .catch((err) => console.error(err));\n })\n .catch((err) => {\n throw new Error(err);\n });\n }\n\n render() {\n const { template } = this.state;\n return html`\n <div>\n ${this.state.loading\n ? html`<${Loader} //>`\n : html`\n <div class=${styles.header}>\n <img src=${template?.branding_app.icon_url} width=\"40\" />\n <div>\n <div class=${styles.name}>${template?.name}</div>\n <div class=${styles.description}>\n ${template?.description}\n </div>\n </div>\n </div>\n\n <${Steps}\n steps=${template?.steps}\n apiHandler=${this.props.apiHandler}\n eventEmitter=${this.props.eventEmitter}\n />\n `}\n </div>\n `;\n }\n}\n\nexport default connect<TemplateFormProps, TemplateState, StoreType, unknown>(\n '',\n actionFunctions,\n)(TemplateForm);\n","import { html, Component } from 'htm/preact';\nimport { TemplateListingRenderModes } from '@/types';\n\nimport style from './styles.module.scss';\n\nexport type TemplateProps = {\n imgUrl: string;\n name: string;\n description: string;\n tags: string;\n layout: TemplateListingRenderModes;\n onClick: () => void;\n};\n\ntype TemplateStateType = {\n templateName: string;\n};\n\nclass Template extends Component<\n TemplateProps,\n TemplateStateType & Record<string, unknown>\n> {\n constructor(props: TemplateProps) {\n super(props);\n this.state = {\n templateName: this.props.name,\n };\n }\n\n // Adding the this argument restricts binding\n static handleClick(this: HTMLButtonElement, event: MouseEvent) {\n event.preventDefault();\n if (event.target instanceof HTMLElement) {\n console.info(event.target.localName);\n }\n }\n\n handleClick = () => {\n console.info(this.props.name);\n };\n\n render() {\n return html`\n <div\n onclick=${this.props.onClick}\n class=\"${this.props.layout === TemplateListingRenderModes.LIST\n ? style.template_list_view\n : style.template_grid_view} ${'integry-container_Template'}\"\n >\n <div>\n <img src=${this.props.imgUrl} />\n <p class=${style.name}>${this.state.templateName}</p>\n <p class=${style.description}>${this.props.description}</p>\n </div>\n ${this.props.tags.length > 0 &&\n html`\n <div class=${style.tags}>\n ${this.props.tags\n .split(',')\n .map((el) => html` <div class=${style.tag}>${el}</div> `)}\n </div>\n `}\n </div>\n `;\n }\n}\n\nexport { Template };\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nclass Modal extends Component<ModalProps> {\n render() {\n const { isOpen } = this.props;\n return html`\n <div\n class=${`${styles.modal} ${isOpen ? `${styles.open}` : ''}`}\n aria-labelledby=\"modal-title\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <div class=${styles.modalContainer}>\n <div class=${styles.inset} aria-hidden=\"true\"></div>\n\n <span class=${styles.span} aria-hidden=\"true\"></span>\n\n <div\n class=${`${styles.contentWrap} ${isOpen ? `${styles.open}` : ''}`}\n >\n <div class=${styles.content}>\n <div\n onclick=${this.props.onClose}\n class=${styles.close}\n >\n <svg\n width=\"20\"\n height=\"22\"\n viewBox=\"0 0 20 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.2426 16.1822L5.75732 6.86328\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M14.2426 6.86328L5.75732 16.1822\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n ${this.props.isOpen && html` ${this.props.children} `}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport { Modal };\n","import { html, Component } from 'htm/preact';\nimport { Provider } from 'unistore/preact';\nimport { Store } from 'unistore';\nimport TemplatesView from '@/features/templates/TemplatesView';\nimport TemplateForm from '@/features/templates/TemplateForm';\nimport { Template } from '@/features/templates/Template';\nimport { Modal } from '@/components/Modal';\nimport AppContext from '@/contexts/AppContext';\nimport { TemplateListingRenderModes } from '@/types';\nimport { createSDKStore } from '@/store';\nimport { State } from '@/types/store';\n\n// import '../../styles/index.scss';\nimport styles from './styles.module.scss';\n\ninterface ContainerProps {\n bundleId: string;\n layout: TemplateListingRenderModes;\n}\n\ninterface ContainerState {\n isModalOpen: boolean;\n templateId: number | null;\n}\n\nclass Container extends Component<ContainerProps, ContainerState> {\n static contextType = AppContext;\n\n templateComponent: typeof Template | undefined;\n\n templateListComponent: typeof TemplatesView | undefined;\n\n store: Store<State>;\n\n constructor() {\n super();\n this.state = {\n isModalOpen: false,\n templateId: null,\n };\n this.store = createSDKStore();\n }\n\n componentWillMount() {\n // this.templateComponent = this.props.customTemplates?.template || Template;\n this.templateComponent = Template;\n\n // if (this.props.customTemplates?.templateList) {\n // this.templateListComponent = this.props.customTemplates.templateList;\n // } else this.templateListComponent = TemplatesView;\n this.templateListComponent = TemplatesView;\n }\n\n onTemplateClick = (templateId: number) => {\n this.setState({ isModalOpen: true, templateId });\n };\n\n render() {\n return html`\n <>\n <${Provider} store=${this.store}>\n <div class=\"${styles['integry-container']} ${'integry-container'}\">\n <${this.templateListComponent}\n layout=${this.props.layout}\n bundleId=${this.props.bundleId}\n templateContainerTemplate=${this.templateComponent}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n onTemplateClick=${this.onTemplateClick}\n >\n </div>\n <${Modal} \n isOpen=${this.state.isModalOpen} \n onClose=${() =>\n this.setState({\n isModalOpen: false,\n templateId: null,\n })}\n > \n <${TemplateForm} \n apiHandler=${this.context.apiHandler}\n templateId=${this.state.templateId} \n />\n <//>\n <//>\n </>\n `;\n }\n}\n\nexport { Container };\n","import { EventSet, EventEmitterType, HandlerRunner } from '../types';\n\nexport default abstract class EventRunnerAbstract<\n ESet extends EventSet,\n EventName extends keyof ESet\n> implements HandlerRunner<ESet, EventName> {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n protected emitter: EventEmitterType<ESet>,\n protected handler: ESet[EventName],\n ) {}\n\n getHandler(): ESet[EventName] {\n return this.handler;\n }\n\n abstract run(\n eventName: EventName,\n ...args: Parameters<ESet[EventName]>\n ): void;\n}\n","import { EventSet } from '../types';\nimport EventRunnerAbstract from './abstract';\n\nexport default class EventRunnerDefault<\n ESet extends EventSet,\n EventName extends keyof ESet\n> extends EventRunnerAbstract<ESet, EventName> {\n run(_eventName: EventName, ...args: Parameters<ESet[EventName]>): void {\n this.handler.apply(null, args);\n }\n}\n","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import { EventSet, EventEmitterType } from '../types';\nimport EventRunnerDefault from './default';\n\nexport default class EventRunnerNTimes<\n ESet extends EventSet,\n EventName extends keyof ESet\n> extends EventRunnerDefault<ESet, EventName> {\n private i = 0;\n\n constructor(\n emitter: EventEmitterType<ESet>,\n handler: ESet[EventName],\n private total = 1,\n ) {\n super(emitter, handler);\n if (this.total < 1) {\n throw new Error(`{total} can not be less than 1`);\n }\n }\n\n run(eventName: EventName, ...args: Parameters<ESet[EventName]>): void {\n super.run(eventName, ...args);\n // eslint-disable-next-line no-plusplus\n if (++this.i >= this.total) {\n this.emitter.off(eventName, this.handler);\n }\n }\n}\n","// https://github.com/infinitum11/inf-ee\n\nimport EventRunnerDefault from './runners/default';\nimport EventRunnerNTimes from './runners/ntimes';\nimport {\n EventListenerStorage,\n EventSet,\n EventEmitterType,\n HandlerRunner,\n} from './types';\n\nexport class EventEmitter<ESet extends EventSet>\n implements EventEmitterType<EventSet> {\n private events: EventListenerStorage<ESet> = Object.create(null);\n\n on<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n this.addEventListener(eventName, new EventRunnerDefault(this, handler));\n }\n\n once<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n this.addEventListener(eventName, new EventRunnerNTimes(this, handler, 1));\n }\n\n off<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n const events = this.events[eventName];\n if (!events?.length) {\n return;\n }\n this.events[eventName] = events.filter((h) => h.getHandler() !== handler);\n }\n\n offAll(): void {\n Object.keys(this.events).forEach((eventName) => {\n const events = this.events[eventName];\n if (events) {\n events.length = 0;\n }\n });\n this.events = Object.create(null);\n }\n\n emit<EventName extends keyof ESet>(\n eventName: EventName,\n ...args: Parameters<ESet[EventName]>\n ): void {\n const events = this.events[eventName];\n if (events) {\n events.forEach((handler) => handler.run(eventName, ...args));\n }\n }\n\n private addEventListener<EventName extends keyof ESet>(\n eventName: EventName,\n runner: HandlerRunner<ESet, EventName>,\n ) {\n const events = this.events[eventName];\n if (Array.isArray(events)) {\n events.push(runner);\n } else {\n this.events[eventName] = [runner];\n }\n }\n}\n","import { html, render } from 'htm/preact';\nimport { Provider } from 'unistore/preact';\n\nimport { IntegryAPI } from '@/modules/api';\nimport {\n InitConfig,\n ConfigWithObject,\n ConfigWithUrlParams,\n APIConfig,\n PreviewPayload,\n} from '@/interfaces/index';\n\nimport { HMAC } from '@/extensions/HMAC';\n\n// builtin templates\nimport Wrapper from '@/features/appdir/Wrapper';\nimport { Container } from '@/features/common/Container';\n// import { Template } from '@/features/templates/Template';\n// import TemplatesView from '@/features/templates/TemplatesView';\n// import { TemplateSearch } from '@/features/templates/TemplateSearch';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport AppContext from '@/contexts/AppContext';\n\nimport {\n IntegrySDKEvents,\n TemplateFormRenderModes,\n TemplateListingRenderModes,\n} from '@/types';\n\nimport { createSDKStore } from '@/store';\nimport isBrowser from '@/utils/isBrowser';\n\n// const Widgets = { Template, TemplatesView, TemplateSearch };\nconst Helpers = { getAuthHash: HMAC };\n\n// eslint-disable-next-line no-underscore-dangle\nconst __buildVersion__ = '';\n\n/**\n * Integry JS SDK\n */\nexport class IntegryJS {\n static SDK_VERSION = __buildVersion__;\n\n private config: ConfigWithObject & ConfigWithUrlParams;\n\n private apiHandler: IntegryAPI;\n\n // private templateContainer: HTMLElement | null;\n\n // private renderMode: TemplateFormRenderModes | null = null;\n\n eventEmitter = new EventEmitter<IntegrySDKEvents>();\n\n // allow customers to use template tagging\n // static html = html;\n\n // static Component = Component;\n\n static RenderModes: typeof TemplateFormRenderModes = TemplateFormRenderModes;\n\n // static Widgets: {\n // Template: typeof Template;\n // TemplatesView: typeof TemplatesView;\n // TemplateSearch: typeof TemplateSearch;\n // };\n\n static Helpers: {\n getAuthHash: (key: string, message: string) => Promise<string>;\n };\n\n constructor(config: ConfigWithObject | ConfigWithUrlParams) {\n let integryAPIParams: APIConfig;\n\n let apiConfig;\n\n if (config.env === 'staging') {\n apiConfig = {\n oauthVerifyPath: 'auth/verify',\n endpointsUrl: 'https://integry-app.appspot.com',\n baseUrl: 'https://beta.integry.io',\n baseUrlv2: 'https://beta.integry.io/v2',\n apiKey: config.xIntegryConfig?.appAuth.apiKey,\n };\n } else {\n apiConfig = {\n oauthVerifyPath: 'auth/verify',\n endpointsUrl: 'https://integry-app.appspot.com',\n baseUrl: 'https://app.integry.io',\n baseUrlv2: 'https://app.integry.io/v2',\n apiKey: config.xIntegryConfig?.appAuth.apiKey,\n };\n }\n\n if ('appKey' in config) {\n integryAPIParams = {\n ...apiConfig,\n appKey: config.appKey,\n hash: config.hash,\n userId: config.userId,\n };\n this.config = {\n ...apiConfig,\n appKey: config.appKey,\n hash: config.hash,\n userId: config.userId,\n bundleId: config.bundleId,\n };\n } else {\n const urlparams = this.getAuthParamsFromUrl() || {};\n integryAPIParams = {\n ...apiConfig,\n ...urlparams,\n };\n this.config = {\n ...apiConfig,\n ...urlparams,\n };\n }\n this.apiHandler = new IntegryAPI(integryAPIParams);\n\n // this.templateContainer = null;\n }\n\n /**\n *\n * @param length Length of string to randomly generate\n * @returns {string} Returns a random string\n */\n private getRandomTemplateId = (length: number): string => {\n const result = [];\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n const charactersLength = characters.length;\n for (let i = 0; i < length; i += 1) {\n result.push(\n characters.charAt(Math.floor(Math.random() * charactersLength)),\n );\n }\n return `x-integry-modal-${result.join('')}`;\n };\n\n private getAuthParamsFromUrl = (): ConfigWithObject => {\n const urlParams =\n isBrowser() && new URLSearchParams(window.location.search);\n if (urlParams) {\n const userId = urlParams.get('user_id');\n const appKey = urlParams.get('app_key');\n const hash = urlParams.get('hash');\n const bundleId = urlParams.get('bundle_id');\n if (!userId || !appKey || !hash || !bundleId) {\n throw new Error(\n `The following auth variables are undefined: ${\n !userId ? 'userId' : ''\n } ${!appKey ? 'appKey' : ''} ${!hash ? 'hash' : ''} ${\n !bundleId ? 'bundleId' : ''\n }`,\n );\n }\n return {\n userId,\n appKey,\n hash,\n bundleId,\n };\n }\n return {\n userId: '',\n appKey: '',\n hash: '',\n bundleId: '',\n };\n };\n\n /**\n * Prints version number of this SDK version\n */\n public printVersion = (): void => {\n console.info(`@integry/sdk@${IntegryJS.SDK_VERSION}`);\n };\n\n public getTemplatesList = async () =>\n this.apiHandler.getTemplateListing(this.config.bundleId);\n\n /**\n *\n * @param renderMode\n * @param templateContainerId\n * @returns {HTMLElement | null}\n */\n private setupTemplateFormDestination = (\n renderMode: TemplateFormRenderModes,\n templateContainerId?: string,\n ): HTMLElement | null => {\n let el: HTMLElement | null = null;\n\n if (templateContainerId) {\n if (\n renderMode === TemplateFormRenderModes.MODAL ||\n renderMode === TemplateFormRenderModes.INLINE\n ) {\n throw new Error(\n 'The `templateContainerId` property is unsupported when render mode is set to \"MODAL\" or \"INLINE\"',\n );\n }\n el = document.getElementById(templateContainerId);\n if (!el) {\n console.warn(\n `The template form render target with id ${templateContainerId} was not found`,\n );\n // throw new Error('The template form render target was not found');\n }\n }\n\n switch (renderMode) {\n case TemplateFormRenderModes.MODAL:\n el = document.createElement('div');\n el.id = this.getRandomTemplateId(8);\n document.body.appendChild(el);\n return el;\n case TemplateFormRenderModes.INLINE:\n return null;\n case TemplateFormRenderModes.DETACHED:\n return el;\n case TemplateFormRenderModes.CUSTOM:\n return el;\n default:\n throw new Error(\n `Unsupported renderMode ${renderMode} configuration, please provide one of ${JSON.stringify(\n Object.keys(TemplateFormRenderModes),\n )}`,\n );\n }\n };\n\n /**\n * Render the template form we ship\n * @param templateId\n */\n public renderTemplateForm = (\n templateId: string,\n templateContainerId: string,\n ): void => {\n const targetEl = document.getElementById(templateContainerId);\n if (!targetEl) {\n console.warn(\n `Integry template form render target with id ${templateContainerId} was not found`,\n );\n return;\n }\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: false,\n }}\n >\n <${Provider} store=${store}>\n <${Wrapper}\n bundleId=${this.config.bundleId}\n templateId=${templateId}\n >\n <//>\n <//>\n <//>\n `,\n targetEl,\n );\n };\n\n /**\n * Render the template form we ship\n * @param templateId\n */\n public renderPreview = (params: PreviewPayload): void => {\n const { templateData, metadata, previewContainerId } = params;\n const targetEl = document.getElementById(previewContainerId);\n if (!targetEl) {\n console.warn(\n `Integry template form render target with id ${previewContainerId} was not found`,\n );\n return;\n }\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: true,\n }}\n >\n <${Provider} store=${store}>\n <${Wrapper}\n bundleId=${this.config.bundleId}\n isPreviewMode=${true}\n templatePreviewData=${templateData}\n previewMetadata=${metadata}\n >\n <//>\n <//>\n <//>\n `,\n targetEl,\n );\n };\n\n /**\n *\n * @param initConfig\n */\n public init = (initConfig: InitConfig) => {\n const { containerId, templateContainerId, renderMode } = initConfig;\n\n const target = document.getElementById(containerId);\n\n if (!renderMode) {\n throw new Error('Template form render mode needs to be defined');\n }\n\n this.setupTemplateFormDestination(renderMode, templateContainerId);\n\n if (target) {\n const layout =\n (target.getAttribute(\n 'x-integry-layout',\n ) as TemplateListingRenderModes) || TemplateListingRenderModes.LIST;\n // this.renderMode = renderMode;\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: false,\n }}\n >\n <${Provider} store=${store}>\n <${Container} bundleId=${this.config.bundleId} layout=${layout}>\n <//>\n <//>\n <//>\n `,\n target,\n );\n } else {\n console.warn(\n `Integry SDK render target with id ${containerId} was not found`,\n );\n // throw new Error('The render target was not found');\n }\n };\n\n /**\n * Destroy SDK instance and cleanup store\n */\n public destroy = () => {\n try {\n this.eventEmitter.offAll();\n } catch (error) {\n console.error('There was an error unsubscribing from all events');\n }\n };\n}\n\nexport { Helpers };\n"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","TypeError","_typeof","Symbol","iterator","constructor","prototype","Op","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","isGeneratorFunction","genFun","ctor","displayName","name","AsyncIterator","PromiseImpl","invoke","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","toString","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","reverse","pop","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","n","t","s","r","e","u","h","p","a","assign","Map","m","get","set","replace","l","bind","url","options","request","XMLHttpRequest","all","headers","response","ok","status","statusText","responseURL","text","responseText","json","JSON","parse","blob","Blob","clone","entries","toLowerCase","has","const","open","onload","getAllResponseHeaders","onerror","withCredentials","credentials","setRequestHeader","send","body","_setPrototypeOf","o","_inherits","subClass","superClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","isNativeReflectConstruct","Function","_wrapNativeSuper","_cache","indexOf","Wrapper","IntegryAPIError","errorMessage","_this","statusCode","ResponseHandler","debugMode","parsedResponse","console","log","data","IntegryAPI","config","getTemplate","templateId","URL","baseUrlv2","addUrlSearchParams","app_key","appKey","hash","user_id","userId","self_api_key","apiKey","fetch","getAuthUrl","authorizationTypeId","baseUrl","getTemplateStep","stepId","verifyOAuth","authId","oauthVerifyPath","authorization_id","deleteAuth","callDynamicDataEndpoint","endpointData","getTemplateListing","bundleId","saveIntegration","activate","stringify","updateIntegration","integrationId","deleteIntegration","toggleIntegration","getIntegrationStatuses","integrationIds","_arrayLikeToArray","arr","len","arr2","Array","_unsupportedIterableToArray","minLen","arrayLikeToArray","from","test","_toConsumableArray","isArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","message","k","g","str","Uint8Array","unescape","encodeURIComponent","map","c","charCodeAt","crypto","subtle","importKey","sign","b","padStart","join","_objectWithoutProperties","source","excluded","target","sourceKeys","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_slicedToArray","arrayWithHoles","_i","_s","_e","_arr","_n","_d","iterableToArrayLimit","nonIterableRest","paramList","objKey","searchParams","append","currentIndex","currentComponent","prevRaf","afterPaintEffects","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","getHookState","index","_hook","hooks","__hooks","_list","_pendingEffects","useState","initialState","reducer","init","hookState","_component","_value","invokeOrReturn","nextValue","action","setState","useReducer","useEffect","callback","argsChanged","_args","useRef","initialValue","useMemo","current","factory","_factory","useContext","provider","_id","_defaultValue","sub","props","flushAfterPaintEffects","some","component","_parentDom","invokeCleanup","invokeEffect","hook","_cleanup","oldArgs","newArgs","f","_defineProperties","descriptor","_createClass","protoProps","staticProps","vnode","requestAnimationFrame","raf","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","_renderCallbacks","filter","cb","StructError","failure","failures","cached","rest","path","msg","_cached","createContext","let","stepState","steps","currentStep","stepIndex","showValidation","allStepsCompleted","genericData","templateApp","isPreviewMode","stepMapping","stepDataMapping","parentChildMapping","actionFunctions","storeSnapshot","setSteps","templateSteps","parsedSteps","element","hide_authorization","id","title","activity","app","iconUrl","icon_url","isCompleted","isCurrentlyOpen","requiredFields","invalidFields","isValid","is_visible","template_fields","hasVisibleTemplateFields","el","is_required","field","default_value","reduce","showStepValidationState","hideStepValidationState","gotoNextStep","newIndex","Number","step","updatedStep","gotoPreviousStep","gotoStepInPreview","previewMetadata","stepIndexToNavigateTo","findIndex","gotoStep","oldStepIndex","stepToNavigateTo","_updatedStep","getStepState","getState","setGenericData","setTemplateApp","setStepMapping","authorizations","authorization_type","_step$authorization_t2","authorizationId","userIdentity","user_identity","authType","disableLink","disable_link","isErrored","isVerified","isAuthVerified","selectedAuthId","_step$authorization_t4","step_authorization","acc","curr","fieldId","machineName","activity_field","_curr$activity_field","machine_name","isRequired","isVisible","setActivityOutputData","activityOutputData","setDynamicFieldData","dynamicFieldData","setParentChildMapping","_curr$activity_field2","childFields","child_fields","_curr$activity_field4","parentFields","parent_fields","_curr$activity_field6","addAuthorization","params","authData","removeAuthorization","toggleVerifyAuthorizationFlag","isVerifying","authObjIndex","toggleDeleteAuthorizationFlag","isDeleting","setStepAuthId","setStepAuthorization","fieldsToReset","stepFromMapping","latestStepState","didFetchStatus","setStepFieldData","setStepMappingData","objectValue","_state$stepDataMappin2","createSDKStore","store","extension","__REDUX_DEVTOOLS_EXTENSION__","top","ignoreState","devtools","connect","subscribe","payload","actionName","warn","createStore","TemplatePreviewDataType","number","string","description","color","publishing_status","category","array","app_type","optional","action_url","nullable","created_at","date","tags","branding_app","button_text","is_wizard","boolean","size","weight","endpoint","auth_required","total_fields","activity_output","activity_output_url","dynamic_field_data_endpoint","app_user","app_user_id","integration_count","is_sandbox_enabled","authorization_url_sandbox","is_hidden","summary","placeholder","is_dynamic","data_src","data_src_endpoint","dynamic_field_src","auto_machine_name","dynamic_field_src_endpoint","regex","is_searchable","child_field","child_field_value","long_description","regex_msg","allow_multiple_authorizations","is_self_step","auth_description","is_custom_machine_name","POSITIVE_INFINITY","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Loader","html","styles","notEmpty","classNames","classes","argType","inner","module","exports","default","HintWrap","hint","hintWidth","setHintWidth","position","getBoundingClientRect","width","left","targetBoundingRect","rootBoundingRect","bottom","height","template","content","Hint","attribute","setContent","containerElement","setContainerElement","setTargetBoundingRect","onRefChange","useCallback","node","addEventListener","Element","hasAttribute","getAttribute","dismissOnClick","children","ButtonTypes","Button","label","PRIMARY","backgroundColor","disabled","tooltip","onClick","restOfProps","cx","SECONDARY","LINK","borderColor","ErrorPage","errorPayload","onDismiss","stack","TickMark","FinalTickMark","NavItem","Component","logoUrl","isActive","isDisabled","isLastStep","AppContext","changeStep","idx","Radio","isChecked","handleChange","currentTarget","HTMLInputElement","newValue","ErrorMessage","Label","includes","Resend","AuthorizationRow","handleReverify","handleDelete","AuthSelector","verifyAuth","authIndex","auth","onAuthSelected","isLoading","apiHandler","res","catch","finally","onAuthResponseReceived","messageEvent","activity_name","already_exists","getAuthStatus","getError","openAuthWindow","selectedStep","windowName","win","w","y","outerHeight","screenY","x","outerWidth","screenX","openPopupWindow","fetched","isBrowser","prevProps","removeEventListener","showErrors","_this2","contextType","ListBoxItem","isSelected","ListBox","handler","items","passedItems","isOpen","isDynamic","onChange","showStepValidation","responseMapper","input","setItems","loading","setLoading","isDropdownOpen","setIsDropdownOpen","dropdownRef","listener","event","HTMLElement","contains","endpointUrl","toggleDropdown","getSelectedItem","Checkbox","changedId","checked","LargeLoader","Select","ariaLabel","showUnselectedValue","unselectedText","HTMLSelectElement","val","rootDataLoading","setRootDataLoading","dynamicDataLoading","setDynamicDataLoading","dynamicItems","setDynamicItems","dynamicListId","setDynamicListId","dynamicFieldIdRef","mappingCountRef","dynamicFieldToRender","templateFields","textFieldsToRender","isNotDynamic","mappingField","valuesMapField","valuesMap","_mappingField$parentF","parentFieldId","setRootStepData","fetchDynamicFieldData","getVisibleFieldsDataOnRootStep","fields","currentItem","triggerStepId","additionalData","stepData","templateField","dynamicEndpoint","fieldsData","_props$genericData$te","_props$genericData$te2","ele","_props$dynamicFieldDa","sample","_props$activityOutput2","item","_ele$value","activityOutputObject","_props$activityOutput","onMappingValueSelected","BaseInput","control","Input","inputValue","Step","areParentValuesFilled","valid","parentField","doParentFieldsHaveValues","fieldInfo","parentFieldData","shouldShowStep","stepObject","shouldBeShown","isAuthSelected","stepIsOfType","textFieldParentHasValues","anyVisibleFields","dynamicField","shouldShowMapping","getMappingDataInput","fieldDynamicData","selectedStepData","_this2$props$stepMapp","_","MappingUI","Steps","createIntegration","notification_email","bundle_id","authorization","template_step","app_user_data","tField","template_field","integration","eventEmitter","emit","handleAuthSelected","dependentSteps","selectedAuthStep","prevStepState","newStepState","_newStepState$steps$n2","stepType","_newStepState$steps$n4","shouldShowLastStep","shouldShowBackButton","isStepValid","_this$props$stepState2","_this$props$stepState4","_selectedStep","_this$props$stepState6","_this$props$stepState8","_selectedStep2","_selectedStep3","templateData","setTemplateData","customWrapper","templatePreviewData","validationErr","setValidationErr","errState","componentDidCatch","useErrorBoundary","sdkError","resetSdkError","assert","templateTitle","templateDescription","StepNavigation","_templateData$steps","root","UMD","isNode","preparedCache","preparedSearchCache","noResults","total","matchesSimple","matchesStrict","cleanup","clear","defaultScoreFn","max","score","getValue","prop","tmp","segs","split","isObj","fastpriorityqueue","add","poll","peek","replaceTop","q","fuzzysortNew","instanceOptions","fuzzysort","single","search","getPreparedSearch","getPrepared","allowTypo","algorithm","algorithmNoTypo","go","targets","searchLowerCode","prepareSearch","threshold","limit","resultsLen","limitedCount","targetsLen","scoreFn","keysLen","objResults","keyI","_targetLowerCodes","_nextBeginningIndexes","indexes","results","goAsync","canceled","iCurrent","startMs","Date","now","setImmediate","cancel","highlight","hOpen","hClose","highlighted","matchesIndex","opened","targetLen","matchesBest","char","substr","prepare","prepareLowerCodes","prepareSlow","prepareNextBeginningIndexes","targetPrepared","searchPrepared","searchLowerCodes","prepared","targetLowerCodes","searchLen","searchI","targetI","typoSimpleI","matchesSimpleLen","typoStrictI","successStrict","matchesStrictLen","nextBeginningIndexes","firstPossibleI","matchesBestLen","lastTargetI","strLen","lowerCodes","lower","prepareBeginningIndexes","beginningIndexes","beginningIndexesLen","wasUpper","wasAlphanum","targetCode","isUpper","isAlphanum","isBeginning","lastIsBeginning","lastIsBeginningI","new","TemplateSearch","onInput","resultCount","Tab","activeTab","TabBar","preSelectedTab","setActiveTab","onClickTabItem","child","Toggle","isToggled","TemplateFormRenderModes","TemplateListingRenderModes","IntegrationsList","onIntegrationDelete","integrations","task_execution","runs_count","last_execution_at","seconds","Math","floor","getTime","interval","find","count","isInteger","timeAgo","timezone","active","TemplatesView","filterTemplates","query","filteredTemplates","templates","keysResult","nameResult","tagsResult","Infinity","onTemplateClick","_this3","layout","LIST","templateContainerTemplate","preventDefault","localName","_this$props$stepState","defaultProps","currentStepIndex","completedTillIndex","stepsWrap","stepsContainer","_this$props$steps","stepContainer","stepInfo","save","stepWrap","_selectedStep4","buttons","TemplateForm","Template","handleClick","templateName","imgUrl","Modal","onClose","Container","isModalOpen","templateComponent","templateListComponent","Provider","EventRunnerAbstract","emitter","EventRunnerDefault","_eventName","_get","property","receiver","base","superPropBase","desc","getOwnPropertyDescriptor","EventRunnerNTimes","eventName","off","EventEmitter","events","getHandler","run","runner","Helpers","getAuthHash","IntegryJS","integryAPIParams","apiConfig","getRandomTemplateId","characters","charactersLength","random","getAuthParamsFromUrl","urlParams","URLSearchParams","location","printVersion","SDK_VERSION","getTemplatesList","setupTemplateFormDestination","renderMode","templateContainerId","MODAL","INLINE","getElementById","DETACHED","CUSTOM","renderTemplateForm","targetEl","render","renderPreview","metadata","previewContainerId","initConfig","containerId","destroy","offAll","env","endpointsUrl","xIntegryConfig","_config$xIntegryConfi","appAuth","_config$xIntegryConfi2","urlparams","RenderModes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.csm.js","sources":["../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/regenerator/index.js","../../node_modules/preact/dist/preact.module.js","../../node_modules/htm/dist/htm.mjs","../../node_modules/htm/preact/index.mjs","../../node_modules/unfetch/dist/unfetch.module.js","../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/@babel/runtime/helpers/esm/construct.js","../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../src/extensions/IntegryAPIError.ts","../../src/modules/api/responseHandler.ts","../../src/modules/api/index.ts","../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/extensions/HMAC.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../node_modules/preact/hooks/dist/hooks.module.js","../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../node_modules/superstruct/lib/index.es.js","../../src/contexts/AppContext.ts","../../node_modules/unistore/dist/unistore.es.js","../../node_modules/unistore/devtools.js","../../src/store/initialState.ts","../../src/store/actionFunctions.ts","../../src/store/index.ts","../../src/interfaces/index.ts","../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/Loader/index.ts","../../src/types/utils.ts","../../node_modules/classnames/index.js","../../src/components/Tooltip/index.ts","../../src/components/Button/index.ts","../../src/components/ErrorPage/index.ts","../../src/features/appdir/StepNavigation/NavItem.ts","../../src/features/appdir/StepNavigation/index.ts","../../src/components/RadioGroup/Radio.ts","../../src/components/ErrorMessage/index.ts","../../src/components/Label/index.ts","../../src/utils/isBrowser.ts","../../src/features/common/AuthSelector/index.ts","../../src/utils/isAuthMessage.ts","../../src/utils/popup.ts","../../src/components/Listbox/ListBoxItem.ts","../../src/components/Listbox/index.ts","../../src/hooks/useOnClickOutside.ts","../../src/components/CheckboxGroup/Checkbox.ts","../../src/components/LargeLoader/index.ts","../../src/components/BasicSelect/index.ts","../../src/features/common/MappingUI/index.ts","../../src/components/Input/BaseInput/index.ts","../../src/components/Input/Input/index.ts","../../node_modules/dompurify/dist/purify.js","../../src/features/templates/Step/index.ts","../../src/features/appdir/Steps/index.ts","../../src/features/appdir/Wrapper/index.ts","../../node_modules/fuzzysort/fuzzysort.js","../../src/features/templates/TemplateSearch/index.ts","../../src/components/TabBar/Tab.ts","../../src/components/TabBar/index.ts","../../src/components/Toggle/index.ts","../../src/types/index.ts","../../src/features/integrations/IntegrationsList/index.ts","../../src/utils/datetime.ts","../../src/features/templates/TemplatesView/index.ts","../../src/features/common/StepNavigation/NavItem.ts","../../src/features/common/StepNavigation/index.ts","../../src/features/templates/Steps/index.ts","../../src/features/templates/TemplateForm/index.ts","../../src/features/templates/Template/index.ts","../../src/components/Modal/index.ts","../../src/features/common/Container/index.ts","../../src/modules/event-emitter/runners/abstract.ts","../../src/modules/event-emitter/runners/default.ts","../../node_modules/@babel/runtime/helpers/esm/get.js","../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../src/modules/event-emitter/runners/ntimes.ts","../../src/modules/event-emitter/index.ts","../../src/index.ts"],"sourcesContent":["export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\"use strict\";\n\nvar Op = Object.prototype;\nvar hasOwn = Op.hasOwnProperty;\nvar undefined; // More compressible than void 0.\nvar $Symbol = typeof Symbol === \"function\" ? Symbol : {};\nvar iteratorSymbol = $Symbol.iterator || \"@@iterator\";\nvar asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\nvar toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\nfunction wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n}\n\n// Try/catch helper to minimize deoptimizations. Returns a completion\n// record like context.tryEntries[i].completion. This interface could\n// have been (and was previously) designed to take a closure to be\n// invoked without arguments, but in all the cases we care about we\n// already have an existing method we want to call, so there's no need\n// to create a new function object. We can even get away with assuming\n// the method takes exactly one argument, since that happens to be true\n// in every case, so we don't have to touch the arguments object. The\n// only additional allocation required is the completion record, which\n// has a stable shape and so hopefully should be cheap to allocate.\nfunction tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n}\n\nvar GenStateSuspendedStart = \"suspendedStart\";\nvar GenStateSuspendedYield = \"suspendedYield\";\nvar GenStateExecuting = \"executing\";\nvar GenStateCompleted = \"completed\";\n\n// Returning this object from the innerFn has the same effect as\n// breaking out of the dispatch switch statement.\nvar ContinueSentinel = {};\n\n// Dummy constructor functions that we use as the .constructor and\n// .constructor.prototype properties for functions that return Generator\n// objects. For full spec compliance, you may wish to configure your\n// minifier not to mangle the names of these two functions.\nfunction Generator() {}\nfunction GeneratorFunction() {}\nfunction GeneratorFunctionPrototype() {}\n\n// This is a polyfill for %IteratorPrototype% for environments that\n// don't natively support it.\nvar IteratorPrototype = {};\nIteratorPrototype[iteratorSymbol] = function () {\n return this;\n};\n\nvar getProto = Object.getPrototypeOf;\nvar NativeIteratorPrototype = getProto && getProto(getProto(values([])));\nif (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n}\n\nvar Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\nGeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\nGeneratorFunctionPrototype.constructor = GeneratorFunction;\nGeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n// Helper for defining the .next, .throw, and .return methods of the\n// Iterator interface in terms of a single ._invoke method.\nfunction defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n}\n\nfunction isGeneratorFunction (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n};\n\nfunction mark (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n};\n\n// Within the body of any async function, `await x` is transformed to\n// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n// `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n// meant to be awaited.\nfunction awrap (arg) {\n return { __await: arg };\n};\n\nfunction AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n}\n\ndefineIteratorMethods(AsyncIterator.prototype);\nAsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n};\n\n// Note that simple async functions are implemented on top of\n// AsyncIterator objects; they just return a Promise for the value of\n// the final result produced by the iterator.\n function async (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n};\n\nfunction makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n}\n\n// Call delegate.iterator[context.method](context.arg) and handle the\n// result, either by returning a { value, done } result from the\n// delegate iterator, or by modifying context.method and context.arg,\n// setting context.delegate to null, and returning the ContinueSentinel.\nfunction maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n}\n\n// Define Generator.prototype.{next,throw,return} in terms of the\n// unified ._invoke helper method.\ndefineIteratorMethods(Gp);\n\nGp[toStringTagSymbol] = \"Generator\";\n\n// A Generator should always return itself as the iterator object when the\n// @@iterator function is called on it. Some browsers' implementations of the\n// iterator prototype chain incorrectly implement this, causing the Generator\n// object to not be returned from this call. This ensures that doesn't happen.\n// See https://github.com/facebook/regenerator/issues/274 for more details.\nGp[iteratorSymbol] = function() {\n return this;\n};\n\nGp.toString = function() {\n return \"[object Generator]\";\n};\n\nfunction pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n}\n\nfunction resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n}\n\nfunction Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n}\n\nfunction keys (object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n};\n\nfunction values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n}\n\nfunction doneResult() {\n return { value: undefined, done: true };\n}\n\nContext.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n};\n\n// Export a default namespace that plays well with Rollup\nexport default {\n wrap,\n isGeneratorFunction,\n AsyncIterator,\n mark,\n awrap,\n async,\n keys,\n values\n};\n","var n,l,u,t,i,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(n,l,u){var t,i=arguments,o={};for(t in l)\"key\"!==t&&\"ref\"!==t&&(o[t]=l[t]);if(arguments.length>3)for(u=[u],t=3;t<arguments.length;t++)u.push(i[t]);if(null!=u&&(o.children=u),\"function\"==typeof n&&null!=n.defaultProps)for(t in n.defaultProps)void 0===o[t]&&(o[t]=n.defaultProps[t]);return v(n,o,l&&l.key,l&&l.ref)}function v(l,u,t,i){var o={type:l,props:u,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:null,__c:null,constructor:void 0};return n.vnode&&n.vnode(o),o}function p(){return{}}function y(n){return n.children}function d(n,l){this.props=n,this.context=l}function m(n,l){if(null==l)return n.__?m(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?m(n):null}function w(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return w(n)}}function g(l){(!l.__d&&(l.__d=!0)&&1===u.push(l)||i!==n.debounceRendering)&&((i=n.debounceRendering)||t)(k)}function k(){var n,l,t,i,o,r,f;for(u.sort(function(n,l){return l.__v.__b-n.__v.__b});n=u.pop();)n.__d&&(t=void 0,i=void 0,r=(o=(l=n).__v).__e,(f=l.__P)&&(t=[],i=T(f,o,s({},o),l.__n,void 0!==f.ownerSVGElement,null,t,null==r?m(o):r),$(t,o),i!=r&&w(o)))}function _(n,l,u,t,i,o,r,c,s){var h,v,p,y,d,w,g,k=u&&u.__k||e,_=k.length;if(c==f&&(c=null!=o?o[0]:_?m(u,0):null),h=0,l.__k=b(l.__k,function(u){if(null!=u){if(u.__=l,u.__b=l.__b+1,null===(p=k[h])||p&&u.key==p.key&&u.type===p.type)k[h]=void 0;else for(v=0;v<_;v++){if((p=k[v])&&u.key==p.key&&u.type===p.type){k[v]=void 0;break}p=null}if(y=T(n,u,p=p||f,t,i,o,r,c,s),(v=u.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,u),g.push(v,u.__c||y,u)),null!=y){if(null==w&&(w=y),null!=u.__d)y=u.__d,u.__d=null;else if(o==p||y!=c||null==y.parentNode){n:if(null==c||c.parentNode!==n)n.appendChild(y);else{for(d=c,v=0;(d=d.nextSibling)&&v<_;v+=2)if(d==y)break n;n.insertBefore(y,c)}\"option\"==l.type&&(n.value=\"\")}c=y.nextSibling,\"function\"==typeof l.type&&(l.__d=y)}}return h++,u}),l.__e=w,null!=o&&\"function\"!=typeof l.type)for(h=o.length;h--;)null!=o[h]&&a(o[h]);for(h=_;h--;)null!=k[h]&&A(k[h],k[h]);if(g)for(h=0;h<g.length;h++)z(g[h],g[++h],g[++h])}function b(n,l,u){if(null==u&&(u=[]),null==n||\"boolean\"==typeof n)l&&u.push(l(null));else if(Array.isArray(n))for(var t=0;t<n.length;t++)b(n[t],l,u);else u.push(l?l(\"string\"==typeof n||\"number\"==typeof n?v(null,n,null,null):null!=n.__e||null!=n.__c?v(n.type,n.props,n.key,null):n):n);return u}function x(n,l,u,t,i){var o;for(o in u)o in l||P(n,o,null,u[o],t);for(o in l)i&&\"function\"!=typeof l[o]||\"value\"===o||\"checked\"===o||u[o]===l[o]||P(n,o,l[o],u[o],t)}function C(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=\"number\"==typeof u&&!1===c.test(l)?u+\"px\":null==u?\"\":u}function P(n,l,u,t,i){var o,r,f,e,c;if(i?\"className\"===l&&(l=\"class\"):\"class\"===l&&(l=\"className\"),\"key\"===l||\"children\"===l);else if(\"style\"===l)if(o=n.style,\"string\"==typeof u)o.cssText=u;else{if(\"string\"==typeof t&&(o.cssText=\"\",t=null),t)for(r in t)u&&r in u||C(o,r,\"\");if(u)for(f in u)t&&u[f]===t[f]||C(o,f,u[f])}else\"o\"===l[0]&&\"n\"===l[1]?(e=l!==(l=l.replace(/Capture$/,\"\")),c=l.toLowerCase(),l=(c in n?c:l).slice(2),u?(t||n.addEventListener(l,N,e),(n.l||(n.l={}))[l]=u):n.removeEventListener(l,N,e)):\"list\"!==l&&\"tagName\"!==l&&\"form\"!==l&&\"type\"!==l&&!i&&l in n?n[l]=null==u?\"\":u:\"function\"!=typeof u&&\"dangerouslySetInnerHTML\"!==l&&(l!==(l=l.replace(/^xlink:?/,\"\"))?null==u||!1===u?n.removeAttributeNS(\"http://www.w3.org/1999/xlink\",l.toLowerCase()):n.setAttributeNS(\"http://www.w3.org/1999/xlink\",l.toLowerCase(),u):null==u||!1===u?n.removeAttribute(l):n.setAttribute(l,u))}function N(l){this.l[l.type](n.event?n.event(l):l)}function T(l,u,t,i,o,r,f,e,c){var a,h,v,p,m,w,g,k,x,C,P=u.type;if(void 0!==u.constructor)return null;(a=n.__b)&&a(u);try{n:if(\"function\"==typeof P){if(k=u.props,x=(a=P.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(k,C):(u.__c=h=new d(k,C),h.constructor=P,h.render=D),x&&x.sub(h),h.props=k,h.state||(h.state={}),h.context=C,h.__n=i,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,P.getDerivedStateFromProps(k,h.__s))),p=h.props,m=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&k!==p&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,C),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,C)){for(h.props=k,h.state=h.__s,h.__d=!1,h.__v=u,u.__e=t.__e,u.__k=t.__k,h.__h.length&&f.push(h),a=0;a<u.__k.length;a++)u.__k[a]&&(u.__k[a].__=u);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,C),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(p,m,w)})}h.context=C,h.props=k,h.state=h.__s,(a=n.__r)&&a(u),h.__d=!1,h.__v=u,h.__P=l,a=h.render(h.props,h.state,h.context),u.__k=b(null!=a&&a.type==y&&null==a.key?a.props.children:a),null!=h.getChildContext&&(i=s(s({},i),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(w=h.getSnapshotBeforeUpdate(p,m)),_(l,u,t,i,o,r,f,e,c),h.base=u.__e,h.__h.length&&f.push(h),g&&(h.__E=h.__=null),h.__e=null}else u.__e=j(t.__e,u,t,i,o,r,f,c);(a=n.diffed)&&a(u)}catch(l){n.__e(l,u,t)}return u.__e}function $(l,u){n.__c&&n.__c(u,l),l.some(function(u){try{l=u.__h,u.__h=[],l.some(function(n){n.call(u)})}catch(l){n.__e(l,u.__v)}})}function j(n,l,u,t,i,o,r,c){var s,a,h,v,p,y=u.props,d=l.props;if(i=\"svg\"===l.type||i,null==n&&null!=o)for(s=0;s<o.length;s++)if(null!=(a=o[s])&&(null===l.type?3===a.nodeType:a.localName===l.type)){n=a,o[s]=null;break}if(null==n){if(null===l.type)return document.createTextNode(d);n=i?document.createElementNS(\"http://www.w3.org/2000/svg\",l.type):document.createElement(l.type),o=null}if(null===l.type)null!=o&&(o[o.indexOf(n)]=null),y===d||c||n.data==d||(n.data=d);else if(l!==u){if(null!=o&&(o=e.slice.call(n.childNodes)),h=(y=u.props||f).dangerouslySetInnerHTML,v=d.dangerouslySetInnerHTML,!c){if(y===f)for(y={},p=0;p<n.attributes.length;p++)y[n.attributes[p].name]=n.attributes[p].value;(v||h)&&(v&&h&&v.__html==h.__html||(n.innerHTML=v&&v.__html||\"\"))}x(n,d,y,i,c),l.__k=l.props.children,v||_(n,l,u,t,\"foreignObject\"!==l.type&&i,o,r,f,c),c||(\"value\"in d&&void 0!==d.value&&d.value!==n.value&&(n.value=null==d.value?\"\":d.value),\"checked\"in d&&void 0!==d.checked&&d.checked!==n.checked&&(n.checked=d.checked))}return n}function z(l,u,t){try{\"function\"==typeof l?l(u):l.current=u}catch(l){n.__e(l,t)}}function A(l,u,t){var i,o,r;if(n.unmount&&n.unmount(l),(i=l.ref)&&(i.current&&i.current!==l.__e||z(i,null,u)),t||\"function\"==typeof l.type||(t=null!=(o=l.__e)),l.__e=l.__d=null,null!=(i=l.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(l){n.__e(l,u)}i.base=i.__P=null}if(i=l.__k)for(r=0;r<i.length;r++)i[r]&&A(i[r],u,t);null!=o&&a(o)}function D(n,l,u){return this.constructor(n,u)}function E(l,u,t){var i,r,c;n.__&&n.__(l,u),r=(i=t===o)?null:t&&t.__k||u.__k,l=h(y,null,[l]),c=[],T(u,(i?u:t||u).__k=l,r||f,f,void 0!==u.ownerSVGElement,t&&!i?[t]:r?null:e.slice.call(u.childNodes),c,t||f,i),$(c,l)}function H(n,l){E(n,l,o)}function I(n,l){return l=s(s({},n.props),l),arguments.length>2&&(l.children=e.slice.call(arguments,2)),v(n.type,l,l.key||n.key,l.ref||n.ref)}function L(n){var l={},u={__c:\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var t,i=this;return this.getChildContext||(t=[],this.getChildContext=function(){return l[u.__c]=i,l},this.shouldComponentUpdate=function(l){n.value!==l.value&&t.some(function(n){n.context=l.value,g(n)})},this.sub=function(n){t.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){t.splice(t.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Consumer.contextType=u,u}n={__e:function(n,l){for(var u,t;l=l.__;)if((u=l.__c)&&!u.__)try{if(u.constructor&&null!=u.constructor.getDerivedStateFromError&&(t=!0,u.setState(u.constructor.getDerivedStateFromError(n))),null!=u.componentDidCatch&&(t=!0,u.componentDidCatch(n)),t)return g(u.__E=u)}catch(l){n=l}throw n}},l=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(u,this.props)),n&&s(u,n),null!=n&&this.__v&&(this.__e=!1,l&&this.__h.push(l),g(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),g(this))},d.prototype.render=y,u=[],t=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,o=f,r=0;export{E as render,H as hydrate,h as createElement,h,y as Fragment,p as createRef,l as isValidElement,d as Component,I as cloneElement,L as createContext,b as toChildArray,A as _unmount,n as options};\n//# sourceMappingURL=preact.module.js.map\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import{h as r,Component as o,render as t}from\"preact\";export{h,render,Component}from\"preact\";import e from\"htm\";var m=e.bind(r);export{m as html};\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import { UnfetchResponse } from '../types';\n\n/**\n * Extend default Error class\n */\nclass IntegryAPIError extends Error {\n statusCode: number | undefined;\n\n response: UnfetchResponse | undefined;\n\n constructor(errorMessage: string, response?: UnfetchResponse) {\n super(errorMessage);\n this.name = this.constructor.name;\n this.statusCode = response?.status;\n this.response = response;\n }\n}\n\nexport { IntegryAPIError };\n","/* eslint-disable no-console */\n\nimport { UnfetchResponse } from '../../types';\nimport { IntegryAPIError } from '../../extensions/IntegryAPIError';\n\nexport const ResponseHandler = async <T>(\n response: UnfetchResponse,\n): Promise<{\n data: T | null;\n status: number;\n}> => {\n const debugMode = !!process.env.DEBUG;\n\n if (response.ok) {\n try {\n const parsedResponse: T = await response.json();\n if (debugMode) console.log(parsedResponse);\n return {\n data: parsedResponse,\n status: response.status,\n };\n } catch (error) {\n if (debugMode) console.log('Response is not in json');\n return {\n data: null,\n status: response.status,\n };\n }\n } else if (response.status === 405) {\n return {\n data: await response.json(),\n status: response.status,\n };\n }\n if (debugMode) console.log('Received a non-2xx status code');\n const error = new IntegryAPIError(response.statusText, response);\n return Promise.reject(error);\n};\n","/**\n * Simple API module\n */\n\nimport fetch from 'unfetch';\n\nimport {\n APIConfig,\n BundleResponse,\n IntegrationSaveResponse,\n IntegrationStatusResponse,\n SaveOrUpdateIntegrationBody,\n TemplateResponse,\n TemplateStep,\n} from '@/interfaces';\n\nimport { ResponseHandler } from './responseHandler';\n\nclass IntegryAPI {\n private config: APIConfig;\n\n constructor(config: APIConfig) {\n this.config = config;\n }\n\n static addUrlSearchParams = (\n url: URL,\n paramList: Record<string, string | boolean | null>,\n ) =>\n Object.keys(paramList).map(\n (objKey) =>\n paramList[objKey] &&\n url.searchParams.append(objKey, `${paramList[objKey]}`),\n );\n\n public getTemplate = async (\n templateId: number,\n ): Promise<TemplateResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/template/${templateId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n self_api_key: this.config.apiKey || null,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<TemplateResponse>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getAuthUrl = (authorizationTypeId: number): string => {\n const url = new URL(\n `${this.config.baseUrl}/auth/login/${authorizationTypeId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n return url.toString();\n };\n\n public getTemplateStep = async (\n stepId: number,\n ): Promise<TemplateStep | null> => {\n const url = new URL(`${this.config.baseUrl}/template_step/${stepId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n self_api_key: this.config.apiKey || null,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<TemplateStep>(data),\n );\n\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public verifyOAuth = async (authId: number): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrl}/${this.config.oauthVerifyPath}`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n authorization_id: `${authId}`,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), { method: 'POST' }).then(\n ResponseHandler,\n );\n return !!response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public deleteAuth = async (\n authId: number,\n ): Promise<{\n data: string | null;\n status: number;\n } | null> => {\n const url = new URL(`${this.config.baseUrl}/connected-accounts/${authId}`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'DELETE',\n }).then((data) => ResponseHandler<string>(data));\n\n return {\n status: response.status,\n data: response.data,\n };\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public callDynamicDataEndpoint = async <T>(\n url: URL,\n endpointData: Record<string, string> = {},\n ): Promise<T | null> => {\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n ...endpointData,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<T>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getTemplateListing = async (\n bundleId: string,\n ): Promise<BundleResponse | null> => {\n const url = new URL(`${this.config.baseUrl}/bundle/${bundleId}/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString()).then((data) =>\n ResponseHandler<BundleResponse>(data),\n );\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public saveIntegration = async (\n body: SaveOrUpdateIntegrationBody,\n ): Promise<IntegrationSaveResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/integration/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n async: false,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n activate: true,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((data) => ResponseHandler<IntegrationSaveResponse>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public updateIntegration = async (\n integrationId: string,\n body: SaveOrUpdateIntegrationBody,\n ): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrlv2}/integration/${integrationId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n async: false,\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n activate: true,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then((data) => ResponseHandler<boolean>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public deleteIntegration = async (\n integrationId: number,\n ): Promise<boolean | null> => {\n const url = new URL(\n `${this.config.baseUrl}/setup/template/${integrationId}/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'DELETE',\n }).then((data) => ResponseHandler<boolean>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public toggleIntegration = async (\n integrationId: number,\n activate: boolean,\n ): Promise<string | null> => {\n const url = new URL(\n `${this.config.baseUrlv2}/integration/${integrationId}/${\n activate ? 'enable' : 'disable'\n }/`,\n );\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n }).then((data) => ResponseHandler<string>(data));\n return response.data;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n\n public getIntegrationStatuses = async (\n integrationIds: number[],\n ): Promise<IntegrationStatusResponse | null> => {\n const url = new URL(`${this.config.baseUrlv2}/integration_status/`);\n\n IntegryAPI.addUrlSearchParams(url, {\n app_key: this.config.appKey,\n hash: this.config.hash,\n user_id: this.config.userId,\n });\n\n try {\n const response = await fetch(url.toString(), {\n method: 'PUT',\n body: JSON.stringify(integrationIds),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then(ResponseHandler);\n return response;\n } catch (error) {\n console.error(error)\n return null;\n }\n };\n}\n\nexport { IntegryAPI };\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n *\n * @param key Key to sign hash\n * @param message Message to hash\n * @returns {string}\n */\nexport async function HMAC(message: string, key: string): Promise<string> {\n const g = (str: string) =>\n new Uint8Array(\n [...unescape(encodeURIComponent(str))].map((c) => c.charCodeAt(0)),\n );\n const k = g(key);\n const m = g(message);\n const c = await crypto.subtle.importKey(\n 'raw',\n k,\n { name: 'HMAC', hash: 'SHA-256' },\n true,\n ['sign'],\n );\n const s = await crypto.subtle.sign('HMAC', c, m);\n return [...new Uint8Array(s)]\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n}\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import{options as n}from\"preact\";var t,u,r,i=[],o=n.__r,f=n.diffed,c=n.__c,e=n.unmount;function a(t){n.__h&&n.__h(u);var r=u.__H||(u.__H={t:[],u:[]});return t>=r.t.length&&r.t.push({}),r.t[t]}function v(n){return m(E,n)}function m(n,r,i){var o=a(t++);return o.__c||(o.__c=u,o.i=[i?i(r):E(void 0,r),function(t){var u=n(o.i[0],t);o.i[0]!==u&&(o.i[0]=u,o.__c.setState({}))}]),o.i}function p(n,r){var i=a(t++);x(i.o,r)&&(i.i=n,i.o=r,u.__H.u.push(i))}function l(n,r){var i=a(t++);x(i.o,r)&&(i.i=n,i.o=r,u.__h.push(i))}function d(n){return y(function(){return{current:n}},[])}function s(n,t,u){l(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function y(n,u){var r=a(t++);return x(r.o,u)?(r.o=u,r.v=n,r.i=n()):r.i}function T(n,t){return y(function(){return n},t)}function w(n){var r=u.context[n.__c];if(!r)return n.__;var i=a(t++);return null==i.i&&(i.i=!0,r.sub(u)),r.props.value}function A(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function F(n){var r=a(t++),i=v();return r.i=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.i&&r.i(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}function _(){i.some(function(n){n.__P&&(n.__H.u.forEach(g),n.__H.u.forEach(q),n.__H.u=[])}),i=[]}function g(n){n.m&&n.m()}function q(n){var t=n.i();\"function\"==typeof t&&(n.m=t)}function x(n,t){return!n||t.some(function(t,u){return t!==n[u]})}function E(n,t){return\"function\"==typeof t?t(n):t}n.__r=function(n){o&&o(n),t=0,(u=n.__c).__H&&(u.__H.u.forEach(g),u.__H.u.forEach(q),u.__H.u=[])},n.diffed=function(t){f&&f(t);var u=t.__c;if(u){var o=u.__H;o&&o.u.length&&(1!==i.push(u)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);\"undefined\"!=typeof window&&(t=requestAnimationFrame(u))})(_))}},n.__c=function(n,t){t.some(function(n){n.__h.forEach(g),n.__h=n.__h.filter(function(n){return!n.i||q(n)})}),c&&c(n,t)},n.unmount=function(n){e&&e(n);var t=n.__c;if(t){var u=t.__H;u&&u.t.forEach(function(n){return n.m&&n.m()})}};export{v as useState,m as useReducer,p as useEffect,l as useLayoutEffect,d as useRef,s as useImperativeHandle,y as useMemo,T as useCallback,w as useContext,A as useDebugValue,F as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const {\n message,\n ...rest\n } = failure;\n const {\n path\n } = failure;\n const msg = path.length === 0 ? message : \"At path: \" + path.join('.') + \" -- \" + message;\n super(msg);\n Object.assign(this, rest);\n this.name = this.constructor.name;\n\n this.failures = () => {\n var _cached;\n\n return (_cached = cached) != null ? _cached : cached = [failure, ...failures()];\n };\n }\n\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\n\n\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\n\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\n\nfunction print(value) {\n return typeof value === 'string' ? JSON.stringify(value) : \"\" + value;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\n\nfunction shiftIterator(input) {\n const {\n done,\n value\n } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\n\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n } else if (result === false) {\n result = {};\n } else if (typeof result === 'string') {\n result = {\n message: result\n };\n }\n\n const {\n path,\n branch\n } = context;\n const {\n type\n } = struct;\n const {\n refinement,\n message = \"Expected a value of type `\" + type + \"`\" + (refinement ? \" with refinement `\" + refinement + \"`\" : '') + \", but received: `\" + print(value) + \"`\"\n } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\n\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\n\nfunction* run(value, struct, options = {}) {\n const {\n path = [],\n branch = [value],\n coerce = false,\n mask = false\n } = options;\n const ctx = {\n path,\n branch\n };\n\n if (coerce) {\n value = struct.coercer(value, ctx);\n\n if (mask && struct.type !== 'type' && isObject(struct.schema) && isObject(value) && !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n\n let valid = true;\n\n for (const failure of struct.validator(value, ctx)) {\n valid = false;\n yield [failure, undefined];\n }\n\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask\n });\n\n for (const t of ts) {\n if (t[0]) {\n valid = false;\n yield [t[0], undefined];\n } else if (coerce) {\n v = t[1];\n\n if (k === undefined) {\n value = v;\n } else if (value instanceof Map) {\n value.set(k, v);\n } else if (value instanceof Set) {\n value.add(v);\n } else if (isObject(value)) {\n value[k] = v;\n }\n }\n }\n }\n\n if (valid) {\n for (const failure of struct.refiner(value, ctx)) {\n valid = false;\n yield [failure, undefined];\n }\n }\n\n if (valid) {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\n\nclass Struct {\n constructor(props) {\n const {\n type,\n schema,\n validator,\n refiner,\n coercer = value => value,\n entries = function* () {}\n } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.validator = () => [];\n }\n\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n\n\n assert(value) {\n return assert(value, this);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n\n\n create(value) {\n return create(value, this);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n\n\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n\n\n mask(value) {\n return mask(value, this);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n\n\n validate(value, options = {}) {\n return validate(value, this, options);\n }\n\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\n\nfunction assert(value, struct) {\n const result = validate(value, struct);\n\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\n\nfunction create(value, struct) {\n const result = validate(value, struct, {\n coerce: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\n\nfunction mask(value, struct) {\n const result = validate(value, struct, {\n coerce: true,\n mask: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\n\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\n\nfunction validate(value, struct, options = {}) {\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n } else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign(...Structs) {\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map(s => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\n\nfunction define(name, validator) {\n return new Struct({\n type: name,\n schema: null,\n validator\n });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\n\nfunction deprecated(struct, log) {\n return new Struct({ ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n } else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n }\n\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\n\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n }\n\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\n\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n\n *entries(value, ctx) {\n var _struct;\n\n (_struct = struct) != null ? _struct : struct = fn();\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n var _struct2;\n\n (_struct2 = struct) != null ? _struct2 : struct = fn();\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n var _struct3;\n\n (_struct3 = struct) != null ? _struct3 : struct = fn();\n return struct.coercer(value, ctx);\n }\n\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\n\nfunction omit(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = { ...schema\n };\n\n for (const key of keys) {\n delete subschema[key];\n }\n\n return object(subschema);\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\n\nfunction partial(struct) {\n const schema = struct instanceof Struct ? { ...struct.schema\n } : { ...struct\n };\n\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\n\nfunction pick(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = {};\n\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n\n return object(subschema);\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\n\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\n\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n\n validator(value) {\n return Array.isArray(value) || \"Expected an array value, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\n\nfunction boolean() {\n return define('boolean', value => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\n\nfunction date() {\n return define('date', value => {\n return value instanceof Date && !isNaN(value.getTime()) || \"Expected a valid `Date` object, but received: \" + print(value);\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map(v => print(v)).join();\n\n for (const key of values) {\n schema[key] = key;\n }\n\n return new Struct({\n type: 'enums',\n schema,\n\n validator(value) {\n return values.includes(value) || \"Expected one of `\" + description + \"`, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a function.\n */\n\nfunction func() {\n return define('func', value => {\n return typeof value === 'function' || \"Expected a function, but received: \" + print(value);\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\n\nfunction instance(Class) {\n return define('instance', value => {\n return value instanceof Class || \"Expected a `\" + Class.name + \"` instance, but received: \" + print(value);\n });\n}\n/**\n * Ensure that a value is an integer.\n */\n\nfunction integer() {\n return define('integer', value => {\n return typeof value === 'number' && !isNaN(value) && Number.isInteger(value) || \"Expected an integer, but received: \" + print(value);\n });\n}\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n }\n\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n\n validator(value) {\n return value === constant || \"Expected the literal `\" + description + \"`, but received: \" + print(value);\n }\n\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n\n validator(value) {\n return value instanceof Map || \"Expected a `Map` object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\n\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\n\nfunction nullable(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is a number.\n */\n\nfunction number() {\n return define('number', value => {\n return typeof value === 'number' && !isNaN(value) || \"Expected a number, but received: \" + print(value);\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n },\n\n coercer(value) {\n return isObject(value) ? { ...value\n } : value;\n }\n\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\n\nfunction optional(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\n\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\n\nfunction regexp() {\n return define('regexp', value => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n\n validator(value) {\n return value instanceof Set || \"Expected a `Set` object, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value is a string.\n */\n\nfunction string() {\n return define('string', value => {\n return typeof value === 'string' || \"Expected a string, but received: \" + print(value);\n });\n}\nfunction tuple(Elements) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Elements.length, value.length);\n\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Elements[i] || Never];\n }\n }\n },\n\n validator(value) {\n return Array.isArray(value) || \"Expected an array, but received: \" + print(value);\n }\n\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\n\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || \"Expected an object, but received: \" + print(value);\n }\n\n });\n}\nfunction union(Structs) {\n const description = Structs.map(s => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n\n coercer(value, ctx) {\n const firstMatch = Structs.find(s => {\n const [e] = s.validate(value, {\n coerce: true\n });\n return !e;\n }) || unknown();\n return firstMatch.coercer(value, ctx);\n },\n\n validator(value, ctx) {\n const failures = [];\n\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n\n if (!first[0]) {\n return [];\n } else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n\n return [\"Expected the value to satisfy a union of `\" + description + \"`, but received: \" + print(value), ...failures];\n }\n\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\n\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction coerce(struct, condition, coercer) {\n return new Struct({ ...struct,\n coercer: (value, ctx) => {\n return is(value, condition) ? struct.coercer(coercer(value, ctx), ctx) : struct.coercer(value, ctx);\n }\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction defaulted(struct, fallback, options = {}) {\n return coerce(struct, unknown(), x => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n\n if (x === undefined) {\n return f;\n }\n\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x\n };\n let changed = false;\n\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n\n if (changed) {\n return ret;\n }\n }\n\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction trimmed(struct) {\n return coerce(struct, string(), x => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\n\nfunction empty(struct) {\n const expected = \"Expected an empty \" + struct.type;\n return refine(struct, 'empty', value => {\n if (value instanceof Map || value instanceof Set) {\n const {\n size\n } = value;\n return size === 0 || expected + \" but received one with a size of `\" + size + \"`\";\n } else {\n const {\n length\n } = value;\n return length === 0 || expected + \" but received one with a length of `\" + length + \"`\";\n }\n });\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\n\nfunction max(struct, threshold, options = {}) {\n const {\n exclusive\n } = options;\n return refine(struct, 'max', value => {\n return exclusive ? value < threshold : value <= threshold || \"Expected a \" + struct.type + \" less than \" + (exclusive ? '' : 'or equal to ') + threshold + \" but received `\" + value + \"`\";\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\n\nfunction min(struct, threshold, options = {}) {\n const {\n exclusive\n } = options;\n return refine(struct, 'min', value => {\n return exclusive ? value > threshold : value >= threshold || \"Expected a \" + struct.type + \" greater than \" + (exclusive ? '' : 'or equal to ') + threshold + \" but received `\" + value + \"`\";\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\n\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', value => {\n return regexp.test(value) || \"Expected a \" + struct.type + \" matching `/\" + regexp.source + \"/` but received \\\"\" + value + \"\\\"\";\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\n\nfunction size(struct, min, max = min) {\n const expected = \"Expected a \" + struct.type;\n const of = min === max ? \"of `\" + min + \"`\" : \"between `\" + min + \"` and `\" + max + \"`\";\n return refine(struct, 'size', value => {\n if (typeof value === 'number' || value instanceof Date) {\n return min <= value && value <= max || expected + \" \" + of + \" but received `\" + value + \"`\";\n } else if (value instanceof Map || value instanceof Set) {\n const {\n size\n } = value;\n return min <= size && size <= max || expected + \" with a size \" + of + \" but received one with a size of `\" + size + \"`\";\n } else {\n const {\n length\n } = value;\n return min <= length && length <= max || expected + \" with a length \" + of + \" but received one with a length of `\" + length + \"`\";\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\n\nfunction refine(struct, name, refiner) {\n return new Struct({ ...struct,\n\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n\n for (const failure of failures) {\n yield { ...failure,\n refinement: name\n };\n }\n }\n\n });\n}\n\nexport { Struct, StructError, any, array, assert, assign, boolean, coerce, create, date, defaulted, define, deprecated, dynamic, empty, enums, func, instance, integer, intersection, is, lazy, literal, map, mask, max, min, never, nullable, number, object, omit, optional, partial, pattern, pick, record, refine, regexp, set, size, string, struct, trimmed, tuple, type, union, unknown, validate };\n//# sourceMappingURL=index.es.js.map\n","import { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { IntegrySDKEvents } from '@/types';\nimport { createContext } from 'preact';\n\nexport default createContext<{\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n isPreviewMode: boolean;\n} | null>(null);\n","function n(n,t){for(var r in t)n[r]=t[r];return n}export default function(t){var r=[];function u(n){for(var t=[],u=0;u<r.length;u++)r[u]===n?n=null:t.push(r[u]);r=t}function e(u,e,f){t=e?u:n(n({},t),u);for(var i=r,o=0;o<i.length;o++)i[o](t,f)}return t=t||{},{action:function(n){function r(t){e(t,!1,n)}return function(){for(var u=arguments,e=[t],f=0;f<arguments.length;f++)e.push(u[f]);var i=n.apply(this,e);if(null!=i)return i.then?i.then(r):r(i)}},setState:e,subscribe:function(n){return r.push(n),function(){u(n)}},unsubscribe:u,getState:function(){return t}}}\n//# sourceMappingURL=unistore.es.js.map\n","module.exports = function unistoreDevTools(store) {\n\tvar extension = window.__REDUX_DEVTOOLS_EXTENSION__ || window.top.__REDUX_DEVTOOLS_EXTENSION__;\n\tvar ignoreState = false;\n\n\tif (!extension) {\n\t\tconsole.warn('Please install/enable Redux devtools extension');\n\t\tstore.devtools = null;\n\n\t\treturn store;\n\t}\n\n\tif (!store.devtools) {\n\t\tstore.devtools = extension.connect();\n\t\tstore.devtools.subscribe(function (message) {\n\t\t\tif (message.type === 'DISPATCH' && message.state) {\n\t\t\t\tignoreState = (message.payload.type === 'JUMP_TO_ACTION' || message.payload.type === 'JUMP_TO_STATE');\n\t\t\t\tstore.setState(JSON.parse(message.state), true);\n\t\t\t}\n\t\t});\n\t\tstore.devtools.init(store.getState());\n\t\tstore.subscribe(function (state, action) {\n\t\t\tvar actionName = action && action.name || 'setState';\n\n\t\t\tif (!ignoreState) {\n\t\t\t\tstore.devtools.send(actionName, state);\n\t\t\t} else {\n\t\t\t\tignoreState = false;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn store;\n}\n","import { State } from '@/types/store';\n\nexport const initialState: State = {\n stepState: {\n steps: [],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: 0,\n showValidation: false,\n allStepsCompleted: false,\n },\n genericData: {\n bundleId: null,\n templateId: null,\n templateApp: null,\n isPreviewMode: false,\n },\n stepMapping: {},\n stepDataMapping: {},\n parentChildMapping: {},\n};\n","import { Store } from 'unistore';\n\nimport { PreviewMetadata, TemplateStep } from '@/interfaces';\nimport { StepStateStep, State } from '@/types/store';\nimport { Authorization } from '@/types';\nimport { initialState } from '@/store/initialState';\n\n// If actions is a function, it gets passed the store:\nexport const actionFunctions = (storeSnapshot: Store<State>) => ({\n setSteps(state: State, templateSteps: TemplateStep[]): Partial<State> {\n const parsedSteps: StepStateStep[] = [];\n templateSteps.forEach((element) => {\n if (!element.hide_authorization) {\n // step has auth required so split into two.\n parsedSteps.push({\n stepId: element.id,\n title: `Connect ${element.activity.app.name}`,\n iconUrl: element.activity.app.icon_url,\n isCompleted: false,\n isCurrentlyOpen: false,\n type: 'AUTH',\n requiredFields: [element.id], // auth if required will always be named like this\n invalidFields: {\n [element.id]: '',\n },\n isValid: false,\n });\n } else {\n // auth is implicit so we will select the first available auth\n }\n\n if (element.is_visible) {\n // check if we need to show the config step at all\n if (element.template_fields.length > 0) {\n // step has template fields with atleast one visible\n const hasVisibleTemplateFields =\n element.template_fields.filter((el) => el.is_visible).length > 0;\n\n // check which of these are required\n const requiredFields = element.template_fields\n .filter((el) => el.is_required && el.is_visible)\n .map((field) => field.id);\n\n // check if no default value is provided\n const invalidFields = element.template_fields\n .filter((el) => el.is_required && !el.default_value)\n .reduce((prev, field) => ({ ...prev, [field.id]: '' }), {});\n\n if (hasVisibleTemplateFields)\n parsedSteps.push({\n stepId: element.id,\n title: element.title,\n iconUrl: element.activity.app.icon_url,\n isCompleted: false,\n isCurrentlyOpen: false,\n type: 'CONFIGURATION',\n requiredFields,\n invalidFields,\n isValid: !(Object.keys(invalidFields).length > 0),\n });\n }\n }\n });\n\n return {\n ...state,\n stepState: {\n steps: parsedSteps,\n currentStep: parsedSteps[0],\n stepIndex: 0,\n showValidation: false,\n allStepsCompleted: false,\n },\n };\n },\n\n showStepValidationState(state: State): Partial<State> {\n const { stepState } = state;\n return {\n stepState: {\n ...stepState,\n showValidation: true,\n },\n };\n },\n\n hideStepValidationState(state: State): Partial<State> {\n const { stepState } = state;\n return {\n stepState: {\n ...stepState,\n showValidation: false,\n },\n };\n },\n\n gotoNextStep(state: State): Partial<State> {\n const { stepState } = state;\n if (stepState) {\n const newIndex = Number(stepState.stepIndex) + 1;\n const step = stepState.steps[Number(stepState.stepIndex) + 1];\n const updatedStep = {\n ...stepState.steps[state.stepState.stepIndex],\n isCompleted: true,\n };\n if (!step) {\n // last step reached\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, stepState.stepIndex),\n updatedStep,\n ...stepState.steps.slice(stepState.stepIndex + 1),\n ],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: newIndex,\n allStepsCompleted: true,\n showValidation: false,\n },\n };\n }\n\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, stepState.stepIndex),\n updatedStep,\n ...stepState.steps.slice(stepState.stepIndex + 1),\n ],\n currentStep: {\n ...step,\n },\n stepIndex: newIndex,\n showValidation: false,\n },\n };\n }\n return state;\n },\n\n gotoPreviousStep(state: State): Partial<State> {\n if (state.stepState) {\n const newIndex = Number(state.stepState.stepIndex) - 1;\n const step = state.stepState.steps[Number(state.stepState.stepIndex) - 1];\n\n return {\n stepState: {\n ...state.stepState,\n currentStep: step,\n stepIndex: newIndex,\n },\n };\n }\n return state;\n },\n\n gotoStepInPreview: (\n state: State,\n previewMetadata: PreviewMetadata,\n ): Partial<State> => {\n const { stepState } = state;\n const { stepId, type } = previewMetadata;\n\n if (stepId && type !== 'CONFIRMATION') {\n // go to a particular step\n const stepIndexToNavigateTo = stepState.steps.findIndex(\n (el) => el.stepId === stepId && el.type === type,\n );\n if (stepIndexToNavigateTo > -1)\n return {\n stepState: {\n ...state.stepState,\n currentStep: stepState.steps[stepIndexToNavigateTo],\n stepIndex: stepIndexToNavigateTo,\n allStepsCompleted: false,\n },\n };\n }\n\n if (!stepId && type === 'CONFIRMATION') {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n return state;\n },\n\n gotoStep: (state: State, stepIndex: number): Partial<State> => {\n const { stepState } = state;\n const { stepIndex: oldStepIndex } = stepState;\n if (stepState) {\n const currentStep = stepState.steps[oldStepIndex];\n const stepToNavigateTo = stepState.steps[stepIndex];\n\n if (state.genericData.isPreviewMode) {\n // we can go to any step in preview mode\n if (stepIndex === stepState.steps.length) {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n return {\n stepState: {\n ...state.stepState,\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n allStepsCompleted: false,\n },\n };\n }\n\n // navigate directly to confirmation page if all steps are completed\n if (stepState.allStepsCompleted && stepIndex === stepState.steps.length) {\n return {\n stepState: {\n ...stepState,\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex: stepState.steps.length,\n allStepsCompleted: true,\n },\n };\n }\n\n // navigate to confirmation from final step\n if (\n currentStep &&\n currentStep.isValid &&\n oldStepIndex === stepState.steps.length - 1 &&\n stepIndex === stepState.steps.length\n ) {\n const updatedStep = {\n ...stepState.steps[oldStepIndex],\n isCompleted: true,\n };\n return {\n stepState: {\n ...stepState,\n steps: [\n ...stepState.steps.slice(0, oldStepIndex),\n updatedStep,\n ...stepState.steps.slice(oldStepIndex + 1),\n ],\n currentStep: {\n type: 'CONFIRMATION',\n },\n stepIndex,\n allStepsCompleted: true,\n },\n };\n }\n // navigate to a step if it is completed\n if (stepToNavigateTo && stepToNavigateTo.isCompleted) {\n return {\n stepState: {\n ...state.stepState,\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n },\n };\n }\n if (\n // clicking on next step with current completed\n currentStep &&\n currentStep.isValid &&\n stepIndex === oldStepIndex + 1\n ) {\n const updatedStep = {\n ...stepState.steps[oldStepIndex],\n isCompleted: true,\n };\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...stepState.steps.slice(0, oldStepIndex),\n updatedStep,\n ...stepState.steps.slice(oldStepIndex + 1),\n ],\n currentStep: {\n ...stepToNavigateTo,\n },\n stepIndex,\n },\n };\n }\n }\n return state;\n },\n\n getStepState() {\n return storeSnapshot.getState().stepState;\n },\n\n setGenericData(\n state: State,\n genericData: Partial<{\n templateId: number;\n bundleId: number;\n isPreviewMode: boolean;\n }>,\n ): Partial<State> {\n return {\n genericData: {\n ...state.genericData,\n ...genericData,\n },\n };\n },\n\n setTemplateApp(\n state: State,\n data: {\n name: string;\n iconUrl: string;\n },\n ): Partial<State> {\n return {\n genericData: {\n ...state.genericData,\n templateApp: {\n name: data.name,\n iconUrl: data.iconUrl,\n },\n },\n };\n },\n\n setStepMapping(state: State, steps: TemplateStep[]): Partial<State> {\n const stepMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n step,\n authorizations:\n step.authorization_type.authorizations?.map((el) => ({\n authorizationId: el.id,\n userIdentity: el.user_identity,\n authType: el.authorization_type,\n disableLink: el.disable_link,\n isErrored: false,\n isVerified: false,\n })) ?? [],\n isAuthVerified: false,\n selectedAuthId:\n // eslint-disable-next-line no-nested-ternary\n step.hide_authorization || state.genericData.isPreviewMode\n ? step.authorization_type.authorizations[0]?.id ?? '' // select first available auth\n : step.step_authorization || state.stepMapping[step.id]\n ? state.stepMapping[step.id].selectedAuthId\n : '',\n },\n }),\n {},\n );\n\n const stepDataMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n ...state.stepDataMapping[step.id],\n ...step.template_fields.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.id]: {\n fieldId: curr.id,\n value:\n !curr.is_visible || curr.default_value // set default value if step is not visible on SDK\n ? curr.default_value\n : (state.stepDataMapping[step.id] && // set empty if initializing, or existing if already set\n state.stepDataMapping[step.id][curr.id] &&\n state.stepDataMapping[step.id][curr.id].value) ||\n '',\n machineName: curr.activity_field?.machine_name,\n isRequired: curr.is_required,\n isVisible: curr.is_visible,\n },\n }),\n {},\n ),\n },\n }),\n {},\n );\n\n return {\n stepMapping: {\n ...state.stepMapping,\n ...stepMapping,\n },\n stepDataMapping: {\n ...state.stepDataMapping,\n ...stepDataMapping,\n },\n genericData: {\n ...state.genericData,\n templateApp: {\n name: steps.length > 0 ? steps[0].activity.app.name : '',\n iconUrl: steps.length > 0 ? steps[0].activity.app.icon_url : '',\n },\n },\n };\n },\n\n setActivityOutputData(\n state: State,\n data: {\n activityOutputData: {\n value: string;\n text: string;\n }[];\n },\n ): Partial<State> {\n return {\n ...state,\n activityOutputData: data.activityOutputData,\n };\n },\n\n setDynamicFieldData(\n state: State,\n data: {\n dynamicFieldData: {\n [fieldId: string]: (string | Record<string, string>)[];\n };\n },\n ): Partial<State> {\n return {\n ...state,\n dynamicFieldData: Object.keys(data.dynamicFieldData).reduce(\n (prev, next) => ({\n ...prev,\n [`{${next}}`]: data.dynamicFieldData[next],\n }),\n {},\n ),\n };\n },\n\n setParentChildMapping(state: State, steps: TemplateStep[]): Partial<State> {\n const parentChildMapping = steps.reduce(\n (prev, step) => ({\n ...prev,\n [step.id]: {\n ...state.parentChildMapping[step.id],\n ...step.template_fields.reduce((acc, curr) => {\n if (curr.activity_field)\n return {\n ...acc,\n [curr.activity_field?.machine_name]: {\n fieldId: curr.id,\n childFields: curr.activity_field?.child_fields\n ? JSON.parse(curr.activity_field?.child_fields)\n : null,\n parentFields: curr.activity_field?.parent_fields\n ? JSON.parse(curr.activity_field?.parent_fields)\n : null,\n },\n };\n return acc;\n }, {}),\n },\n }),\n {},\n );\n\n return {\n parentChildMapping: {\n ...state.parentChildMapping,\n ...parentChildMapping,\n },\n };\n },\n\n addAuthorization(\n state: State,\n params: {\n stepId: number;\n authData: Authorization;\n },\n ): Partial<State> {\n const { stepId, authData } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations,\n authData,\n ],\n },\n },\n };\n },\n\n removeAuthorization(\n state: State,\n params: {\n stepId: number;\n authId: number;\n },\n ): Partial<State> {\n const { stepId, authId } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: state.stepMapping[stepId].authorizations.filter(\n (el) => el.authorizationId !== authId,\n ),\n },\n },\n };\n },\n\n toggleVerifyAuthorizationFlag(\n state: State,\n params: {\n stepId: number;\n authId: number;\n isVerifying: boolean;\n },\n ): Partial<State> {\n const { stepId, authId, isVerifying } = params;\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === authId,\n );\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(0, authObjIndex),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isVerifying,\n },\n ...state.stepMapping[stepId].authorizations.slice(authObjIndex + 1),\n ],\n },\n },\n };\n },\n\n toggleDeleteAuthorizationFlag(\n state: State,\n params: {\n stepId: number;\n authId: number;\n isDeleting: boolean;\n error: string;\n },\n ): Partial<State> {\n const { stepId, authId, isDeleting, error } = params;\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === authId,\n );\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(0, authObjIndex),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isDeleting,\n error,\n },\n ...state.stepMapping[stepId].authorizations.slice(authObjIndex + 1),\n ],\n },\n },\n };\n },\n\n setStepAuthId(\n state: State,\n params: { stepId: number; authId: number },\n ): Partial<State> {\n const { stepId, authId } = params;\n return {\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n selectedAuthId: authId,\n },\n },\n };\n },\n\n setStepAuthorization(\n state: State,\n stepId: number,\n selectedAuthId: number | null,\n isVerified: boolean,\n fieldsToReset?: number[],\n ): Partial<State> {\n const step = state.stepState.steps[state.stepState.stepIndex];\n const stepFromMapping = state.stepMapping[stepId];\n const latestStepState = storeSnapshot.getState().stepState;\n if (\n step.type !== 'CONFIRMATION' &&\n latestStepState.currentStep?.type !== 'CONFIRMATION' &&\n latestStepState.currentStep?.stepId === stepId\n ) {\n const { invalidFields } = step;\n if (isVerified) delete invalidFields[stepId];\n const updatedStep = {\n ...state.stepState.steps[state.stepState.stepIndex],\n invalidFields,\n isValid: Object.keys(invalidFields).length < 1,\n isCompleted: stepFromMapping.selectedAuthId !== null || isVerified,\n };\n const authObjIndex = state.stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === selectedAuthId,\n );\n\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...state.stepState.steps.slice(0, state.stepState.stepIndex),\n updatedStep,\n ...state.stepState.steps.slice(state.stepState.stepIndex + 1),\n ],\n currentStep: updatedStep,\n showValidation: !isVerified && !stepFromMapping.selectedAuthId,\n },\n stepMapping: {\n ...state.stepMapping,\n [stepId]: {\n ...state.stepMapping[stepId],\n selectedAuthId: isVerified\n ? selectedAuthId\n : state.stepMapping[stepId].selectedAuthId,\n authorizations: [\n ...state.stepMapping[stepId].authorizations.slice(\n 0,\n authObjIndex,\n ),\n {\n ...state.stepMapping[stepId].authorizations[authObjIndex],\n isVerified,\n isVerifying: false,\n didFetchStatus: true,\n error: '',\n },\n ...state.stepMapping[stepId].authorizations.slice(\n authObjIndex + 1,\n ),\n ],\n },\n },\n // reset all values for the dependent fields of auth\n stepDataMapping: {\n ...state.stepDataMapping,\n [stepId]: {\n ...state.stepDataMapping[stepId],\n ...(fieldsToReset\n ? fieldsToReset.reduce(\n (acc, curr) => ({\n ...acc,\n [curr]: {\n ...state.stepDataMapping[stepId][curr],\n value: '',\n },\n }),\n {},\n )\n : {}),\n },\n },\n };\n }\n return state;\n },\n\n setStepFieldData(\n state: State,\n data: {\n stepId: number;\n fieldId: number;\n value: string;\n },\n ): Partial<State> {\n const { stepId, fieldId, value } = data;\n const step = state.stepState.steps[state.stepState.stepIndex];\n if (step.type !== 'CONFIRMATION') {\n const { invalidFields } = step;\n\n // since this field was filled, it is no longer invalid\n delete invalidFields[fieldId];\n\n const updatedStep = {\n ...state.stepState.steps[state.stepState.stepIndex],\n invalidFields,\n isValid: Object.keys(invalidFields).length < 1,\n };\n\n return {\n stepState: {\n ...state.stepState,\n steps: [\n ...state.stepState.steps.slice(0, state.stepState.stepIndex),\n updatedStep,\n ...state.stepState.steps.slice(state.stepState.stepIndex + 1),\n ],\n currentStep: updatedStep,\n },\n stepDataMapping: {\n ...state.stepDataMapping,\n [stepId]: {\n ...state.stepDataMapping[stepId],\n [fieldId]: {\n ...state.stepDataMapping[stepId][fieldId],\n value,\n },\n },\n },\n };\n }\n return state;\n },\n\n setStepMappingData(\n state: State,\n data: {\n stepId: number;\n fieldId: number;\n id: string;\n value: string;\n },\n ): Partial<State> {\n return {\n stepDataMapping: {\n ...state.stepDataMapping,\n [data.stepId]: {\n ...state.stepDataMapping[data.stepId],\n [data.fieldId]: {\n ...state.stepDataMapping[data.stepId][data.fieldId],\n objectValue: {\n ...(state.stepDataMapping[data.stepId][data.fieldId]\n ?.objectValue ?? {}),\n ...{ [data.id]: data.value },\n },\n },\n },\n },\n };\n },\n reset(): State {\n return initialState;\n },\n});\n","import createStore, { Store } from 'unistore';\nimport devtools from 'unistore/devtools';\n\nimport { initialState } from '@/store/initialState';\n\nimport { State } from '../types/store';\nimport { actionFunctions } from './actionFunctions';\n\nconst createSDKStore = (): Store<State> => {\n const createStoreWrapper = () => createStore<State>(initialState);\n // const store = createStoreWrapper();\n const store = devtools(createStoreWrapper());\n return store;\n};\n\nexport { createSDKStore, actionFunctions, initialState };\n","import { Authorization, TemplateFormRenderModes } from '@/types';\nimport {\n array,\n boolean,\n date,\n Describe,\n nullable,\n number,\n object,\n optional,\n size,\n string,\n} from 'superstruct';\n\nexport interface SDKConfig {\n env?: 'staging' | 'production';\n debug?: boolean;\n xIntegryConfig?: {\n appAuth: {\n apiKey: string;\n };\n };\n}\n\nexport interface ConfigWithObject extends SDKConfig {\n appKey: string;\n hash: string;\n userId: string;\n bundleId: string;\n}\n\nexport interface ConfigWithUrlParams extends SDKConfig {\n useUrlParams?: boolean;\n}\n\nexport interface APIConfig {\n baseUrl: string;\n baseUrlv2: string;\n endpointsUrl: string;\n appKey: string;\n hash: string;\n userId: string;\n oauthVerifyPath: string;\n apiKey?: string;\n}\n\nexport interface Template {\n id: number;\n name: string;\n description: string;\n can_add_integration: boolean;\n integration_count: number;\n app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n branding_app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n}\n\nexport interface Integration {\n name: string;\n branding_app: {\n icon_url: string;\n category: string[];\n tags: string;\n };\n id: number;\n runs_count: number;\n bundle_instance: number;\n created: Date;\n delete_link: string;\n disable_link: string;\n edit_link: string;\n enable_link: string;\n icon_url: string;\n is_visible: number;\n last_modified: Date;\n status: string;\n template: number;\n task_execution: {\n integration_created_at: Date;\n last_execution_at: {\n date: Date;\n timezone: string;\n timezone_type: number;\n } | null;\n status: string | null;\n };\n}\n\nexport interface IntegrationSaveResponse {\n id: number;\n connected_account_id: number;\n is_visible: number | boolean;\n name: string;\n bundle_name: string;\n bundle_instance_id: number;\n status: string;\n template: number;\n}\n\nexport interface BundleResponse {\n templates: Template[];\n integrations: Integration[];\n}\n\ntype SaveIntegrationRequestStep = {\n id: number;\n authorization: number;\n template_step: number;\n app_user_data: {\n id: number;\n value: string;\n template_field: number;\n }[];\n};\n\nexport interface SaveOrUpdateIntegrationBody {\n id?: number;\n name: string;\n notification_email: string;\n template: number;\n bundle_id: number;\n bundle_instance_id?: number;\n steps: SaveIntegrationRequestStep[];\n}\n\nexport interface IntegrationStatusResponse {\n [integrationId: number]: {\n name: string;\n status: string;\n template_id: number;\n tooltip: string | null;\n task_execution: {\n integration_created_at: string;\n last_execution_at: string | null;\n status: string | null;\n };\n };\n}\n\ntype App = {\n id: number;\n name: string;\n description: string;\n icon_url: string;\n color: string;\n publishing_status: string;\n category: string[];\n app_type?: string;\n action_url?: string | null;\n created_at?: Date;\n tags: string;\n};\n\ntype Activity = {\n id: number;\n name: string;\n type: string;\n endpoint: string;\n auth_required: boolean;\n total_fields: number;\n app: App;\n activity_output: string | null;\n activity_output_url: string | null;\n dynamic_field_data_endpoint: string | null;\n};\n\ntype AuthorizationType = {\n id: number;\n type: string;\n authorizations: Authorization[];\n provider: string;\n is_sandbox_enabled: boolean;\n authorization_url_sandbox: string;\n};\n\nexport type IntegryStep = {\n id: number;\n weight: number;\n title: string;\n is_visible: boolean;\n activity: Activity;\n};\n\nexport interface TemplateResponse {\n id: number;\n name: string;\n description: string;\n app: App;\n branding_app: App;\n button_text: string | null;\n is_wizard: boolean;\n steps: IntegryStep[];\n publishing_status: string;\n level?: number;\n parent_id?: number;\n}\n\nexport interface TemplateField {\n id: number;\n is_required: boolean;\n is_hidden: boolean;\n default_value: string | null;\n weight: number;\n description: string;\n summary: string | null;\n activity_field: {\n id: number;\n machine_name: string;\n type: string;\n title: string;\n description: string;\n weight: number;\n is_required: boolean;\n child_fields: string | null;\n is_dynamic: boolean;\n data_src: string | null;\n data_src_endpoint: number | null;\n parent_fields: string | null;\n dynamic_field_src: string | null;\n default_value: string | null;\n auto_machine_name: string;\n dynamic_field_src_endpoint: number | null;\n regex: string | null;\n is_searchable: boolean;\n } | null;\n title: string | null;\n type: string;\n placeholder: string | null;\n // manual_template: unknown | null;\n child_field: string | null;\n child_field_value: string | null;\n // template_fields: unknown[];\n button_text: string | null;\n // field_actions: unknown[];\n icon_url: string | null;\n long_description: string | null;\n regex: string | null;\n regex_msg: string | null;\n is_visible: boolean;\n}\n\nexport interface TemplateStep {\n id: number;\n weight: number;\n title: string;\n is_visible: boolean;\n activity: Activity;\n authorization_type: AuthorizationType;\n template_fields: TemplateField[];\n // step_instance: unknown | null;\n allow_multiple_authorizations: boolean;\n step_authorization: number | null;\n button_text: string | null;\n is_self_step: boolean;\n summary: string | null;\n auth_description: string | null;\n hide_authorization: boolean;\n // step_condition: unknown | null;\n machine_name: string | null;\n is_custom_machine_name: boolean;\n}\n\nexport interface InitConfig {\n containerId: string;\n templateContainerId?: string;\n renderMode: TemplateFormRenderModes;\n}\n\nexport interface TemplatePreviewData {\n id: number;\n name: string;\n description: string;\n app: App;\n branding_app: App;\n button_text: string | null;\n is_wizard: boolean;\n publishing_status: string;\n level?: number;\n parent_id?: number;\n steps: TemplateStep[];\n}\n\nexport const TemplatePreviewDataType: Describe<TemplatePreviewData> = object({\n id: number(),\n name: string(),\n description: string(),\n app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n branding_app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n button_text: nullable(string()),\n is_wizard: boolean(),\n publishing_status: string(),\n steps: size(\n array(\n object({\n id: number(),\n weight: number(),\n title: string(),\n is_visible: boolean(),\n activity: object({\n id: number(),\n name: string(),\n type: string(),\n endpoint: string(),\n auth_required: boolean(),\n total_fields: number(),\n app: object({\n id: number(),\n name: string(),\n description: string(),\n icon_url: string(),\n color: string(),\n publishing_status: string(),\n category: array(string()),\n app_type: optional(string()),\n action_url: nullable(optional(string())),\n created_at: optional(date()),\n tags: string(),\n }),\n activity_output: nullable(string()),\n activity_output_url: nullable(string()),\n dynamic_field_data_endpoint: nullable(string()),\n }),\n authorization_type: object({\n id: number(),\n type: string(),\n authorizations: array(\n object({\n id: number(),\n authorization_type: string(),\n app_user: optional(number()),\n app_user_id: optional(number()),\n disable_link: optional(string()),\n integration_count: optional(number()),\n user_identity: string(),\n }),\n ),\n provider: string(),\n is_sandbox_enabled: boolean(),\n authorization_url_sandbox: string(),\n }),\n template_fields: array(\n object({\n id: number(),\n is_required: boolean(),\n is_hidden: boolean(),\n default_value: nullable(string()),\n weight: number(),\n description: string(),\n summary: nullable(string()),\n placeholder: nullable(string()),\n activity_field: nullable(\n object({\n id: number(),\n machine_name: string(),\n type: string(),\n title: string(),\n description: string(),\n weight: number(),\n is_required: boolean(),\n child_fields: nullable(string()),\n is_dynamic: boolean(),\n data_src: nullable(string()),\n data_src_endpoint: nullable(number()),\n parent_fields: nullable(string()),\n dynamic_field_src: nullable(string()),\n default_value: nullable(string()),\n auto_machine_name: string(),\n dynamic_field_src_endpoint: nullable(number()),\n regex: nullable(string()),\n is_searchable: boolean(),\n }),\n ),\n title: nullable(string()),\n type: string(),\n // manual_template: unknown | null;\n child_field: nullable(string()),\n child_field_value: nullable(string()),\n // template_fields: unknown[];\n button_text: nullable(string()),\n // field_actions: unknown[];\n icon_url: nullable(string()),\n long_description: nullable(string()),\n regex: nullable(string()),\n regex_msg: nullable(string()),\n is_visible: boolean(),\n }),\n ),\n // step_instance: unknown | null;\n allow_multiple_authorizations: boolean(),\n step_authorization: nullable(number()),\n button_text: nullable(string()),\n is_self_step: boolean(),\n summary: nullable(string()),\n auth_description: nullable(string()),\n hide_authorization: boolean(),\n // step_condition: unknown | null;\n machine_name: nullable(string()),\n is_custom_machine_name: boolean(),\n }),\n ),\n 0,\n Number.POSITIVE_INFINITY,\n ),\n});\n\nexport interface PreviewMetadata {\n stepId: number | null;\n type: 'AUTH' | 'CONFIGURATION' | 'CONFIRMATION' | 'SECTION';\n}\n\nexport interface PreviewPayload {\n templateData: TemplatePreviewData;\n metadata: PreviewMetadata;\n previewContainerId: string;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nconst Loader = () => html`\n <svg\n class=${styles.loader}\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.13037 0.179352C7.57047 -0.168051 5.94039 -0.00810102 4.47777 0.635883C3.01515 1.27987 1.79647 2.37421 0.999409 3.75937C0.202348 5.14453 -0.131421 6.74808 0.0467641 8.33623C0.224949 9.92438 0.90577 11.4141 1.98997 12.5882C3.07417 13.7623 4.50506 14.5593 6.07402 14.8632C7.64298 15.167 9.26799 14.9618 10.7121 14.2773C12.1562 13.5929 13.344 12.4651 14.1022 11.0582C14.8604 9.65144 15.1494 8.03922 14.9271 6.45665L14.1844 6.56098C14.3845 7.9853 14.1243 9.43629 13.442 10.7024C12.7596 11.9685 11.6906 12.9836 10.3909 13.5996C9.09119 14.2156 7.62869 14.4003 6.21662 14.1269C4.80455 13.8534 3.51675 13.136 2.54097 12.0794C1.56519 11.0227 0.952454 9.68194 0.792088 8.2526C0.631721 6.82327 0.932113 5.38008 1.64947 4.13343C2.36682 2.88679 3.46363 1.90188 4.77999 1.32229C6.09635 0.742709 7.56343 0.598754 8.96733 0.911417L9.13037 0.179352Z\"\n fill=\"#E0E0E0\"\n />\n <path\n d=\"M14.93 6.47755C14.7207 4.95709 14.0501 3.53742 13.0085 2.41017C11.9669 1.28292 10.6046 0.50235 9.10537 0.173829L8.94483 0.906446C10.2941 1.20212 11.5202 1.90462 12.4577 2.91915C13.3951 3.93368 13.9987 5.21138 14.187 6.57979L14.93 6.47755Z\"\n fill=\"#ADADAD\"\n />\n </svg>\n`;\n\nexport { Loader };\n","/**\n * Utility types\n */\n\nexport type OrNull<Type> = Type | null;\n\nexport type OneOrMany<Type> = Type | Type[];\n\nexport type OneOrManyOrNull<Type> = OrNull<OneOrMany<Type>>;\n\nexport type Merge<A, B> = {\n [K in keyof (A | B)]: K extends keyof B ? B[K] : A[K];\n};\n\nexport function notEmpty<TValue>(\n value: TValue | null | undefined,\n): value is TValue {\n return value !== null && value !== undefined;\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Modified version of https://github.com/rschristian/preact-hint\n * for Preact with htm with added support for:\n * 1. bottom position\n * 2. dismissing popup on click of target element\n */\n\nimport { html } from 'htm/preact';\nimport type { ComponentChild, VNode } from 'preact';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\n\nimport styles from './styles.module.scss';\n\ninterface Props {\n children: ComponentChild | ComponentChild[];\n dismissOnClick?: boolean;\n position?: 'top' | 'bottom';\n attribute?: string;\n template?: (content: string) => VNode;\n}\n\ninterface HintProps {\n content: string;\n position: 'top' | 'bottom';\n template?: (content: string) => VNode;\n rootBoundingRect: ClientRect;\n targetBoundingRect: ClientRect;\n}\n\nexport function HintWrap(props: HintProps): VNode {\n const hint = useRef<HTMLSpanElement | null>(null);\n // Render way off-screen to prevent rubber banding from initial (and unavoidable) render.\n const [hintWidth, setHintWidth] = useState(10000);\n\n const { position } = props;\n\n useEffect(() => {\n if (hint.current) {\n setHintWidth(hint.current.getBoundingClientRect().width);\n }\n }, [hint]);\n\n return html`\n <div\n class=\"${`${styles['preact-hint']} ${\n position === 'top'\n ? styles['preact-hint__top']\n : styles['preact-hint__bottom']\n }`}\"\n style=${{\n ...{\n left:\n props.targetBoundingRect.left -\n props.rootBoundingRect.left -\n hintWidth / 2 +\n props.targetBoundingRect.width / 2,\n },\n ...(position === 'top'\n ? {\n bottom:\n props.rootBoundingRect.height -\n props.targetBoundingRect.top +\n props.rootBoundingRect.top +\n 2,\n }\n : {\n top:\n props.rootBoundingRect.height -\n props.targetBoundingRect.top +\n props.rootBoundingRect.top +\n 2,\n }),\n }}\n >\n <pre class=${styles['preact-hint__content']} ref=${hint}>\n ${props.template ? props.template(props.content) : props.content}\n </pre\n >\n </div>\n `;\n}\n\nexport const Hint = (props: Props): VNode => {\n const { position = 'bottom', attribute = 'data-hint' } = props;\n const [content, setContent] = useState<string>('');\n const [\n containerElement,\n setContainerElement,\n ] = useState<HTMLDivElement | null>(null);\n const [\n targetBoundingRect,\n setTargetBoundingRect,\n ] = useState<ClientRect | null>(null);\n\n const onRefChange = useCallback(\n (node: HTMLDivElement | null) => {\n setContainerElement(node);\n if (containerElement) {\n containerElement.addEventListener('mouseover', (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(attribute)) {\n setContent(e.target.getAttribute(attribute) || '');\n setTargetBoundingRect(e.target.getBoundingClientRect());\n }\n });\n containerElement.addEventListener('mouseout', (e) => {\n if (e.target instanceof Element && e.target.hasAttribute(attribute)) {\n setContent('');\n setTargetBoundingRect(null);\n }\n });\n if (props.dismissOnClick)\n containerElement.addEventListener('click', () => {\n setContent('');\n setTargetBoundingRect(null);\n });\n }\n },\n [containerElement],\n );\n\n return html`\n <div ref=${onRefChange} style=\"position: relative\">\n ${content &&\n containerElement &&\n targetBoundingRect &&\n html` <${HintWrap}\n content=${content}\n position=${position}\n template=${props.template}\n rootBoundingRect=${containerElement?.getBoundingClientRect()}\n targetBoundingRect=${targetBoundingRect}\n />`}\n ${props.children}\n </div>\n `;\n};\n","import { html } from 'htm/preact';\nimport cx from 'classnames';\n\nimport { Hint } from '@/components/Tooltip';\n\nimport styles from './styles.module.scss';\n\nexport enum ButtonTypes {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n LINK = 'link',\n}\n\nexport interface ButtonProps {\n label: string;\n type?: ButtonTypes;\n color?: string;\n dismissOnClick?: boolean;\n position?: 'top' | 'bottom';\n tooltip?: string;\n disabled?: boolean;\n backgroundColor: string;\n onClick: (e: MouseEvent) => void;\n}\n\n/**\n * Button component\n *\n */\nexport const Button = (props: ButtonProps) => {\n const {\n label,\n type = ButtonTypes.PRIMARY,\n color = null,\n backgroundColor = null,\n disabled = false,\n tooltip,\n dismissOnClick = true,\n position = 'bottom',\n onClick = undefined,\n ...restOfProps\n } = props;\n\n return html`\n <${Hint} dismissOnClick=${dismissOnClick} position=${position}>\n <button\n type=\"button\"\n onclick=${onClick}\n data-hint=${tooltip || null}\n class=${cx(styles.button, {\n [styles.buttonPrimary]: type === ButtonTypes.PRIMARY,\n [styles.buttonSecondary]: type === ButtonTypes.SECONDARY,\n [styles.buttonLink]: type === ButtonTypes.LINK,\n [styles.disabled]: disabled,\n })}\n style=${{\n backgroundColor:\n type === ButtonTypes.PRIMARY ? backgroundColor : null,\n borderColor: type === ButtonTypes.PRIMARY ? backgroundColor : color,\n color,\n }}\n ${{ ...restOfProps }}\n >\n ${label}\n </button>\n <//>\n `;\n};\n","import { html } from 'htm/preact';\nimport { StructError } from 'superstruct';\nimport { Button } from '../Button';\n\nimport styles from './styles.module.scss';\n\ninterface ErrorPageProps {\n title: string;\n description: string;\n errorPayload: Error | StructError | null;\n onDismiss?: () => void;\n}\n\n/**\n * ErrorPage component\n *\n */\nconst ErrorPage = (props: ErrorPageProps) => {\n const { title, description, errorPayload, onDismiss = null } = props;\n\n return html`\n <div class=\"${styles.errorPageWrapper}\">\n <div class=${styles.errorTitle}>${title}</div>\n <div class=${styles.errorDescription}>${description}</div>\n ${errorPayload &&\n html`\n <div class=${styles.errorContainer}>\n <pre class=${styles.errorPayload}>${errorPayload.message}</pre>\n <pre class=${styles.errorPayload}>${errorPayload.stack}</pre>\n </div>\n `}\n ${onDismiss &&\n html`\n <div>\n <${Button} label=\"Dismiss\" onClick=${onDismiss} />\n </div>\n `}\n </div>\n `;\n};\n\nexport { ErrorPage, ErrorPageProps };\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ntype NavItemProps = {\n label: string;\n logoUrl?: string;\n isDisabled?: boolean;\n isActive?: boolean;\n isCompleted?: boolean;\n isLastStep?: boolean;\n onClick?(): void;\n};\n\nconst TickMark = html` <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <rect opacity=\"0.7\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#2ECC71\" />\n <path\n d=\"M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n</svg>`;\n\nconst FinalTickMark = html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"7.5\"\n cy=\"7.5\"\n r=\"6.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M10.3333 5.5L6.83522 9.5L5 7.40148\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n`;\n\nclass NavItem extends Component<NavItemProps> {\n render() {\n const {\n logoUrl,\n isActive = false,\n isCompleted = false,\n isDisabled = false,\n isLastStep = false,\n onClick = () => null,\n } = this.props;\n return html`\n <div\n class=${`${styles.navItem} ${isDisabled ? styles.disabled : ''} ${\n isActive ? styles.active : ''\n }`}\n onclick=${onClick}\n tabindex=\"-1\"\n role=\"button\"\n >\n <div class=${styles.navItemContent}>\n <div class=${styles.imgContainer}>\n ${!(isCompleted && !isActive)\n ? html`<img src=${logoUrl} />`\n : TickMark}\n ${isLastStep && FinalTickMark}\n </div>\n <p>${this.props.label}</p>\n ${!isLastStep &&\n html`\n <div class=${styles.arrow}>\n <svg\n width=\"6\"\n height=\"11\"\n viewBox=\"0 0 6 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.917969 1.33366L5.08464 5.50033L0.917969 9.66699\"\n stroke=\"#999999\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n `}\n </div>\n </div>\n `;\n }\n}\n\nexport { NavItem, NavItemProps };\n","import { html } from 'htm/preact';\nimport { useContext } from 'preact/hooks';\nimport { connect } from 'unistore/preact';\nimport { StoreType } from '@/types/store';\n\nimport AppContext from '@/contexts/AppContext';\nimport { actionFunctions } from '@/store';\nimport { NavItem } from './NavItem';\n\nimport styles from './styles.module.scss';\n\nexport type StepNavigationProps = StoreType;\n\nconst StepNavigation = (props: StepNavigationProps) => {\n const { gotoStep, stepState } = props;\n const context = useContext(AppContext);\n\n const changeStep = (stepIndex: number) => {\n gotoStep(stepIndex);\n };\n\n const step = stepState?.currentStep;\n\n return html`\n <div class=${styles.navigation}>\n ${stepState &&\n html`\n ${stepState.steps.map(\n (el, idx) =>\n html` <${NavItem}\n label=${el.type !== 'CONFIRMATION' ? el.title : 'Confirmation'}\n logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}\n isCompleted=${!context?.isPreviewMode && el.isCompleted}\n isActive=${step?.type !== 'CONFIRMATION' &&\n el.type !== 'CONFIRMATION' &&\n stepState.stepIndex === idx}\n isDisabled=${(context?.isPreviewMode &&\n Number(stepState?.stepIndex) !== idx) ||\n Number(stepState?.stepIndex) < idx}\n isLastStep=${idx === stepState?.steps.length}\n onClick=${() => changeStep(idx)}\n />`,\n )}\n `}\n ${stepState.steps.length > 0 &&\n html`\n <${NavItem}\n label=\"Confirmation\"\n logoUrl=\"\"\n isCompleted=${true}\n isActive=${step !== undefined &&\n stepState?.stepIndex === stepState?.steps.length}\n isDisabled=${step !== undefined &&\n stepState?.stepIndex !== stepState?.steps.length}\n isLastStep=${true}\n onClick=${() => changeStep(stepState?.steps.length ?? 0)}\n />\n `}\n </div>\n `;\n};\n\nexport default connect<StepNavigationProps, unknown, StoreType, unknown>(\n 'stepState',\n actionFunctions,\n)(StepNavigation);\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nexport interface RadioProps extends HTMLInputElement {\n label: string;\n name: string;\n description?: string;\n value: string;\n isChecked?: boolean;\n handleChange?: (id: string) => void;\n}\n\n/**\n * Radio component\n *\n */\nexport const Radio = (props: RadioProps) => {\n const {\n label,\n name,\n description = null,\n value,\n isChecked = false,\n handleChange = () => null,\n } = props;\n\n const handleRadioChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLInputElement) {\n const { value: newValue } = e.currentTarget;\n handleChange(newValue);\n }\n };\n\n return html`\n <div class=${styles.radio}>\n <input\n id=${value}\n type=\"radio\"\n name=${name}\n value=${value}\n checked=${isChecked}\n onclick=${handleRadioChange}\n />\n <div>\n <label for=${value}>\n <div class=${styles.button}>\n ${isChecked\n ? html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z\"\n fill=\"white\"\n stroke=\"#5F4D86\"\n stroke-width=\"2\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.5 11C9.433 11 11 9.433 11 7.5C11 5.567 9.433 4 7.5 4C5.567 4 4 5.567 4 7.5C4 9.433 5.567 11 7.5 11Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `\n : html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 7.5C14 11.0899 11.0899 14 7.5 14C3.91015 14 1 11.0899 1 7.5C1 3.91015 3.91015 1 7.5 1C11.0899 1 14 3.91015 14 7.5Z\"\n fill=\"white\"\n stroke=\"#E2E0DB\"\n stroke-width=\"2\"\n />\n </svg>\n `}\n </div>\n <div>\n <div class=${styles.text}>${label}</div>\n ${description &&\n html`<div class=${styles.description}>${description}</div>`}\n </div>\n </label>\n </div>\n </div>\n `;\n};\n","import { FunctionComponent } from 'preact';\nimport { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\n/**\n * ErrorMessage component\n *\n */\nconst ErrorMessage: FunctionComponent = (props) => {\n const { children } = props;\n\n return html` <div class=${styles.errorMessage}>${children}</div> `;\n};\n\nexport { ErrorMessage };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n title: string;\n description?: string;\n isRequired?: boolean;\n}\n\nconst Label = (props: LabelProps) => {\n const { title, description, isRequired = false } = props;\n return html`\n <div class=${styles.label}>\n <label>\n <div>\n ${title}\n ${isRequired && html`<span class=${styles.required}>*</span>`}\n </div>\n ${description && html`<div>${description}</div>`}\n </label>\n </div>\n `;\n};\n\nexport { Label, LabelProps };\n","export default () => ![typeof window, typeof document].includes('undefined');\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\n\nimport { Loader } from '@/components/Loader';\nimport { IntegryAPI } from '@/modules/api';\nimport { Radio } from '@/components/RadioGroup/Radio';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { Label } from '@/components/Label';\nimport { Authorization, StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\nimport isBrowser from '@/utils/isBrowser';\nimport AppContext from '@/contexts/AppContext';\n\nimport { openPopupWindow } from '@/utils/popup';\nimport { AuthData, isAuthMessage } from '@/utils/isAuthMessage';\n\nimport styles from './styles.module.scss';\n\ninterface AuthSelectorPropsType extends StoreType {\n stepId: number;\n apiHandler: IntegryAPI;\n showErrors?: boolean;\n onAuthSelected(authId: number | null, isVerified: boolean): void;\n}\n\ninterface AuthSelectorStateType {\n isLoading: boolean;\n fetched: boolean;\n}\n\nconst Resend = () => html`\n <svg\n class=${styles.resend}\n width=\"13\"\n height=\"15\"\n viewBox=\"0 0 13 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.8403 5.34L10.1453 6.345C10.5053 6.96 10.7003 7.68 10.7003 8.445C10.7003 10.77 8.81031 12.645 6.50031 12.645C4.19031 12.645 2.30031 10.755 2.30031 8.445C2.30031 6.135 4.19031 4.245 6.50031 4.245V6.15L11.1053 3.27L6.50031 0.375V2.28C3.09531 2.28 0.320312 5.055 0.320312 8.46C0.320313 11.85 3.09531 14.625 6.50031 14.625C9.90531 14.625 12.6803 11.85 12.6803 8.445C12.6803 7.32 12.3653 6.255 11.8403 5.34Z\"\n fill=\"#8D8D8D\"\n />\n </svg>\n`;\n\nconst AuthorizationRow = (props: {\n label: string;\n name: string;\n value: string;\n isChecked?: boolean;\n isLoading: boolean;\n isDeleting?: boolean;\n error?: string;\n status: 'VERIFYING' | 'CONNECTED' | 'ERROR' | 'IDLE';\n handleChange?: (id: string) => void;\n handleReverify?: () => void;\n handleDelete?: () => void;\n}) => {\n const {\n label,\n name,\n value,\n isChecked,\n status = 'IDLE',\n isDeleting = false,\n handleChange,\n handleReverify,\n handleDelete = () => null,\n error,\n } = props;\n return html`\n <div class=${styles.checkboxRow}>\n <${Radio}\n label=${label}\n name=${name}\n value=${value}\n isChecked=${isChecked}\n handleChange=${handleChange}\n />\n <div class=${styles.statusWrap}>\n <div class=${styles.status}>\n <div>\n ${status === 'VERIFYING' &&\n !isDeleting &&\n html`<div class=${styles.statusOrange} />\n Verifying <${Loader} /> `}\n </div>\n <div>\n ${status === 'CONNECTED' &&\n !error &&\n !isDeleting &&\n html`<div class=${styles.statusGreen} />\n Connected`}\n </div>\n <div>\n ${status === 'ERROR' &&\n !isDeleting &&\n html`<div class=${styles.statusRed} />\n Failed\n <div onclick=${handleReverify}><${Resend} /></div>`}\n </div>\n ${isDeleting && html`<${Loader} />`}\n ${error &&\n !isDeleting &&\n !(status === 'VERIFYING') &&\n html`<div class=${styles.error}>${error}</div>`}\n </div>\n <div class=${styles.deleteIcon} onclick=${handleDelete}>\n ${!(status === 'VERIFYING' || isDeleting) &&\n html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M1.5 4.1999H13.65\" stroke=\"#F05C42\" />\n <path\n d=\"M11.6254 5.5498V6.2248L10.9504 13.6498H4.20039L3.52539 6.2248V5.5498\"\n stroke=\"#F05C42\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M5.55078 3.525V2.175C5.55078 1.80221 5.85299 1.5 6.22578 1.5H8.92578C9.29857 1.5 9.60078 1.80221 9.60078 2.175V3.525\"\n stroke=\"#F05C42\"\n />\n </svg>\n `}\n </div>\n </div>\n </div>\n `;\n};\n\nclass AuthSelector extends Component<\n AuthSelectorPropsType,\n AuthSelectorStateType\n> {\n static contextType = AppContext;\n\n constructor(props: AuthSelectorPropsType) {\n super(props);\n this.state = {\n isLoading: false,\n fetched: false,\n };\n }\n\n componentDidMount() {\n if (isBrowser())\n window.addEventListener('message', this.onAuthResponseReceived);\n\n // in preview mode, auto-verify the auth we pass\n const { stepId, stepMapping } = this.props;\n const auth = stepMapping[stepId].selectedAuthId;\n const authIndex = stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === auth,\n );\n // auth is selected but is in idle state\n if (\n stepMapping[stepId].selectedAuthId &&\n this.getAuthStatus(stepMapping[stepId].authorizations[authIndex]) ===\n 'IDLE'\n ) {\n this.verifyAuth(authIndex);\n }\n }\n\n componentDidUpdate(prevProps: AuthSelectorPropsType) {\n const { stepId, stepMapping } = this.props;\n const step = stepMapping[stepId];\n const auth = step.selectedAuthId;\n\n const authIndex = stepMapping[stepId].authorizations.findIndex(\n (el) => el.authorizationId === auth,\n );\n // verify auth whenever we select a new one\n if (auth !== prevProps.stepMapping[stepId].selectedAuthId && authIndex) {\n this.verifyAuth(authIndex);\n }\n if (\n step.authorizations.length ===\n prevProps.stepMapping[stepId].authorizations.length + 1\n ) {\n // auth was added so we verify\n this.verifyAuth(step.authorizations.length - 1);\n }\n }\n\n componentWillUnmount() {\n if (isBrowser())\n window.removeEventListener('message', this.onAuthResponseReceived);\n }\n\n private verifyAuth = (authIndex: number) => {\n const { stepId } = this.props;\n const auth = this.props.stepMapping[stepId].authorizations[authIndex];\n\n if (!auth) return;\n\n if (auth.isVerified) {\n this.props.onAuthSelected(auth.authorizationId, true);\n return;\n }\n\n this.props.toggleVerifyAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isVerifying: true,\n });\n this.setState({ isLoading: true });\n\n this.props.apiHandler\n .verifyOAuth(auth.authorizationId)\n .then((res) => {\n if (res) {\n this.props.onAuthSelected(auth.authorizationId, true);\n } else {\n this.props.onAuthSelected(auth.authorizationId, false);\n }\n })\n .catch((err) => console.error(err))\n .finally(() => {\n this.props.toggleVerifyAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isVerifying: false,\n });\n this.setState({ isLoading: false });\n });\n };\n\n private deleteAuth = (authIndex: number) => {\n const { stepId } = this.props;\n const auth = this.props.stepMapping[stepId].authorizations[authIndex];\n\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: true,\n error: '',\n });\n\n this.props.apiHandler\n .deleteAuth(auth.authorizationId)\n .then((res) => {\n if (res?.status === 200) {\n this.props.removeAuthorization({\n stepId,\n authId: auth.authorizationId,\n });\n } else if (res?.status === 405) {\n // we have a deletion error\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: false,\n error: `${res.data}`,\n });\n } else {\n this.props.toggleDeleteAuthorizationFlag({\n stepId,\n authId: auth.authorizationId,\n isDeleting: false,\n error: 'An unexpected error occurred',\n });\n }\n })\n .catch((err) => {\n console.error(err);\n });\n };\n\n private onAuthResponseReceived = (messageEvent: MessageEvent<AuthData>) => {\n if (isAuthMessage(messageEvent) && messageEvent.data.activity_name) {\n console.info(messageEvent.data);\n if (this.props.stepId) {\n if (!messageEvent.data.already_exists) {\n this.props.addAuthorization({\n stepId: this.props.stepId,\n authData: {\n authorizationId: messageEvent.data.authorization_id,\n userIdentity: messageEvent.data.user_identity,\n disableLink: '',\n authType: '',\n isVerified: false,\n didFetchStatus: false,\n isVerifying: false,\n isDeleting: false,\n error: '',\n },\n });\n } else {\n this.props.setStepAuthId({\n stepId: this.props.stepId,\n authId: Number(messageEvent.data.authorization_id),\n });\n }\n }\n }\n };\n\n private getAuthStatus = (auth: Authorization) => {\n let status = 'IDLE';\n if (auth.isVerified && auth.didFetchStatus) status = 'CONNECTED';\n if (!auth.isVerified && auth.didFetchStatus) status = 'ERROR';\n if (auth.isVerifying) status = 'VERIFYING';\n return status;\n };\n\n private getError = () => {\n const { stepId } = this.props;\n const step = this.props.stepMapping[stepId];\n if (!step.authorizations) {\n return `Please add a valid ${step.step.activity.app.name} account`;\n }\n return `Please select a valid ${step.step.activity.app.name} account`;\n };\n\n public openAuthWindow = () => {\n const { stepMapping, stepId } = this.props;\n const selectedStep = stepMapping[stepId].step;\n if (selectedStep) {\n const url = this.context.apiHandler.getAuthUrl(\n selectedStep.authorization_type.id,\n );\n openPopupWindow(url, 'Auth Window', window, 800, 600);\n }\n };\n\n render() {\n const { stepId, showErrors = false } = this.props;\n const step = this.props.stepMapping[stepId];\n const { authorizations } = step;\n\n return html`\n <div class=${styles.authSelectorWrap}>\n <${Label}\n title=\"Connect account\"\n description=${`Select your ${step.step.activity.app.name} account`}\n isRequired=${true}\n />\n <div class=${styles.rows}>\n ${authorizations.map(\n (el, index) => html`<${AuthorizationRow}\n label=${el.userIdentity}\n value=${el.authorizationId}\n status=${this.getAuthStatus(el)}\n isChecked=${el.authorizationId === step.selectedAuthId}\n isDeleting=${el.isDeleting}\n error=${el.error}\n handleChange=${() => this.verifyAuth(index)}\n handleReverify=${() => this.verifyAuth(index)}\n handleDelete=${() => this.deleteAuth(index)}\n />`,\n )}\n </div>\n <div class=${showErrors ? `${styles.error}` : ''}>\n <${Button}\n onClick=${() => this.openAuthWindow()}\n label=${`Add ${step.step.activity.app.name} account`}\n type=${ButtonTypes.SECONDARY}\n disabled=${this.state.isLoading}\n >\n <//>\n </div>\n ${showErrors && html`<${ErrorMessage}>${this.getError()}<//>`}\n </div>\n `;\n }\n}\n\nexport default connect<\n AuthSelectorPropsType,\n AuthSelectorStateType,\n StoreType,\n unknown\n>(\n ['stepMapping'],\n actionFunctions,\n)(AuthSelector);\n","interface AuthData {\n activity_name: string;\n already_exists: boolean;\n authorization_id: number;\n user_identity: string;\n}\n\nfunction isAuthMessage(\n msg: MessageEvent<AuthData>,\n): msg is MessageEvent<AuthData> {\n return (msg as MessageEvent<AuthData>) !== undefined;\n}\n\nexport { isAuthMessage, AuthData };\n","/**\n *\n * @param url Url to open in this popup window\n * @param windowName Given name\n * @param win Original window reference\n * @param w Width in px\n * @param h Height in px\n * @returns Reference to the newly created popup window\n */\nfunction openPopupWindow(\n url: string,\n windowName: string,\n win: Window,\n w: number,\n h: number,\n): Window | null {\n const y = win.top.outerHeight / 2 + win.top.screenY - h / 2;\n const x = win.top.outerWidth / 2 + win.top.screenX - w / 2;\n return win.open(\n url,\n windowName,\n `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=${w}, height=${h}, top=${y}, left=${x}`,\n );\n}\n\nexport { openPopupWindow };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ListBoxItemProps {\n value: string;\n id: string;\n isSelected?: boolean;\n onClick(): void;\n}\n\nconst ListBoxItem = (props: ListBoxItemProps) => {\n const { id, value, isSelected, onClick } = props;\n return html`\n <span\n class=${`${styles.listboxItem} ${isSelected ? styles.selected : ''}`}\n data-value=${id}\n onclick=${onClick}\n >\n ${isSelected &&\n html`\n <svg\n width=\"7\"\n height=\"7\"\n viewBox=\"0 0 7 7\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"#333\"\n >\n <path\n d=\"M6.33333 1.5L2.83522 5.5L1 3.40148\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n `}\n ${value}\n </span>\n `;\n};\n\nexport { ListBoxItem, ListBoxItemProps };\n","import { html } from 'htm/preact';\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks';\n\nimport { Label } from '@/components/Label';\nimport { useOnClickOutside } from '@/hooks/useOnClickOutside';\nimport { Loader } from '@/components/Loader';\nimport { IntegryAPI } from '@/modules/api';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { ListBoxItem, ListBoxItemProps } from './ListBoxItem';\n\nimport styles from './styles.module.scss';\n\ninterface ListBoxProps {\n title: string;\n description: string;\n items: Omit<ListBoxItemProps, 'onClick'>[];\n value?: string;\n onChange(val: string): void;\n isOpen?: boolean;\n isDynamic?: boolean;\n endpointUrl?: string;\n placeholder: string | null;\n isRequired?: boolean;\n showStepValidation?: boolean;\n responseMapper?(input: unknown): Omit<ListBoxItemProps, 'onClick'>[];\n apiHandler: IntegryAPI;\n endpointData: string;\n}\n\nconst ListBox = (props: ListBoxProps) => {\n const {\n title,\n description,\n items: passedItems = [],\n value = null,\n isOpen = false,\n isDynamic = false,\n endpointData,\n isRequired = false,\n placeholder,\n onChange = () => null,\n showStepValidation = false,\n responseMapper = (input: { id: string; value: string }[]) => input,\n } = props;\n\n const [items, setItems] = useState<Omit<ListBoxItemProps, 'onClick'>[]>(\n passedItems,\n );\n const [loading, setLoading] = useState(\n isDynamic && !passedItems.length && !value,\n );\n\n const [isDropdownOpen, setIsDropdownOpen] = useState(isOpen);\n\n const dropdownRef = useRef<HTMLDivElement>();\n\n useOnClickOutside(\n dropdownRef,\n () => isDropdownOpen && setIsDropdownOpen(false),\n );\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { apiHandler, isDynamic, endpointUrl } = props;\n if (isDynamic && endpointUrl) {\n setLoading(true);\n let data;\n try {\n data = JSON.parse(endpointData);\n } catch (error) {\n data = '';\n }\n apiHandler\n .callDynamicDataEndpoint<\n {\n id: string;\n value: string;\n }[]\n >(new URL(endpointUrl), data)\n .then((res) => {\n setLoading(false);\n if (res) {\n setItems(responseMapper(res));\n }\n });\n }\n }, [endpointData]);\n\n const toggleDropdown = () => {\n setIsDropdownOpen((prev) => !prev);\n };\n\n const onEnterClicked = () => {\n toggleDropdown();\n };\n\n const getSelectedItem = useMemo(() => {\n const index = items.findIndex((el) => el.id === value);\n return index > -1 ? items[index].value : '';\n }, [items, value]);\n\n return html`\n <div ref=${dropdownRef} class=\"${styles.listboxGroupWrapper}\">\n <fieldset>\n ${title &&\n html`\n <${Label}\n title=${title}\n description=${description}\n isRequired=${isRequired}\n />\n `}\n <div class=${styles.listbox}>\n <div\n class=${`${styles.customSelect} ${\n isDropdownOpen ? styles.open : ''\n }`}\n >\n <div\n class=${`${styles.customSelectTrigger} ${\n showStepValidation && !value && isRequired && styles.error\n }`}\n role=\"button\"\n tabindex=${0}\n onclick=${toggleDropdown}\n onkeyup=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onEnterClicked();\n }\n }}\n >\n <span>\n ${loading\n ? html`Loading`\n : html`\n ${items.length > 0\n ? html`\n ${value\n ? html`${getSelectedItem}`\n : html`${placeholder || 'Please select an option'}`}\n `\n : html`No options`}\n `}\n </span>\n\n <div ref=${dropdownRef} style=\"display: flex;\">\n ${loading\n ? html`<${Loader}><//>`\n : html`\n <div\n class=${`${styles.arrow} ${\n isDropdownOpen ? styles.close : ''\n }`}\n >\n <svg\n width=\"12\"\n height=\"8\"\n viewBox=\"0 0 12 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 1.5L6 6.5L1 1.5\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n `}\n </div>\n </div>\n <div class=${styles.customOptions}>\n ${items.length > 0 &&\n !loading &&\n html`\n ${items.map(\n (el) => html`\n <${ListBoxItem}\n key=${el.id}\n id=${el.id}\n value=${el.value}\n isSelected=${value === el.id}\n onClick=${() => {\n onChange(el.id);\n setIsDropdownOpen(false);\n }}\n ><//>\n `,\n )}\n `}\n </div>\n </div>\n ${showStepValidation &&\n !value &&\n isRequired &&\n html` <${ErrorMessage}>Please select a value<//>`}\n </div>\n </fieldset>\n </div>\n `;\n};\n\nexport { ListBox, ListBoxProps };\n","/**\n * https://usehooks.com/useOnClickOutside/\n */\n\nimport { RefObject } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nexport function useOnClickOutside(\n ref: RefObject<HTMLDivElement>,\n handler: (event: MouseEvent | TouchEvent) => unknown,\n) {\n useEffect(\n () => {\n const listener = (event: MouseEvent | TouchEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (event.target instanceof HTMLElement) {\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n }\n handler(event);\n };\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n },\n // Add ref and handler to effect dependencies\n // It's worth noting that because passed in handler is a new ...\n // ... function on every render that will cause this effect ...\n // ... callback/cleanup to run every render. It's not a big deal ...\n // ... but to optimize you can wrap handler in useCallback before ...\n // ... passing it into this hook.\n [ref, handler],\n );\n}\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nexport interface CheckboxProps extends Partial<HTMLInputElement> {\n label: string;\n name: string;\n description?: string;\n value: string;\n isChecked?: boolean;\n handleChange?: (id: string, value: boolean) => void;\n}\n\n/**\n * Checkbox component\n *\n */\nexport const Checkbox = (props: CheckboxProps) => {\n const {\n label,\n name,\n description = null,\n value,\n isChecked = false,\n handleChange = () => null,\n } = props;\n\n const handleCheckboxChange = (e: MouseEvent) => {\n if (e.target instanceof HTMLInputElement) {\n const { id: changedId, checked } = e.target;\n handleChange(changedId, checked);\n }\n };\n\n return html`\n <div class=${styles.checkbox}>\n <label for=${name}>\n <input\n id=${name}\n type=\"checkbox\"\n name=${name}\n value=${value}\n checked=${isChecked}\n onclick=${handleCheckboxChange}\n />\n <div class=${styles.button}>\n ${isChecked\n ? html`\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.86364 15.5L10 13.4923L17.5 6.49357L15.3485 4.5L7.86364 11.4987L4.63636 8.50129L2.5 10.4949L5.71212 13.4923L7.86364 15.5Z\"\n fill=\"#5F4D86\"\n />\n <path\n d=\"M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `\n : html`\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 0V-2H-2V0H0ZM20 0H22V-2H20V0ZM20 20V22H22V20H20ZM0 20H-2V22H0V20ZM0 2H20V-2H0V2ZM18 0V20H22V0H18ZM20 18H0V22H20V18ZM2 20V0H-2V20H2Z\"\n fill=\"#5F4D86\"\n />\n </svg>\n `}\n </div>\n <div>\n <div class=${styles.text}>${label}</div>\n ${description &&\n html`<div class=${styles.description}>${description}</div>`}\n </div>\n </label>\n </div>\n `;\n};\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\nconst LargeLoader = () => html`\n <svg\n class=${styles.loader}\n width=\"26\"\n height=\"25\"\n viewBox=\"0 0 26 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.7173 0.29892C13.1175 -0.280085 10.4006 -0.0135017 7.96294 1.0598C5.52524 2.13311 3.49412 3.95702 2.16568 6.26562C0.837246 8.57421 0.280965 11.2468 0.57794 13.8937C0.874915 16.5406 2.00962 19.0235 3.81662 20.9803C5.62362 22.9371 8.00843 24.2656 10.6234 24.772C13.2383 25.2784 15.9466 24.9363 18.3535 23.7956C20.7604 22.6548 22.74 20.7751 24.0036 18.4304C25.2673 16.0857 25.749 13.3987 25.3785 10.7611L24.1406 10.935C24.4741 13.3088 24.0406 15.7272 22.9033 17.8374C21.766 19.9476 19.9844 21.6393 17.8182 22.666C15.652 23.6927 13.2145 24.0006 10.861 23.5448C8.50758 23.089 6.36125 21.8934 4.73495 20.1323C3.10866 18.3711 2.08742 16.1366 1.82015 13.7543C1.55287 11.3721 2.05352 8.96679 3.24911 6.88905C4.44471 4.81132 6.27272 3.1698 8.46665 2.20382C10.6606 1.23785 13.1057 0.997923 15.4456 1.51903L15.7173 0.29892Z\"\n fill=\"#EFEFEF\"\n />\n <path\n d=\"M25.3833 10.7959C25.0346 8.26181 23.9168 5.8957 22.1808 4.01695C20.4449 2.13819 18.1743 0.83725 15.6756 0.289715L15.4081 1.51074C17.6569 2.00353 19.7004 3.17437 21.2628 4.86525C22.8251 6.55613 23.8311 8.68563 24.145 10.9663L25.3833 10.7959Z\"\n fill=\"#C4C4C4\"\n />\n </svg>\n`;\n\nexport { LargeLoader };\n","import { html } from 'htm/preact';\nimport { ErrorMessage } from '../ErrorMessage';\n\nimport styles from './styles.module.scss';\n\ninterface SelectProps {\n ariaLabel: string;\n options: { label: string; key: string }[];\n placeholder: string;\n value?: string;\n showUnselectedValue?: boolean;\n unselectedText?: string;\n isRequired?: boolean;\n showStepValidation?: boolean;\n onChange?: (index: number) => void;\n}\n\n/**\n * Input component\n *\n */\nconst Select = (props: SelectProps) => {\n const {\n placeholder,\n ariaLabel,\n value,\n options = [],\n showUnselectedValue = false,\n unselectedText = 'Select a value',\n isRequired = false,\n showStepValidation = false,\n onChange = () => null,\n } = props;\n\n const handleInputChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLSelectElement) {\n const { value: newValue } = e.currentTarget;\n const val = options.findIndex((el) => `${el.key}` === `${newValue}`);\n onChange(val);\n }\n };\n\n return html`\n <div class=${styles.selectWrapper}>\n <select aria-label=${ariaLabel} onchange=${handleInputChange}>\n ${showUnselectedValue &&\n html` <option value=\"\">${unselectedText}</option> `}\n ${!value &&\n html`\n <option value=\"\" disabled selected hidden>${placeholder}</option>\n `}\n ${options.map(\n (el) => html`\n <option value=${el.key} selected=${value === el.key}>\n ${el.label}\n </option>\n `,\n )}\n </select>\n <svg\n width=\"12\"\n height=\"8\"\n viewBox=\"0 0 12 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 1.5L6 6.5L1 1.5\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n ${isRequired &&\n !value &&\n showStepValidation &&\n html`<${ErrorMessage}>Please map this required field<//>`}\n `;\n};\n\nexport { Select, SelectProps };\n","import { html } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { useContext, useEffect, useRef, useState } from 'preact/hooks';\nimport { TemplateField } from '@/interfaces';\nimport AppContext from '@/contexts/AppContext';\nimport { StoreType } from '@/types/store';\nimport { LargeLoader } from '@/components/LargeLoader';\nimport { actionFunctions } from '@/store';\nimport { Label } from '@/components/Label';\nimport { Select } from '@/components/BasicSelect';\n\nimport styles from './styles.module.scss';\n\nexport type MappingUiProps = {\n stepId: number;\n templateFields: TemplateField[];\n showStepValidation?: boolean;\n endpointData: {\n authId: number;\n fieldsData: Record<string, string | number>;\n };\n} & StoreType;\n\ninterface DynamicDataItem {\n fieldId: number;\n id: string | null;\n title: string | null;\n type: string;\n isNotDynamic?: boolean;\n}\n\nconst MappingUI = (props: MappingUiProps) => {\n const [loading, setLoading] = useState<boolean>(false);\n const [rootDataLoading, setRootDataLoading] = useState<boolean>(false);\n const [dynamicDataLoading, setDynamicDataLoading] = useState<boolean>(false);\n\n const [dynamicItems, setDynamicItems] = useState<DynamicDataItem[]>([]);\n const [dynamicListId, setDynamicListId] = useState('');\n\n const context = useContext(AppContext);\n\n const dynamicFieldIdRef = useRef('');\n const mappingCountRef = useRef(0);\n\n useEffect(() => {\n const dynamicFieldToRender = props.templateFields.filter(\n (el) => el.activity_field && el.activity_field.type === 'DYNAMIC',\n )[0];\n\n if (dynamicFieldToRender) setDynamicListId(`${dynamicFieldToRender.id}`);\n\n const textFieldsToRender = props.templateFields\n .filter(\n (el) =>\n el.activity_field &&\n el.activity_field.type === 'TEXTFIELD' &&\n el.is_visible,\n )\n .map((el) => ({\n fieldId: el.id,\n id: el.activity_field && el.activity_field.machine_name,\n title: el.activity_field && el.activity_field.title,\n type: 'text',\n isNotDynamic: true,\n }));\n\n if (dynamicFieldToRender.activity_field) {\n const mappingField =\n props.parentChildMapping[props.stepId][\n dynamicFieldToRender.activity_field.machine_name\n ];\n\n let valuesMapField = '';\n if (mappingField) {\n const valuesMap = mappingField.parentFields?.reduce((prev, next) => {\n const parentFieldId =\n props.parentChildMapping[props.stepId][next].fieldId;\n return {\n ...prev,\n [parentFieldId]:\n props.stepDataMapping[props.stepId][parentFieldId].value,\n };\n }, {});\n valuesMapField = JSON.stringify(valuesMap);\n }\n\n if (valuesMapField !== dynamicFieldIdRef.current) {\n setLoading(true);\n setRootDataLoading(true);\n setDynamicDataLoading(true);\n // eslint-disable-next-line no-use-before-define\n setRootStepData();\n\n // eslint-disable-next-line no-use-before-define\n fetchDynamicFieldData(dynamicFieldToRender)\n ?.then((res) => {\n setLoading(false);\n dynamicFieldIdRef.current = valuesMapField;\n if (Array.isArray(res)) {\n setDynamicItems([...textFieldsToRender, ...res]);\n }\n })\n .catch((err) => console.error(err));\n }\n }\n }, [props.stepDataMapping[props.stepId]]);\n\n const getVisibleFieldsDataOnRootStep = (\n stepId: number,\n ): {\n [machineName: string]: string;\n } => {\n const fields = props.stepDataMapping[stepId];\n const requiredFieldsWithValues = Object.keys(fields)\n .filter((el) => fields[Number(el)].value)\n .reduce((prev, curr) => {\n const currentItem = fields[Number(curr)];\n return {\n ...prev,\n [currentItem.machineName]: currentItem.value,\n };\n }, {});\n\n return requiredFieldsWithValues;\n };\n\n const setRootStepData = async () => {\n const triggerStepId = props.stepState.steps[0].stepId;\n const additionalData = getVisibleFieldsDataOnRootStep(triggerStepId);\n\n let stepData;\n if (triggerStepId) {\n stepData = props.stepMapping[triggerStepId].step;\n if (\n stepData.activity.type === 'TRIGGER' ||\n stepData.activity.type === 'QUERY'\n ) {\n if (stepData.activity.activity_output_url) {\n setRootDataLoading(true);\n context?.apiHandler\n .callDynamicDataEndpoint<\n {\n text: string;\n value: string;\n }[]\n >(new URL(stepData.activity.activity_output_url), {\n authorization_id: `${props.stepMapping[triggerStepId].selectedAuthId}`,\n ...additionalData,\n })\n .then((res) => {\n setRootDataLoading(false);\n if (res)\n props.setActivityOutputData({\n activityOutputData: res,\n });\n });\n } else {\n setRootDataLoading(false);\n }\n if (stepData.activity.dynamic_field_data_endpoint) {\n setDynamicDataLoading(true);\n context?.apiHandler\n .callDynamicDataEndpoint<{\n [fieldId: string]: (string | Record<string, string>)[];\n }>(new URL(stepData.activity.dynamic_field_data_endpoint), {\n authorization_id: `${props.stepMapping[triggerStepId].selectedAuthId}`,\n ...additionalData,\n })\n .then((res) => {\n setDynamicDataLoading(false);\n if (res)\n props.setDynamicFieldData({\n dynamicFieldData: res,\n });\n });\n } else {\n setDynamicDataLoading(false);\n }\n }\n }\n };\n\n const fetchDynamicFieldData = (templateField: TemplateField) => {\n const dynamicEndpoint = `${templateField.activity_field?.dynamic_field_src}`;\n return context?.apiHandler.callDynamicDataEndpoint<DynamicDataItem[]>(\n new URL(dynamicEndpoint),\n {\n authorization_id: `${props.endpointData.authId}`,\n ...props.endpointData.fieldsData,\n },\n );\n };\n\n const onMappingValueSelected = (index: number, item: DynamicDataItem) => {\n const activityOutputObject = props.activityOutputData?.[index];\n if (index < 0) {\n if (mappingCountRef.current > 0) mappingCountRef.current -= 1;\n props.setStepFieldData({\n stepId: `${props.stepId}`,\n fieldId: `${item.fieldId}`,\n value: '',\n });\n } else if (activityOutputObject) {\n if (mappingCountRef.current > -1) mappingCountRef.current += 1;\n if (item.isNotDynamic) {\n props.setStepFieldData({\n stepId: `${props.stepId}`,\n fieldId: `${item.fieldId}`,\n value: `{${activityOutputObject.value}}`,\n });\n } else if (dynamicListId) {\n props.setStepMappingData({\n stepId: props.stepId,\n fieldId: Number(dynamicListId),\n id: `${item.id}`,\n value: `{${activityOutputObject.value}}`,\n });\n }\n }\n };\n\n return html`\n <div>\n <${Label}\n title=\"Map data\"\n description=\"Please map fields you want to use from both apps\"\n />\n <div>\n ${loading || rootDataLoading || dynamicDataLoading\n ? html`<div class=${styles.loader}><${LargeLoader} /></div>`\n : html`\n <div class=${styles.mappingWrap}>\n <div class=${styles.mappingRow}>\n <div class=${styles.mappingHeaderItem}>\n <img src=${props.genericData.templateApp?.iconUrl} />\n <div>${props.genericData.templateApp?.name} Field</div>\n </div>\n <div class=${styles.sampleData}>Sample Data</div>\n <div class=${styles.mappingHeaderItem}>\n <img\n src=${props.stepMapping[props.stepId].step.activity.app\n .icon_url}\n />\n <div>\n ${`${\n props.stepMapping[props.stepId].step.activity.app.name\n } Field`}\n </div>\n </div>\n </div>\n ${dynamicItems.map((el) => {\n const ele = props.stepDataMapping[props.stepId][el.fieldId];\n return html`\n <div class=${styles.mappingRow}>\n <div class=${styles.title}>\n ${el.title}${ele?.isRequired && html`<span>*</span>`}\n </div>\n <div class=${styles.sampleData}>\n ${props.dynamicFieldData &&\n ele?.value &&\n props.dynamicFieldData[\n ele?.value\n ]?.map((sample: string | Record<string, string>) =>\n sample ? html`<pre>${sample}</pre>` : html``,\n )}\n </div>\n <div class=${styles.selectBox}>\n <${Select}\n ariaLabel=\"Map a value\"\n placeholder=\"Please map a value\"\n options=${props.activityOutputData?.map((item) => ({\n key: item.value,\n label: item.text,\n }))}\n value=${ele?.value?.slice(1, -1)}\n isRequired=${ele?.isRequired}\n showStepValidation=${props.showStepValidation}\n showUnselectedValue=${true}\n unselectedText=\"Skip\"\n onChange=${(index: number) =>\n onMappingValueSelected(index, el)}\n ><//>\n </div>\n </div>\n `;\n })}\n <div class=${styles.mappingInfo}>\n <div>\n <span>Mapped</span>\n <span\n >${mappingCountRef.current}${' '}\n field${mappingCountRef.current !== 1 ? 's' : ''}</span\n >\n </div>\n <div>\n <span>Ignored</span>\n <span\n >${dynamicItems.length - mappingCountRef.current}${' '}\n field${dynamicItems.length - mappingCountRef.current !== 1\n ? 's'\n : ''}</span\n >\n </div>\n </div>\n </div>\n `}\n </div>\n </div>\n `;\n};\n\nexport default connect<MappingUiProps, unknown, StoreType, unknown>(\n [\n 'stepState',\n 'genericData',\n 'stepMapping',\n 'activityOutputData',\n 'dynamicFieldData',\n 'stepDataMapping',\n 'parentChildMapping',\n ],\n actionFunctions,\n)(MappingUI);\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface BaseInputProps extends Partial<HTMLInputElement> {\n placeholder: string;\n value: string;\n control?: Component;\n handleChange?: (id: string) => void;\n}\n\n/**\n * BaseInput component\n *\n */\nconst BaseInput = (props: BaseInputProps) => {\n const {\n placeholder,\n value,\n type = 'text',\n control,\n handleChange = () => null,\n } = props;\n\n const handleInputChange = (e: MouseEvent) => {\n if (e.currentTarget instanceof HTMLInputElement) {\n const { value: newValue } = e.currentTarget;\n handleChange(newValue);\n }\n };\n\n return html`\n <div class=${styles.inputWrapper}>\n <input\n type=${type}\n placeholder=${placeholder}\n value=${value}\n onkeyup=${handleInputChange}\n />\n ${control && html`<${control} //>`}\n </div>\n `;\n};\n\nexport { BaseInput, BaseInputProps };\n","import { html } from 'htm/preact';\nimport { ErrorMessage } from '@/components/ErrorMessage';\nimport { Label } from '@/components/Label';\n\nimport { BaseInput } from '../BaseInput';\nimport styles from './styles.module.scss';\n\ninterface InputProps {\n title: string;\n description: string;\n placeholder: string;\n value?: string;\n isRequired?: boolean;\n showStepValidation?: boolean;\n onChange?: (val: string) => void;\n}\n\n/**\n * Input component\n *\n */\nconst Input = (props: InputProps) => {\n const {\n title,\n description,\n placeholder,\n value,\n showStepValidation = false,\n isRequired = false,\n onChange = () => null,\n } = props;\n\n const handleChange = (inputValue: string) => {\n onChange(inputValue);\n };\n\n return html`\n <div class=\"${styles.inputGroupWrapper}\">\n <fieldset>\n <${Label} title=${title} description=${description} //>\n <${BaseInput}\n type=\"text\"\n placeholder=${placeholder}\n handleChange=${handleChange}\n value=${value}\n ><//>\n </fieldset>\n ${showStepValidation &&\n isRequired &&\n html`${ErrorMessage}>Please enter a value<//>`}\n </div>\n `;\n};\n\nexport { Input, InputProps };\n","/*! @license DOMPurify 2.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.1/LICENSE */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.DOMPurify = factory());\n}(this, function () { 'use strict';\n\n function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n var hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\n var _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n\n if (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n }\n\n var arrayForEach = unapply(Array.prototype.forEach);\n var arrayPop = unapply(Array.prototype.pop);\n var arrayPush = unapply(Array.prototype.push);\n\n var stringToLowerCase = unapply(String.prototype.toLowerCase);\n var stringMatch = unapply(String.prototype.match);\n var stringReplace = unapply(String.prototype.replace);\n var stringIndexOf = unapply(String.prototype.indexOf);\n var stringTrim = unapply(String.prototype.trim);\n\n var regExpTest = unapply(RegExp.prototype.test);\n\n var typeErrorCreate = unconstruct(TypeError);\n\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n }\n\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n }\n\n /* Add properties to a lookup table */\n function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n }\n\n /* Shallow clone an object */\n function clone(object) {\n var newObject = create(null);\n\n var property = void 0;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n }\n\n /* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\n function lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n }\n\n var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n // SVG\n var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n\n var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n // List of SVG elements that are disallowed by default.\n // We still need to know them so that we can do namespace\n // checks properly in case one wants to add them to\n // allow-list.\n var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n\n var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);\n\n // Similarly to SVG, we want to know all MathML elements,\n // even those that we disallow by default.\n var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n\n var text = freeze(['#text']);\n\n var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n\n var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n\n var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n\n var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n // eslint-disable-next-line unicorn/better-regex\n var MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n var ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\n var DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n var ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n var IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n var ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n var getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n };\n\n /**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n\n function createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.3.1';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n\n\n var ElementPrototype = Element.prototype;\n\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n\n\n var documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with <html>... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n var FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n var RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n var RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n var RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erronously deleted from\n // HTML namespace.\n var commonSvgAndHTMLElements = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(object) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (tagName === 'select' && regExpTest(/<template/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n var parentNode = getParentNode(currentNode) || currentNode.parentNode;\n var childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n var childCount = childNodes.length;\n\n for (var i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');\n content = stringReplace(content, ERB_EXPR$$1, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr = void 0;\n var value = void 0;\n var lcName = void 0;\n var l = void 0;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');\n value = stringReplace(value, ERB_EXPR$$1, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n var lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode = void 0;\n var shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n var body = void 0;\n var importedNode = void 0;\n var currentNode = void 0;\n var oldNode = void 0;\n var returnNode = void 0;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) ; else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = stringToLowerCase(tag);\n var lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n }\n\n var purify = createDOMPurify();\n\n return purify;\n\n}));\n//# sourceMappingURL=purify.js.map\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegrySDKEvents } from '@/types';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { ListBox } from '@/components/Listbox';\nimport { Loader } from '@/components/Loader';\nimport { IntegryStep, TemplateField } from '@/interfaces';\nimport { actionFunctions } from '@/store';\nimport { Checkbox } from '@/components/CheckboxGroup/Checkbox';\nimport MappingUI from '@/features/common/MappingUI';\nimport { Label } from '@/components/Label';\nimport { Button } from '@/components/Button';\nimport { StoreType } from '@/types/store';\nimport { Input } from '@/components/Input';\n\nimport DOMPurify from 'dompurify';\n\nimport styles from './styles.module.scss';\n\ninterface StepPropsType extends StoreType {\n step: IntegryStep;\n stepType: 'AUTH' | 'CONFIGURATION' | 'SECTION';\n showStepValidation: boolean;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n}\n\ninterface StepStateType {\n loading: boolean;\n}\n\nclass Step extends Component<StepPropsType, StepStateType> {\n constructor(props: StepPropsType) {\n super(props);\n this.state = {\n loading: false,\n };\n }\n\n private getVisibleFieldsDataOnRootStep = (): {\n [machineName: string]: string;\n } => {\n const fields = this.props.stepDataMapping[this.props.step.id];\n const requiredFieldsWithValues = Object.keys(fields)\n .filter((el) => fields[Number(el)].value)\n .reduce((prev, curr) => {\n const currentItem = fields[Number(curr)];\n return {\n ...prev,\n [currentItem.machineName]: currentItem.value,\n };\n }, {});\n\n return requiredFieldsWithValues;\n };\n\n private areParentValuesFilled = (stepId: number, parentFields: string[]) => {\n let valid = true;\n // check if all parent fields have their values set\n for (let index = 0; index < parentFields.length; index += 1) {\n const val = parentFields[index];\n const { fieldId } = this.props.parentChildMapping[stepId][val];\n const parentField =\n this.props.stepDataMapping[stepId] &&\n this.props.stepDataMapping[stepId][fieldId];\n if (!(parentField && parentField.value)) {\n valid = false;\n break;\n }\n }\n return valid;\n };\n\n private doParentFieldsHaveValues = (stepId: number, machineName: string) => {\n let valid = true;\n const fieldInfo = this.props.parentChildMapping[stepId][machineName];\n\n if (fieldInfo && fieldInfo.parentFields)\n // check if all parent fields have their values set\n for (let index = 0; index < fieldInfo.parentFields.length; index += 1) {\n const parentField = this.props.parentChildMapping[stepId][\n fieldInfo.parentFields[index]\n ];\n const parentFieldData =\n this.props.stepDataMapping[stepId] &&\n this.props.stepDataMapping[stepId][parentField.fieldId];\n if (!(parentFieldData && parentFieldData.value)) {\n valid = false;\n break;\n }\n }\n return valid;\n };\n\n private shouldShowStep = (field: TemplateField) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n\n if (field.type === 'BUTTON' || field.type === 'HTML') return true;\n\n if (stepObject && field.activity_field) {\n const shouldBeShown = !field.is_hidden;\n const isAuthSelected = stepObject.selectedAuthId;\n const { parentFields } = this.props.parentChildMapping[stepId][\n field.activity_field.machine_name\n ];\n\n let isValid = true;\n if (parentFields) {\n isValid = this.areParentValuesFilled(stepId, parentFields);\n }\n\n return shouldBeShown && isAuthSelected && isValid;\n }\n return false;\n };\n\n private stepIsOfType = (fields: string[]) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n return fields.indexOf(stepObject.step.activity.type) > -1;\n };\n\n private textFieldParentHasValues = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n\n const anyVisibleFields = stepObject.step.template_fields.filter(\n (el) => el.is_visible,\n );\n\n const isAuthSelected = stepObject.selectedAuthId;\n\n const dynamicField = anyVisibleFields.filter(\n (el) => el.activity_field && el.activity_field.type === 'DYNAMIC',\n )[0];\n\n if (!dynamicField) {\n return true;\n }\n\n if (\n anyVisibleFields.length > 0 &&\n dynamicField &&\n dynamicField.activity_field &&\n isAuthSelected &&\n this.doParentFieldsHaveValues(\n stepId,\n dynamicField.activity_field.machine_name,\n )\n ) {\n return true;\n }\n return false;\n };\n\n private shouldShowMapping = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n if (this.stepIsOfType(['ADAPTER', 'ACTION'])) {\n const anyVisibleFields = stepObject.step.template_fields.filter(\n (el) => el.is_visible,\n );\n\n // console.log({ anyVisibleFields });\n\n const isAuthSelected = stepObject.selectedAuthId;\n\n // console.log({ isAuthSelected });\n\n const dynamicField = anyVisibleFields.filter(\n (el) => el.activity_field && el.activity_field.type === 'DYNAMIC',\n )[0];\n\n // console.log({ dynamicField });\n\n if (!dynamicField) {\n return false;\n }\n\n if (\n anyVisibleFields.length > 0 &&\n isAuthSelected &&\n dynamicField &&\n dynamicField.activity_field &&\n this.doParentFieldsHaveValues(\n stepId,\n dynamicField.activity_field.machine_name,\n )\n ) {\n return true;\n }\n }\n return false;\n };\n\n private getMappingDataInput = () => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n return {\n authId: stepObject.selectedAuthId,\n fieldsData: this.getVisibleFieldsDataOnRootStep(),\n };\n };\n\n private fieldDynamicData = (field: TemplateField) => {\n const stepId = this.props.step.id;\n const stepObject = this.props.stepMapping && this.props.stepMapping[stepId];\n if (stepObject && field.activity_field) {\n const { parentFields } = this.props.parentChildMapping[stepId][\n field.activity_field.machine_name\n ];\n if (parentFields) {\n const { fieldId } = this.props.parentChildMapping[stepId][\n parentFields[0]\n ];\n if (fieldId) {\n return {\n [parentFields[0]]: this.props.stepDataMapping[stepId][fieldId]\n .value,\n };\n }\n }\n }\n return null;\n };\n\n render() {\n const {\n step,\n stepMapping,\n stepDataMapping,\n setStepFieldData,\n showStepValidation,\n } = this.props;\n const selectedStep = stepMapping[step.id] && stepMapping[step.id].step;\n const selectedStepData = stepDataMapping && stepDataMapping[step.id];\n\n return html`\n ${this.state.loading\n ? html`<${Loader} //>`\n : html`\n ${selectedStep\n ? html`\n <div class=${styles.stepsWrap}>\n ${selectedStep.template_fields.map((el) => {\n if (this.shouldShowStep(el) && el.activity_field) {\n switch (el.activity_field.type) {\n case 'SELECT':\n return html`\n <div class=${styles.stepWrap}>\n <${ListBox}\n key=${el.activity_field.id}\n apiHandler=${this.props.apiHandler}\n title=${el.title || el.activity_field.title}\n description=${el.description ||\n el.activity_field.description}\n showStepValidation=${showStepValidation}\n placeholder=${el.placeholder}\n isRequired=${el.is_required}\n value=${(selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value) ||\n ''}\n onChange=${(val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n endpointUrl=${el.activity_field.data_src}\n isDynamic=${el.activity_field.is_dynamic}\n endpointData=${JSON.stringify({\n authorization_id:\n this.props.stepMapping &&\n this.props.stepMapping[this.props.step.id]\n ?.selectedAuthId,\n ...this.fieldDynamicData(el),\n })}\n ><//>\n </div>\n `;\n case 'TEXTFIELD':\n return (\n !this.shouldShowMapping() &&\n this.textFieldParentHasValues() &&\n html`\n <div class=${styles.stepWrap}>\n <${Input}\n id=${el.activity_field.id}\n title=${el.title || el.activity_field.title}\n description=${el.description ||\n el.activity_field.description}\n value=${(selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value) ||\n ''}\n placeholder=${el.placeholder ||\n 'Please enter a value'}\n showStepValidation=${showStepValidation}\n isRequired=${el.is_required}\n onChange=${(val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n ><//>\n </div>\n `\n );\n case 'CHECKBOX': {\n return html`\n <${Label}\n title=${el.title || el.activity_field.title}\n isRequired=${el.is_required}\n />\n <${Checkbox}\n label=${el.activity_field.description}\n name=${el.activity_field.machine_name}\n value=${selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value}\n isChecked=${selectedStepData &&\n selectedStepData[el.id] &&\n selectedStepData[el.id].value}\n handleChange=${(_: string, val: string) => {\n setStepFieldData({\n stepId: `${step.id}`,\n fieldId: `${el.id}`,\n value: val,\n });\n }}\n />\n `;\n }\n case 'DYNAMIC':\n return html``;\n default:\n return html`<div>\n Field: ${el.activity_field.type} is currently not\n supported\n </div>`;\n }\n } else {\n switch (el.type) {\n case 'HTML':\n return html`\n <div\n style=\"margin-bottom: 2rem;\"\n dangerouslySetInnerHTML=${{\n __html: DOMPurify(window).sanitize(\n el.default_value,\n ),\n }}\n />\n `;\n case 'BUTTON':\n return html`\n <div style=\"margin-bottom: 2rem;\">\n <${Button} label=${el.title} />\n </div>\n `;\n default:\n break;\n }\n }\n return html``;\n })}\n ${this.shouldShowMapping() &&\n html`\n <div class=${styles.stepWrap}>\n <${MappingUI}\n stepId=${selectedStep.id}\n templateFields=${selectedStep.template_fields}\n showStepValidation=${showStepValidation}\n endpointData=${this.getMappingDataInput()}\n ><//>\n </div>\n `}\n </div>\n `\n : html`Step data could not be loaded`}\n `}\n `;\n }\n}\n\nexport default connect<StepPropsType, StepStateType, StoreType, unknown>(\n ['stepMapping', 'stepDataMapping', 'parentChildMapping'],\n actionFunctions,\n)(Step);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegrationSaveResponse, TemplateStep } from '@/interfaces';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { StoreType } from '@/types/store';\nimport { Loader } from '@/components/Loader';\nimport AuthSelector from '@/features/common/AuthSelector';\nimport AppContext from '@/contexts/AppContext';\nimport Step from '@/features/templates/Step';\nimport { actionFunctions } from '@/store';\n\nimport styles from './styles.module.scss';\n\nexport type StepsPropsType = StoreType;\n\ntype StepsStateType = {\n selectedAuthStep: number | null;\n loading: boolean;\n};\n\nclass Steps extends Component<\n StepsPropsType,\n StepsStateType & Record<string, unknown>\n> {\n static contextType = AppContext;\n\n constructor(props: StepsPropsType) {\n super(props);\n this.state = {\n loading: false,\n selectedAuthStep: null,\n };\n }\n\n componentDidUpdate(prevProps: StepsPropsType) {\n const { stepState: prevStepState } = prevProps;\n const { stepState: newStepState } = this.props;\n if (prevStepState.stepIndex !== newStepState.stepIndex)\n this.context.eventEmitter.emit('did-change-step', {\n stepId: newStepState.steps[newStepState.stepIndex]?.stepId ?? null,\n stepType:\n newStepState.steps[newStepState.stepIndex]?.type ?? 'CONFIRMATION',\n });\n }\n\n private createIntegration = () => {\n const { stepMapping, stepDataMapping } = this.props;\n if (this.context.isPreviewMode) {\n return;\n }\n this.setState({ loading: true });\n const payload = {\n name: 'My new integration',\n notification_email: '',\n template: Number(this.props.genericData.templateId),\n bundle_id: Number(this.props.genericData.bundleId),\n steps: Object.keys(stepMapping).map((el) => ({\n id: stepMapping[el].step.id,\n authorization: Number(stepMapping[el].selectedAuthId),\n template_step: stepMapping[el].step.id,\n app_user_data: stepMapping[el].step.template_fields.map((tField) => ({\n id: tField.id,\n value:\n (stepDataMapping[stepMapping[el].step.id][tField.id].value ||\n stepDataMapping[stepMapping[el].step.id][tField.id].value ===\n '') &&\n !stepDataMapping[stepMapping[el].step.id][tField.id].objectValue\n ? `${stepDataMapping[stepMapping[el].step.id][tField.id].value}`\n : JSON.stringify(\n stepDataMapping[stepMapping[el].step.id][tField.id]\n .objectValue,\n ),\n template_field: tField.id,\n })),\n })),\n };\n\n this.context.apiHandler\n .saveIntegration(payload)\n .then((integration: IntegrationSaveResponse) => {\n this.setState({ loading: false });\n this.context.eventEmitter.emit('did-save-integration', {\n integrationId: integration.id,\n name: integration.name,\n templateId: integration.template,\n status: integration.status,\n });\n })\n .catch((err: unknown) => console.error(err));\n };\n\n private handleAuthSelected = (\n authId: number,\n stepId: number,\n isVerified: boolean,\n ) => {\n const dependentSteps = this.props.stepMapping[stepId].step.template_fields\n .filter((el) => el.activity_field && el.activity_field.is_dynamic)\n .map((el) => el.id);\n // reset all dynamic steps if auth changes\n this.props.setStepAuthorization(stepId, authId, isVerified, dependentSteps);\n };\n\n render() {\n let selectedStep: {\n step: TemplateStep;\n selectedAuthId: number | null;\n } | null = null;\n const { stepState, stepMapping } = this.props;\n const { currentStep, stepIndex, steps } = stepState;\n\n let shouldShowLastStep = false;\n let shouldShowBackButton = false;\n let isStepValid = false;\n let showStepValidation = false;\n if (stepIndex > -1 && currentStep?.type !== 'CONFIRMATION') {\n selectedStep = stepMapping[Number(currentStep?.stepId)];\n\n shouldShowLastStep = false;\n shouldShowBackButton = stepState.stepIndex > 0;\n isStepValid = currentStep?.isValid ?? false;\n showStepValidation = stepState.showValidation;\n } else if (\n currentStep?.type === 'CONFIRMATION' &&\n stepIndex === steps.length\n ) {\n shouldShowLastStep = true;\n }\n\n return html`\n <div class=${styles.stepsWrap}>\n <div class=${styles.stepContainer}>\n <div class=${styles.stepInfo}>\n ${currentStep &&\n html`\n ${shouldShowLastStep\n ? html`\n <div class=${styles.header}>\n <div class=${styles.name}>\n <svg\n width=\"25\"\n height=\"25\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"11.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n <div>Confirmation</div>\n </div>\n <div class=${styles.steps}>\n ${`Step ${\n (this.props.stepState?.stepIndex ?? 0) + 1\n } / ${(this.props.stepState?.steps.length ?? 0) + 1}`}\n </div>\n </div>\n `\n : html`\n <div class=${styles.header}>\n <div class=${styles.name}>\n <img src=${selectedStep?.step.activity.app.icon_url} />\n <div>\n ${currentStep?.type !== 'CONFIRMATION' &&\n currentStep?.title}\n </div>\n </div>\n <div class=${styles.steps}>\n ${`Step ${\n (this.props.stepState?.stepIndex ?? 0) + 1\n } / ${(this.props.stepState?.steps.length ?? 0) + 1}`}\n </div>\n </div>\n `}\n `}\n </div>\n\n <div class=${styles.top}>\n <div style=\"padding-left: 35px; padding-right: 35px; width: 100%;\">\n ${currentStep\n ? html`\n ${shouldShowLastStep\n ? html`\n <div class=${styles.save}>\n Your integration is ready to be enabled. Click\n “Save” to continue.\n </div>\n `\n : html`\n ${selectedStep &&\n html`\n ${currentStep?.type === 'AUTH'\n ? html`\n <div class=${styles.authWrap}>\n <${AuthSelector}\n stepId=${selectedStep.step.id}\n apiHandler=${this.context.apiHandler}\n showErrors=${showStepValidation}\n onAuthSelected=${(\n authId: number,\n isVerified: boolean,\n ) =>\n this.handleAuthSelected(\n authId,\n Number(selectedStep?.step.id),\n isVerified,\n )}\n >\n <//>\n </div>\n `\n : html`\n <${Step}\n step=${selectedStep?.step}\n stepType=${currentStep?.type}\n showStepValidation=${showStepValidation}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n />\n `}\n `}\n `}\n `\n : html`This template has no configured steps`}\n </div>\n </div>\n ${currentStep &&\n html`\n <div class=${styles.bottom}>\n <div class=${styles.buttons}>\n ${shouldShowBackButton &&\n html`\n <${Button}\n label=\"Back\"\n onClick=${() => this.props.gotoPreviousStep()}\n type=${ButtonTypes.SECONDARY}\n ><//>\n `}\n ${shouldShowLastStep\n ? html`\n ${this.state.loading\n ? html`<${Loader} />`\n : html`\n <${Button}\n label=\"Save\"\n disabled=${this.context.isPreviewMode}\n tooltip=${this.context.isPreviewMode\n ? 'Integration setup will have to be\\ndone in \"Live View\"'\n : null}\n onClick=${() => this.createIntegration()}\n ><//>\n `}\n `\n : html`\n <${Button}\n label=\"Next\"\n disabled=${!isStepValid}\n onClick=${() =>\n isStepValid\n ? this.props.gotoNextStep()\n : this.props.showStepValidationState()}\n ><//>\n `}\n </div>\n </div>\n `}\n </div>\n </div>\n `;\n }\n}\n\nexport default connect<StepsPropsType, StepsStateType, StoreType, unknown>(\n ['stepState', 'genericData', 'stepMapping', 'stepDataMapping'],\n actionFunctions,\n)(Steps);\n","import { html } from 'htm/preact';\nimport {\n useContext,\n useEffect,\n useErrorBoundary,\n useState,\n} from 'preact/hooks';\nimport { assert, StructError } from 'superstruct';\nimport { connect } from 'unistore/preact';\n\nimport AppContext from '@/contexts/AppContext';\nimport { actionFunctions } from '@/store';\nimport { StoreType } from '@/types/store';\nimport {\n TemplateResponse,\n TemplatePreviewData,\n PreviewMetadata,\n TemplatePreviewDataType,\n} from '@/interfaces';\nimport { Loader } from '@/components/Loader';\nimport { notEmpty } from '@/types/utils';\nimport { ErrorPage } from '@/components/ErrorPage';\n\nimport StepNavigation from '../StepNavigation';\nimport Steps from '../Steps';\n\nimport styles from './styles.module.scss';\n\nexport interface WrapperProps extends StoreType {\n bundleId: string;\n templateId?: string;\n templatePreviewData?: TemplatePreviewData;\n isPreviewMode?: boolean;\n previewMetadata?: PreviewMetadata;\n customWrapper?: preact.VNode<Record<string, never>>;\n}\n\n/**\n * Wrapper component\n *\n */\nconst Wrapper = (props: WrapperProps) => {\n const [loading, setLoading] = useState<boolean>(false);\n const [templateData, setTemplateData] = useState<TemplateResponse | null>(\n null,\n );\n const {\n templateId,\n bundleId,\n customWrapper,\n templatePreviewData,\n previewMetadata,\n } = props;\n\n const [validationErr, setValidationErr] = useState<StructError | null>(null);\n\n const [sdkError, resetSdkError] = useErrorBoundary(() => {\n // log something here\n });\n\n const context = useContext(AppContext);\n\n // reset store when unmounting preview\n useEffect(\n () => () => {\n props.reset();\n },\n [],\n );\n\n useEffect(() => {\n if (sdkError) console.error(sdkError);\n }, [sdkError]);\n\n useEffect(() => {\n setLoading(true);\n if (context?.isPreviewMode && previewMetadata) {\n // setup state using preview data\n if (!templatePreviewData)\n throw new Error('Preview data was not provided');\n try {\n assert(templatePreviewData, TemplatePreviewDataType);\n } catch (error) {\n console.error(error);\n setLoading(false);\n setValidationErr(error as StructError);\n return;\n }\n const { steps, ...template } = templatePreviewData;\n setTemplateData(templatePreviewData);\n props.setGenericData({\n templateId: Number(template.id),\n bundleId: Number(bundleId),\n isPreviewMode: context.isPreviewMode,\n });\n props.setSteps(steps.filter(notEmpty));\n props.setStepMapping(steps.filter(notEmpty));\n props.setParentChildMapping(steps.filter(notEmpty));\n props.gotoStepInPreview(previewMetadata);\n context.eventEmitter.emit('did-load-preview', {\n templateId: Number(template.id),\n templateTitle: template.name,\n templateDescription: template.description,\n });\n setLoading(false);\n return;\n }\n if (templateId) {\n context?.apiHandler.getTemplate(Number(templateId)).then((data) => {\n setTemplateData(data);\n if (data)\n Promise.all(\n data.steps.map((el) =>\n context.apiHandler.getTemplateStep(Number(el.id)),\n ),\n )\n .then((res) => {\n if (res) {\n setLoading(false);\n props.setSteps(res.filter(notEmpty));\n props.setStepMapping(res.filter(notEmpty));\n props.setParentChildMapping(res.filter(notEmpty));\n props.setGenericData({\n templateId: Number(templateId),\n bundleId: Number(bundleId),\n });\n context.eventEmitter.emit('did-load-template', {\n templateId: Number(templateId),\n templateTitle: data.name,\n templateDescription: data.description,\n });\n }\n })\n .catch((err) => console.error(err));\n });\n } else throw new Error('Template ID not found');\n }, [templateId]);\n\n if (customWrapper) {\n return html`${customWrapper}`;\n }\n\n return html`\n <div class=\"${styles.wrap} ${'integry-container'}\">\n ${sdkError || validationErr\n ? html`\n <${ErrorPage}\n title=${validationErr\n ? 'Validation error'\n : 'An unexpected error occurred'}\n description=${validationErr\n ? 'There was an error validating the preview payload:'\n : 'Please review the following stacktrace:'}\n errorPayload=${validationErr || sdkError}\n onDismiss=${validationErr ? null : resetSdkError}\n />\n `\n : html`\n <div>\n ${!loading &&\n templateData &&\n html`\n <${StepNavigation}\n steps=${templateData.steps?.map((el) => ({\n label: el.title,\n logoUrl: el.activity.app.icon_url,\n }))}\n ><//>\n `}\n </div>\n <div class=${styles.main}>\n ${loading &&\n html`<div style=\"display: flex; justify-content: center;\">\n <${Loader} />\n </div>`}\n ${!loading &&\n templateData &&\n html` <${Steps} steps=${templateData.steps}><//> `}\n </div>\n `}\n </div>\n `;\n};\n\nexport default connect<WrapperProps, unknown, StoreType, unknown>(\n [''],\n actionFunctions,\n)(Wrapper);\n","/*\r\nWHAT: SublimeText-like Fuzzy Search\r\n\r\nUSAGE:\r\n fuzzysort.single('fs', 'Fuzzy Search') // {score: -16}\r\n fuzzysort.single('test', 'test') // {score: 0}\r\n fuzzysort.single('doesnt exist', 'target') // null\r\n\r\n fuzzysort.go('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])\r\n // [{score: -18, target: \"MeshRenderer.cpp\"}, {score: -6009, target: \"Monitor.cpp\"}]\r\n\r\n fuzzysort.highlight(fuzzysort.single('fs', 'Fuzzy Search'), '<b>', '</b>')\r\n // <b>F</b>uzzy <b>S</b>earch\r\n*/\r\n\r\n// UMD (Universal Module Definition) for fuzzysort\r\n;(function(root, UMD) {\r\n if(typeof define === 'function' && define.amd) define([], UMD)\r\n else if(typeof module === 'object' && module.exports) module.exports = UMD()\r\n else root.fuzzysort = UMD()\r\n})(this, function UMD() { function fuzzysortNew(instanceOptions) {\r\n\r\n var fuzzysort = {\r\n\r\n single: function(search, target, options) {\r\n if(!search) return null\r\n if(!isObj(search)) search = fuzzysort.getPreparedSearch(search)\r\n\r\n if(!target) return null\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n return algorithm(search, target, search[0])\r\n // var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n // var result = algorithm(search, target, search[0])\r\n // if(result === null) return null\r\n // if(result.score < threshold) return null\r\n // return result\r\n },\r\n\r\n go: function(search, targets, options) {\r\n if(!search) return noResults\r\n search = fuzzysort.prepareSearch(search)\r\n var searchLowerCode = search[0]\r\n\r\n var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n var resultsLen = 0; var limitedCount = 0\r\n var targetsLen = targets.length\r\n\r\n // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]\r\n\r\n // options.keys\r\n if(options && options.keys) {\r\n var scoreFn = options.scoreFn || defaultScoreFn\r\n var keys = options.keys\r\n var keysLen = keys.length\r\n for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]\r\n var objResults = new Array(keysLen)\r\n for (var keyI = keysLen - 1; keyI >= 0; --keyI) {\r\n var key = keys[keyI]\r\n var target = getValue(obj, key)\r\n if(!target) { objResults[keyI] = null; continue }\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n objResults[keyI] = algorithm(search, target, searchLowerCode)\r\n }\r\n objResults.obj = obj // before scoreFn so scoreFn can use it\r\n var score = scoreFn(objResults)\r\n if(score === null) continue\r\n if(score < threshold) continue\r\n objResults.score = score\r\n if(resultsLen < limit) { q.add(objResults); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(score > q.peek().score) q.replaceTop(objResults)\r\n }\r\n }\r\n\r\n // options.key\r\n } else if(options && options.key) {\r\n var key = options.key\r\n for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]\r\n var target = getValue(obj, key)\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n\r\n // have to clone result so duplicate targets from different obj can each reference the correct obj\r\n result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden\r\n\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n }\r\n\r\n // no keys\r\n } else {\r\n for(var i = targetsLen - 1; i >= 0; --i) { var target = targets[i]\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n }\r\n }\r\n\r\n if(resultsLen === 0) return noResults\r\n var results = new Array(resultsLen)\r\n for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()\r\n results.total = resultsLen + limitedCount\r\n return results\r\n },\r\n\r\n goAsync: function(search, targets, options) {\r\n var canceled = false\r\n var p = new Promise(function(resolve, reject) {\r\n if(!search) return resolve(noResults)\r\n search = fuzzysort.prepareSearch(search)\r\n var searchLowerCode = search[0]\r\n\r\n var q = fastpriorityqueue()\r\n var iCurrent = targets.length - 1\r\n var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991\r\n var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991\r\n var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo\r\n : instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo\r\n : true\r\n var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo\r\n var resultsLen = 0; var limitedCount = 0\r\n function step() {\r\n if(canceled) return reject('canceled')\r\n\r\n var startMs = Date.now()\r\n\r\n // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]\r\n\r\n // options.keys\r\n if(options && options.keys) {\r\n var scoreFn = options.scoreFn || defaultScoreFn\r\n var keys = options.keys\r\n var keysLen = keys.length\r\n for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]\r\n var objResults = new Array(keysLen)\r\n for (var keyI = keysLen - 1; keyI >= 0; --keyI) {\r\n var key = keys[keyI]\r\n var target = getValue(obj, key)\r\n if(!target) { objResults[keyI] = null; continue }\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n objResults[keyI] = algorithm(search, target, searchLowerCode)\r\n }\r\n objResults.obj = obj // before scoreFn so scoreFn can use it\r\n var score = scoreFn(objResults)\r\n if(score === null) continue\r\n if(score < threshold) continue\r\n objResults.score = score\r\n if(resultsLen < limit) { q.add(objResults); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(score > q.peek().score) q.replaceTop(objResults)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n\r\n // options.key\r\n } else if(options && options.key) {\r\n var key = options.key\r\n for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]\r\n var target = getValue(obj, key)\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n\r\n // have to clone result so duplicate targets from different obj can each reference the correct obj\r\n result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden\r\n\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n\r\n // no keys\r\n } else {\r\n for(; iCurrent >= 0; --iCurrent) { var target = targets[iCurrent]\r\n if(!target) continue\r\n if(!isObj(target)) target = fuzzysort.getPrepared(target)\r\n\r\n var result = algorithm(search, target, searchLowerCode)\r\n if(result === null) continue\r\n if(result.score < threshold) continue\r\n if(resultsLen < limit) { q.add(result); ++resultsLen }\r\n else {\r\n ++limitedCount\r\n if(result.score > q.peek().score) q.replaceTop(result)\r\n }\r\n\r\n if(iCurrent%1000/*itemsPerCheck*/ === 0) {\r\n if(Date.now() - startMs >= 10/*asyncInterval*/) {\r\n isNode?setImmediate(step):setTimeout(step)\r\n return\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(resultsLen === 0) return resolve(noResults)\r\n var results = new Array(resultsLen)\r\n for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()\r\n results.total = resultsLen + limitedCount\r\n resolve(results)\r\n }\r\n\r\n isNode?setImmediate(step):step()\r\n })\r\n p.cancel = function() { canceled = true }\r\n return p\r\n },\r\n\r\n highlight: function(result, hOpen, hClose) {\r\n if(result === null) return null\r\n if(hOpen === undefined) hOpen = '<b>'\r\n if(hClose === undefined) hClose = '</b>'\r\n var highlighted = ''\r\n var matchesIndex = 0\r\n var opened = false\r\n var target = result.target\r\n var targetLen = target.length\r\n var matchesBest = result.indexes\r\n for(var i = 0; i < targetLen; ++i) { var char = target[i]\r\n if(matchesBest[matchesIndex] === i) {\r\n ++matchesIndex\r\n if(!opened) { opened = true\r\n highlighted += hOpen\r\n }\r\n\r\n if(matchesIndex === matchesBest.length) {\r\n highlighted += char + hClose + target.substr(i+1)\r\n break\r\n }\r\n } else {\r\n if(opened) { opened = false\r\n highlighted += hClose\r\n }\r\n }\r\n highlighted += char\r\n }\r\n\r\n return highlighted\r\n },\r\n\r\n prepare: function(target) {\r\n if(!target) return\r\n return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:null, score:null, indexes:null, obj:null} // hidden\r\n },\r\n prepareSlow: function(target) {\r\n if(!target) return\r\n return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:fuzzysort.prepareNextBeginningIndexes(target), score:null, indexes:null, obj:null} // hidden\r\n },\r\n prepareSearch: function(search) {\r\n if(!search) return\r\n return fuzzysort.prepareLowerCodes(search)\r\n },\r\n\r\n\r\n\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n // Below this point is only internal code\r\n\r\n\r\n\r\n getPrepared: function(target) {\r\n if(target.length > 999) return fuzzysort.prepare(target) // don't cache huge targets\r\n var targetPrepared = preparedCache.get(target)\r\n if(targetPrepared !== undefined) return targetPrepared\r\n targetPrepared = fuzzysort.prepare(target)\r\n preparedCache.set(target, targetPrepared)\r\n return targetPrepared\r\n },\r\n getPreparedSearch: function(search) {\r\n if(search.length > 999) return fuzzysort.prepareSearch(search) // don't cache huge searches\r\n var searchPrepared = preparedSearchCache.get(search)\r\n if(searchPrepared !== undefined) return searchPrepared\r\n searchPrepared = fuzzysort.prepareSearch(search)\r\n preparedSearchCache.set(search, searchPrepared)\r\n return searchPrepared\r\n },\r\n\r\n algorithm: function(searchLowerCodes, prepared, searchLowerCode) {\r\n var targetLowerCodes = prepared._targetLowerCodes\r\n var searchLen = searchLowerCodes.length\r\n var targetLen = targetLowerCodes.length\r\n var searchI = 0 // where we at\r\n var targetI = 0 // where you at\r\n var typoSimpleI = 0\r\n var matchesSimpleLen = 0\r\n\r\n // very basic fuzzy match; to remove non-matching targets ASAP!\r\n // walk through target. find sequential matches.\r\n // if all chars aren't found then exit\r\n for(;;) {\r\n var isMatch = searchLowerCode === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesSimple[matchesSimpleLen++] = targetI\r\n ++searchI; if(searchI === searchLen) break\r\n searchLowerCode = searchLowerCodes[typoSimpleI===0?searchI : (typoSimpleI===searchI?searchI+1 : (typoSimpleI===searchI-1?searchI-1 : searchI))]\r\n }\r\n\r\n ++targetI; if(targetI >= targetLen) { // Failed to find searchI\r\n // Check for typo or exit\r\n // we go as far as possible before trying to transpose\r\n // then we transpose backwards until we reach the beginning\r\n for(;;) {\r\n if(searchI <= 1) return null // not allowed to transpose first char\r\n if(typoSimpleI === 0) { // we haven't tried to transpose yet\r\n --searchI\r\n var searchLowerCodeNew = searchLowerCodes[searchI]\r\n if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char\r\n typoSimpleI = searchI\r\n } else {\r\n if(typoSimpleI === 1) return null // reached the end of the line for transposing\r\n --typoSimpleI\r\n searchI = typoSimpleI\r\n searchLowerCode = searchLowerCodes[searchI + 1]\r\n var searchLowerCodeNew = searchLowerCodes[searchI]\r\n if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char\r\n }\r\n matchesSimpleLen = searchI\r\n targetI = matchesSimple[matchesSimpleLen - 1] + 1\r\n break\r\n }\r\n }\r\n }\r\n\r\n var searchI = 0\r\n var typoStrictI = 0\r\n var successStrict = false\r\n var matchesStrictLen = 0\r\n\r\n var nextBeginningIndexes = prepared._nextBeginningIndexes\r\n if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)\r\n var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]\r\n\r\n // Our target string successfully matched all characters in sequence!\r\n // Let's try a more advanced and strict test to improve the score\r\n // only count it as a match if it's consecutive or a beginning character!\r\n if(targetI !== targetLen) for(;;) {\r\n if(targetI >= targetLen) {\r\n // We failed to find a good spot for this search char, go back to the previous search char and force it forward\r\n if(searchI <= 0) { // We failed to push chars forward for a better match\r\n // transpose, starting from the beginning\r\n ++typoStrictI; if(typoStrictI > searchLen-2) break\r\n if(searchLowerCodes[typoStrictI] === searchLowerCodes[typoStrictI+1]) continue // doesn't make sense to transpose a repeat char\r\n targetI = firstPossibleI\r\n continue\r\n }\r\n\r\n --searchI\r\n var lastMatch = matchesStrict[--matchesStrictLen]\r\n targetI = nextBeginningIndexes[lastMatch]\r\n\r\n } else {\r\n var isMatch = searchLowerCodes[typoStrictI===0?searchI : (typoStrictI===searchI?searchI+1 : (typoStrictI===searchI-1?searchI-1 : searchI))] === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesStrict[matchesStrictLen++] = targetI\r\n ++searchI; if(searchI === searchLen) { successStrict = true; break }\r\n ++targetI\r\n } else {\r\n targetI = nextBeginningIndexes[targetI]\r\n }\r\n }\r\n }\r\n\r\n { // tally up the score & keep track of matches for highlighting later\r\n if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }\r\n else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }\r\n var score = 0\r\n var lastTargetI = -1\r\n for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]\r\n // score only goes down if they're not consecutive\r\n if(lastTargetI !== targetI - 1) score -= targetI\r\n lastTargetI = targetI\r\n }\r\n if(!successStrict) {\r\n score *= 1000\r\n if(typoSimpleI !== 0) score += -20/*typoPenalty*/\r\n } else {\r\n if(typoStrictI !== 0) score += -20/*typoPenalty*/\r\n }\r\n score -= targetLen - searchLen\r\n prepared.score = score\r\n prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]\r\n\r\n return prepared\r\n }\r\n },\r\n\r\n algorithmNoTypo: function(searchLowerCodes, prepared, searchLowerCode) {\r\n var targetLowerCodes = prepared._targetLowerCodes\r\n var searchLen = searchLowerCodes.length\r\n var targetLen = targetLowerCodes.length\r\n var searchI = 0 // where we at\r\n var targetI = 0 // where you at\r\n var matchesSimpleLen = 0\r\n\r\n // very basic fuzzy match; to remove non-matching targets ASAP!\r\n // walk through target. find sequential matches.\r\n // if all chars aren't found then exit\r\n for(;;) {\r\n var isMatch = searchLowerCode === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesSimple[matchesSimpleLen++] = targetI\r\n ++searchI; if(searchI === searchLen) break\r\n searchLowerCode = searchLowerCodes[searchI]\r\n }\r\n ++targetI; if(targetI >= targetLen) return null // Failed to find searchI\r\n }\r\n\r\n var searchI = 0\r\n var successStrict = false\r\n var matchesStrictLen = 0\r\n\r\n var nextBeginningIndexes = prepared._nextBeginningIndexes\r\n if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)\r\n var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]\r\n\r\n // Our target string successfully matched all characters in sequence!\r\n // Let's try a more advanced and strict test to improve the score\r\n // only count it as a match if it's consecutive or a beginning character!\r\n if(targetI !== targetLen) for(;;) {\r\n if(targetI >= targetLen) {\r\n // We failed to find a good spot for this search char, go back to the previous search char and force it forward\r\n if(searchI <= 0) break // We failed to push chars forward for a better match\r\n\r\n --searchI\r\n var lastMatch = matchesStrict[--matchesStrictLen]\r\n targetI = nextBeginningIndexes[lastMatch]\r\n\r\n } else {\r\n var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI]\r\n if(isMatch) {\r\n matchesStrict[matchesStrictLen++] = targetI\r\n ++searchI; if(searchI === searchLen) { successStrict = true; break }\r\n ++targetI\r\n } else {\r\n targetI = nextBeginningIndexes[targetI]\r\n }\r\n }\r\n }\r\n\r\n { // tally up the score & keep track of matches for highlighting later\r\n if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }\r\n else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }\r\n var score = 0\r\n var lastTargetI = -1\r\n for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]\r\n // score only goes down if they're not consecutive\r\n if(lastTargetI !== targetI - 1) score -= targetI\r\n lastTargetI = targetI\r\n }\r\n if(!successStrict) score *= 1000\r\n score -= targetLen - searchLen\r\n prepared.score = score\r\n prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]\r\n\r\n return prepared\r\n }\r\n },\r\n\r\n prepareLowerCodes: function(str) {\r\n var strLen = str.length\r\n var lowerCodes = [] // new Array(strLen) sparse array is too slow\r\n var lower = str.toLowerCase()\r\n for(var i = 0; i < strLen; ++i) lowerCodes[i] = lower.charCodeAt(i)\r\n return lowerCodes\r\n },\r\n prepareBeginningIndexes: function(target) {\r\n var targetLen = target.length\r\n var beginningIndexes = []; var beginningIndexesLen = 0\r\n var wasUpper = false\r\n var wasAlphanum = false\r\n for(var i = 0; i < targetLen; ++i) {\r\n var targetCode = target.charCodeAt(i)\r\n var isUpper = targetCode>=65&&targetCode<=90\r\n var isAlphanum = isUpper || targetCode>=97&&targetCode<=122 || targetCode>=48&&targetCode<=57\r\n var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum\r\n wasUpper = isUpper\r\n wasAlphanum = isAlphanum\r\n if(isBeginning) beginningIndexes[beginningIndexesLen++] = i\r\n }\r\n return beginningIndexes\r\n },\r\n prepareNextBeginningIndexes: function(target) {\r\n var targetLen = target.length\r\n var beginningIndexes = fuzzysort.prepareBeginningIndexes(target)\r\n var nextBeginningIndexes = [] // new Array(targetLen) sparse array is too slow\r\n var lastIsBeginning = beginningIndexes[0]\r\n var lastIsBeginningI = 0\r\n for(var i = 0; i < targetLen; ++i) {\r\n if(lastIsBeginning > i) {\r\n nextBeginningIndexes[i] = lastIsBeginning\r\n } else {\r\n lastIsBeginning = beginningIndexes[++lastIsBeginningI]\r\n nextBeginningIndexes[i] = lastIsBeginning===undefined ? targetLen : lastIsBeginning\r\n }\r\n }\r\n return nextBeginningIndexes\r\n },\r\n\r\n cleanup: cleanup,\r\n new: fuzzysortNew,\r\n }\r\n return fuzzysort\r\n} // fuzzysortNew\r\n\r\n// This stuff is outside fuzzysortNew, because it's shared with instances of fuzzysort.new()\r\nvar isNode = typeof require !== 'undefined' && typeof window === 'undefined'\r\n// var MAX_INT = Number.MAX_SAFE_INTEGER\r\n// var MIN_INT = Number.MIN_VALUE\r\nvar preparedCache = new Map()\r\nvar preparedSearchCache = new Map()\r\nvar noResults = []; noResults.total = 0\r\nvar matchesSimple = []; var matchesStrict = []\r\nfunction cleanup() { preparedCache.clear(); preparedSearchCache.clear(); matchesSimple = []; matchesStrict = [] }\r\nfunction defaultScoreFn(a) {\r\n var max = -9007199254740991\r\n for (var i = a.length - 1; i >= 0; --i) {\r\n var result = a[i]; if(result === null) continue\r\n var score = result.score\r\n if(score > max) max = score\r\n }\r\n if(max === -9007199254740991) return null\r\n return max\r\n}\r\n\r\n// prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]\r\n// prop = 'key1.key2' 10ms\r\n// prop = ['key1', 'key2'] 27ms\r\nfunction getValue(obj, prop) {\r\n var tmp = obj[prop]; if(tmp !== undefined) return tmp\r\n var segs = prop\r\n if(!Array.isArray(prop)) segs = prop.split('.')\r\n var len = segs.length\r\n var i = -1\r\n while (obj && (++i < len)) obj = obj[segs[i]]\r\n return obj\r\n}\r\n\r\nfunction isObj(x) { return typeof x === 'object' } // faster as a function\r\n\r\n// Hacked version of https://github.com/lemire/FastPriorityQueue.js\r\nvar fastpriorityqueue=function(){var r=[],o=0,e={};function n(){for(var e=0,n=r[e],c=1;c<o;){var f=c+1;e=c,f<o&&r[f].score<r[c].score&&(e=f),r[e-1>>1]=r[e],c=1+(e<<1)}for(var a=e-1>>1;e>0&&n.score<r[a].score;a=(e=a)-1>>1)r[e]=r[a];r[e]=n}return e.add=function(e){var n=o;r[o++]=e;for(var c=n-1>>1;n>0&&e.score<r[c].score;c=(n=c)-1>>1)r[n]=r[c];r[n]=e},e.poll=function(){if(0!==o){var e=r[0];return r[0]=r[--o],n(),e}},e.peek=function(e){if(0!==o)return r[0]},e.replaceTop=function(o){r[0]=o,n()},e};\r\nvar q = fastpriorityqueue() // reuse this, except for async, it needs to make its own\r\n\r\nreturn fuzzysortNew()\r\n}) // UMD\r\n\r\n// TODO: (performance) wasm version!?\r\n\r\n// TODO: (performance) layout memory in an optimal way to go fast by avoiding cache misses\r\n\r\n// TODO: (performance) preparedCache is a memory leak\r\n\r\n// TODO: (like sublime) backslash === forwardslash\r\n\r\n// TODO: (performance) i have no idea how well optizmied the allowing typos algorithm is\r\n","import { html, Component } from 'htm/preact';\nimport styles from './styles.module.scss';\n\ninterface SearchState {\n value: string;\n}\n\ninterface SearchProps {\n initialValue?: string;\n placeholder: string;\n resultCount: number;\n onChange: (val: string) => void;\n}\n\nexport class TemplateSearch extends Component<SearchProps, SearchState> {\n constructor(props: SearchProps) {\n super(props);\n this.state = {\n value: this.props.initialValue || '',\n };\n }\n\n onInput = (e: Event) => {\n if (e.target instanceof HTMLInputElement) {\n const { value } = e.target;\n this.setState({ value });\n this.props.onChange(value);\n }\n };\n\n render() {\n return html`\n <div class=${styles.search} ${'integry-search'}>\n <input\n placeholder=${this.props.placeholder || 'Search...'}\n value=${this.state.value}\n oninput=${this.onInput}\n />\n <div class=${styles.resultCount}>${this.props.resultCount} results</div>\n </div>\n `;\n }\n}\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface TabProps {\n activeTab: string;\n label: string;\n onClick(label: string): void;\n}\n\nconst Tab = (props: TabProps) => {\n const { label, activeTab, onClick } = props;\n\n const onClickHandler = () => {\n onClick(label);\n };\n\n return html`\n <li\n class=${`${styles.tab} ${activeTab === label ? styles.tabactive : ''}`}\n onclick=${onClickHandler}\n >\n ${label}\n </li>\n `;\n};\n\nexport { Tab, TabProps };\n","import { html } from 'htm/preact';\nimport { VNode } from 'preact';\nimport { useState } from 'preact/hooks';\n\nimport { Tab } from './Tab';\n\nimport styles from './styles.module.scss';\n\ninterface TabBarProps {\n preSelectedTab?: string;\n children: VNode<{ label: string }>[];\n}\n\nconst TabBar = (props: TabBarProps) => {\n const { preSelectedTab, children } = props;\n\n if (!Array.isArray(children) || children.length < 2) {\n throw new Error('Tab Bar must have at least two children');\n }\n\n // either select preselected if specified, or the first tab\n const [activeTab, setActiveTab] = useState<string>(\n preSelectedTab || children[0].props.label,\n );\n\n const onClickTabItem = (label: string) => {\n setActiveTab(label);\n };\n\n return html`\n <div>\n <ol class=${styles.nav}>\n ${children.map((child) => {\n const { label } = child.props;\n return html`\n <${Tab}\n activeTab=${activeTab}\n key=${label}\n label=${label}\n onClick=${onClickTabItem}\n >\n <//>\n `;\n })}\n </ol>\n <div className=\"tab-content\">\n ${children.map((child) => {\n if (child.props.label !== activeTab) return undefined;\n return child.props.children;\n })}\n </div>\n </div>\n `;\n};\n\nexport { TabBar, TabBarProps };\n","import { html } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ToggleProps {\n id: string;\n value: boolean;\n onChange: (val: boolean) => void;\n}\n\n/**\n * Toggle component\n *\n */\nconst Toggle = (props: ToggleProps) => {\n const { id, value: isToggled, onChange } = props;\n\n const handleChange = () => {\n onChange(!isToggled);\n };\n\n return html`\n <div class=${styles.toggle}>\n <div class=${`${styles.inner} ${isToggled ? styles.toggled : ''} `}>\n <label for=${id} class=${`${isToggled ? styles.toggled : ''} `}></label>\n <input type=\"checkbox\" id=${id} onclick=${handleChange} />\n </div>\n </div>\n `;\n};\n\nexport { Toggle, ToggleProps };\n","export type IntegrySDKEvents = {\n 'should-load-template': ({ templateId }: { templateId: number }) => void;\n 'did-load-template': (data: {\n templateId: number;\n templateTitle: string;\n templateDescription: string;\n }) => void;\n 'did-save-integration': (data: {\n integrationId: number;\n name: string;\n templateId: number;\n status: string;\n }) => void;\n 'did-load-preview': (data: {\n templateId: number;\n templateTitle: string;\n templateDescription: string;\n }) => void;\n 'did-change-step': (data: {\n stepId: number;\n stepType: 'AUTH' | 'CONFIGURATION' | 'SECTION' | 'CONFIRMATION';\n }) => void;\n};\n\nexport enum TemplateFormRenderModes {\n MODAL = 'MODAL',\n INLINE = 'INLINE',\n DETACHED = 'DETACHED',\n CUSTOM = 'CUSTOM',\n}\n\nexport enum TemplateListingRenderModes {\n GRID = 'GRID',\n LIST = 'LIST',\n}\n\nexport type Authorization = {\n id: number;\n authorization_type: string;\n app_user?: number;\n app_user_id?: number;\n disable_link?: string;\n integration_count?: number;\n user_identity: string;\n};\n\nexport type UnfetchResponse = {\n ok: boolean;\n statusText: string;\n status: number;\n url: string;\n text: () => Promise<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n json: () => Promise<any>;\n blob: () => Promise<Blob>;\n clone: () => UnfetchResponse;\n headers: {\n keys: () => string[];\n entries: () => Array<[string, string]>;\n get: (key: string) => string | undefined;\n has: (key: string) => boolean;\n };\n};\n","import { html, Component } from 'htm/preact';\n\nimport { timeAgo } from '@/utils/datetime';\nimport { Toggle } from '@/components/Toggle';\nimport { ListBox } from '@/components/Listbox';\nimport { Integration } from '@/interfaces';\nimport { IntegryAPI } from '@/modules/api';\n\nimport style from './styles.module.scss';\n\ntype Props = {\n integrations: Integration[];\n apiHandler: IntegryAPI;\n};\n\ntype State = {\n loading: boolean;\n};\n\nclass IntegrationsList extends Component<Props, State> {\n private toggleIntegration = (integrationId: number, activate: boolean) => {\n this.props.apiHandler\n .toggleIntegration(integrationId, activate)\n .then((res) => {\n console.info(res);\n })\n .catch((err) => console.error(err));\n };\n\n private onIntegrationDelete = (integrationId: number) => {\n this.props.apiHandler\n .deleteIntegration(integrationId)\n .then((res) => {\n console.info(res);\n })\n .catch((err) => console.error(err));\n };\n\n render() {\n return html`\n <div>\n <div class=${style.topbar}>\n <!-- <h2 class=${style.header}>My Flows</h2> -->\n <!-- <${ListBox} items=${[{ id: 'sort', value: 'Sort' }]} value=\"sort\" //> -->\n </div>\n <div class=${style.row}>\n <div class=\"flex w-12\">Status</div>\n <div class=\"flex w-12\"></div>\n <div class=\"flex-1 pl-4\">Integration Name</div>\n <div class=\"w-24\">Runs</div>\n <div class=\"w-40\">Last Activity</div>\n <div class=\"w-16\"></div>\n <div class=\"flex w-6\"></div>\n </div>\n <div class=${style.integrations}>\n ${this.props.integrations.length < 1 && html`No integrations`}\n ${this.props.integrations.map(\n (el) => html`\n <div\n class=\"${style.integration} ${'integry_container_Integration'}\"\n >\n <div class=${style.row}>\n <div class=\"flex w-12\">\n ${el.task_execution.status !== 'fail'\n ? html`\n <svg\n width=\"22\"\n height=\"22\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"12.5\"\n fill=\"#2ECC71\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n </svg>\n `\n : html`<svg\n width=\"22\"\n height=\"25\"\n viewBox=\"0 0 25 27\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"12.5\" cy=\"12.5\" r=\"12.5\" fill=\"#E26154\" />\n <g filter=\"url(#filter0_d)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.1886 8.05792C11.1209 7.32574 11.7556 6.61621 12.4701 6.61621C13.2413 6.61621 13.8535 7.32568 13.7963 8.05792L13.3542 13.5234C13.3206 14.0117 12.8896 14.3955 12.4019 14.3605C11.9713 14.3255 11.6422 13.9535 11.6196 13.5234L11.1886 8.05792ZM11.1836 16.9743C11.1836 16.3124 11.7654 15.7737 12.4835 15.7737C13.2189 15.7737 13.8007 16.3124 13.8 16.9743V17.2052C13.8 17.8671 13.2015 18.3902 12.4835 18.3902C11.7647 18.3902 11.1836 17.8671 11.1836 17.2052V16.9743Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <filter\n id=\"filter0_d\"\n x=\"7.18359\"\n y=\"6.61621\"\n width=\"10.6164\"\n height=\"19.7739\"\n filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\"\n >\n <feFlood\n flood-opacity=\"0\"\n result=\"BackgroundImageFix\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dy=\"4\" />\n <feGaussianBlur stdDeviation=\"2\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect1_dropShadow\"\n result=\"shape\"\n />\n </filter>\n </defs>\n </svg> `}\n </div>\n <div class=\"flex w-12\">\n <img src=${el.icon_url} />\n </div>\n <div class=\"flex-1 pl-4\">${el.name}</div>\n <div class=\"w-24\">${el.runs_count}</div>\n <div class=\"w-40\">\n ${el.task_execution.last_execution_at\n ? timeAgo(\n new Date(\n `${el.task_execution.last_execution_at.date} ${el.task_execution.last_execution_at.timezone}`,\n ),\n )\n : 'Never run'}\n </div>\n <div class=\"w-16\">\n <${Toggle}\n id=${el.id}\n value=${el.status === 'ACTIVE'}\n onChange=${(active: boolean) =>\n this.toggleIntegration(el.id, active)}\n >\n <//>\n </div>\n <div\n class=\"flex w-6 cursor-pointer\"\n onclick=${() => this.onIntegrationDelete(el.id)}\n >\n <svg\n width=\"12\"\n height=\"15\"\n viewBox=\"0 0 12 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 4.16667H12\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n />\n <path\n d=\"M10 5.5V6.16667L9.33333 13.5H2.66667L2 6.16667V5.5\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M4 3.5V2.16667C4 1.79848 4.29848 1.5 4.66667 1.5H7.33333C7.70152 1.5 8 1.79848 8 2.16667V3.5\"\n stroke=\"#F05C42\"\n stroke-width=\"1.2\"\n />\n </svg>\n </div>\n </div>\n </div>\n `,\n )}\n </div>\n </div>\n `;\n }\n}\n\nexport { IntegrationsList };\n","/**\n *\n * @param length Array length to generate\n * @returns String array like ['00', '01', '02' ...]\n */\nfunction generateDoubleDigitStringArr(length: number): string[] {\n return Array.from({ length }, (_, i) => {\n if (i < 10) return `0${i}`;\n return `${i + 1}`;\n });\n}\n\n/**\n *\n * @param date Input date\n * @returns {string} Date string formatted as YYYY-MM-DD\n */\nfunction getDateFormat(date: Date): string {\n return new Date(date.getTime() - date.getTimezoneOffset() * 60000)\n .toISOString()\n .split('T')[0];\n}\n\nconst timeAgo = (date: Date) => {\n const intervals = [\n { label: 'year', seconds: 31536000 },\n { label: 'month', seconds: 2592000 },\n { label: 'day', seconds: 86400 },\n { label: 'hour', seconds: 3600 },\n { label: 'minute', seconds: 60 },\n { label: 'A few second', seconds: 0 },\n ];\n\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n const interval = intervals.find((i) => i.seconds < seconds);\n if (interval) {\n let count = Math.floor(seconds / interval.seconds);\n if (!Number.isInteger(count)) count = 0;\n return `${count > 0 ? count : ''} ${interval.label}${\n count !== 1 ? 's' : ''\n } ago`;\n }\n return `Cannot be formatted with interval ${interval}`;\n};\n\nexport { generateDoubleDigitStringArr, getDateFormat, timeAgo };\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport fuzzysort from 'fuzzysort';\n\nimport { Integration, Template as TemplateType } from '@/interfaces';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { TemplateSearch } from '@/features/templates/TemplateSearch';\nimport { Loader } from '@/components/Loader';\nimport { TabBar } from '@/components/TabBar';\n\nimport { IntegrationsList } from '@/features/integrations/IntegrationsList';\nimport { IntegrySDKEvents, TemplateListingRenderModes } from '@/types';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport style from './styles.module.scss';\n\ntype Props = {\n bundleId: string;\n layout: TemplateListingRenderModes;\n templateContainerTemplate: Component;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n onTemplateClick?: (templateId: number) => void;\n} & StoreType;\n\ntype State = {\n loading: boolean;\n integrations: Integration[];\n templates: TemplateType[];\n filteredTemplates: TemplateType[];\n};\n\nclass TemplatesView extends Component<Props, State> {\n constructor() {\n super();\n this.state = {\n loading: false,\n integrations: [],\n templates: [],\n filteredTemplates: [],\n };\n }\n\n // Adding the this argument restricts binding\n static handleClick(this: HTMLButtonElement, event: MouseEvent) {\n event.preventDefault();\n if (event.target instanceof HTMLElement) {\n console.info(event.target.localName);\n }\n }\n\n componentDidMount() {\n this.setState({ loading: true });\n this.props.setGenericData({\n bundleId: Number(this.props.bundleId),\n });\n this.props.apiHandler\n .getTemplateListing(this.props.bundleId)\n .then((data) => {\n if (data)\n this.setState({\n integrations: data.integrations,\n templates: data.templates,\n filteredTemplates: data.templates,\n loading: false,\n });\n });\n }\n\n filterTemplates = (query: string) => {\n if (query) {\n this.setState({\n filteredTemplates: fuzzysort\n .go(query, this.state.templates, {\n keys: ['name', 'branding_app.tags'],\n scoreFn: (keysResult) => {\n const nameResult = keysResult[0];\n const tagsResult = keysResult[1];\n // assign higher score to name result\n const score = Math.max(\n nameResult ? nameResult.score + 100 : -Infinity,\n tagsResult ? tagsResult.score : -Infinity,\n );\n return score;\n },\n })\n .map((el) => el.obj),\n });\n } else {\n this.setState({ filteredTemplates: this.state.templates });\n }\n };\n\n onTemplateClick = (templateId: number) => {\n this.props.setGenericData({\n templateId,\n });\n if (this.props.onTemplateClick) {\n this.props.onTemplateClick(templateId);\n }\n };\n\n render() {\n return html`\n <div>\n ${this.state.loading\n ? html` <${Loader} //> `\n : html`\n <${TabBar}>\n <div label=\"Guided Flows\">\n <!-- <h2 class=${style.header}>Available Flows</h2> -->\n <div>\n <${TemplateSearch}\n resultCount=${this.state.filteredTemplates.length}\n onChange=${(val: string) => this.filterTemplates(val)}\n >\n <//>\n </div>\n <div\n class=\"${this.props.layout ===\n TemplateListingRenderModes.LIST\n ? style.template_list\n : style.template_grid} ${'integry-container_TemplatesView'}\"\n >\n ${this.state.filteredTemplates.map(\n (template) =>\n html`\n <${this.props.templateContainerTemplate}\n name=${template.name}\n description=${template.description}\n layout=${this.props.layout}\n tags=${template.branding_app.tags}\n imgUrl=${template.branding_app.icon_url}\n onClick=${() => this.onTemplateClick(template.id)}\n >\n <//>\n `,\n )}\n </div>\n </div>\n <div label=\"My Flows\">\n <${IntegrationsList} apiHandler=${this.props.apiHandler}\n integrations=${this.state.integrations} //>\n </div>\n <//>\n `}\n </div>\n `;\n }\n}\n\nexport default connect<Props, State, StoreType, unknown>(\n '',\n actionFunctions,\n)(TemplatesView);\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ntype NavItemProps = {\n label: string;\n logoUrl?: string;\n isDisabled?: boolean;\n isActive?: boolean;\n isCompleted?: boolean;\n isLastStep?: boolean;\n onClick?(): void;\n};\n\nconst TickMark = html` <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n>\n <rect opacity=\"0.7\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#2ECC71\" />\n <path\n d=\"M9.23107 6.34619L6.96066 8.94234L5.76953 7.58033\"\n stroke=\"white\"\n stroke-width=\"1.2\"\n stroke-linecap=\"round\"\n />\n</svg>`;\n\nconst FinalTickMark = html`\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"7.5\"\n cy=\"7.5\"\n r=\"6.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M10.3333 5.5L6.83522 9.5L5 7.40148\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n`;\n\nclass NavItem extends Component<NavItemProps> {\n render() {\n const {\n logoUrl,\n isActive = false,\n isCompleted = false,\n isDisabled = false,\n isLastStep = false,\n onClick = () => null,\n } = this.props;\n return html`\n <div\n class=${`${styles.navItem} ${isDisabled ? styles.disabled : ''} ${\n isActive ? styles.active : ''\n }`}\n onclick=${onClick}\n tabindex=\"-1\"\n role=\"button\"\n >\n <div class=${styles.navItemContent}>\n <div class=${styles.imgContainer}>\n ${isLastStep\n ? FinalTickMark\n : html`\n ${!(isCompleted && !isActive)\n ? html`<img src=${logoUrl} />`\n : TickMark}\n `}\n </div>\n <div>${this.props.label}</div>\n </div>\n </div>\n `;\n }\n}\n\nexport { NavItem, NavItemProps };\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport { NavItem, NavItemProps } from './NavItem';\n\nimport styles from './styles.module.scss';\n\nexport type StepNavigationProps = {\n steps: NavItemProps[];\n currentStepIndex?: number;\n completedTillIndex?: number;\n} & StoreType;\n\ntype StepNavigationState = {\n templateName: string;\n};\n\nclass StepNavigation extends Component<\n StepNavigationProps,\n StepNavigationState\n> {\n changeStep = (stepIndex: number) => {\n this.props.gotoStep(stepIndex);\n };\n\n render() {\n const { stepState } = this.props;\n const step = stepState?.currentStep;\n\n return html`\n <div class=${styles.navigation}>\n <div>\n ${this.props.stepState &&\n html`\n ${this.props.stepState?.steps.map(\n (el, idx) =>\n html` <${NavItem}\n label=${el.type !== 'CONFIRMATION'\n ? el.title\n : 'Confirmation'}\n logoUrl=${el.type !== 'CONFIRMATION' && el.iconUrl}\n isCompleted=${el.isCompleted}\n isActive=${step?.type !== 'CONFIRMATION' &&\n el.type !== 'CONFIRMATION' &&\n stepState.stepIndex === idx}\n isDisabled=${Number(stepState?.stepIndex) < idx}\n isLastStep=${false}\n onClick=${() => this.changeStep(idx)}\n />`,\n )}\n `}\n <${NavItem}\n label=\"Confirmation\"\n isCompleted=${true}\n isActive=${step !== undefined &&\n stepState?.stepIndex === stepState?.steps.length}\n isDisabled=${step !== undefined &&\n stepState?.stepIndex !== stepState?.steps.length}\n isLastStep=${true}\n onClick=${() => this.changeStep(stepState?.steps.length ?? 0)}\n />\n </div>\n </div>\n `;\n }\n}\n\nStepNavigation.defaultProps = {\n currentStepIndex: -1,\n completedTillIndex: -1,\n};\n\nexport default connect<\n StepNavigationProps,\n StepNavigationState,\n StoreType,\n unknown\n>(\n 'stepState',\n actionFunctions,\n)(StepNavigation);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { IntegryStep, TemplateStep } from '@/interfaces';\nimport Step from '@/features/templates/Step';\nimport { Button, ButtonTypes } from '@/components/Button';\nimport { IntegryAPI } from '@/modules/api';\nimport StepNavigation from '@/features/common/StepNavigation';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport AppContext from '@/contexts/AppContext';\nimport AuthSelector from '@/features/common/AuthSelector';\nimport { IntegrySDKEvents, TemplateListingRenderModes } from '@/types';\nimport { Loader } from '@/components/Loader';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\n\nimport styles from './styles.module.scss';\n\nexport type StepsPropsType = {\n steps: IntegryStep[];\n layout: TemplateListingRenderModes;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n} & StoreType;\n\ntype StepsStateType = {\n selectedAuthStep: number | null;\n loading: boolean;\n};\n\nclass Steps extends Component<\n StepsPropsType,\n StepsStateType & Record<string, unknown>\n> {\n static contextType = AppContext;\n\n constructor(props: StepsPropsType) {\n super(props);\n this.state = {\n loading: false,\n selectedAuthStep: null,\n };\n }\n\n private createIntegration = () => {\n const { stepMapping, stepDataMapping } = this.props;\n console.info(stepMapping);\n this.setState({ loading: true });\n const payload = {\n name: 'My new integration',\n notification_email: '',\n template: Number(this.props.genericData.templateId),\n bundle_id: Number(this.props.genericData.bundleId),\n steps: Object.keys(stepMapping).map((el) => ({\n id: stepMapping[el].step.id,\n authorization: Number(stepMapping[el].selectedAuthId),\n template_step: stepMapping[el].step.id,\n app_user_data: stepMapping[el].step.template_fields.map((tField) => ({\n id: tField.id,\n value:\n (stepDataMapping[stepMapping[el].step.id][tField.id].value ||\n stepDataMapping[stepMapping[el].step.id][tField.id].value ===\n '') &&\n !stepDataMapping[stepMapping[el].step.id][tField.id].objectValue\n ? `${stepDataMapping[stepMapping[el].step.id][tField.id].value}`\n : JSON.stringify(\n stepDataMapping[stepMapping[el].step.id][tField.id]\n .objectValue,\n ),\n template_field: tField.id,\n })),\n })),\n };\n console.info(payload);\n this.context.apiHandler\n .saveIntegration(payload)\n .then((res: unknown) => {\n console.info(res);\n this.setState({ loading: false });\n })\n .catch((err: unknown) => console.error(err));\n };\n\n private handleAuthSelected = (\n authId: number,\n stepId: number,\n isVerified: boolean,\n ) => {\n const dependentSteps = this.props.stepMapping[stepId].step.template_fields\n .filter((el) => el.activity_field && el.activity_field.is_dynamic)\n .map((el) => el.id);\n // reset all dynamic steps if auth changes\n this.props.setStepAuthorization(stepId, authId, isVerified, dependentSteps);\n };\n\n render() {\n let selectedStep: {\n step: TemplateStep;\n selectedAuthId: number | null;\n } | null = null;\n const { stepState } = this.props;\n const { currentStep, stepIndex, steps } = stepState;\n\n let shouldShowLastStep = false;\n let shouldShowBackButton = false;\n let isStepValid = false;\n let showStepValidation = false;\n if (stepIndex > -1 && currentStep?.type !== 'CONFIRMATION') {\n selectedStep = this.props.stepMapping[Number(currentStep?.stepId)];\n\n shouldShowLastStep = false;\n shouldShowBackButton = this.props.stepState.stepIndex > 0;\n isStepValid = currentStep?.isValid ?? false;\n showStepValidation = stepState.showValidation;\n } else if (\n currentStep?.type === 'CONFIRMATION' &&\n stepIndex === steps.length\n ) {\n shouldShowLastStep = true;\n }\n\n return html`\n <div class=${styles.stepsWrap}>\n <div class=${styles.stepsContainer}>\n <${StepNavigation}\n steps=${this.props.steps?.map((el) => ({\n label: el.title,\n logoUrl: el.activity.app.icon_url,\n }))}\n currentStepIndex=${-1}\n completedTillIndex=${-1}\n ><//>\n </div>\n <div class=${styles.stepContainer}>\n <div class=${styles.stepInfo}>\n ${shouldShowLastStep\n ? html`\n <svg\n width=\"25\"\n height=\"25\"\n viewBox=\"0 0 25 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"12.5\"\n cy=\"12.5\"\n r=\"11.75\"\n fill=\"white\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M17.2209 9.16699L11.3907 15.8337L8.33203 12.3361\"\n stroke=\"#2ECC71\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n <div>Confirmation</div>\n `\n : html`\n <!-- <img src=${selectedStep?.step.activity.app.icon_url} />\n <div>${selectedStep?.step.title}</div> -->\n `}\n </div>\n\n <div class=${styles.top}>\n ${shouldShowLastStep\n ? html`\n <div class=${styles.save}>\n Your integration is ready to be enabled. Click “Save” to\n continue.\n </div>\n `\n : html`\n ${selectedStep &&\n html`\n ${currentStep?.type === 'AUTH'\n ? html`\n <div class=${styles.stepWrap}>\n <${AuthSelector}\n stepId=${selectedStep.step.id}\n apiHandler=${this.context.apiHandler}\n showErrors=${showStepValidation}\n onAuthSelected=${(\n authId: number,\n isVerified: boolean,\n ) =>\n this.handleAuthSelected(\n authId,\n Number(selectedStep?.step.id),\n isVerified,\n )}\n >\n <//>\n </div>\n `\n : html`\n <${Step}\n step=${selectedStep?.step}\n stepType=${currentStep?.type}\n showStepValidation=${showStepValidation}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n />\n `}\n `}\n `}\n </div>\n <div class=${styles.bottom}>\n <div class=${styles.buttons}>\n ${shouldShowBackButton &&\n html`\n <${Button}\n label=\"Back\"\n onClick=${() => this.props.gotoPreviousStep()}\n type=${ButtonTypes.SECONDARY}\n ><//>\n `}\n ${shouldShowLastStep\n ? html`\n ${this.state.loading\n ? html`<${Loader} />`\n : html`\n <${Button}\n label=\"Save\"\n onClick=${() => this.createIntegration()}\n ><//>\n `}\n `\n : html`\n <${Button}\n label=\"Next\"\n disabled=${!isStepValid}\n onClick=${() =>\n isStepValid\n ? this.props.gotoNextStep()\n : this.props.showStepValidationState()}\n ><//>\n `}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default connect<StepsPropsType, StepsStateType, StoreType, unknown>(\n ['stepState', 'genericData', 'stepMapping', 'stepDataMapping'],\n actionFunctions,\n)(Steps);\n","import { html, Component } from 'htm/preact';\nimport { connect } from 'unistore/preact';\nimport { TemplateResponse } from '@/interfaces';\nimport Steps from '@/features/templates/Steps';\nimport { IntegryAPI } from '@/modules/api';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport { Loader } from '@/components/Loader';\nimport { IntegrySDKEvents } from '@/types';\nimport { StoreType } from '@/types/store';\nimport { actionFunctions } from '@/store';\nimport { notEmpty } from '@/types/utils';\n\nimport styles from './styles.module.scss';\n\ninterface TemplateFormProps extends StoreType {\n templateId: number;\n apiHandler: IntegryAPI;\n eventEmitter: EventEmitter<IntegrySDKEvents>;\n}\n\ninterface TemplateState {\n loading: boolean;\n template: TemplateResponse | null;\n}\n\nclass TemplateForm extends Component<TemplateFormProps, TemplateState> {\n constructor() {\n super();\n this.state = {\n loading: true,\n template: null,\n };\n }\n\n componentDidMount() {\n this.props.apiHandler\n .getTemplate(this.props.templateId)\n .then((data) => {\n if (data)\n Promise.all(\n data.steps.map((el) =>\n this.props.apiHandler.getTemplateStep(Number(el.id)),\n ),\n )\n .then((res) => {\n this.setState({ template: data, loading: false });\n this.props.setSteps(res.filter(notEmpty));\n this.props.setStepMapping(res.filter(notEmpty));\n this.props.setParentChildMapping(res.filter(notEmpty));\n this.props.setGenericData({\n templateId: Number(this.props.templateId),\n });\n })\n .catch((err) => console.error(err));\n })\n .catch((err) => {\n throw new Error(err);\n });\n }\n\n render() {\n const { template } = this.state;\n return html`\n <div>\n ${this.state.loading\n ? html`<${Loader} //>`\n : html`\n <div class=${styles.header}>\n <img src=${template?.branding_app.icon_url} width=\"40\" />\n <div>\n <div class=${styles.name}>${template?.name}</div>\n <div class=${styles.description}>\n ${template?.description}\n </div>\n </div>\n </div>\n\n <${Steps}\n steps=${template?.steps}\n apiHandler=${this.props.apiHandler}\n eventEmitter=${this.props.eventEmitter}\n />\n `}\n </div>\n `;\n }\n}\n\nexport default connect<TemplateFormProps, TemplateState, StoreType, unknown>(\n '',\n actionFunctions,\n)(TemplateForm);\n","import { html, Component } from 'htm/preact';\nimport { TemplateListingRenderModes } from '@/types';\n\nimport style from './styles.module.scss';\n\nexport type TemplateProps = {\n imgUrl: string;\n name: string;\n description: string;\n tags: string;\n layout: TemplateListingRenderModes;\n onClick: () => void;\n};\n\ntype TemplateStateType = {\n templateName: string;\n};\n\nclass Template extends Component<\n TemplateProps,\n TemplateStateType & Record<string, unknown>\n> {\n constructor(props: TemplateProps) {\n super(props);\n this.state = {\n templateName: this.props.name,\n };\n }\n\n // Adding the this argument restricts binding\n static handleClick(this: HTMLButtonElement, event: MouseEvent) {\n event.preventDefault();\n if (event.target instanceof HTMLElement) {\n console.info(event.target.localName);\n }\n }\n\n handleClick = () => {\n console.info(this.props.name);\n };\n\n render() {\n return html`\n <div\n onclick=${this.props.onClick}\n class=\"${this.props.layout === TemplateListingRenderModes.LIST\n ? style.template_list_view\n : style.template_grid_view} ${'integry-container_Template'}\"\n >\n <div>\n <img src=${this.props.imgUrl} />\n <p class=${style.name}>${this.state.templateName}</p>\n <p class=${style.description}>${this.props.description}</p>\n </div>\n ${this.props.tags.length > 0 &&\n html`\n <div class=${style.tags}>\n ${this.props.tags\n .split(',')\n .map((el) => html` <div class=${style.tag}>${el}</div> `)}\n </div>\n `}\n </div>\n `;\n }\n}\n\nexport { Template };\n","import { html, Component } from 'htm/preact';\n\nimport styles from './styles.module.scss';\n\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nclass Modal extends Component<ModalProps> {\n render() {\n const { isOpen } = this.props;\n return html`\n <div\n class=${`${styles.modal} ${isOpen ? `${styles.open}` : ''}`}\n aria-labelledby=\"modal-title\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <div class=${styles.modalContainer}>\n <div class=${styles.inset} aria-hidden=\"true\"></div>\n\n <span class=${styles.span} aria-hidden=\"true\"></span>\n\n <div\n class=${`${styles.contentWrap} ${isOpen ? `${styles.open}` : ''}`}\n >\n <div class=${styles.content}>\n <div\n onclick=${this.props.onClose}\n class=${styles.close}\n >\n <svg\n width=\"20\"\n height=\"22\"\n viewBox=\"0 0 20 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.2426 16.1822L5.75732 6.86328\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M14.2426 6.86328L5.75732 16.1822\"\n stroke=\"#999999\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n ${this.props.isOpen && html` ${this.props.children} `}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport { Modal };\n","import { html, Component } from 'htm/preact';\nimport { Provider } from 'unistore/preact';\nimport { Store } from 'unistore';\nimport TemplatesView from '@/features/templates/TemplatesView';\nimport TemplateForm from '@/features/templates/TemplateForm';\nimport { Template } from '@/features/templates/Template';\nimport { Modal } from '@/components/Modal';\nimport AppContext from '@/contexts/AppContext';\nimport { TemplateListingRenderModes } from '@/types';\nimport { createSDKStore } from '@/store';\nimport { State } from '@/types/store';\n\n// import '../../styles/index.scss';\nimport styles from './styles.module.scss';\n\ninterface ContainerProps {\n bundleId: string;\n layout: TemplateListingRenderModes;\n}\n\ninterface ContainerState {\n isModalOpen: boolean;\n templateId: number | null;\n}\n\nclass Container extends Component<ContainerProps, ContainerState> {\n static contextType = AppContext;\n\n templateComponent: typeof Template | undefined;\n\n templateListComponent: typeof TemplatesView | undefined;\n\n store: Store<State>;\n\n constructor() {\n super();\n this.state = {\n isModalOpen: false,\n templateId: null,\n };\n this.store = createSDKStore();\n }\n\n componentWillMount() {\n // this.templateComponent = this.props.customTemplates?.template || Template;\n this.templateComponent = Template;\n\n // if (this.props.customTemplates?.templateList) {\n // this.templateListComponent = this.props.customTemplates.templateList;\n // } else this.templateListComponent = TemplatesView;\n this.templateListComponent = TemplatesView;\n }\n\n onTemplateClick = (templateId: number) => {\n this.setState({ isModalOpen: true, templateId });\n };\n\n render() {\n return html`\n <>\n <${Provider} store=${this.store}>\n <div class=\"${styles['integry-container']} ${'integry-container'}\">\n <${this.templateListComponent}\n layout=${this.props.layout}\n bundleId=${this.props.bundleId}\n templateContainerTemplate=${this.templateComponent}\n apiHandler=${this.context.apiHandler}\n eventEmitter=${this.context.eventEmitter}\n onTemplateClick=${this.onTemplateClick}\n >\n </div>\n <${Modal} \n isOpen=${this.state.isModalOpen} \n onClose=${() =>\n this.setState({\n isModalOpen: false,\n templateId: null,\n })}\n > \n <${TemplateForm} \n apiHandler=${this.context.apiHandler}\n templateId=${this.state.templateId} \n />\n <//>\n <//>\n </>\n `;\n }\n}\n\nexport { Container };\n","import { EventSet, EventEmitterType, HandlerRunner } from '../types';\n\nexport default abstract class EventRunnerAbstract<\n ESet extends EventSet,\n EventName extends keyof ESet\n> implements HandlerRunner<ESet, EventName> {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n protected emitter: EventEmitterType<ESet>,\n protected handler: ESet[EventName],\n ) {}\n\n getHandler(): ESet[EventName] {\n return this.handler;\n }\n\n abstract run(\n eventName: EventName,\n ...args: Parameters<ESet[EventName]>\n ): void;\n}\n","import { EventSet } from '../types';\nimport EventRunnerAbstract from './abstract';\n\nexport default class EventRunnerDefault<\n ESet extends EventSet,\n EventName extends keyof ESet\n> extends EventRunnerAbstract<ESet, EventName> {\n run(_eventName: EventName, ...args: Parameters<ESet[EventName]>): void {\n this.handler.apply(null, args);\n }\n}\n","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import { EventSet, EventEmitterType } from '../types';\nimport EventRunnerDefault from './default';\n\nexport default class EventRunnerNTimes<\n ESet extends EventSet,\n EventName extends keyof ESet\n> extends EventRunnerDefault<ESet, EventName> {\n private i = 0;\n\n constructor(\n emitter: EventEmitterType<ESet>,\n handler: ESet[EventName],\n private total = 1,\n ) {\n super(emitter, handler);\n if (this.total < 1) {\n throw new Error(`{total} can not be less than 1`);\n }\n }\n\n run(eventName: EventName, ...args: Parameters<ESet[EventName]>): void {\n super.run(eventName, ...args);\n // eslint-disable-next-line no-plusplus\n if (++this.i >= this.total) {\n this.emitter.off(eventName, this.handler);\n }\n }\n}\n","// https://github.com/infinitum11/inf-ee\n\nimport EventRunnerDefault from './runners/default';\nimport EventRunnerNTimes from './runners/ntimes';\nimport {\n EventListenerStorage,\n EventSet,\n EventEmitterType,\n HandlerRunner,\n} from './types';\n\nexport class EventEmitter<ESet extends EventSet>\n implements EventEmitterType<EventSet> {\n private events: EventListenerStorage<ESet> = Object.create(null);\n\n on<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n this.addEventListener(eventName, new EventRunnerDefault(this, handler));\n }\n\n once<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n this.addEventListener(eventName, new EventRunnerNTimes(this, handler, 1));\n }\n\n off<EventName extends keyof ESet>(\n eventName: EventName,\n handler: ESet[EventName],\n ): void {\n const events = this.events[eventName];\n if (!events?.length) {\n return;\n }\n this.events[eventName] = events.filter((h) => h.getHandler() !== handler);\n }\n\n offAll(): void {\n Object.keys(this.events).forEach((eventName) => {\n const events = this.events[eventName];\n if (events) {\n events.length = 0;\n }\n });\n this.events = Object.create(null);\n }\n\n emit<EventName extends keyof ESet>(\n eventName: EventName,\n ...args: Parameters<ESet[EventName]>\n ): void {\n const events = this.events[eventName];\n if (events) {\n events.forEach((handler) => handler.run(eventName, ...args));\n }\n }\n\n private addEventListener<EventName extends keyof ESet>(\n eventName: EventName,\n runner: HandlerRunner<ESet, EventName>,\n ) {\n const events = this.events[eventName];\n if (Array.isArray(events)) {\n events.push(runner);\n } else {\n this.events[eventName] = [runner];\n }\n }\n}\n","import { html, render } from 'htm/preact';\nimport { Provider } from 'unistore/preact';\n\nimport { IntegryAPI } from '@/modules/api';\nimport {\n InitConfig,\n ConfigWithObject,\n ConfigWithUrlParams,\n APIConfig,\n PreviewPayload,\n} from '@/interfaces/index';\n\nimport { HMAC } from '@/extensions/HMAC';\n\n// builtin templates\nimport Wrapper from '@/features/appdir/Wrapper';\nimport { Container } from '@/features/common/Container';\n// import { Template } from '@/features/templates/Template';\n// import TemplatesView from '@/features/templates/TemplatesView';\n// import { TemplateSearch } from '@/features/templates/TemplateSearch';\nimport { EventEmitter } from '@/modules/event-emitter';\nimport AppContext from '@/contexts/AppContext';\n\nimport {\n IntegrySDKEvents,\n TemplateFormRenderModes,\n TemplateListingRenderModes,\n} from '@/types';\n\nimport { createSDKStore } from '@/store';\nimport isBrowser from '@/utils/isBrowser';\n\n// const Widgets = { Template, TemplatesView, TemplateSearch };\nconst Helpers = { getAuthHash: HMAC };\n\n// eslint-disable-next-line no-underscore-dangle\nconst __buildVersion__ = '';\n\n/**\n * Integry JS SDK\n */\nexport class IntegryJS {\n static SDK_VERSION = __buildVersion__;\n\n private config: ConfigWithObject & ConfigWithUrlParams;\n\n private apiHandler: IntegryAPI;\n\n // private templateContainer: HTMLElement | null;\n\n // private renderMode: TemplateFormRenderModes | null = null;\n\n eventEmitter = new EventEmitter<IntegrySDKEvents>();\n\n // allow customers to use template tagging\n // static html = html;\n\n // static Component = Component;\n\n static RenderModes: typeof TemplateFormRenderModes = TemplateFormRenderModes;\n\n // static Widgets: {\n // Template: typeof Template;\n // TemplatesView: typeof TemplatesView;\n // TemplateSearch: typeof TemplateSearch;\n // };\n\n static Helpers: {\n getAuthHash: (key: string, message: string) => Promise<string>;\n };\n\n constructor(config: ConfigWithObject | ConfigWithUrlParams) {\n let integryAPIParams: APIConfig;\n\n let apiConfig;\n\n if (config.env === 'staging') {\n apiConfig = {\n oauthVerifyPath: 'auth/verify',\n endpointsUrl: 'https://integry-app.appspot.com',\n baseUrl: 'https://beta.integry.io',\n baseUrlv2: 'https://beta.integry.io/v2',\n apiKey: config.xIntegryConfig?.appAuth.apiKey,\n };\n } else {\n apiConfig = {\n oauthVerifyPath: 'auth/verify',\n endpointsUrl: 'https://integry-app.appspot.com',\n baseUrl: 'https://app.integry.io',\n baseUrlv2: 'https://app.integry.io/v2',\n apiKey: config.xIntegryConfig?.appAuth.apiKey,\n };\n }\n\n if ('appKey' in config) {\n integryAPIParams = {\n ...apiConfig,\n appKey: config.appKey,\n hash: config.hash,\n userId: config.userId,\n };\n this.config = {\n ...apiConfig,\n appKey: config.appKey,\n hash: config.hash,\n userId: config.userId,\n bundleId: config.bundleId,\n };\n } else {\n const urlparams = this.getAuthParamsFromUrl() || {};\n integryAPIParams = {\n ...apiConfig,\n ...urlparams,\n };\n this.config = {\n ...apiConfig,\n ...urlparams,\n };\n }\n this.apiHandler = new IntegryAPI(integryAPIParams);\n\n // this.templateContainer = null;\n }\n\n /**\n *\n * @param length Length of string to randomly generate\n * @returns {string} Returns a random string\n */\n private getRandomTemplateId = (length: number): string => {\n const result = [];\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n const charactersLength = characters.length;\n for (let i = 0; i < length; i += 1) {\n result.push(\n characters.charAt(Math.floor(Math.random() * charactersLength)),\n );\n }\n return `x-integry-modal-${result.join('')}`;\n };\n\n private getAuthParamsFromUrl = (): ConfigWithObject => {\n const urlParams =\n isBrowser() && new URLSearchParams(window.location.search);\n if (urlParams) {\n const userId = urlParams.get('user_id');\n const appKey = urlParams.get('app_key');\n const hash = urlParams.get('hash');\n const bundleId = urlParams.get('bundle_id');\n if (!userId || !appKey || !hash || !bundleId) {\n throw new Error(\n `The following auth variables are undefined: ${\n !userId ? 'userId' : ''\n } ${!appKey ? 'appKey' : ''} ${!hash ? 'hash' : ''} ${\n !bundleId ? 'bundleId' : ''\n }`,\n );\n }\n return {\n userId,\n appKey,\n hash,\n bundleId,\n };\n }\n return {\n userId: '',\n appKey: '',\n hash: '',\n bundleId: '',\n };\n };\n\n /**\n * Prints version number of this SDK version\n */\n public printVersion = (): void => {\n console.info(`@integry/sdk@${IntegryJS.SDK_VERSION}`);\n };\n\n public getTemplatesList = async () =>\n this.apiHandler.getTemplateListing(this.config.bundleId);\n\n /**\n *\n * @param renderMode\n * @param templateContainerId\n * @returns {HTMLElement | null}\n */\n private setupTemplateFormDestination = (\n renderMode: TemplateFormRenderModes,\n templateContainerId?: string,\n ): HTMLElement | null => {\n let el: HTMLElement | null = null;\n\n if (templateContainerId) {\n if (\n renderMode === TemplateFormRenderModes.MODAL ||\n renderMode === TemplateFormRenderModes.INLINE\n ) {\n throw new Error(\n 'The `templateContainerId` property is unsupported when render mode is set to \"MODAL\" or \"INLINE\"',\n );\n }\n el = document.getElementById(templateContainerId);\n if (!el) {\n console.warn(\n `The template form render target with id ${templateContainerId} was not found`,\n );\n // throw new Error('The template form render target was not found');\n }\n }\n\n switch (renderMode) {\n case TemplateFormRenderModes.MODAL:\n el = document.createElement('div');\n el.id = this.getRandomTemplateId(8);\n document.body.appendChild(el);\n return el;\n case TemplateFormRenderModes.INLINE:\n return null;\n case TemplateFormRenderModes.DETACHED:\n return el;\n case TemplateFormRenderModes.CUSTOM:\n return el;\n default:\n throw new Error(\n `Unsupported renderMode ${renderMode} configuration, please provide one of ${JSON.stringify(\n Object.keys(TemplateFormRenderModes),\n )}`,\n );\n }\n };\n\n /**\n * Render the template form we ship\n * @param templateId\n */\n public renderTemplateForm = (\n templateId: string,\n templateContainerId: string,\n ): void => {\n const targetEl = document.getElementById(templateContainerId);\n if (!targetEl) {\n console.warn(\n `Integry template form render target with id ${templateContainerId} was not found`,\n );\n return;\n }\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: false,\n }}\n >\n <${Provider} store=${store}>\n <${Wrapper}\n bundleId=${this.config.bundleId}\n templateId=${templateId}\n >\n <//>\n <//>\n <//>\n `,\n targetEl,\n );\n };\n\n /**\n * Render the template form we ship\n * @param templateId\n */\n public renderPreview = (params: PreviewPayload): void => {\n const { templateData, metadata, previewContainerId } = params;\n const targetEl = document.getElementById(previewContainerId);\n if (!targetEl) {\n console.warn(\n `Integry template form render target with id ${previewContainerId} was not found`,\n );\n return;\n }\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: true,\n }}\n >\n <${Provider} store=${store}>\n <${Wrapper}\n bundleId=${this.config.bundleId}\n isPreviewMode=${true}\n templatePreviewData=${templateData}\n previewMetadata=${metadata}\n >\n <//>\n <//>\n <//>\n `,\n targetEl,\n );\n };\n\n /**\n *\n * @param initConfig\n */\n public init = (initConfig: InitConfig) => {\n const { containerId, templateContainerId, renderMode } = initConfig;\n\n const target = document.getElementById(containerId);\n\n if (!renderMode) {\n throw new Error('Template form render mode needs to be defined');\n }\n\n this.setupTemplateFormDestination(renderMode, templateContainerId);\n\n if (target) {\n const layout =\n (target.getAttribute(\n 'x-integry-layout',\n ) as TemplateListingRenderModes) || TemplateListingRenderModes.LIST;\n // this.renderMode = renderMode;\n const store = createSDKStore();\n\n render(\n html`\n <${AppContext.Provider}\n value=${{\n apiHandler: this.apiHandler,\n eventEmitter: this.eventEmitter,\n isPreviewMode: false,\n }}\n >\n <${Provider} store=${store}>\n <${Container} bundleId=${this.config.bundleId} layout=${layout}>\n <//>\n <//>\n <//>\n `,\n target,\n );\n } else {\n console.warn(\n `Integry SDK render target with id ${containerId} was not found`,\n );\n // throw new Error('The render target was not found');\n }\n };\n\n /**\n * Destroy SDK instance and cleanup store\n */\n public destroy = () => {\n try {\n this.eventEmitter.offAll();\n } catch (error) {\n console.error('There was an error unsubscribing from all events');\n }\n };\n}\n\nexport { Helpers };\n"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","TypeError","_typeof","Symbol","iterator","constructor","prototype","Op","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","isGeneratorFunction","genFun","ctor","displayName","name","AsyncIterator","PromiseImpl","invoke","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","toString","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","reverse","pop","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","n","t","s","r","e","u","h","p","a","assign","Map","m","get","set","replace","l","bind","url","options","request","XMLHttpRequest","all","headers","response","ok","status","statusText","responseURL","text","responseText","json","JSON","parse","blob","Blob","clone","entries","toLowerCase","has","const","open","onload","getAllResponseHeaders","onerror","withCredentials","credentials","setRequestHeader","send","body","_setPrototypeOf","o","_inherits","subClass","superClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","isNativeReflectConstruct","Function","_wrapNativeSuper","_cache","indexOf","Wrapper","IntegryAPIError","errorMessage","_this","statusCode","ResponseHandler","debugMode","parsedResponse","console","log","data","IntegryAPI","config","getTemplate","templateId","URL","baseUrlv2","addUrlSearchParams","app_key","appKey","hash","user_id","userId","self_api_key","apiKey","fetch","getAuthUrl","authorizationTypeId","baseUrl","getTemplateStep","stepId","verifyOAuth","authId","oauthVerifyPath","authorization_id","deleteAuth","callDynamicDataEndpoint","endpointData","getTemplateListing","bundleId","saveIntegration","activate","stringify","updateIntegration","integrationId","deleteIntegration","toggleIntegration","getIntegrationStatuses","integrationIds","_arrayLikeToArray","arr","len","arr2","Array","_unsupportedIterableToArray","minLen","arrayLikeToArray","from","test","_toConsumableArray","isArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","message","k","g","str","Uint8Array","unescape","encodeURIComponent","map","c","charCodeAt","crypto","subtle","importKey","sign","b","padStart","join","_objectWithoutProperties","source","excluded","target","sourceKeys","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_slicedToArray","arrayWithHoles","_i","_s","_e","_arr","_n","_d","iterableToArrayLimit","nonIterableRest","paramList","objKey","searchParams","append","currentIndex","currentComponent","prevRaf","afterPaintEffects","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","getHookState","index","_hook","hooks","__hooks","_list","_pendingEffects","useState","initialState","reducer","init","hookState","_component","_value","invokeOrReturn","nextValue","action","setState","useReducer","useEffect","callback","argsChanged","_args","useRef","initialValue","useMemo","current","factory","_factory","useContext","provider","_id","_defaultValue","sub","props","flushAfterPaintEffects","some","component","_parentDom","invokeCleanup","invokeEffect","hook","_cleanup","oldArgs","newArgs","f","_defineProperties","descriptor","_createClass","protoProps","staticProps","vnode","requestAnimationFrame","raf","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","_renderCallbacks","filter","cb","StructError","failure","failures","cached","rest","path","msg","_cached","createContext","let","stepState","steps","currentStep","stepIndex","showValidation","allStepsCompleted","genericData","templateApp","isPreviewMode","stepMapping","stepDataMapping","parentChildMapping","actionFunctions","storeSnapshot","setSteps","templateSteps","parsedSteps","element","hide_authorization","id","title","activity","app","iconUrl","icon_url","isCompleted","isCurrentlyOpen","requiredFields","invalidFields","isValid","is_visible","template_fields","hasVisibleTemplateFields","el","is_required","field","default_value","reduce","showStepValidationState","hideStepValidationState","gotoNextStep","newIndex","Number","step","updatedStep","gotoPreviousStep","gotoStepInPreview","previewMetadata","stepIndexToNavigateTo","findIndex","gotoStep","oldStepIndex","stepToNavigateTo","_updatedStep","getStepState","getState","setGenericData","setTemplateApp","setStepMapping","authorizations","authorization_type","_step$authorization_t2","authorizationId","userIdentity","user_identity","authType","disableLink","disable_link","isErrored","isVerified","isAuthVerified","selectedAuthId","_step$authorization_t4","step_authorization","acc","curr","fieldId","machineName","activity_field","_curr$activity_field","machine_name","isRequired","isVisible","setActivityOutputData","activityOutputData","setDynamicFieldData","dynamicFieldData","setParentChildMapping","_curr$activity_field2","childFields","child_fields","_curr$activity_field4","parentFields","parent_fields","_curr$activity_field6","addAuthorization","params","authData","removeAuthorization","toggleVerifyAuthorizationFlag","isVerifying","authObjIndex","toggleDeleteAuthorizationFlag","isDeleting","setStepAuthId","setStepAuthorization","fieldsToReset","stepFromMapping","latestStepState","didFetchStatus","setStepFieldData","setStepMappingData","objectValue","_state$stepDataMappin2","createSDKStore","store","extension","__REDUX_DEVTOOLS_EXTENSION__","top","ignoreState","devtools","connect","subscribe","payload","actionName","warn","createStore","TemplatePreviewDataType","number","string","description","color","publishing_status","category","array","app_type","optional","action_url","nullable","created_at","date","tags","branding_app","button_text","is_wizard","boolean","size","weight","endpoint","auth_required","total_fields","activity_output","activity_output_url","dynamic_field_data_endpoint","app_user","app_user_id","integration_count","is_sandbox_enabled","authorization_url_sandbox","is_hidden","summary","placeholder","is_dynamic","data_src","data_src_endpoint","dynamic_field_src","auto_machine_name","dynamic_field_src_endpoint","regex","is_searchable","child_field","child_field_value","long_description","regex_msg","allow_multiple_authorizations","is_self_step","auth_description","is_custom_machine_name","POSITIVE_INFINITY","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Loader","html","styles","notEmpty","classNames","classes","argType","inner","module","exports","default","HintWrap","hint","hintWidth","setHintWidth","position","getBoundingClientRect","width","left","targetBoundingRect","rootBoundingRect","bottom","height","template","content","Hint","attribute","setContent","containerElement","setContainerElement","setTargetBoundingRect","onRefChange","useCallback","node","addEventListener","Element","hasAttribute","getAttribute","dismissOnClick","children","ButtonTypes","Button","label","PRIMARY","backgroundColor","disabled","tooltip","onClick","restOfProps","cx","SECONDARY","LINK","borderColor","ErrorPage","errorPayload","onDismiss","stack","TickMark","FinalTickMark","NavItem","Component","logoUrl","isActive","isDisabled","isLastStep","AppContext","changeStep","idx","Radio","isChecked","handleChange","currentTarget","HTMLInputElement","newValue","ErrorMessage","Label","includes","Resend","AuthorizationRow","handleReverify","handleDelete","AuthSelector","verifyAuth","authIndex","auth","onAuthSelected","isLoading","apiHandler","res","catch","finally","onAuthResponseReceived","messageEvent","activity_name","already_exists","getAuthStatus","getError","openAuthWindow","selectedStep","windowName","win","w","y","outerHeight","screenY","x","outerWidth","screenX","openPopupWindow","fetched","isBrowser","prevProps","removeEventListener","showErrors","_this2","contextType","ListBoxItem","isSelected","ListBox","handler","items","passedItems","isOpen","isDynamic","onChange","showStepValidation","responseMapper","input","setItems","loading","setLoading","isDropdownOpen","setIsDropdownOpen","dropdownRef","listener","event","HTMLElement","contains","endpointUrl","toggleDropdown","getSelectedItem","Checkbox","changedId","checked","LargeLoader","Select","ariaLabel","showUnselectedValue","unselectedText","HTMLSelectElement","val","rootDataLoading","setRootDataLoading","dynamicDataLoading","setDynamicDataLoading","dynamicItems","setDynamicItems","dynamicListId","setDynamicListId","dynamicFieldIdRef","mappingCountRef","dynamicFieldToRender","templateFields","textFieldsToRender","isNotDynamic","mappingField","valuesMapField","valuesMap","_mappingField$parentF","parentFieldId","setRootStepData","fetchDynamicFieldData","getVisibleFieldsDataOnRootStep","fields","currentItem","triggerStepId","additionalData","stepData","templateField","dynamicEndpoint","_templateField$activi","fieldsData","_props$genericData$te","_props$genericData$te2","ele","_props$dynamicFieldDa","sample","_props$activityOutput2","item","_ele$value","activityOutputObject","_props$activityOutput","onMappingValueSelected","BaseInput","control","Input","inputValue","getOwnPropertyDescriptor","arrayPop","unapply","stringReplace","match","stringTrim","String","trim","typeErrorCreate","Step","areParentValuesFilled","valid","parentField","doParentFieldsHaveValues","fieldInfo","parentFieldData","shouldShowStep","stepObject","shouldBeShown","isAuthSelected","stepIsOfType","textFieldParentHasValues","anyVisibleFields","dynamicField","shouldShowMapping","getMappingDataInput","fieldDynamicData","selectedStepData","_this2$props$stepMapp","_","__html","DOMPurify","sanitize","MappingUI","Steps","createIntegration","notification_email","bundle_id","authorization","template_step","app_user_data","tField","template_field","integration","eventEmitter","emit","handleAuthSelected","dependentSteps","selectedAuthStep","prevStepState","newStepState","_newStepState$steps$n2","stepType","_newStepState$steps$n4","shouldShowLastStep","shouldShowBackButton","isStepValid","_this$props$stepState2","_this$props$stepState4","_selectedStep","_this$props$stepState6","_this$props$stepState8","_selectedStep2","_selectedStep3","templateData","setTemplateData","customWrapper","templatePreviewData","validationErr","setValidationErr","errState","componentDidCatch","useErrorBoundary","sdkError","resetSdkError","assert","templateTitle","templateDescription","StepNavigation","_templateData$steps","root","UMD","isNode","preparedCache","preparedSearchCache","noResults","total","matchesSimple","matchesStrict","cleanup","clear","defaultScoreFn","max","score","getValue","prop","tmp","segs","split","isObj","fastpriorityqueue","add","poll","peek","replaceTop","q","fuzzysortNew","instanceOptions","fuzzysort","single","search","getPreparedSearch","getPrepared","allowTypo","algorithm","algorithmNoTypo","go","targets","searchLowerCode","prepareSearch","threshold","limit","resultsLen","limitedCount","targetsLen","scoreFn","keysLen","objResults","keyI","_targetLowerCodes","_nextBeginningIndexes","indexes","results","goAsync","canceled","iCurrent","startMs","Date","now","setImmediate","cancel","highlight","hOpen","hClose","highlighted","matchesIndex","opened","targetLen","matchesBest","char","substr","prepare","prepareLowerCodes","prepareSlow","prepareNextBeginningIndexes","targetPrepared","searchPrepared","searchLowerCodes","prepared","targetLowerCodes","searchLen","searchI","targetI","typoSimpleI","matchesSimpleLen","typoStrictI","successStrict","matchesStrictLen","nextBeginningIndexes","firstPossibleI","matchesBestLen","lastTargetI","strLen","lowerCodes","lower","prepareBeginningIndexes","beginningIndexes","beginningIndexesLen","wasUpper","wasAlphanum","targetCode","isUpper","isAlphanum","isBeginning","lastIsBeginning","lastIsBeginningI","new","TemplateSearch","onInput","resultCount","Tab","activeTab","TabBar","preSelectedTab","setActiveTab","onClickTabItem","child","Toggle","isToggled","TemplateFormRenderModes","TemplateListingRenderModes","IntegrationsList","onIntegrationDelete","integrations","task_execution","runs_count","last_execution_at","seconds","Math","floor","getTime","interval","find","count","isInteger","timeAgo","timezone","active","TemplatesView","filterTemplates","query","filteredTemplates","templates","keysResult","nameResult","tagsResult","Infinity","onTemplateClick","_this3","layout","LIST","templateContainerTemplate","preventDefault","localName","_this$props$stepState","defaultProps","currentStepIndex","completedTillIndex","stepsWrap","stepsContainer","_this$props$steps","stepContainer","stepInfo","save","stepWrap","_selectedStep4","buttons","TemplateForm","Template","handleClick","templateName","imgUrl","Modal","onClose","Container","isModalOpen","templateComponent","templateListComponent","Provider","EventRunnerAbstract","emitter","EventRunnerDefault","_eventName","_get","property","receiver","base","superPropBase","desc","EventRunnerNTimes","eventName","off","EventEmitter","events","getHandler","run","runner","Helpers","getAuthHash","IntegryJS","integryAPIParams","apiConfig","getRandomTemplateId","characters","charactersLength","random","getAuthParamsFromUrl","urlParams","URLSearchParams","location","printVersion","SDK_VERSION","getTemplatesList","setupTemplateFormDestination","renderMode","templateContainerId","MODAL","INLINE","getElementById","DETACHED","CUSTOM","renderTemplateForm","targetEl","render","renderPreview","metadata","previewContainerId","initConfig","containerId","destroy","offAll","env","endpointsUrl","xIntegryConfig","_config$xIntegryConfi","appAuth","_config$xIntegryConfi2","urlparams","RenderModes"],"mappings":"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"}
|
package/dist/umd/index.umd.d.ts
CHANGED
|
@@ -128,7 +128,7 @@ type Activity = {
|
|
|
128
128
|
auth_required: boolean;
|
|
129
129
|
total_fields: number;
|
|
130
130
|
app: App;
|
|
131
|
-
activity_output: string;
|
|
131
|
+
activity_output: string | null;
|
|
132
132
|
activity_output_url: string | null;
|
|
133
133
|
dynamic_field_data_endpoint: string | null;
|
|
134
134
|
};
|
|
@@ -167,7 +167,7 @@ interface TemplateField {
|
|
|
167
167
|
dynamic_field_src_endpoint: number | null;
|
|
168
168
|
regex: string | null;
|
|
169
169
|
is_searchable: boolean;
|
|
170
|
-
};
|
|
170
|
+
} | null;
|
|
171
171
|
title: string | null;
|
|
172
172
|
type: string;
|
|
173
173
|
placeholder: string | null;
|