@yoobic/yobi 8.3.0-44 → 8.3.0-47

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.
Files changed (69) hide show
  1. package/dist/cjs/{form-choice-helpers-b2ec494b.js → form-choice-helpers-e28efa04.js} +1 -1
  2. package/dist/cjs/yoo-card-feed.cjs.entry.js +2 -2
  3. package/dist/cjs/yoo-detail-bar.cjs.entry.js +1 -1
  4. package/dist/cjs/yoo-form-choice-button.cjs.entry.js +1 -1
  5. package/dist/cjs/yoo-form-choice-card.cjs.entry.js +1 -1
  6. package/dist/cjs/yoo-form-choice-chat.cjs.entry.js +1 -1
  7. package/dist/cjs/yoo-form-choice-image.cjs.entry.js +1 -1
  8. package/dist/cjs/yoo-form-choice-radio.cjs.entry.js +1 -1
  9. package/dist/cjs/yoo-form-connect.cjs.entry.js +2 -1
  10. package/dist/cjs/yoo-form-dynamic.cjs.entry.js +10 -9
  11. package/dist/cjs/yoo-form-swipe-cards.cjs.entry.js +1 -1
  12. package/dist/cjs/yoo-form-text-editor.cjs.entry.js +63 -45
  13. package/dist/cjs/yoo-form-todo-task-list.cjs.entry.js +1 -2
  14. package/dist/cjs/yoo-input-bar.cjs.entry.js +12948 -12743
  15. package/dist/cjs/yoo-login.cjs.entry.js +54 -63
  16. package/dist/cjs/yoo-scratch-card-creator.cjs.entry.js +1 -3
  17. package/dist/cjs/yoo-videoplayer-videojs.cjs.entry.js +3 -3
  18. package/dist/collection/components/form/form-choice/form-choice-helpers.js +1 -1
  19. package/dist/collection/components/form/form-connect/form-connect.js +2 -1
  20. package/dist/collection/components/form/form-dynamic/form-dynamic.js +10 -9
  21. package/dist/collection/components/form/form-swipe-cards/form-swipe-cards.css +1 -1
  22. package/dist/collection/components/form/form-todo-task-list/form-todo-task-list.js +1 -2
  23. package/dist/collection/components/form-creator/scratch-card-creator/scratch-card-creator.js +1 -3
  24. package/dist/collection/feature-communicate/feed/card-feed/components/sub-cards.js +2 -2
  25. package/dist/collection/feature-operate/campaign/detail-bar/detail-bar.js +3 -3
  26. package/dist/collection/feature-platform/login/login/login.css +120 -48
  27. package/dist/collection/feature-platform/login/login/login.js +25 -30
  28. package/dist/collection/feature-platform/login/login/parts/Header.js +15 -16
  29. package/dist/collection/feature-platform/login/login/parts/LoginForm.js +15 -18
  30. package/dist/collection/feature-platform/login/login/parts/LoginOptions.js +2 -2
  31. package/dist/design-system/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.js} +1 -1
  32. package/dist/design-system/yoo-card-feed.entry.js +3 -3
  33. package/dist/design-system/yoo-detail-bar.entry.js +1 -1
  34. package/dist/design-system/yoo-form-choice-button.entry.js +1 -1
  35. package/dist/design-system/yoo-form-choice-card.entry.js +1 -1
  36. package/dist/design-system/yoo-form-choice-chat.entry.js +1 -1
  37. package/dist/design-system/yoo-form-choice-image.entry.js +1 -1
  38. package/dist/design-system/yoo-form-choice-radio.entry.js +1 -1
  39. package/dist/design-system/yoo-form-connect.entry.js +2 -1
  40. package/dist/design-system/yoo-form-dynamic.entry.js +10 -9
  41. package/dist/design-system/yoo-form-swipe-cards.entry.js +1 -1
  42. package/dist/design-system/yoo-form-text-editor.entry.js +63 -45
  43. package/dist/design-system/yoo-form-todo-task-list.entry.js +1 -2
  44. package/dist/design-system/yoo-input-bar.entry.js +12948 -12743
  45. package/dist/design-system/yoo-login.entry.js +55 -64
  46. package/dist/design-system/yoo-scratch-card-creator.entry.js +1 -3
  47. package/dist/design-system/yoo-videoplayer-videojs.entry.js +3 -3
  48. package/dist/esm/{form-choice-helpers-800a6124.js → form-choice-helpers-b6936c42.js} +1 -1
  49. package/dist/esm/yoo-card-feed.entry.js +3 -3
  50. package/dist/esm/yoo-detail-bar.entry.js +1 -1
  51. package/dist/esm/yoo-form-choice-button.entry.js +1 -1
  52. package/dist/esm/yoo-form-choice-card.entry.js +1 -1
  53. package/dist/esm/yoo-form-choice-chat.entry.js +1 -1
  54. package/dist/esm/yoo-form-choice-image.entry.js +1 -1
  55. package/dist/esm/yoo-form-choice-radio.entry.js +1 -1
  56. package/dist/esm/yoo-form-connect.entry.js +2 -1
  57. package/dist/esm/yoo-form-dynamic.entry.js +10 -9
  58. package/dist/esm/yoo-form-swipe-cards.entry.js +1 -1
  59. package/dist/esm/yoo-form-text-editor.entry.js +63 -45
  60. package/dist/esm/yoo-form-todo-task-list.entry.js +1 -2
  61. package/dist/esm/yoo-input-bar.entry.js +12948 -12743
  62. package/dist/esm/yoo-login.entry.js +55 -64
  63. package/dist/esm/yoo-scratch-card-creator.entry.js +1 -3
  64. package/dist/esm/yoo-videoplayer-videojs.entry.js +3 -3
  65. package/dist/types/feature-platform/login/login/parts/LoginForm.d.ts +0 -1
  66. package/dist/types/feature-platform/login/login/parts/LoginOptions.d.ts +0 -1
  67. package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/custom-app/custom-app.interface.d.ts +10 -3
  68. package/dist/types/home/runner/work/yoobic-ng-6/yoobic-ng-6/design-system/stencil/.stencil/shared/interfaces/src/entities/form-field/form-field.interface.d.ts +1 -0
  69. package/package.json +1 -1
