@schukai/monster 4.3.0 → 4.4.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.4.0] - 2025-05-14
6
+
7
+ ### Add Features
8
+
9
+ - Add placeholders for email and username fields in login form translations [#315](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/315)
10
+
11
+
12
+
13
+ ## [4.3.1] - 2025-05-12
14
+
15
+ ### Bug Fixes
16
+
17
+ - Improve structure and port attributes in login and password components
18
+
19
+
20
+
5
21
  ## [4.3.0] - 2025-05-12
6
22
 
7
23
  ### Add Features
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.7.0","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.3.0"}
1
+ {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.7.0","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.4.0"}
@@ -464,6 +464,9 @@ function getTranslations() {
464
464
  "Dieses Formular ist nicht konfiguriert.",
465
465
  messagePasswordResetDisabled:
466
466
  "Sie können keinen Code anfordern, da die<br>Zwei-Faktor-Authentifizierung bei Ihrem Konto aktiviert ist.<br>Bitte kontaktieren Sie den Administrator.",
467
+
468
+ emailPlaceholder: "",
469
+ usernamePlaceholder: "",
467
470
  };
468
471
  case "es":
469
472
  return {
@@ -497,6 +500,10 @@ function getTranslations() {
497
500
  messageThisFormIsNotConfigured: "Este formulario no está configurado.",
498
501
  messagePasswordResetDisabled:
499
502
  "Esta función no funciona porque la autenticación de dos factores está activada en su cuenta. Por favor, póngase en contacto con el administrador.",
503
+
504
+ emailPlaceholder: "",
505
+ usernamePlaceholder: "",
506
+
500
507
  };
501
508
  case "zh":
502
509
  return {
@@ -526,6 +533,11 @@ function getTranslations() {
526
533
  messageThisFormIsNotConfigured: "此表单尚未配置。",
527
534
  messagePasswordResetDisabled:
528
535
  "此功能无法使用,因为您的帐户启用了双因素身份验证。请联系管理员。",
536
+
537
+ emailPlaceholder: "",
538
+ usernamePlaceholder: "",
539
+
540
+
529
541
  };
530
542
 
531
543
  case "hi":
@@ -556,6 +568,10 @@ function getTranslations() {
556
568
  messageThisFormIsNotConfigured: "यह फर कनगर नह ह।",
557
569
  messagePasswordResetDisabled:
558
570
  "यह सवध कम नह करत कक आपक खत म द घटक पमणकरण सकम ह। कपय पशसक स सपर कर।",
571
+
572
+ emailPlaceholder: "",
573
+ usernamePlaceholder: "",
574
+
559
575
  };
560
576
 
561
577
  case "bn":
@@ -586,6 +602,10 @@ function getTranslations() {
586
602
  messageThisFormIsNotConfigured: "এই ফরট কনফগর কর হযন।",
587
603
  messagePasswordResetDisabled:
588
604
  "এই ফশনট করকর নয করণ আপনর অযকউন দট ফকর পমণকরণ সকয কর আছ। দয কর পশসকর সথ যগযগ করন।",
605
+
606
+ emailPlaceholder: "",
607
+ usernamePlaceholder: "",
608
+
589
609
  };
590
610
 
591
611
  case "pt": // Portuguese
@@ -617,6 +637,10 @@ function getTranslations() {
617
637
  messageThisFormIsNotConfigured: "Este formulário não está configurado.",
618
638
  messagePasswordResetDisabled:
619
639
  "Esta função não funciona porque a autenticação de dois fatores<br>está ativada em sua conta. Por favor, entre em contato com o administrador.",
640
+
641
+ emailPlaceholder: "",
642
+ usernamePlaceholder: "",
643
+
620
644
  };
621
645
 
622
646
  case "ru": // Russian
@@ -648,6 +672,10 @@ function getTranslations() {
648
672
  messageThisFormIsNotConfigured: "Эта форма не настроена.",
649
673
  messagePasswordResetDisabled:
650
674
  "Эта функция не работает, потому что двухфакторная аутентификация<br> включена в вашей учетной записи. Пожалуйста, свяжитесь с администратором.",
675
+
676
+ emailPlaceholder: "",
677
+ usernamePlaceholder: "",
678
+
651
679
  };
652
680
 
653
681
  case "ja": // Japanese
@@ -680,6 +708,10 @@ function getTranslations() {
680
708
  messageThisFormIsNotConfigured: "このフォームは設定されていません。",
681
709
  messagePasswordResetDisabled:
682
710
  "この機能は使用できません。アカウントで二要素認証が有効になっているため、管理者に連絡してください。",
711
+
712
+ emailPlaceholder: "",
713
+ usernamePlaceholder: "",
714
+
683
715
  };
684
716
 
685
717
  case "pa": // Western Punjabi
@@ -710,6 +742,10 @@ function getTranslations() {
710
742
  messageThisFormIsNotConfigured: "ਇਸ ਫਰਮ ਨ ਸਰਚਤ ਨਹ ਕਤ ਗਆ ਹ।",
711
743
  messagePasswordResetDisabled:
712
744
  "ਇਹ ਫਕਸਨ ਕਮ ਨਹ ਕਰਦ ਕਉਕ ਤਹਡ ਖਤ ਵਚ ਦ ਫਕਟਰ ਪਰਮਣਕਰਣ ਸਰਗਰਮ ਹ। ਕਰਪ ਕਰਕ ਪਰਬਧਕ ਨਲ ਸਪਰਕ ਕਰ।",
745
+
746
+ emailPlaceholder: "",
747
+ usernamePlaceholder: "",
748
+
713
749
  };
714
750
 
715
751
  case "mr": // Marathi
@@ -740,6 +776,10 @@ function getTranslations() {
740
776
  messageThisFormIsNotConfigured: "ह फर सरचत कलल नह.",
741
777
  messagePasswordResetDisabled:
742
778
  "य करच कमगर करत नह करण आपल खतत दन घटक पमणकरण सकय कल आह. कपय ववसपकश सपर सध.",
779
+
780
+ emailPlaceholder: "",
781
+ usernamePlaceholder: "",
782
+
743
783
  };
744
784
 
745
785
  case "fr": // French
@@ -773,6 +813,10 @@ function getTranslations() {
773
813
  messageThisFormIsNotConfigured: "Ce formulaire n'est pas configuré.",
774
814
  messagePasswordResetDisabled:
775
815
  "Cette fonctionnalité ne fonctionne pas car l'authentification à deux facteurs est activée sur<br>votre compte. Veuillez contacter l'administrateur.",
816
+
817
+ emailPlaceholder: "",
818
+ usernamePlaceholder: "",
819
+
776
820
  };
777
821
 
778
822
  case "it": // Italian
@@ -805,6 +849,10 @@ function getTranslations() {
805
849
  messageThisFormIsNotConfigured: "Questo modulo non è configurato.",
806
850
  messagePasswordResetDisabled:
807
851
  "Questa funzione non funziona perché l'autenticazione a due<br>fattori è attiva sul tuo account. Contatta l'amministratore.",
852
+
853
+ emailPlaceholder: "",
854
+ usernamePlaceholder: "",
855
+
808
856
  };
809
857
 
810
858
  case "nl": // Dutch
@@ -836,6 +884,10 @@ function getTranslations() {
836
884
  messageThisFormIsNotConfigured: "Dit formulier is niet geconfigureerd.",
837
885
  messagePasswordResetDisabled:
838
886
  "Deze functie werkt niet omdat tweefactorauthenticatie is<br>ingeschakeld op uw account. Neem contact op met de beheerder.",
887
+
888
+ emailPlaceholder: "",
889
+ usernamePlaceholder: "",
890
+
839
891
  };
840
892
 
841
893
  case "sv": // Swedish
@@ -867,6 +919,10 @@ function getTranslations() {
867
919
  messageThisFormIsNotConfigured: "Detta formulär är inte konfigurerat.",
868
920
  messagePasswordResetDisabled:
869
921
  "Denna funktion fungerar inte eftersom tvåfaktorsautentisering är aktiverad på ditt konto. Kontakta administratören.",
922
+
923
+ emailPlaceholder: "",
924
+ usernamePlaceholder: "",
925
+
870
926
  };
871
927
 
872
928
  case "pl": // Polish
@@ -899,6 +955,10 @@ function getTranslations() {
899
955
  "Ten formularz nie jest skonfigurowany.",
900
956
  messagePasswordResetDisabled:
901
957
  "Ta funkcja nie działa, ponieważ włączona jest autoryzacja dwuetapowa na twoim koncie. Skontaktuj się z administratorem.",
958
+
959
+ emailPlaceholder: "",
960
+ usernamePlaceholder: "",
961
+
902
962
  };
903
963
 
904
964
  case "da": // Danish
@@ -929,6 +989,10 @@ function getTranslations() {
929
989
  messageThisFormIsNotConfigured: "Denne formular er ikke konfigureret.",
930
990
  messagePasswordResetDisabled:
931
991
  "Denne funktion fungerer ikke, fordi tofaktorautentificering<br>er aktiveret på din konto. Kontakt administratoren.",
992
+
993
+ emailPlaceholder: "",
994
+ usernamePlaceholder: "",
995
+
932
996
  };
933
997
 
934
998
  case "no": // Norwegian
@@ -961,6 +1025,10 @@ function getTranslations() {
961
1025
  messageThisFormIsNotConfigured: "Dette skjemaet er ikke konfigurert.",
962
1026
  messagePasswordResetDisabled:
963
1027
  "Denne funksjonen fungerer ikke fordi<br>tofaktorautentisering er aktivert på kontoen din. Kontakt administratoren.",
1028
+
1029
+ emailPlaceholder: "",
1030
+ usernamePlaceholder: "",
1031
+
964
1032
  };
965
1033
 
966
1034
  case "cs": // Czech
@@ -991,6 +1059,10 @@ function getTranslations() {
991
1059
  messageThisFormIsNotConfigured: "Tento formulář není nakonfigurován.",
992
1060
  messagePasswordResetDisabled:
993
1061
  "Tato funkce nefunguje, protože je na vašem<br>účtu aktivováno dvoufaktorové ověřování. Kontaktujte správce.",
1062
+
1063
+ emailPlaceholder: "",
1064
+ usernamePlaceholder: "",
1065
+
994
1066
  };
995
1067
 
996
1068
  default:
@@ -1022,6 +1094,10 @@ function getTranslations() {
1022
1094
  messageThisFormIsNotConfigured: "This form is not configured.",
1023
1095
  messagePasswordResetDisabled:
1024
1096
  "This function does not work because two-factor<br>authentication is enabled on your account.<br>Please contact the administrator.",
1097
+
1098
+ emailPlaceholder: "",
1099
+ usernamePlaceholder: "",
1100
+
1025
1101
  };
1026
1102
  }
1027
1103
  }
@@ -1597,8 +1673,7 @@ function getTemplate() {
1597
1673
  exportparts="control:collapse-login-control,
1598
1674
  container:collapse-login-container,
1599
1675
  deco:collapse-login-deco"
1600
- part="login-collapse"
1601
- >
1676
+ part="login-collapse">
1602
1677
  <monster-field-set
1603
1678
  exportparts="
1604
1679
  control:field-set-login-control,
@@ -1610,10 +1685,16 @@ function getTemplate() {
1610
1685
  part="login-field-set">
1611
1686
  <slot name="login-header"></slot>
1612
1687
  <label part="login-label" data-monster-replace="path:labels.username"></label>
1613
- <input type="text" name="username" autofocus autocomplete="off">
1688
+ <input part="login-username"
1689
+ data-monster-attributes="placeholder name:labels.usernamePlaceholder"
1690
+ type="text" name="username" autofocus autocomplete="off">
1614
1691
  <div data-monster-attributes="class path:classes.usernameInvalid"></div>
1615
1692
  <label part="login-password-label" data-monster-replace="path:labels.password"></label>
1616
- <monster-password data-monster-bind="path:password"></monster-password>
1693
+ <monster-password
1694
+ exportparts="input-group:input-group-password,
1695
+ control:input-group-password-control,
1696
+ input:input-group-password-input" part="login-password"
1697
+ data-monster-bind="path:password"></monster-password>
1617
1698
  <div data-monster-attributes="class path:classes.passwordInvalid"></div>
1618
1699
  <monster-message-state-button id="loginButton"
1619
1700
  part="login-button"
@@ -1651,7 +1732,9 @@ function getTemplate() {
1651
1732
  <slot name="forgot-password-header"></slot>
1652
1733
  <label part="forgot-password-label" data-monster-replace="path:labels.mailAddress"></label>
1653
1734
  <input type="email" name="email"
1654
- data-monster-attributes="accesskey path:accessKeys.username"
1735
+ part="field-set-forgot-password-email"
1736
+ data-monster-attributes="accesskey path:accessKeys.username,
1737
+ placeholder name:labels.emailPlaceholder"
1655
1738
  autocomplete="off">
1656
1739
  <div data-monster-attributes="class path:classes.emailInvalid"></div>
1657
1740
  <monster-message-state-button id="requestLinkButton"
@@ -1693,6 +1776,7 @@ function getTemplate() {
1693
1776
  <label part="second-factor-label" data-monster-replace="path:labels.secondFactor"></label>
1694
1777
  <div>
1695
1778
  <monster-digits data-monster-attributes="data-monster-option-digits path:digits"
1779
+ part="second-factor-digits-control"
1696
1780
  id="secondFactorControl"></monster-digits>
1697
1781
  </div>
1698
1782
  <!-- SECOND FACTOR COLLAPSE -->
@@ -1732,7 +1816,8 @@ function getTemplate() {
1732
1816
  <slot name="digits-header"></slot>
1733
1817
  <label part="digits-label" data-monster-replace="path:labels.digits"></label>
1734
1818
  <div>
1735
- <monster-digits data-monster-attributes="data-monster-option-digits path:digits"
1819
+ <monster-digits part="digits-control"
1820
+ data-monster-attributes="data-monster-option-digits path:digits"
1736
1821
  id="digitsControl"></monster-digits>
1737
1822
  </div>
1738
1823
  <monster-message-state-button id="digitsButton"
@@ -251,8 +251,9 @@ function getTemplate() {
251
251
  // language=HTML
252
252
  return `
253
253
  <div data-monster-role="control" part="control">
254
- <monster-input-group>
254
+ <monster-input-group part="input-group">
255
255
  <input data-monster-role="input"
256
+ part="input"
256
257
  style="border:0"
257
258
  data-monster-attributes="
258
259
  type path:type,
@@ -261,9 +262,7 @@ function getTemplate() {
261
262
  autocomplete path:autocomplete,
262
263
  inputmode path:inputmode,
263
264
  aria-required path:aria.required,
264
- aria-placeholder path:aria.placeholder"
265
- >
266
-
265
+ aria-placeholder path:aria.placeholder">
267
266
  <svg viewBox="0 0 16 16" data-monster-role="visible-icon" class="hidden">
268
267
  \${visible-icon}
269
268
  </svg>