@schukai/monster 3.116.0 → 3.117.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 +16 -0
- package/package.json +1 -1
- package/source/components/form/field-set.mjs +2 -2
- package/source/components/form/login.mjs +111 -19
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
## [3.117.0] - 2025-04-23
|
6
|
+
|
7
|
+
### Add Features
|
8
|
+
|
9
|
+
- **login:** send success event [#305](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/305)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [3.116.1] - 2025-04-17
|
14
|
+
|
15
|
+
### Bug Fixes
|
16
|
+
|
17
|
+
- update/add new parts for desin the login control
|
18
|
+
|
19
|
+
|
20
|
+
|
5
21
|
## [3.116.0] - 2025-04-14
|
6
22
|
|
7
23
|
### Add Features
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@popperjs/core":"^2.11.8","buffer":"^6.0.3"},"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":"3.
|
1
|
+
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@popperjs/core":"^2.11.8","buffer":"^6.0.3"},"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":"3.117.0"}
|
@@ -414,10 +414,10 @@ function getTemplate() {
|
|
414
414
|
</div>
|
415
415
|
<div data-monster-role="container" part="container">
|
416
416
|
<div class="collapse-alignment" part="content">
|
417
|
-
<slot
|
417
|
+
<slot></slot>
|
418
418
|
</div>
|
419
419
|
<monster-collapse data-monster-role="collapse" part="collapse">
|
420
|
-
<slot name="extended"
|
420
|
+
<slot name="extended"></slot>
|
421
421
|
</monster-collapse>
|
422
422
|
</div>
|
423
423
|
</div>`;
|
@@ -129,6 +129,9 @@ const digitsCollapseSymbol = Symbol("digitsCollapse");
|
|
129
129
|
* @since 3.113.0
|
130
130
|
* @copyright schukai GmbH
|
131
131
|
* @summary A beautiful Login that can make your life easier and also looks good. It supports a lot of features.
|
132
|
+
*
|
133
|
+
* @fires login-success
|
134
|
+
* @fires redirect-to-first-success-url
|
132
135
|
*/
|
133
136
|
class Login extends CustomElement {
|
134
137
|
/**
|
@@ -352,10 +355,18 @@ class Login extends CustomElement {
|
|
352
355
|
* @returns {Login}
|
353
356
|
*/
|
354
357
|
openLoggedIn() {
|
355
|
-
|
358
|
+
|
359
|
+
fireCustomEvent(self, "login-success", {
|
360
|
+
self,
|
361
|
+
});
|
356
362
|
|
357
363
|
if (this.getOption("features.redirectToFirstSuccessUrl")) {
|
358
364
|
setTimeout(() => {
|
365
|
+
|
366
|
+
fireCustomEvent(self, "redirect-to-first-success-url", {
|
367
|
+
self,
|
368
|
+
});
|
369
|
+
|
359
370
|
const successUrl = this.getOption("successUrls");
|
360
371
|
if (successUrl.length > 0) {
|
361
372
|
const success = successUrl[0].url;
|
@@ -368,6 +379,8 @@ class Login extends CustomElement {
|
|
368
379
|
return;
|
369
380
|
}
|
370
381
|
|
382
|
+
this[loggedInCollapseSymbol].open();
|
383
|
+
|
371
384
|
return this;
|
372
385
|
}
|
373
386
|
|
@@ -1543,9 +1556,20 @@ function getTemplate() {
|
|
1543
1556
|
|
1544
1557
|
<monster-collapse data-monster-option-openByDefault="true"
|
1545
1558
|
data-monster-role="login-collapse"
|
1559
|
+
exportparts="control:collapse-login-control,
|
1560
|
+
container:collapse-login-container,
|
1561
|
+
deco:collapse-login-deco"
|
1546
1562
|
part="login-collapse"
|
1547
1563
|
>
|
1548
|
-
<monster-field-set
|
1564
|
+
<monster-field-set
|
1565
|
+
exportparts="
|
1566
|
+
control:field-set-login-control,
|
1567
|
+
header:field-set-login-header,
|
1568
|
+
title:field-set-login-title,
|
1569
|
+
container:field-set-login-container,
|
1570
|
+
content:field-set-login-content,
|
1571
|
+
collapse:field-set-login-collapse"
|
1572
|
+
part="login-field-set">
|
1549
1573
|
<slot name="login-header"></slot>
|
1550
1574
|
<label part="login-label" data-monster-replace="path:labels.username"></label>
|
1551
1575
|
<input type="text" name="username" autofocus autocomplete="off">
|
@@ -1555,6 +1579,13 @@ function getTemplate() {
|
|
1555
1579
|
<div data-monster-attributes="class path:classes.passwordInvalid"></div>
|
1556
1580
|
<monster-message-state-button id="loginButton"
|
1557
1581
|
part="login-button"
|
1582
|
+
exportparts="
|
1583
|
+
control:login-button-control,
|
1584
|
+
button:login-button-button,
|
1585
|
+
popper:login-button-popper,
|
1586
|
+
message:login-button-message,
|
1587
|
+
button-button:login-button-button,
|
1588
|
+
button-control:login-button-control"
|
1558
1589
|
data-monster-replace="path:labels.login"></monster-message-state-button>
|
1559
1590
|
<a href="#" data-monster-role="forgot-password-link" part="forgot-password-link"
|
1560
1591
|
data-monster-attributes="class path:features.forgotPassword | ?::hidden"
|
@@ -1564,19 +1595,37 @@ function getTemplate() {
|
|
1564
1595
|
|
1565
1596
|
|
1566
1597
|
</monster-collapse>
|
1567
|
-
<monster-collapse data-monster-role="forgot-password-collapse"
|
1568
|
-
|
1569
|
-
|
1598
|
+
<monster-collapse data-monster-role="forgot-password-collapse"
|
1599
|
+
exportparts="control:collapse-forgot-password-control,
|
1600
|
+
container:collapse-forgot-password-container,
|
1601
|
+
deco:collapse-forgot-password-deco"
|
1602
|
+
part="forgot-password-collapse">
|
1603
|
+
|
1604
|
+
<monster-field-set part="forgot-password-field-set"
|
1605
|
+
exportparts="
|
1606
|
+
control:field-set-forgot-password-control,
|
1607
|
+
header:field-set-forgot-password-header,
|
1608
|
+
title:field-set-forgot-password-title,
|
1609
|
+
container:field-set-forgot-password-container,
|
1610
|
+
content:field-set-forgot-password-content,
|
1611
|
+
collapse:field-set-forgot-password-collapse">
|
1570
1612
|
<slot name="forgot-password-header"></slot>
|
1571
1613
|
<label part="forgot-password-label" data-monster-replace="path:labels.mailAddress"></label>
|
1572
1614
|
<input type="email" name="email"
|
1573
1615
|
data-monster-attributes="accesskey path:accessKeys.username"
|
1574
1616
|
autocomplete="off">
|
1575
1617
|
<div data-monster-attributes="class path:classes.emailInvalid"></div>
|
1576
|
-
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
1618
|
+
<monster-message-state-button id="requestLinkButton"
|
1619
|
+
part="request-link-button"
|
1620
|
+
exportparts="
|
1621
|
+
control:forgot-password-button-control,
|
1622
|
+
button:forgot-password-button-button,
|
1623
|
+
popper:forgot-password-button-popper,
|
1624
|
+
message:forgot-password-button-message,
|
1625
|
+
button-button:forgot-password-button-button,
|
1626
|
+
button-control:forgot-password-button-control"
|
1627
|
+
data-monster-attributes="accesskey path:accessKeys.password"
|
1628
|
+
data-monster-replace="path:labels.requestLink"></monster-message-state-button>
|
1580
1629
|
<a href="#"
|
1581
1630
|
data-monster-attributes="accesskey path:accessKeys.loginLink"
|
1582
1631
|
data-monster-role="login-link"
|
@@ -1586,18 +1635,38 @@ function getTemplate() {
|
|
1586
1635
|
</monster-field-set>
|
1587
1636
|
|
1588
1637
|
</monster-collapse>
|
1589
|
-
<monster-collapse data-monster-role="second-factor-collapse"
|
1590
|
-
|
1591
|
-
|
1638
|
+
<monster-collapse data-monster-role="second-factor-collapse"
|
1639
|
+
exportparts="control:collapse-second-factor-control,
|
1640
|
+
container:collapse-second-factor-container,
|
1641
|
+
deco:collapse-second-factor-deco"
|
1642
|
+
part="second-factor-collapse">
|
1643
|
+
|
1644
|
+
<monster-field-set part="second-factor-field-set"
|
1645
|
+
exportparts="
|
1646
|
+
control:field-set-second-factor-control,
|
1647
|
+
header:field-set-second-factor-header,
|
1648
|
+
title:field-set-second-factor-title,
|
1649
|
+
container:field-set-second-factor-container,
|
1650
|
+
content:field-set-second-factor-content,
|
1651
|
+
collapse:field-set-second-factor-collapse">
|
1592
1652
|
<slot name="second-factor-header"></slot>
|
1593
1653
|
<label part="second-factor-label" data-monster-replace="path:labels.secondFactor"></label>
|
1594
1654
|
<div>
|
1595
1655
|
<monster-digits data-monster-attributes="data-monster-option-digits path:digits"
|
1596
1656
|
id="secondFactorControl"></monster-digits>
|
1597
1657
|
</div>
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1658
|
+
<!-- SECOND FACTOR COLLAPSE -->
|
1659
|
+
<monster-message-state-button id="secondFactorButton"
|
1660
|
+
part="secondFactor-digits-button"
|
1661
|
+
exportparts="
|
1662
|
+
control:second-factor-button-control,
|
1663
|
+
button:second-factor-button-button,
|
1664
|
+
popper:second-factor-button-popper,
|
1665
|
+
message:second-factor-button-message,
|
1666
|
+
button-button:second-factor-button-button,
|
1667
|
+
button-control:second-factor-button-control"
|
1668
|
+
data-monster-replace="path:labels.sendSecondFactorDigits"></monster-message-state-button>
|
1669
|
+
|
1601
1670
|
<a href="#" data-monster-role="reset-login-process-link"
|
1602
1671
|
part="reset-login-process-link"
|
1603
1672
|
data-monster-replace="path:labels.resetLoginProcess"></a>
|
@@ -1605,9 +1674,20 @@ function getTemplate() {
|
|
1605
1674
|
</monster-field-set>
|
1606
1675
|
|
1607
1676
|
</monster-collapse>
|
1608
|
-
<monster-collapse data-monster-role="digits-collapse"
|
1609
|
-
|
1610
|
-
|
1677
|
+
<monster-collapse data-monster-role="digits-collapse"
|
1678
|
+
exportparts="control:collapse-digits-control,
|
1679
|
+
container:collapse-digits-container,
|
1680
|
+
deco:collapse-digits-deco"
|
1681
|
+
part="digits-collapse">
|
1682
|
+
|
1683
|
+
<monster-field-set part="digits-field-set"
|
1684
|
+
exportparts="
|
1685
|
+
control:field-set-digits-control,
|
1686
|
+
header:field-set-digits-header,
|
1687
|
+
title:field-set-digits-title,
|
1688
|
+
container:field-set-digits-container,
|
1689
|
+
content:field-set-digits-content,
|
1690
|
+
collapse:field-set-digits-collapse">
|
1611
1691
|
<slot name="digits-header"></slot>
|
1612
1692
|
<label part="digits-label" data-monster-replace="path:labels.digits"></label>
|
1613
1693
|
<div>
|
@@ -1616,6 +1696,13 @@ function getTemplate() {
|
|
1616
1696
|
</div>
|
1617
1697
|
<monster-message-state-button id="digitsButton"
|
1618
1698
|
part="digits-button"
|
1699
|
+
exportparts="
|
1700
|
+
control:digits-button-control,
|
1701
|
+
button:digits-button-button,
|
1702
|
+
popper:digits-button-popper,
|
1703
|
+
message:digits-button-message,
|
1704
|
+
button-button:digits-button-button,
|
1705
|
+
button-control:digits-button-control"
|
1619
1706
|
data-monster-replace="path:labels.sendDigits"></monster-message-state-button>
|
1620
1707
|
<a href="#" data-monster-role="reset-login-process-link"
|
1621
1708
|
part="reset-login-process-link"
|
@@ -1624,7 +1711,12 @@ function getTemplate() {
|
|
1624
1711
|
</monster-field-set>
|
1625
1712
|
|
1626
1713
|
</monster-collapse>
|
1627
|
-
<monster-collapse data-monster-role="logged-in-collapse"
|
1714
|
+
<monster-collapse data-monster-role="logged-in-collapse"
|
1715
|
+
exportparts="
|
1716
|
+
control:collapse-success-control,
|
1717
|
+
container:collapse-success-container,
|
1718
|
+
deco:collapse-success-deco"
|
1719
|
+
part="logged-in-collapse">
|
1628
1720
|
<div>
|
1629
1721
|
<slot name="logged-in-header"></slot>
|
1630
1722
|
<ul data-monster-insert="urls path:successUrls"></ul>
|