@schukai/monster 4.4.0 → 4.5.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 +20 -0
- package/package.json +1 -1
- package/source/components/form/login.mjs +14 -49
- package/source/components/form/select.mjs +2711 -2287
- package/source/components/form/style/select.pcss +7 -5
- package/source/components/form/stylesheet/select.mjs +7 -14
- package/source/types/version.mjs +1 -1
- package/test/cases/monster.mjs +1 -1
- package/test/web/test.html +2 -2
- package/test/web/tests.js +443 -97
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,26 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
## [4.5.0] - 2025-05-14
|
6
|
+
|
7
|
+
### Add Features
|
8
|
+
|
9
|
+
- Add placeholder support for select filter (Issue [#316](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/316))
|
10
|
+
### Changes
|
11
|
+
|
12
|
+
- update tests
|
13
|
+
- update node
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
## [4.4.1] - 2025-05-14
|
18
|
+
|
19
|
+
### Bug Fixes
|
20
|
+
|
21
|
+
- Add placeholder properties for login inputs [#315](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/315)
|
22
|
+
|
23
|
+
|
24
|
+
|
5
25
|
## [4.4.0] - 2025-05-14
|
6
26
|
|
7
27
|
### 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.
|
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.5.0"}
|
@@ -216,6 +216,10 @@ class Login extends CustomElement {
|
|
216
216
|
* @property {string} accessKeys.username Access key for focusing the username field
|
217
217
|
* @property {string} accessKeys.password Access key for focusing the password field
|
218
218
|
* @property {Object} fetch Definitions for backend requests to support login workflows
|
219
|
+
* @property {Object} placeholder Placeholder text for input fields
|
220
|
+
* @property {string} placeholder.username Placeholder for the username field
|
221
|
+
* @property {string} placeholder.password Placeholder for the password field
|
222
|
+
* @property {string} placeholder.email Placeholder for the email field
|
219
223
|
* @property {Object} fetch.login Fetch config for login request
|
220
224
|
* @property {string} fetch.login.url Endpoint to post login credentials to
|
221
225
|
* @property {string} fetch.login.method HTTP method for login (e.g., "POST")
|
@@ -294,6 +298,12 @@ class Login extends CustomElement {
|
|
294
298
|
password: "p",
|
295
299
|
},
|
296
300
|
|
301
|
+
placeholder: {
|
302
|
+
username: "",
|
303
|
+
password: "",
|
304
|
+
email: "",
|
305
|
+
},
|
306
|
+
|
297
307
|
fetch: {
|
298
308
|
login: {
|
299
309
|
url: "",
|
@@ -465,8 +475,6 @@ function getTranslations() {
|
|
465
475
|
messagePasswordResetDisabled:
|
466
476
|
"Sie können keinen Code anfordern, da die<br>Zwei-Faktor-Authentifizierung bei Ihrem Konto aktiviert ist.<br>Bitte kontaktieren Sie den Administrator.",
|
467
477
|
|
468
|
-
emailPlaceholder: "",
|
469
|
-
usernamePlaceholder: "",
|
470
478
|
};
|
471
479
|
case "es":
|
472
480
|
return {
|
@@ -501,8 +509,7 @@ function getTranslations() {
|
|
501
509
|
messagePasswordResetDisabled:
|
502
510
|
"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
511
|
|
504
|
-
|
505
|
-
usernamePlaceholder: "",
|
512
|
+
|
506
513
|
|
507
514
|
};
|
508
515
|
case "zh":
|
@@ -534,8 +541,6 @@ function getTranslations() {
|
|
534
541
|
messagePasswordResetDisabled:
|
535
542
|
"此功能无法使用,因为您的帐户启用了双因素身份验证。请联系管理员。",
|
536
543
|
|
537
|
-
emailPlaceholder: "",
|
538
|
-
usernamePlaceholder: "",
|
539
544
|
|
540
545
|
|
541
546
|
};
|
@@ -569,8 +574,6 @@ function getTranslations() {
|
|
569
574
|
messagePasswordResetDisabled:
|
570
575
|
"यह सवध कम नह करत कक आपक खत म द घटक पमणकरण सकम ह। कपय पशसक स सपर कर।",
|
571
576
|
|
572
|
-
emailPlaceholder: "",
|
573
|
-
usernamePlaceholder: "",
|
574
577
|
|
575
578
|
};
|
576
579
|
|
@@ -603,8 +606,6 @@ function getTranslations() {
|
|
603
606
|
messagePasswordResetDisabled:
|
604
607
|
"এই ফশনট করকর নয করণ আপনর অযকউন দট ফকর পমণকরণ সকয কর আছ। দয কর পশসকর সথ যগযগ করন।",
|
605
608
|
|
606
|
-
emailPlaceholder: "",
|
607
|
-
usernamePlaceholder: "",
|
608
609
|
|
609
610
|
};
|
610
611
|
|
@@ -638,8 +639,6 @@ function getTranslations() {
|
|
638
639
|
messagePasswordResetDisabled:
|
639
640
|
"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
|
|
641
|
-
emailPlaceholder: "",
|
642
|
-
usernamePlaceholder: "",
|
643
642
|
|
644
643
|
};
|
645
644
|
|
@@ -673,8 +672,6 @@ function getTranslations() {
|
|
673
672
|
messagePasswordResetDisabled:
|
674
673
|
"Эта функция не работает, потому что двухфакторная аутентификация<br> включена в вашей учетной записи. Пожалуйста, свяжитесь с администратором.",
|
675
674
|
|
676
|
-
emailPlaceholder: "",
|
677
|
-
usernamePlaceholder: "",
|
678
675
|
|
679
676
|
};
|
680
677
|
|
@@ -709,9 +706,6 @@ function getTranslations() {
|
|
709
706
|
messagePasswordResetDisabled:
|
710
707
|
"この機能は使用できません。アカウントで二要素認証が有効になっているため、管理者に連絡してください。",
|
711
708
|
|
712
|
-
emailPlaceholder: "",
|
713
|
-
usernamePlaceholder: "",
|
714
|
-
|
715
709
|
};
|
716
710
|
|
717
711
|
case "pa": // Western Punjabi
|
@@ -743,8 +737,6 @@ function getTranslations() {
|
|
743
737
|
messagePasswordResetDisabled:
|
744
738
|
"ਇਹ ਫਕਸਨ ਕਮ ਨਹ ਕਰਦ ਕਉਕ ਤਹਡ ਖਤ ਵਚ ਦ ਫਕਟਰ ਪਰਮਣਕਰਣ ਸਰਗਰਮ ਹ। ਕਰਪ ਕਰਕ ਪਰਬਧਕ ਨਲ ਸਪਰਕ ਕਰ।",
|
745
739
|
|
746
|
-
emailPlaceholder: "",
|
747
|
-
usernamePlaceholder: "",
|
748
740
|
|
749
741
|
};
|
750
742
|
|
@@ -777,8 +769,6 @@ function getTranslations() {
|
|
777
769
|
messagePasswordResetDisabled:
|
778
770
|
"य करच कमगर करत नह करण आपल खतत दन घटक पमणकरण सकय कल आह. कपय ववसपकश सपर सध.",
|
779
771
|
|
780
|
-
emailPlaceholder: "",
|
781
|
-
usernamePlaceholder: "",
|
782
772
|
|
783
773
|
};
|
784
774
|
|
@@ -814,8 +804,6 @@ function getTranslations() {
|
|
814
804
|
messagePasswordResetDisabled:
|
815
805
|
"Cette fonctionnalité ne fonctionne pas car l'authentification à deux facteurs est activée sur<br>votre compte. Veuillez contacter l'administrateur.",
|
816
806
|
|
817
|
-
emailPlaceholder: "",
|
818
|
-
usernamePlaceholder: "",
|
819
807
|
|
820
808
|
};
|
821
809
|
|
@@ -850,9 +838,6 @@ function getTranslations() {
|
|
850
838
|
messagePasswordResetDisabled:
|
851
839
|
"Questa funzione non funziona perché l'autenticazione a due<br>fattori è attiva sul tuo account. Contatta l'amministratore.",
|
852
840
|
|
853
|
-
emailPlaceholder: "",
|
854
|
-
usernamePlaceholder: "",
|
855
|
-
|
856
841
|
};
|
857
842
|
|
858
843
|
case "nl": // Dutch
|
@@ -885,9 +870,6 @@ function getTranslations() {
|
|
885
870
|
messagePasswordResetDisabled:
|
886
871
|
"Deze functie werkt niet omdat tweefactorauthenticatie is<br>ingeschakeld op uw account. Neem contact op met de beheerder.",
|
887
872
|
|
888
|
-
emailPlaceholder: "",
|
889
|
-
usernamePlaceholder: "",
|
890
|
-
|
891
873
|
};
|
892
874
|
|
893
875
|
case "sv": // Swedish
|
@@ -920,9 +902,6 @@ function getTranslations() {
|
|
920
902
|
messagePasswordResetDisabled:
|
921
903
|
"Denna funktion fungerar inte eftersom tvåfaktorsautentisering är aktiverad på ditt konto. Kontakta administratören.",
|
922
904
|
|
923
|
-
emailPlaceholder: "",
|
924
|
-
usernamePlaceholder: "",
|
925
|
-
|
926
905
|
};
|
927
906
|
|
928
907
|
case "pl": // Polish
|
@@ -956,9 +935,6 @@ function getTranslations() {
|
|
956
935
|
messagePasswordResetDisabled:
|
957
936
|
"Ta funkcja nie działa, ponieważ włączona jest autoryzacja dwuetapowa na twoim koncie. Skontaktuj się z administratorem.",
|
958
937
|
|
959
|
-
emailPlaceholder: "",
|
960
|
-
usernamePlaceholder: "",
|
961
|
-
|
962
938
|
};
|
963
939
|
|
964
940
|
case "da": // Danish
|
@@ -990,9 +966,6 @@ function getTranslations() {
|
|
990
966
|
messagePasswordResetDisabled:
|
991
967
|
"Denne funktion fungerer ikke, fordi tofaktorautentificering<br>er aktiveret på din konto. Kontakt administratoren.",
|
992
968
|
|
993
|
-
emailPlaceholder: "",
|
994
|
-
usernamePlaceholder: "",
|
995
|
-
|
996
969
|
};
|
997
970
|
|
998
971
|
case "no": // Norwegian
|
@@ -1026,9 +999,6 @@ function getTranslations() {
|
|
1026
999
|
messagePasswordResetDisabled:
|
1027
1000
|
"Denne funksjonen fungerer ikke fordi<br>tofaktorautentisering er aktivert på kontoen din. Kontakt administratoren.",
|
1028
1001
|
|
1029
|
-
emailPlaceholder: "",
|
1030
|
-
usernamePlaceholder: "",
|
1031
|
-
|
1032
1002
|
};
|
1033
1003
|
|
1034
1004
|
case "cs": // Czech
|
@@ -1060,9 +1030,6 @@ function getTranslations() {
|
|
1060
1030
|
messagePasswordResetDisabled:
|
1061
1031
|
"Tato funkce nefunguje, protože je na vašem<br>účtu aktivováno dvoufaktorové ověřování. Kontaktujte správce.",
|
1062
1032
|
|
1063
|
-
emailPlaceholder: "",
|
1064
|
-
usernamePlaceholder: "",
|
1065
|
-
|
1066
1033
|
};
|
1067
1034
|
|
1068
1035
|
default:
|
@@ -1095,9 +1062,6 @@ function getTranslations() {
|
|
1095
1062
|
messagePasswordResetDisabled:
|
1096
1063
|
"This function does not work because two-factor<br>authentication is enabled on your account.<br>Please contact the administrator.",
|
1097
1064
|
|
1098
|
-
emailPlaceholder: "",
|
1099
|
-
usernamePlaceholder: "",
|
1100
|
-
|
1101
1065
|
};
|
1102
1066
|
}
|
1103
1067
|
}
|
@@ -1686,11 +1650,12 @@ function getTemplate() {
|
|
1686
1650
|
<slot name="login-header"></slot>
|
1687
1651
|
<label part="login-label" data-monster-replace="path:labels.username"></label>
|
1688
1652
|
<input part="login-username"
|
1689
|
-
data-monster-attributes="placeholder
|
1653
|
+
data-monster-attributes="placeholder path:placeholder.username"
|
1690
1654
|
type="text" name="username" autofocus autocomplete="off">
|
1691
1655
|
<div data-monster-attributes="class path:classes.usernameInvalid"></div>
|
1692
1656
|
<label part="login-password-label" data-monster-replace="path:labels.password"></label>
|
1693
1657
|
<monster-password
|
1658
|
+
data-monster-attributes="data-monster-option-placeholder path:placeholder.password"
|
1694
1659
|
exportparts="input-group:input-group-password,
|
1695
1660
|
control:input-group-password-control,
|
1696
1661
|
input:input-group-password-input" part="login-password"
|
@@ -1734,7 +1699,7 @@ function getTemplate() {
|
|
1734
1699
|
<input type="email" name="email"
|
1735
1700
|
part="field-set-forgot-password-email"
|
1736
1701
|
data-monster-attributes="accesskey path:accessKeys.username,
|
1737
|
-
placeholder
|
1702
|
+
placeholder path:placeholder.email"
|
1738
1703
|
autocomplete="off">
|
1739
1704
|
<div data-monster-attributes="class path:classes.emailInvalid"></div>
|
1740
1705
|
<monster-message-state-button id="requestLinkButton"
|