@@ -209,7 +209,6 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
209
209
  box-sizing: border-box;
210
210
  width: 100%;
211
211
  height: 100%;
212
- padding-bottom: var(--spacing-16, 1rem);
213
212
  }
214
213
  .outer-login-container h1, .outer-login-container h3 {
215
214
  font-weight: 900;
@@ -232,7 +231,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
232
231
  justify-content: center;
233
232
  box-sizing: border-box;
234
233
  width: 100%;
235
- padding: 8rem var(--spacing-24, 1.5rem) 0;
234
+ padding: 7.5rem var(--spacing-24, 1.5rem) 0;
236
235
  }
237
236
  .outer-login-container.ios .content-container {
238
237
  position: absolute;
@@ -255,35 +254,42 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
255
254
  }
256
255
 
257
256
  @media screen and (max-height: 699px) {
258
- .outer-login-container.keyboard-closed .content-container {
257
+ .outer-login-container:not(.emulated).keyboard-closed .content-container {
259
258
  padding-top: 0;
260
259
  }
261
260
  }
262
261
  @media screen and (min-width: 750px) {
263
- .outer-login-container {
262
+ .outer-login-container:not(.emulated) {
264
263
  --header-footer-border-color: var(--stable-light, #f1f1f1);
265
264
  }
266
- .outer-login-container .content-container {
265
+ .outer-login-container:not(.emulated) .content-container {
267
266
  padding-top: var(--spacing-96, 6rem);
268
267
  }
269
- .outer-login-container:not([is-whitelabel]) .content-container {
268
+ .outer-login-container:not(.emulated):not([is-whitelabel]):not(.emulated) .content-container {
270
269
  padding-top: 0;
271
270
  }
272
- .outer-login-container.keyboard-open {
271
+ .outer-login-container:not(.emulated).keyboard-open {
273
272
  justify-content: flex-end;
274
273
  padding-bottom: 20%;
275
274
  }
276
275
  }
277
276
  @media screen and (min-width: 1000px) and (max-height: 500px) {
278
- .outer-login-container.keyboard-open {
277
+ .outer-login-container:not(.emulated).keyboard-open {
279
278
  padding-bottom: var(--spacing-16, 1rem);
280
279
  }
281
280
  }
282
281
  @media screen and (min-width: 1000px) and (orientation: landscape) {
283
- .outer-login-container.tablet.ios.keyboard-transitioning .content-container, .outer-login-container.tablet.ios.keyboard-open .content-container {
282
+ .outer-login-container.tablet.ios:not(.emulated).keyboard-transitioning .content-container, .outer-login-container.tablet.ios:not(.emulated).keyboard-open .content-container {
284
283
  transform: translateY(-20%);
285
284
  }
286
285
  }
286
+ .outer-login-container.emulated:not([is-whitelabel]) .content-container {
287
+ padding-top: 9rem;
288
+ }
289
+ .outer-login-container.emulated[is-whitelabel] .content-container {
290
+ padding-top: 8rem;
291
+ }
292
+
287
293
  .outer-login-container .background-overlay {
288
294
  position: absolute;
289
295
  z-index: 1;
@@ -326,7 +332,7 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
326
332
  }
327
333
 
328
334
  @media screen and (min-width: 900px) {
329
- .outer-login-container #divider {
335
+ .outer-login-container:not(.emulated) #divider {
330
336
  margin: var(--spacing-32, 2rem) 0;
331
337
  }
332
338
  }
@@ -356,18 +362,18 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
356
362
  }
357
363
 
358
364
  @media screen and (min-width: 900px) {
359
- .outer-login-container footer {
365
+ .outer-login-container:not(.emulated) footer {
360
366
  width: 41.5rem;
361
367
  margin: 0 calc((100% - 41.5rem) / 2);
362
368
  border-top: var(--header-footer-border-color) 0.0675rem solid;
363
369
  }
364
- .outer-login-container footer * {
370
+ .outer-login-container:not(.emulated) footer * {
365
371
  margin: var(--spacing-24, 1.5rem) 0 1.875rem 0;
366
372
  line-height: 1.125rem;
367
373
  }
368
374
  }
369
375
  @media screen and (max-height: 550px) {
370
- .outer-login-container footer {
376
+ .outer-login-container:not(.emulated) footer {
371
377
  display: none;
372
378
  }
373
379
  }
@@ -453,47 +459,47 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
453
459
  }
454
460
 
455
461
  @media screen and (min-width: 750px) {
456
- .outer-login-container .header img {
462
+ .outer-login-container:not(.emulated) .header img {
457
463
  height: 4rem;
458
464
  max-height: 4rem;
459
465
  }
460
- .outer-login-container[logo-shape=square] .header img {
466
+ .outer-login-container:not(.emulated)[logo-shape=square] .header img {
461
467
  height: 6rem;
462
468
  max-height: 6rem;
463
469
  }
464
470
  }
465
471
  @media screen and (min-width: 1000px) {
466
- .outer-login-container .header img {
472
+ .outer-login-container:not(.emulated) .header img {
467
473
  height: 4rem;
468
474
  max-height: 4rem;
469
475
  }
470
- .outer-login-container .header {
476
+ .outer-login-container:not(.emulated) .header {
471
477
  width: 41.5rem;
472
478
  margin: 0 calc((100% - 41.5rem) / 2);
473
479
  border-bottom: var(--header-footer-border-color) 0.0675rem solid;
474
480
  }
475
- .outer-login-container .header img {
481
+ .outer-login-container:not(.emulated) .header img {
476
482
  margin: 2rem 0;
477
483
  }
478
- .outer-login-container .header h1 {
484
+ .outer-login-container:not(.emulated) .header h1 {
479
485
  display: none;
480
486
  }
481
- .outer-login-container #error-alert {
487
+ .outer-login-container:not(.emulated) #error-alert {
482
488
  top: 7.5rem;
483
489
  width: 41.5rem;
484
490
  margin: 0 calc((100% - 41.5rem) / 2);
485
491
  }
486
- .outer-login-container[is-whitelabel] #error-alert {
492
+ .outer-login-container:not(.emulated)[is-whitelabel] #error-alert {
487
493
  top: 9rem;
488
494
  }
489
- .outer-login-container[logo-shape=square] .header img {
495
+ .outer-login-container:not(.emulated)[logo-shape=square] .header img {
490
496
  height: 6rem;
491
497
  max-height: 6rem;
492
498
  }
493
- .outer-login-container[logo-shape=square] #error-alert {
499
+ .outer-login-container:not(.emulated)[logo-shape=square] #error-alert {
494
500
  top: 11rem;
495
501
  }
496
- .outer-login-container.tablet #error-alert {
502
+ .outer-login-container:not(.emulated).tablet #error-alert {
497
503
  position: absolute;
498
504
  top: 0;
499
505
  z-index: 10;
@@ -502,44 +508,74 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
502
508
  }
503
509
  }
504
510
  @media screen and (max-width: 750px) {
505
- .outer-login-container[is-whitelabel] .header img {
511
+ .outer-login-container[is-whitelabel]:not(.emulated) .header img {
506
512
  height: 4rem;
507
513
  max-height: 4rem;
508
514
  }
509
- .outer-login-container[is-whitelabel] header h1 {
515
+ .outer-login-container[is-whitelabel]:not(.emulated) header h1 {
510
516
  display: none;
511
517
  }
512
- .outer-login-container[is-whitelabel] header img {
518
+ .outer-login-container[is-whitelabel]:not(.emulated) header img {
513
519
  max-width: 90%;
514
520
  margin-top: var(--spacing-48, 3rem);
515
521
  }
516
- .outer-login-container[is-whitelabel][logo-shape=square] .header img {
522
+ .outer-login-container[is-whitelabel]:not(.emulated)[logo-shape=square] .header img {
517
523
  height: 6rem;
518
524
  max-height: 6rem;
519
525
  }
520
- .outer-login-container[is-whitelabel][logo-shape=square] .header img {
526
+ .outer-login-container[is-whitelabel]:not(.emulated)[logo-shape=square] .header img {
521
527
  margin-top: var(--spacing-64, 4rem);
522
528
  }
523
529
  }
530
+ .outer-login-container[is-whitelabel].emulated .header img {
531
+ height: 4rem;
532
+ max-height: 4rem;
533
+ }
534
+ .outer-login-container[is-whitelabel].emulated header h1 {
535
+ display: none;
536
+ }
537
+ .outer-login-container[is-whitelabel].emulated header img {
538
+ max-width: 90%;
539
+ margin-top: var(--spacing-48, 3rem);
540
+ }
541
+ .outer-login-container[is-whitelabel].emulated[logo-shape=square] .header img {
542
+ height: 6rem;
543
+ max-height: 6rem;
544
+ }
545
+ .outer-login-container[is-whitelabel].emulated[logo-shape=square] .header img {
546
+ margin-top: var(--spacing-64, 4rem);
547
+ }
548
+ .outer-login-container[is-whitelabel].emulated:not(.hide-advanced-login):not(.hide-google-login)[logo-shape=square] .header img {
549
+ height: 6rem;
550
+ max-height: 6rem;
551
+ }
552
+ .outer-login-container[is-whitelabel].emulated:not(.hide-advanced-login):not(.hide-google-login)[logo-shape=square] .header img {
553
+ margin-top: var(--spacing-48, 3rem);
554
+ }
555
+
556
+ .outer-login-container:not([is-whitelabel]).emulated:not(.hide-advanced-login):not(.hide-google-login) .header img {
557
+ margin-top: var(--spacing-24, 1.5rem);
558
+ }
559
+
524
560
  @media screen and (min-width: 900px) and (max-width: 1300px) {
525
- .outer-login-container .header {
561
+ .outer-login-container:not(.emulated) .header {
526
562
  margin-bottom: var(--spacing-32, 2rem);
527
563
  }
528
- .outer-login-container .header img {
564
+ .outer-login-container:not(.emulated) .header img {
529
565
  margin: var(--spacing-16, 1rem) 0;
530
566
  }
531
- .outer-login-container #error-alert {
567
+ .outer-login-container:not(.emulated) #error-alert {
532
568
  top: 6.5rem;
533
569
  width: 41.5rem;
534
570
  margin: 0 calc((100% - 41.5rem) / 2);
535
571
  }
536
- .outer-login-container[is-whitelabel] #error-alert {
572
+ .outer-login-container:not(.emulated)[is-whitelabel] #error-alert {
537
573
  top: 7rem;
538
574
  }
539
- .outer-login-container[logo-shape=square] #error-alert {
575
+ .outer-login-container:not(.emulated)[logo-shape=square] #error-alert {
540
576
  top: 9rem;
541
577
  }
542
- .outer-login-container.tablet #error-alert {
578
+ .outer-login-container:not(.emulated).tablet #error-alert {
543
579
  position: absolute;
544
580
  top: 0;
545
581
  z-index: 10;
@@ -548,22 +584,23 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
548
584
  }
549
585
  }
550
586
  @media screen and (max-height: 799px) {
551
- .outer-login-container:not([is-whitelabel]).keyboard-closed .header img {
587
+ .outer-login-container:not([is-whitelabel]).keyboard-closed:not(.emulated) .header img {
552
588
  margin-top: var(--spacing-32, 2rem);
553
589
  }
554
590
  }
555
591
  @media screen and (max-height: 699px) {
556
- .outer-login-container:not([is-whitelabel]).keyboard-closed .header h1 {
592
+ .outer-login-container:not([is-whitelabel]).keyboard-closed:not(.emulated) .header h1 {
557
593
  display: none;
558
594
  }
559
595
  }
560
596
  @media screen and (max-height: 665px) {
561
- .outer-login-container.keyboard-closed .header {
597
+ .outer-login-container.keyboard-closed:not(.emulated) .header h1,
598
+ .outer-login-container.keyboard-closed:not(.emulated) .header img {
562
599
  display: none;
563
600
  }
564
601
  }
565
602
  @media screen and (max-height: 500px) {
566
- .outer-login-container.keyboard-open .header {
603
+ .outer-login-container.keyboard-open:not(.emulated) .header {
567
604
  display: none;
568
605
  }
569
606
  }
@@ -578,6 +615,10 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
578
615
  margin-bottom: var(--spacing-24, 1.5rem);
579
616
  }
580
617
 
618
+ .outer-login-container.emulated #error-alert {
619
+ padding-top: var(--spacing-24, 1.5rem);
620
+ }
621
+
581
622
  .outer-login-container {
582
623
  --disabled-color: var(--stable-light, #f1f1f1);
583
624
  --hover-color: var(--stable-light, #f1f1f1);
@@ -610,13 +651,13 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
610
651
  height: 1.5rem;
611
652
  margin: -0.5rem 0 0 0;
612
653
  }
613
- .outer-login-container .help-buttons.mobile {
654
+ .outer-login-container .help-buttons.mobile, .outer-login-container .help-buttons.emulated {
614
655
  justify-content: flex-end;
615
656
  }
616
- .outer-login-container .help-buttons:not(.mobile) yoo-button#help-button {
657
+ .outer-login-container .help-buttons:not(.mobile):not(.emulated) yoo-button#help-button {
617
658
  margin: -0.25rem -0.5rem 0 0;
618
659
  }
619
- .outer-login-container .help-buttons:not(.mobile) yoo-button#magic-button {
660
+ .outer-login-container .help-buttons:not(.mobile):not(.emulated) yoo-button#magic-button {
620
661
  margin: -0.25rem 0 0 -0.5rem;
621
662
  }
622
663
  .outer-login-container #default-login-button {
@@ -643,7 +684,8 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
643
684
  height: 2rem;
644
685
  font-size: var(--font-size-14, 0.875rem);
645
686
  }
646
- .outer-login-container #default-login-button.medium.mobile {
687
+ .outer-login-container #default-login-button.medium.mobile,
688
+ .outer-login-container #default-login-button.medium.emulated {
647
689
  font-size: var(--font-size-16, 1rem);
648
690
  }
649
691
  .outer-login-container #default-login-button.large {
@@ -717,10 +759,29 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
717
759
  }
718
760
  }
719
761
  @media screen and (min-width: 900px) {
720
- .outer-login-container .login-options .google-logo {
762
+ .outer-login-container:not(.emulated) .login-options .google-logo {
721
763
  height: 1rem;
722
764
  }
723
765
  }
766
+ .outer-login-container.emulated .login-options.hide-google-login:not(.hide-advanced-login) #google-login-button {
767
+ display: none;
768
+ }
769
+ .outer-login-container.emulated .login-options.hide-google-login:not(.hide-advanced-login) #sso-login-button {
770
+ transform: translateY(0);
771
+ }
772
+ .outer-login-container.emulated .login-options.hide-advanced-login:not(.hide-google-login) #sso-login-button {
773
+ display: none;
774
+ }
775
+ .outer-login-container.emulated .login-options.hide-advanced-login:not(.hide-google-login) #google-login-button {
776
+ transform: translateY(0);
777
+ }
778
+ .outer-login-container.emulated .login-options.hide-advanced-login.hide-google-login #sso-login-button {
779
+ display: none;
780
+ }
781
+ .outer-login-container.emulated .login-options.hide-advanced-login.hide-google-login #google-login-button {
782
+ transform: translateY(0);
783
+ }
784
+
724
785
  .outer-login-container .main-content {
725
786
  display: flex;
726
787
  flex-direction: column;
@@ -734,12 +795,12 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
734
795
  }
735
796
 
736
797
  @media screen and (min-width: 900px) {
737
- .outer-login-container .main-content {
798
+ .outer-login-container:not(.emulated) .main-content {
738
799
  display: flex;
739
800
  flex-direction: column;
740
801
  width: 18.75rem;
741
802
  }
742
- .outer-login-container .main-content yoo-form-input-container {
803
+ .outer-login-container:not(.emulated) .main-content yoo-form-input-container {
743
804
  font-size: var(--font-size-12, 0.75rem);
744
805
  }
745
806
  }
@@ -752,6 +813,13 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
752
813
  transform: scale(1.2) translateX(10%);
753
814
  }
754
815
  }
816
+ .outer-login-container.emulated:not([is-whitelabel]) .main-content h3 {
817
+ display: none;
818
+ }
819
+ .outer-login-container.emulated.focused h3 {
820
+ transform: scale(1.2) translateX(10%);
821
+ }
822
+
755
823
  .outer-login-container .sidepanel {
756
824
  margin-right: var(--spacing-64, 4rem);
757
825
  }
@@ -760,12 +828,12 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
760
828
  }
761
829
 
762
830
  @media screen and (min-width: 1000px) {
763
- .outer-login-container .sidepanel {
831
+ .outer-login-container:not(.emulated) .sidepanel {
764
832
  display: flex;
765
833
  flex-direction: column;
766
834
  width: 18.75rem;
767
835
  }
768
- .outer-login-container .sidepanel yoo-form-input-container {
836
+ .outer-login-container:not(.emulated) .sidepanel yoo-form-input-container {
769
837
  font-size: var(--font-size-12, 0.75rem);
770
838
  }
771
839
  }
@@ -774,6 +842,10 @@ null: CSS defaults to use the ltr css, and adds [dir=rtl] selectors to override
774
842
  display: none;
775
843
  }
776
844
  }
845
+ .outer-login-container.emulated .sidepanel {
846
+ display: none;
847
+ }
848
+
777
849
  .outer-login-container:not([is-double-column]) .sidepanel {
778
850
  display: none;
779
851
  }
@@ -1,11 +1,11 @@
1
1
  import { ScreenOrientation } from '@awesome-cordova-plugins/screen-orientation';
2
- import { addKeyboardEventListener, disableKeyboardResize, isAndroid, isIonic, isIOS, isNativeMobile, isTabletOrIpad, isWeb, removeKeyboardEventListeners, setStatusBarDarkMode, showActionSheet, translate } from '@shared/utils';
2
+ import { addKeyboardEventListener, disableKeyboardResize, isAndroid, isFullScreenFalse, isIonic, isIOS, isNativeMobile, isTabletOrIpad, isWeb, removeKeyboardEventListeners, setStatusBarDarkMode, showActionSheet, translate } from '@shared/utils';
3
3
  import { Component, Element, Event, forceUpdate, h, Host, Method, Prop, State } from '@stencil/core';
4
4
  import googleLogo from './assets/login/google_color.svg';
5
5
  import { Background, Footer, Header, LoginForm, LoginOptions, MainContent, Sidepanel } from './parts';
6
6
  export class YooLoginComponent {
7
7
  constructor() {
8
- //* COMPONENT TEXT
8
+ //* COMPONENT TEXT
9
9
  // Title Text
10
10
  this.mainTitle = '';
11
11
  // Subtitle Text
@@ -37,22 +37,16 @@ export class YooLoginComponent {
37
37
  return !!((_a = this.passwordInputElement) === null || _a === void 0 ? void 0 : _a.value);
38
38
  }
39
39
  get hasBackgroundMedia() {
40
- return (this.backgroundSrc)
41
- ? true
42
- : false;
40
+ return this.backgroundSrc ? true : false;
43
41
  }
44
42
  get hasCustomBackground() {
45
- return (this.hasBackgroundMedia || this.backgroundColor) ? true : false;
43
+ return this.hasBackgroundMedia || this.backgroundColor ? true : false;
46
44
  }
47
45
  get primaryColor() {
48
46
  if (this.textColor) {
49
47
  return this.textColor;
50
48
  }
51
- const color = this.hasBackgroundMedia
52
- ? 'light'
53
- : !this.backgroundColor
54
- ? 'dark'
55
- : 'app-color';
49
+ const color = this.hasBackgroundMedia ? 'light' : !this.backgroundColor ? 'dark' : 'app-color';
56
50
  return `var(--${color})`;
57
51
  }
58
52
  async getPassword() {
@@ -63,8 +57,7 @@ export class YooLoginComponent {
63
57
  this.defaultPassword && (this.password = this.defaultPassword);
64
58
  setStatusBarDarkMode(true);
65
59
  disableKeyboardResize();
66
- isNativeMobile() &&
67
- this.setKeyboardListeners();
60
+ isNativeMobile() && this.setKeyboardListeners();
68
61
  }
69
62
  componentDidLoad() {
70
63
  var _a;
@@ -86,7 +79,8 @@ export class YooLoginComponent {
86
79
  if (!isNativeMobile()) {
87
80
  this.isFocused = true;
88
81
  }
89
- else { // Has to be called here, as the 'keyboardWillShow' is called after, causing jittering
82
+ else {
83
+ // Has to be called here, as the 'keyboardWillShow' is called after, causing jittering
90
84
  if (this.keyboardState !== 'open') {
91
85
  this.contentContainerElement.style.top = `${this.contentContainerElement.offsetTop || 150}px`;
92
86
  this.contentContainerElement.style.position = 'absolute';
@@ -104,7 +98,8 @@ export class YooLoginComponent {
104
98
  if (!isNativeMobile()) {
105
99
  this.isFocused = false;
106
100
  }
107
- else { // Has to be called here, as the 'keyboardWillHide' is called after, causing jittering
101
+ else {
102
+ // Has to be called here, as the 'keyboardWillHide' is called after, causing jittering
108
103
  this.contentContainerElement.style.position = 'absolute';
109
104
  }
110
105
  this.focusedInput = undefined;
@@ -211,35 +206,35 @@ export class YooLoginComponent {
211
206
  getButton(type, onClick, ref = undefined) {
212
207
  const isOtherLoginOptions = ['GOOGLE', 'SSO'].includes(type);
213
208
  const isHelpButton = ['HELP', 'MAGIC'].includes(type);
214
- return (h("yoo-button", { id: !isHelpButton ? `${type.toLowerCase()}-login-button` : `${type.toLowerCase()}-button`, color: !isOtherLoginOptions ? 'app-color' : 'light', customColor: this.textColor && isHelpButton ? { color: this.textColor } : undefined, fill: isHelpButton ? 'transparent' : 'solid', size: isWeb(this.host)
215
- ? isHelpButton ? 'small' : 'medium'
216
- : isHelpButton ? 'medium' : 'large', animated: false, onClick: onClick, ref: ref },
209
+ return (h("yoo-button", { id: !isHelpButton ? `${type.toLowerCase()}-login-button` : `${type.toLowerCase()}-button`, color: !isOtherLoginOptions ? 'app-color' : 'light', customColor: this.textColor && isHelpButton ? { color: this.textColor } : undefined, fill: isHelpButton ? 'transparent' : 'solid', size: isWeb(this.host) ? (isHelpButton ? 'small' : 'medium') : isHelpButton ? 'medium' : 'large', animated: false, onClick: onClick, ref: ref },
217
210
  type === 'SSO' && h("yoo-icon", { size: isWeb(this.host) ? 'small' : 'medium', slot: "start", name: "lock", color: "dark" }),
218
211
  type === 'GOOGLE' && h("img", { class: "google-logo", src: googleLogo, alt: "google logo", slot: "start" }),
219
- isHelpButton
220
- ? translate(type === 'HELP' ? this.helpText : this.magicLinkText)
221
- : translate(`YOOBIC${type !== 'SSO-DEFAULT' ? type : ''}LOGIN`)));
212
+ isHelpButton ? translate(type === 'HELP' ? this.helpText : this.magicLinkText) : translate(`YOOBIC${type !== 'SSO-DEFAULT' ? type : ''}LOGIN`)));
222
213
  }
223
214
  render() {
224
215
  return (h(Host, { style: {
225
- ...this.hasCustomBackground ? {
226
- '--header-footer-border-color': `var(--${this.hasBackgroundMedia ? 'light-40' : 'app-color-20'})`,
227
- backgroundColor: this.backgroundColor ? this.backgroundColor : 'unset'
228
- } : {}
216
+ ...(this.hasCustomBackground
217
+ ? {
218
+ '--header-footer-border-color': `var(--${this.hasBackgroundMedia ? 'light-40' : 'app-color-20'})`,
219
+ backgroundColor: this.backgroundColor ? this.backgroundColor : 'unset'
220
+ }
221
+ : {})
229
222
  }, class: {
230
223
  'outer-login-container': true,
231
224
  focused: this.isFocused,
232
225
  [`keyboard-${this.keyboardState}`]: true,
233
- 'ios': isIOS(),
234
- 'tablet': isTabletOrIpad()
226
+ emulated: isFullScreenFalse(),
227
+ web: isWeb(),
228
+ ios: isIOS(),
229
+ tablet: isTabletOrIpad()
235
230
  } },
236
231
  h(Header, { error: this.error, logo: this.logo, title: this.mainTitle, textColor: this.primaryColor, closeClick: () => this.onAlertClosed() }),
237
232
  h(Background, { hasBackgroundMedia: this.hasBackgroundMedia, image: this.backgroundSrc }),
238
- h("div", { class: "content-container", ref: (el) => this.contentContainerElement = el },
233
+ h("div", { class: "content-container", ref: (el) => (this.contentContainerElement = el) },
239
234
  h(Sidepanel, { title: this.mainTitle, textColor: this.primaryColor, image: this.sidepanelImage }),
240
235
  h(MainContent, { subtitle: this.subtitle, textColor: this.primaryColor },
241
- h(LoginForm, { buttonColor: this.textColor, ssoOnly: this.ssoOnly, fieldTitleColor: this.primaryColor, getInputLabel: this.getInputLabel.bind(this), getDefaultInputValue: this.getDefaultInputValue.bind(this), getInputValue: this.getInputValue.bind(this), focusedInput: this.focusedInput, host: this.host, bindReference: this.bindReference.bind(this), onIconClicked: this.onIconClicked.bind(this), onInputChanged: this.onInputChanged.bind(this), onInputFocused: this.onInputFocused.bind(this), onInputBlurred: () => this.onInputBlurred(), onEnterPressed: () => this.validateAndLogin(), onFormSubmit: (e) => this.onFormSubmit(e), onShowPassword: this.onShowPassword.bind(this), showPassword: this.showPassword, loginButtonRef: (el) => this.loginButtonElement = el, helpButtonElement: this.getButton('HELP', () => this.onForgotPassword()), magicButtonElement: this.getButton('MAGIC', () => this.magicLinkModalRequested.emit(true)), ssoLoginButtonElement: this.getButton('SSO-DEFAULT', () => this.onAdvancedLogin()), clearInput: this.clearInput.bind(this), isWhitelabel: this.isWhitelabel }),
242
- h(LoginOptions, { ssoOnly: this.ssoOnly, hideGoogleLogin: this.hideGoogleLogin, hideAdvancedLogin: this.hideAdvancedLogin, hasCustomBackground: this.hasCustomBackground, dividerColor: this.primaryColor, googleLoginButtonElement: this.getButton('GOOGLE', () => this.onGoogleLogin()), ssoLoginButtonElement: this.getButton('SSO', () => this.onAdvancedLogin()), host: this.host }))),
236
+ h(LoginForm, { buttonColor: this.textColor, ssoOnly: this.ssoOnly, fieldTitleColor: this.primaryColor, getInputLabel: this.getInputLabel.bind(this), getDefaultInputValue: this.getDefaultInputValue.bind(this), getInputValue: this.getInputValue.bind(this), focusedInput: this.focusedInput, bindReference: this.bindReference.bind(this), onIconClicked: this.onIconClicked.bind(this), onInputChanged: this.onInputChanged.bind(this), onInputFocused: this.onInputFocused.bind(this), onInputBlurred: () => this.onInputBlurred(), onEnterPressed: () => this.validateAndLogin(), onFormSubmit: (e) => this.onFormSubmit(e), onShowPassword: this.onShowPassword.bind(this), showPassword: this.showPassword, loginButtonRef: (el) => (this.loginButtonElement = el), helpButtonElement: this.getButton('HELP', () => this.onForgotPassword()), magicButtonElement: this.getButton('MAGIC', () => this.magicLinkModalRequested.emit(true)), ssoLoginButtonElement: this.getButton('SSO-DEFAULT', () => this.onAdvancedLogin()), clearInput: this.clearInput.bind(this), isWhitelabel: this.isWhitelabel }),
237
+ h(LoginOptions, { ssoOnly: this.ssoOnly, hideGoogleLogin: this.hideGoogleLogin, hideAdvancedLogin: this.hideAdvancedLogin, hasCustomBackground: this.hasCustomBackground, dividerColor: this.primaryColor, googleLoginButtonElement: this.getButton('GOOGLE', () => this.onGoogleLogin()), ssoLoginButtonElement: this.getButton('SSO', () => this.onAdvancedLogin()) }))),
243
238
  h(Footer, { hasCustomBackground: this.hasCustomBackground, copyrightMessage: this.copyrightMessage, textColor: this.primaryColor, version: this.version, onClick: () => {
244
239
  if (this.ssoOnly) {
245
240
  this.ssoOnly = false;
@@ -1,22 +1,21 @@
1
1
  import { isWeb, translate } from '@shared/utils';
2
2
  import { h } from '@stencil/core';
3
- export const Header = ({ logo, title, textColor, error, closeClick }) => ([
4
- error &&
5
- h("yoo-banner", { id: "error-alert", class: {
6
- 'center header': true,
7
- 'sharp': !isWeb()
8
- }, fill: true, closable: true, leftIcon: { name: 'info', color: isWeb() ? 'danger' : 'light' }, onCloseClick: closeClick, style: {
9
- '--main-color': `var(--${isWeb() ? 'danger-20' : 'danger'})`,
10
- '--main-text-color': `var(--${isWeb() ? 'dark' : 'light'})`,
11
- '--close-icon-color': `var(--${isWeb() ? 'danger' : 'light'})`
3
+ export const Header = ({ logo, title, textColor, error, closeClick }) => [
4
+ error && (h("yoo-banner", { id: "error-alert", class: {
5
+ 'center header': true,
6
+ sharp: !isWeb()
7
+ }, fill: true, closable: true, leftIcon: { name: 'info', color: isWeb() ? 'danger' : 'light' }, onCloseClick: closeClick, style: {
8
+ '--main-color': `var(--${isWeb() ? 'danger-20' : 'danger'})`,
9
+ '--main-text-color': `var(--${isWeb() ? 'dark' : 'light'})`,
10
+ '--close-icon-color': `var(--${isWeb() ? 'danger' : 'light'})`
11
+ } },
12
+ h("div", { slot: "content", class: {
13
+ 'error-content': true,
14
+ web: isWeb()
12
15
  } },
13
- h("div", { slot: "content", class: {
14
- 'error-content': true,
15
- 'web': isWeb()
16
- } },
17
- h("p", null, translate(error)),
18
- h("a", { class: "link", style: { color: `var(--${isWeb() ? 'danger' : 'light'})` }, href: "mailto:support@yoobic.com" }, translate('YOOBICNEEDHELP')))),
16
+ h("p", null, translate(error)),
17
+ h("a", { class: "link", style: { color: `var(--${isWeb() ? 'danger' : 'light'})` }, href: "mailto:support@yoobic.com" }, translate('YOOBICNEEDHELP'))))),
19
18
  h("header", { class: "header" },
20
19
  h("img", { src: logo, alt: "app logo" }),
21
20
  h("h1", { style: { color: textColor } }, title))
22
- ]);
21
+ ];
@@ -1,29 +1,26 @@
1
1
  import { getContrastColor, isPresent, isWeb, translate } from '@shared/utils';
2
2
  import { h } from '@stencil/core';
3
3
  import { LoginInput } from './LoginInput';
4
- export const LoginForm = ({ ssoOnly, fieldTitleColor, getInputLabel, getDefaultInputValue, getInputValue, bindReference, clearInput, onIconClicked, focusedInput, host, showPassword, loginButtonRef, onEnterPressed, onInputBlurred, onInputChanged, onInputFocused, onFormSubmit, onShowPassword, helpButtonElement, magicButtonElement, ssoLoginButtonElement, isWhitelabel, buttonColor }) => {
5
- const inputAndButtonSize = isWeb(host) ? 'medium' : 'large';
6
- const loginDisabled = !(!!(getInputValue('username') || '') &&
7
- !!(getInputValue('password') || ''));
4
+ export const LoginForm = ({ ssoOnly, fieldTitleColor, getInputLabel, getDefaultInputValue, getInputValue, bindReference, clearInput, onIconClicked, focusedInput, showPassword, loginButtonRef, onEnterPressed, onInputBlurred, onInputChanged, onInputFocused, onFormSubmit, onShowPassword, helpButtonElement, magicButtonElement, ssoLoginButtonElement, isWhitelabel, buttonColor }) => {
5
+ const inputAndButtonSize = isWeb() ? 'medium' : 'large';
6
+ const loginDisabled = !(!!(getInputValue('username') || '') && !!(getInputValue('password') || ''));
8
7
  const onKeyPress = (e) => {
9
8
  if (e.key === 'Enter') {
10
9
  onEnterPressed();
11
10
  }
12
11
  };
13
12
  const renderInputContainer = (type) => {
14
- return (h(LoginInput, { style: { '--field-title-color': fieldTitleColor }, isFocused: type === focusedInput, inputType: type, label: getInputLabel(type), bindReference: bindReference, onIconClicked: () => onIconClicked(type), inputSize: inputAndButtonSize, inputValue: isPresent(getInputValue(type)) ? getInputValue(type) : getDefaultInputValue(type) || '', hasValue: (getInputValue(type) || getDefaultInputValue(type) || '') ? true : false, onShowPassword: onShowPassword, showPassword: showPassword, onInputChanged: (e) => onInputChanged(e, type), onKeyPress: (e) => onKeyPress(e), onInputFocused: () => onInputFocused(type), onInputBlurred: () => onInputBlurred(), clearInput: () => clearInput(type), isMobile: !isWeb(host), isWhitelabel: isWhitelabel }));
13
+ return (h(LoginInput, { style: { '--field-title-color': fieldTitleColor }, isFocused: type === focusedInput, inputType: type, label: getInputLabel(type), bindReference: bindReference, onIconClicked: () => onIconClicked(type), inputSize: inputAndButtonSize, inputValue: isPresent(getInputValue(type)) ? getInputValue(type) : getDefaultInputValue(type) || '', hasValue: getInputValue(type) || getDefaultInputValue(type) || '' ? true : false, onShowPassword: onShowPassword, showPassword: showPassword, onInputChanged: (e) => onInputChanged(e, type), onKeyPress: (e) => onKeyPress(e), onInputFocused: () => onInputFocused(type), onInputBlurred: () => onInputBlurred(), clearInput: () => clearInput(type), isMobile: !isWeb(), isWhitelabel: isWhitelabel }));
15
14
  };
16
- return !ssoOnly
17
- ? h("form", { autoComplete: "on", id: "login-form", novalidate: true, onSubmit: onFormSubmit },
18
- renderInputContainer('username'),
19
- renderInputContainer('password'),
20
- h("div", { class: { 'help-buttons': true, mobile: !isWeb(host) } },
21
- isWeb(host) && magicButtonElement,
22
- helpButtonElement),
23
- h("input", { id: "default-login-button", class: {
24
- [inputAndButtonSize]: true,
25
- mobile: !isWeb(host),
26
- disabled: loginDisabled
27
- }, ref: loginButtonRef, type: "submit", form: "login-form", name: "doLogin", disabled: loginDisabled, value: translate('YOOBICLOGIN'), style: buttonColor && !loginDisabled ? { backgroundColor: buttonColor, color: getContrastColor(buttonColor) } : undefined }))
28
- : h("div", { class: "sso-only-login" }, ssoLoginButtonElement);
15
+ return !ssoOnly ? (h("form", { autoComplete: "on", id: "login-form", novalidate: true, onSubmit: onFormSubmit },
16
+ renderInputContainer('username'),
17
+ renderInputContainer('password'),
18
+ h("div", { class: { 'help-buttons': true, mobile: !isWeb() } },
19
+ isWeb() && magicButtonElement,
20
+ helpButtonElement),
21
+ h("input", { id: "default-login-button", class: {
22
+ [inputAndButtonSize]: true,
23
+ mobile: !isWeb(),
24
+ disabled: loginDisabled
25
+ }, ref: loginButtonRef, type: "submit", form: "login-form", name: "doLogin", disabled: loginDisabled, value: translate('YOOBICLOGIN'), style: buttonColor && !loginDisabled ? { backgroundColor: buttonColor, color: getContrastColor(buttonColor) } : undefined }))) : (h("div", { class: "sso-only-login" }, ssoLoginButtonElement));
29
26
  };
@@ -1,14 +1,14 @@
1
1
  import { isWeb } from '@shared/utils';
2
2
  import { h } from '@stencil/core';
3
3
  import { Divider } from './Divider';
4
- export const LoginOptions = ({ ssoOnly, hideAdvancedLogin, hideGoogleLogin, hasCustomBackground, dividerColor, googleLoginButtonElement, ssoLoginButtonElement, host }) => {
4
+ export const LoginOptions = ({ ssoOnly, hideAdvancedLogin, hideGoogleLogin, hasCustomBackground, dividerColor, googleLoginButtonElement, ssoLoginButtonElement }) => {
5
5
  if (!ssoOnly) {
6
6
  return (h("div", { class: {
7
7
  'login-options': true,
8
8
  'sso-only': ssoOnly,
9
9
  'hide-google-login': hideGoogleLogin,
10
10
  'hide-advanced-login': hideAdvancedLogin,
11
- mobile: !isWeb(host)
11
+ mobile: !isWeb()
12
12
  } },
13
13
  h(Divider, { style: hasCustomBackground ? { '--divider-color': dividerColor } : undefined }),
14
14
  googleLoginButtonElement,
@@ -158,7 +158,7 @@ function prepareChoice(choiceElement) {
158
158
  }
159
159
  function hasWarnings(values, choiceElement, warningMsgs) {
160
160
  const duplicateMessage = 'NODUPLICATEVALUES';
161
- const hasDuplicatedValues = hasDuplicates(values);
161
+ const hasDuplicatedValues = hasDuplicates(values === null || values === void 0 ? void 0 : values.map(v => (v === null || v === void 0 ? void 0 : v.text) || v));
162
162
  showWarningAlert(choiceElement.host, hasDuplicatedValues || !!(warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length), hasDuplicatedValues ? duplicateMessage : warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs[0]);
163
163
  return hasDuplicatedValues && (warningMsgs === null || warningMsgs === void 0 ? void 0 : warningMsgs.length) > 0;
164
164
  }