@abtnode/blocklet-services 1.16.45-beta-20250625-103530-e1f5b0b8 → 1.16.45-beta-20250627-075343-5af3ad9a
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/api/index.js +6 -3
- package/api/libs/kyc.js +4 -0
- package/api/middlewares/check-running.js +1 -1
- package/api/middlewares/ensure-blocklet.js +4 -1
- package/api/middlewares/launcher-login.js +107 -0
- package/api/routes/user.js +84 -75
- package/api/services/kyc/index.js +22 -2
- package/dist/assets/{AdapterDayjs-BkUHFo2Q.js → AdapterDayjs-BRnJ9bMs.js} +1 -1
- package/dist/assets/{ArrowDropDown-uoMsqrxX.js → ArrowDropDown-DBJPIOl4.js} +1 -1
- package/dist/assets/{CheckCircle-BArTJjdQ.js → CheckCircle-DUJmWceY.js} +1 -1
- package/dist/assets/{ChevronLeft-U9XyGwa4.js → ChevronLeft-BBJJJhVi.js} +1 -1
- package/dist/assets/{ChevronRight-Dh2NLrsC.js → ChevronRight-BU9I7WD4.js} +1 -1
- package/dist/assets/{DeleteOutline-7ktuphyF.js → DeleteOutline-BKSMNwfT.js} +1 -1
- package/dist/assets/{Done-s3hTi91T.js → Done-ASNftAOL.js} +1 -1
- package/dist/assets/{Download-DGUbM-4s.js → Download-D4X39_9V.js} +1 -1
- package/dist/assets/{Edit-CBMVUN7v.js → Edit-CiTb-w5P.js} +1 -1
- package/dist/assets/{Error-BLGIxTaS.js → Error-BAEKW7-e.js} +1 -1
- package/dist/assets/{ExpandLess-sOQ8WJDl.js → ExpandLess-CcLTbsdW.js} +1 -1
- package/dist/assets/{Google-SspNm_dT.js → Google-C28yeMZW.js} +1 -1
- package/dist/assets/{Home-DXYTJwOE.js → Home-Dujcj083.js} +1 -1
- package/dist/assets/{InfoOutlined-D9zg7iaT.js → InfoOutlined-BVWbftGI.js} +1 -1
- package/dist/assets/{Launch-B_Kdtzoe.js → Launch-DFS3fgjy.js} +1 -1
- package/dist/assets/{LaunchOutlined-BHq8UMw3.js → LaunchOutlined-C1x4Og4u.js} +1 -1
- package/dist/assets/{MoreHoriz-8Kvv-h2g.js → MoreHoriz-ChJ3K52h.js} +1 -1
- package/dist/assets/{PlayArrow-BOrh3ye2.js → PlayArrow-BqVYRyLK.js} +1 -1
- package/dist/assets/{TuneOutlined-DEjbp2Eg.js → TuneOutlined-CKzi_VZZ.js} +1 -1
- package/dist/assets/{ViewList-BaJ81I62.js → ViewList-BOGcbymi.js} +1 -1
- package/dist/assets/{access-control-VyT_twuV.js → access-control-BH4SKMry.js} +1 -1
- package/dist/assets/{actions-BvIdpvBv.js → actions-DnTVXQ_Z.js} +1 -1
- package/dist/assets/{add-component-core-D8sBwROI.js → add-component-core-DsuA1aKD.js} +1 -1
- package/dist/assets/{add-resource-7eH0-Wsw.js → add-resource-BHpNuRRT.js} +1 -1
- package/dist/assets/{addon-BCTZ3VSd.js → addon-DdjBFoHI.js} +1 -1
- package/dist/assets/{advanced-C8duxwhU.js → advanced-Dv4hgvDN.js} +1 -1
- package/dist/assets/appearance-D25Cy4CD.js +1 -0
- package/dist/assets/{audit-logs-Dftp2a3o.js → audit-logs-DxpLWxIb.js} +1 -1
- package/dist/assets/{authorize-828obY95.js → authorize-BYosyezE.js} +1 -1
- package/dist/assets/{base32-C0_FYJxg.js → base32-DUSifB4M.js} +1 -1
- package/dist/assets/{branding-CAc-mKHr.js → branding-0f-nlnTd.js} +1 -1
- package/dist/assets/{branding-BqIwNp9U.js → branding-qHr23kxy.js} +2 -2
- package/dist/assets/{bundle-avatar-B5JLgqGx.js → bundle-avatar-o4aWU1WK.js} +1 -1
- package/dist/assets/{button--KG8AAcp.js → button-D_ZVjN82.js} +1 -1
- package/dist/assets/{click-to-copy-DX8nF7gl.js → click-to-copy-By4fgGR7.js} +1 -1
- package/dist/assets/{collapse-D3eANeOD.js → collapse-DAaiuAEY.js} +1 -1
- package/dist/assets/{complete-22yRPcaR.js → complete-DZkXZTgu.js} +1 -1
- package/dist/assets/{component-D-EwCYdQ.js → component-ufgkgw5l.js} +3 -3
- package/dist/assets/{config-CMGMCJO2.js → config-4oY1pbez.js} +1 -1
- package/dist/assets/{config-BD5dxYsY.js → config-BZuiK8BP.js} +1 -1
- package/dist/assets/{config-navigation-Cvp7wlVm.js → config-navigation-Bc7wRQPN.js} +3 -3
- package/dist/assets/{config-space-B_Rl9BHM.js → config-space-CDOLSL71.js} +1 -1
- package/dist/assets/{confirm-Dg4CaUrt.js → confirm-CYOuqhW9.js} +1 -1
- package/dist/assets/{connect-DQC3DKbw.js → connect-B0psb3-s.js} +1 -1
- package/dist/assets/{connect-BN5fJgFi.js → connect-BLeEbq2b.js} +1 -1
- package/dist/assets/{connect-to-Daxd7B4T.js → connect-to-BNRP7uKc.js} +1 -1
- package/dist/assets/{dashboard-BPc-aoST.js → dashboard-Cvfy6NEE.js} +3 -3
- package/dist/assets/{delete-confirm-Czf0KKrc.js → delete-confirm-DkwIz2kG.js} +1 -1
- package/dist/assets/{did-address-DnxhrdFG.js → did-address-NnOD1W_A.js} +1 -1
- package/dist/assets/{domain-action-card-CbU6jtbn.js → domain-action-card-BePK3J5E.js} +1 -1
- package/dist/assets/{domain-LF-KwHEm.js → domain-syiX0-xT.js} +1 -1
- package/dist/assets/domains-nIh9pvJN.js +1 -0
- package/dist/assets/{email-BJp8aGAb.js → email-D1fetol9.js} +1 -1
- package/dist/assets/{exchange-passport-Dy-gatxi.js → exchange-passport-6gauQ6xB.js} +1 -1
- package/dist/assets/{fuel-CV3m_EJx.js → fuel-C0n-khQ9.js} +1 -1
- package/dist/assets/{gen-access-key-C2wxOvX6.js → gen-access-key-CTcU_k3z.js} +1 -1
- package/dist/assets/{get-safe-url-BVncO0oF.js → get-safe-url-B0-S5PGZ.js} +1 -1
- package/dist/assets/{get-safe-url-BrvIBscc.js → get-safe-url-D5KSEAKZ.js} +1 -1
- package/dist/assets/{home-BUIRHIcF.js → home-DfSu-4-a.js} +1 -1
- package/dist/assets/{iframe-CrViGLhP.js → iframe-DFg8oeD0.js} +1 -1
- package/dist/assets/{index-Dm230Lm2.js → index-7mvFZreO.js} +1 -1
- package/dist/assets/{index-2tmNrVQQ.js → index-B2m3FSsr.js} +3 -3
- package/dist/assets/{index--lfWLzzh.js → index-BLfUtUpB.js} +1 -1
- package/dist/assets/{index-CfoGrQSF.js → index-C4yBWU5s.js} +4 -4
- package/dist/assets/{index-jFxH5RtP.js → index-CMYHZyLG.js} +5 -5
- package/dist/assets/{index-DyX5Tz7L.js → index-CW1Uu8tM.js} +1 -1
- package/dist/assets/{index-MqO6TrGi.js → index-Cd0lzxjI.js} +1 -1
- package/dist/assets/{index-BkjHYSat.js → index-CssP44F_.js} +1 -1
- package/dist/assets/{index-C4BHoz9Z.js → index-Cza1eXOB.js} +1 -1
- package/dist/assets/{index-DjyoWCi2.js → index-D0mjW5YA.js} +1 -1
- package/dist/assets/{index-CI_n6hWW.js → index-DC-aJClV.js} +1 -1
- package/dist/assets/{index-bvc0dAP_.js → index-DOM4CWCV.js} +1 -1
- package/dist/assets/{index-BSt11j4-.js → index-DPIWnhb5.js} +1 -1
- package/dist/assets/{index-DAXv7uYh.js → index-DmckOkn6.js} +1 -1
- package/dist/assets/{index-CeF3MsUH.js → index-IeoAQOW8.js} +1 -1
- package/dist/assets/{index-BcTm-r7W.js → index-YTd3fqJi.js} +1 -1
- package/dist/assets/{index-Cuz31j49.js → index-ZnxES9EB.js} +1 -1
- package/dist/assets/{index-ClnRh-8U.js → index-avNWKuLM.js} +1 -1
- package/dist/assets/{index-B6wCkz4C.js → index-z4rrXifq.js} +1 -1
- package/dist/assets/{invitation-D05UX97m.js → invitation-jsh1K30w.js} +1 -1
- package/dist/assets/{invite-C86Yq2C7.js → invite-DB6Gc2ZO.js} +1 -1
- package/dist/assets/{issue-passport-BVcBEVhS.js → issue-passport-BElK-FIZ.js} +1 -1
- package/dist/assets/{item-BsvQMeka.js → item-D95t-at-.js} +1 -1
- package/dist/assets/{layout-DgRpLAdN.js → layout-CCLJBPEI.js} +1 -1
- package/dist/assets/{list-B5MkK3hb.js → list-Dk6LlvZw.js} +1 -1
- package/dist/assets/{list-DQCMPNJq.js → list-q5d_hBMT.js} +2 -2
- package/dist/assets/localization-tyC-vHO5.js +1 -0
- package/dist/assets/{log-DgyfU5NE.js → log-CYFcudFD.js} +1 -1
- package/dist/assets/{logger-VrJgCYNP.js → logger-Dqm1UQym.js} +1 -1
- package/dist/assets/{login-D7P2teKI.js → login-Bs3IhQdt.js} +1 -1
- package/dist/assets/{login-oauth-callback-BqOQCz2b.js → login-oauth-callback-Cpai1yC1.js} +1 -1
- package/dist/assets/{logo-uploader-GudxOaH1.js → logo-uploader-BSR27hpo.js} +3 -3
- package/dist/assets/{lost-passport-C2BbxHZd.js → lost-passport-CHgCTW2X.js} +1 -1
- package/dist/assets/{open-window-TS48IjAg.js → open-window-hpzKFxn5.js} +1 -1
- package/dist/assets/{overview-BwHeKDQf.js → overview-BlZSVHbX.js} +1 -1
- package/dist/assets/{page-header-B60LTFYj.js → page-header-DNvUdNpI.js} +1 -1
- package/dist/assets/{passport-item-CVuqV7QY.js → passport-item-C1Pxlerj.js} +1 -1
- package/dist/assets/{permission-Czu_iI7T.js → permission-DQvXGutX.js} +1 -1
- package/dist/assets/{preferences-deuXATxR.js → preferences-C3zaKjfI.js} +1 -1
- package/dist/assets/{profile-embed-jrtUmAl3.js → profile-embed-BFjGm3Vt.js} +1 -1
- package/dist/assets/{publish-resource-DWJL9u6N.js → publish-resource-CjbA8eXl.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-CgKllxr_.js → react-beautiful-dnd.esm-02tdagHZ.js} +1 -1
- package/dist/assets/{runtime-c-dmTq6m.js → runtime-BAC7Yn-4.js} +1 -1
- package/dist/assets/sdk-BmeKtHic.js +1 -0
- package/dist/assets/{security-B3g4H86J.js → security-BdzQGoAm.js} +1 -1
- package/dist/assets/{session-CSqZAuUi.js → session-BGdAM8zS.js} +1 -1
- package/dist/assets/{setup-tGn8XK28.js → setup-mVNNI9iB.js} +3 -3
- package/dist/assets/{spaces-4ggcaR9S.js → spaces-DUkzPTBd.js} +1 -1
- package/dist/assets/{start-DEAtdxG-.js → start-CGuvKy2s.js} +1 -1
- package/dist/assets/{starting-progress-DMRm9nLB.js → starting-progress-CYgfPTsE.js} +1 -1
- package/dist/assets/{status-Q5_rIAD6.js → status-C6AnHonq.js} +1 -1
- package/dist/assets/{step-actions-Db31xG5m.js → step-actions-Bps0yIu_.js} +1 -1
- package/dist/assets/{studio-D6xk_8ib.js → studio-I9lo0Itp.js} +1 -1
- package/dist/assets/{switch-control-Cwz1Y3ki.js → switch-control-Brwb8ptk.js} +1 -1
- package/dist/assets/{table-tips-D-0vo2zT.js → table-tips-BzPqsKYQ.js} +1 -1
- package/dist/assets/{traffic-D1OJ0LuK.js → traffic-BXZ-j7u7.js} +1 -1
- package/dist/assets/{transfer-CaAsTjf5.js → transfer-DR2kNsMH.js} +1 -1
- package/dist/assets/{unsubscribe-vI-lTpuF.js → unsubscribe-CC4RgAWa.js} +1 -1
- package/dist/assets/{use-blocklet-logo-B6C98Y9X.js → use-blocklet-logo-CWdlYyrq.js} +1 -1
- package/dist/assets/{useLocalStorage-Ca19maDp.js → useLocalStorage-CaPDqrQ7.js} +1 -1
- package/dist/assets/{user-center-DUi0fyMq.js → user-center-Cjgf_nB9.js} +3 -3
- package/dist/assets/{util-Bfi7KUOC.js → util-BQAJqeb4.js} +1 -1
- package/dist/assets/{util-BE5-smXw.js → util-BeBq6bKh.js} +1 -1
- package/dist/assets/{vendor-arcblock-Du9G80vj.js → vendor-arcblock-CwufDgLV.js} +3 -3
- package/dist/assets/{vendor-ux-did-connect-4mD5lxtt.js → vendor-ux-did-connect-pzpsrvqx.js} +1 -1
- package/dist/assets/{wrap-locale-H_5SdGdQ.js → wrap-locale-CIsMM5oS.js} +1 -1
- package/dist/index.html +3 -3
- package/dist/service-worker.js +1 -1
- package/package.json +24 -23
- package/api/middlewares/check-blocklet.js +0 -14
- package/dist/assets/appearance-DIwpwLjp.js +0 -1
- package/dist/assets/domains-BLZecdib.js +0 -1
- package/dist/assets/localization-Bf7DNb_E.js +0 -1
- package/dist/assets/sdk-CcDxWXWH.js +0 -1
package/api/index.js
CHANGED
|
@@ -78,13 +78,13 @@ const createOpenEventRoutes = require('./routes/openevent');
|
|
|
78
78
|
const createOpenComponentRoutes = require('./routes/opencomponent');
|
|
79
79
|
const createOpenEmbedRoutes = require('./routes/openembed');
|
|
80
80
|
const checkRunning = require('./middlewares/check-running');
|
|
81
|
+
const launcherLogin = require('./middlewares/launcher-login');
|
|
81
82
|
const { checkMemberPermission, checkGuestPermission } = require('./middlewares/check-permission');
|
|
82
|
-
const
|
|
83
|
+
const ensureBlocklet = require('./middlewares/ensure-blocklet');
|
|
83
84
|
const proxyToDaemon = require('./middlewares/proxy-to-daemon');
|
|
84
85
|
const attachSharedUtils = require('./util/attach-shared-utils');
|
|
85
86
|
const createMediaRoutes = require('./routes/media');
|
|
86
87
|
const createMCPRoutes = require('./routes/mcp');
|
|
87
|
-
const ensureBlocklet = require('./middlewares/ensure-blocklet');
|
|
88
88
|
const bodyParser = require('./middlewares/body-parser');
|
|
89
89
|
const federatedUtil = require('./util/federated');
|
|
90
90
|
|
|
@@ -782,6 +782,9 @@ self.blocklet = {
|
|
|
782
782
|
type: 'blocklet',
|
|
783
783
|
});
|
|
784
784
|
|
|
785
|
+
// NOTE: this must be placed before static middleware for auto login to work for `/.well-known/service/admin`
|
|
786
|
+
server.use(launcherLogin(node, options));
|
|
787
|
+
|
|
785
788
|
// Web Page
|
|
786
789
|
server.get(`${WELLKNOWN_SERVICE_PATH_PREFIX}/**`, (req, res, next) => {
|
|
787
790
|
if (isFeDev) {
|
|
@@ -795,7 +798,7 @@ self.blocklet = {
|
|
|
795
798
|
return next();
|
|
796
799
|
});
|
|
797
800
|
|
|
798
|
-
server.use(
|
|
801
|
+
server.use(ensureBlocklet());
|
|
799
802
|
|
|
800
803
|
// Middleware: check running
|
|
801
804
|
// Request would not arrive here before blocklet is installed, because there is no config in router provider(nginx)
|
package/api/libs/kyc.js
CHANGED
|
@@ -252,6 +252,8 @@ async function verifyKycClaims({ node, blocklet, teamDid, claims, challenge, loc
|
|
|
252
252
|
if (isEmailUsed) {
|
|
253
253
|
throw new Error(messages.emailAlreadyUsed[locale]);
|
|
254
254
|
}
|
|
255
|
+
} else if (user && profile?.email && !isSameEmail(user.email, profile.email)) {
|
|
256
|
+
kycUpdates.email = profile.email;
|
|
255
257
|
}
|
|
256
258
|
|
|
257
259
|
// verify phone kyc
|
|
@@ -285,6 +287,8 @@ async function verifyKycClaims({ node, blocklet, teamDid, claims, challenge, loc
|
|
|
285
287
|
if (isPhoneUsed) {
|
|
286
288
|
throw new Error(messages.phoneAlreadyUsed[locale]);
|
|
287
289
|
}
|
|
290
|
+
} else if (user && profile?.phone && !isSamePhone(user.phone, profile.phone)) {
|
|
291
|
+
kycUpdates.phone = profile.phone;
|
|
288
292
|
}
|
|
289
293
|
|
|
290
294
|
return kycUpdates;
|
|
@@ -4,7 +4,7 @@ const getBlockletMaintenanceTemplate = require('@abtnode/router-templates/lib/bl
|
|
|
4
4
|
const { findComponentByIdV2 } = require('@blocklet/meta/lib/util');
|
|
5
5
|
|
|
6
6
|
const { shouldGotoStartPage, getRedirectUrl, redirectWithoutCache } = require('../util');
|
|
7
|
-
const logger = require('../libs/logger')();
|
|
7
|
+
const logger = require('../libs/logger')('blocklet-services:check-running');
|
|
8
8
|
|
|
9
9
|
const checkRunning = async (req, res, next) => {
|
|
10
10
|
const app = await req.getBlocklet();
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
const logger = require('../libs/logger')('check-blocklet');
|
|
2
|
+
|
|
1
3
|
function ensureBlocklet({ useCache = true } = {}) {
|
|
2
4
|
return async (req, res, next) => {
|
|
3
|
-
const blocklet = await req.getBlocklet({ useCache });
|
|
5
|
+
const blocklet = req.getBlocklet ? await req.getBlocklet({ useCache }) : null;
|
|
4
6
|
if (!blocklet) {
|
|
7
|
+
logger.error('blocklet not found', { url: req.url, method: req.method, headers: req.headers });
|
|
5
8
|
res.status(404).send('blocklet not found');
|
|
6
9
|
return;
|
|
7
10
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
const JWT = require('@arcblock/jwt');
|
|
2
|
+
const { isSameDid } = require('@ocap/util');
|
|
3
|
+
const { getDeviceData } = require('@abtnode/util/lib/device');
|
|
4
|
+
const getRequestIP = require('@abtnode/util/lib/get-request-ip');
|
|
5
|
+
const getOrigin = require('@abtnode/util/lib/get-origin');
|
|
6
|
+
|
|
7
|
+
const { createTokenFn } = require('../util');
|
|
8
|
+
const initJwt = require('../libs/jwt');
|
|
9
|
+
const logger = require('../libs/logger')('blocklet-services:launcher-login');
|
|
10
|
+
|
|
11
|
+
// auto login from authenticated launcher users: will skip if user is already logged in
|
|
12
|
+
const launcherLogin = (node, options) => async (req, res, next) => {
|
|
13
|
+
if (!req.query.__lt) {
|
|
14
|
+
return next();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (req.user) {
|
|
18
|
+
return next();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const blocklet = await req.getBlocklet();
|
|
22
|
+
if (!blocklet.controller) {
|
|
23
|
+
return next();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
const token = req.query.__lt;
|
|
28
|
+
const decoded = JWT.decode(token);
|
|
29
|
+
const info = await req.getNodeInfo();
|
|
30
|
+
|
|
31
|
+
if (
|
|
32
|
+
isSameDid(decoded.iss, info.registerInfo?.appId) && // ensure the token is signed by launcher attached to this server
|
|
33
|
+
isSameDid(decoded.oid, blocklet.settings?.owner?.did) && // ensure the owner is not changed, if transfer ownership, the token will be invalid
|
|
34
|
+
decoded.lid === blocklet.controller.launcherSessionId && // ensure this blocklet is launched by launcher
|
|
35
|
+
[blocklet.appDid, blocklet.appPid].includes(decoded.aid) // ensure we are visiting the same blocklet as launcher
|
|
36
|
+
) {
|
|
37
|
+
const verified = await JWT.verify(token, info.registerInfo?.appPk);
|
|
38
|
+
if (verified) {
|
|
39
|
+
const user = await node.getUser({
|
|
40
|
+
teamDid: blocklet.appPid,
|
|
41
|
+
user: { did: decoded.oid },
|
|
42
|
+
options: { enableConnectedAccount: true },
|
|
43
|
+
});
|
|
44
|
+
if (user?.approved) {
|
|
45
|
+
const { secret } = await req.getBlockletInfo();
|
|
46
|
+
const { createSessionToken } = initJwt(node, options);
|
|
47
|
+
const createToken = createTokenFn(createSessionToken);
|
|
48
|
+
const result = createToken(
|
|
49
|
+
user.did,
|
|
50
|
+
{
|
|
51
|
+
secret,
|
|
52
|
+
role: 'owner',
|
|
53
|
+
fullName: user.fullName,
|
|
54
|
+
provider: user.sourceProvider,
|
|
55
|
+
walletOS: user.walletOS,
|
|
56
|
+
emailVerified: !!user?.emailVerified,
|
|
57
|
+
phoneVerified: !!user?.phoneVerified,
|
|
58
|
+
elevated: true,
|
|
59
|
+
},
|
|
60
|
+
blocklet.settings?.session || {}
|
|
61
|
+
);
|
|
62
|
+
logger.info('done auto login for launcher user', {
|
|
63
|
+
appPid: blocklet.appPid,
|
|
64
|
+
userDid: user.did,
|
|
65
|
+
visitorId: decoded.vid,
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
await node.upsertUserSession({
|
|
69
|
+
teamDid: blocklet.appPid,
|
|
70
|
+
userDid: user.did,
|
|
71
|
+
visitorId: decoded.vid,
|
|
72
|
+
appPid: blocklet.appPid,
|
|
73
|
+
passportId: null,
|
|
74
|
+
status: 'online',
|
|
75
|
+
ua: req.get('user-agent'),
|
|
76
|
+
lastLoginIp: getRequestIP(req),
|
|
77
|
+
extra: {
|
|
78
|
+
walletOS: user.walletOS,
|
|
79
|
+
device: getDeviceData({ req }),
|
|
80
|
+
},
|
|
81
|
+
locale: req.blockletLocale,
|
|
82
|
+
origin: await getOrigin({ req }),
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
res.cookie('login_token', result.sessionToken, {
|
|
86
|
+
maxAge: 24 * 60 * 60 * 1000,
|
|
87
|
+
secure: true,
|
|
88
|
+
sameSite: 'lax',
|
|
89
|
+
});
|
|
90
|
+
if (decoded.vid) {
|
|
91
|
+
res.cookie('vid', decoded.vid, {
|
|
92
|
+
maxAge: 365 * 24 * 60 * 60 * 1000,
|
|
93
|
+
secure: true,
|
|
94
|
+
sameSite: 'lax',
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
} catch (err) {
|
|
101
|
+
logger.error('Failed to attach launcher token', { error: err });
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return next();
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
module.exports = launcherLogin;
|
package/api/routes/user.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable require-await */
|
|
1
2
|
const { WELLKNOWN_SERVICE_PATH_PREFIX, VERIFY_CODE_TTL } = require('@abtnode/constant');
|
|
2
3
|
const JWT = require('@arcblock/jwt');
|
|
3
4
|
const { render } = require('@react-email/components');
|
|
@@ -43,6 +44,7 @@ const userUtil = require('../util/user-util');
|
|
|
43
44
|
const { VerifyCodeBody } = require('../emails/_templates/verify-code-body');
|
|
44
45
|
const { checkFederatedCall } = require('../middlewares/check-federated');
|
|
45
46
|
const { sendToUser } = require('../libs/notification');
|
|
47
|
+
const { createEmailLimiter } = require('../services/kyc');
|
|
46
48
|
|
|
47
49
|
const validateUser = (user) => {
|
|
48
50
|
try {
|
|
@@ -1060,6 +1062,7 @@ module.exports = {
|
|
|
1060
1062
|
`${prefixApi}/email/forwardSendCode`,
|
|
1061
1063
|
ensureBlocklet(),
|
|
1062
1064
|
checkFederatedCall({ mode: 'memberToMaster', allowStatus: ['approved'] }),
|
|
1065
|
+
createEmailLimiter({ getEmail: (req) => req.verifyData?.subject }),
|
|
1063
1066
|
async (req, res) => {
|
|
1064
1067
|
const { blocklet, verifyData } = req;
|
|
1065
1068
|
const teamDid = blocklet.appPid;
|
|
@@ -1091,90 +1094,96 @@ module.exports = {
|
|
|
1091
1094
|
}
|
|
1092
1095
|
);
|
|
1093
1096
|
|
|
1094
|
-
server.post(
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1097
|
+
server.post(
|
|
1098
|
+
`${prefixApi}/email/sendCode`,
|
|
1099
|
+
ensureBlocklet(),
|
|
1100
|
+
ensureCors,
|
|
1101
|
+
createEmailLimiter({ getEmail: (req) => req.body?.email }),
|
|
1102
|
+
async (req, res) => {
|
|
1103
|
+
const locale = req.blockletLocale;
|
|
1104
|
+
const { blocklet } = req;
|
|
1105
|
+
const teamDid = blocklet.appPid;
|
|
1106
|
+
const { email, useCode = true, useMagicLink = true, sourceAppPid = null } = req.body;
|
|
1101
1107
|
|
|
1102
|
-
|
|
1103
|
-
res.status(400).send({ error: t('emailInvalid', locale), code: 'email_invalid' });
|
|
1104
|
-
return;
|
|
1105
|
-
}
|
|
1108
|
+
const { error, value: subject } = emailSchema.validate(email);
|
|
1106
1109
|
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
});
|
|
1112
|
-
return;
|
|
1113
|
-
}
|
|
1110
|
+
if (error) {
|
|
1111
|
+
res.status(400).send({ error: t('emailInvalid', locale), code: 'email_invalid' });
|
|
1112
|
+
return;
|
|
1113
|
+
}
|
|
1114
1114
|
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
code: doc.code,
|
|
1123
|
-
},
|
|
1124
|
-
});
|
|
1125
|
-
logger.info('Email login: create verify code', { teamDid, doc });
|
|
1115
|
+
if (await node.isSubjectSent({ teamDid, subject })) {
|
|
1116
|
+
res.status(400).send({
|
|
1117
|
+
error: t('emailAlreadySent', locale),
|
|
1118
|
+
code: 'email_already_sent',
|
|
1119
|
+
});
|
|
1120
|
+
return;
|
|
1121
|
+
}
|
|
1126
1122
|
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
magicToken: magicLinkToken,
|
|
1137
|
-
sourceAppPid,
|
|
1123
|
+
const blockletInfo = await req.getBlockletInfo();
|
|
1124
|
+
const doc = await node.createVerifyCode({ teamDid, subject, purpose: 'login' });
|
|
1125
|
+
const now = Math.floor(Date.now() / 1000);
|
|
1126
|
+
const magicLinkToken = JWT.signV2(blockletInfo.wallet.address, blockletInfo.wallet.secretKey, {
|
|
1127
|
+
exp: String(now + VERIFY_CODE_TTL),
|
|
1128
|
+
data: {
|
|
1129
|
+
id: doc.id,
|
|
1130
|
+
code: doc.code,
|
|
1131
|
+
},
|
|
1138
1132
|
});
|
|
1139
|
-
|
|
1133
|
+
logger.info('Email login: create verify code', { teamDid, doc });
|
|
1134
|
+
|
|
1135
|
+
const emailData = {
|
|
1136
|
+
appName: blockletInfo.name,
|
|
1137
|
+
locale,
|
|
1138
|
+
};
|
|
1139
|
+
if (useCode) {
|
|
1140
|
+
emailData.code = doc.code;
|
|
1141
|
+
}
|
|
1142
|
+
if (useMagicLink) {
|
|
1143
|
+
emailData.magicLink = withQuery(req.get('referer'), {
|
|
1144
|
+
magicToken: magicLinkToken,
|
|
1145
|
+
sourceAppPid,
|
|
1146
|
+
});
|
|
1147
|
+
}
|
|
1140
1148
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1149
|
+
let result;
|
|
1150
|
+
if (sourceAppPid) {
|
|
1151
|
+
// 通知 master 去发送邮件
|
|
1152
|
+
result = await federatedUtil.sendEmailVerifyCode({
|
|
1153
|
+
blocklet,
|
|
1154
|
+
blockletInfo,
|
|
1155
|
+
request: req,
|
|
1156
|
+
params: {
|
|
1157
|
+
...emailData,
|
|
1158
|
+
subject,
|
|
1159
|
+
locale,
|
|
1160
|
+
},
|
|
1161
|
+
});
|
|
1162
|
+
} else {
|
|
1163
|
+
const emailBody = await render(VerifyCodeBody(emailData));
|
|
1164
|
+
result = await sendEmail(
|
|
1150
1165
|
subject,
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
node,
|
|
1165
|
-
locale,
|
|
1166
|
-
raw: true,
|
|
1167
|
-
launcher: true,
|
|
1168
|
-
}
|
|
1169
|
-
);
|
|
1170
|
-
}
|
|
1166
|
+
{
|
|
1167
|
+
title: t('emailTitle', locale, { appName: blockletInfo.name }),
|
|
1168
|
+
body: emailBody,
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
teamDid,
|
|
1172
|
+
node,
|
|
1173
|
+
locale,
|
|
1174
|
+
raw: true,
|
|
1175
|
+
launcher: true,
|
|
1176
|
+
}
|
|
1177
|
+
);
|
|
1178
|
+
}
|
|
1171
1179
|
|
|
1172
|
-
|
|
1173
|
-
|
|
1180
|
+
logger.info('Email login: send verify code', { teamDid, result });
|
|
1181
|
+
await node.sendVerifyCode({ teamDid, code: doc.code });
|
|
1174
1182
|
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1183
|
+
// 返回 verify code 的 id,用于后续状态的监听
|
|
1184
|
+
res.json({ id: doc.id });
|
|
1185
|
+
}
|
|
1186
|
+
);
|
|
1178
1187
|
server.get(`${prefixApi}/email/status`, ensureBlocklet(), ensureCors, async (req, res) => {
|
|
1179
1188
|
const { codeId } = req.query;
|
|
1180
1189
|
const { blocklet } = req;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const { verifyRequest } = require('@blocklet/did-space-js');
|
|
2
2
|
const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
|
|
3
3
|
const createTranslator = require('@abtnode/util/lib/translate');
|
|
4
|
+
const { createRateLimiter } = require('@blocklet/rate-limit');
|
|
4
5
|
|
|
5
6
|
const { emailSchema } = require('../../socket/channel/did');
|
|
6
7
|
const { sendEmail } = require('../../libs/email');
|
|
@@ -43,6 +44,21 @@ const translations = {
|
|
|
43
44
|
|
|
44
45
|
const t = createTranslator({ translations });
|
|
45
46
|
|
|
47
|
+
function createEmailLimiter({ getEmail }) {
|
|
48
|
+
const limit = process.env.ABT_NODE_EMAIL_RATE_LIMIT || 1;
|
|
49
|
+
|
|
50
|
+
return [
|
|
51
|
+
// IP limit
|
|
52
|
+
createRateLimiter({ limit, skipFailedRequests: true }),
|
|
53
|
+
// email limit
|
|
54
|
+
createRateLimiter({
|
|
55
|
+
limit,
|
|
56
|
+
keyGenerator: (req) => getEmail(req),
|
|
57
|
+
skipFailedRequests: true,
|
|
58
|
+
}),
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
|
|
46
62
|
const init = ({ node }) => {
|
|
47
63
|
const onStartEmailVerify = async (req, res) => {
|
|
48
64
|
const { locale = 'en' } = req.query;
|
|
@@ -174,11 +190,15 @@ const init = ({ node }) => {
|
|
|
174
190
|
|
|
175
191
|
return {
|
|
176
192
|
attach: (app) => {
|
|
177
|
-
app.post(
|
|
193
|
+
app.post(
|
|
194
|
+
`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/kyc/email/send`,
|
|
195
|
+
createEmailLimiter({ getEmail: (req) => req.body.email }),
|
|
196
|
+
onStartEmailVerify
|
|
197
|
+
);
|
|
178
198
|
app.post(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/kyc/email/verify`, onEndEmailVerify);
|
|
179
199
|
app.post(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/kyc/status`, onCheckKycStatus);
|
|
180
200
|
},
|
|
181
201
|
};
|
|
182
202
|
};
|
|
183
203
|
|
|
184
|
-
module.exports = { init };
|
|
204
|
+
module.exports = { init, createEmailLimiter };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as dt}from"./vendor-mui-core-Bq8gXTan.js";import{a as f}from"./vendor-utils-BfZ4tlod.js";import{e as Q,g as R}from"./vendor-react-DEoibe3W.js";import{aF as ft}from"./vendor-ux-did-connect-
|
|
1
|
+
import{_ as dt}from"./vendor-mui-core-Bq8gXTan.js";import{a as f}from"./vendor-utils-BfZ4tlod.js";import{e as Q,g as R}from"./vendor-react-DEoibe3W.js";import{aF as ft}from"./vendor-ux-did-connect-pzpsrvqx.js";import{b as ct}from"./vendor-mui-x-1nqAyytV.js";var tt={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l="week",c="year";return function(g,t,e){var s=t.prototype;s.week=function(i){if(i===void 0&&(i=null),i!==null)return this.add(7*(i-this.week()),"day");var o=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var n=e(this).startOf(c).add(1,c).date(o),d=e(this).endOf(l);if(n.isBefore(d))return 1}var m=e(this).startOf(c).date(o).startOf(l).subtract(1,"millisecond"),U=this.diff(m,l,!0);return U<0?e(this).startOf("week").week():Math.ceil(U)},s.weeks=function(i){return i===void 0&&(i=null),this.week(i)}}})})(tt);var lt=tt.exports;const mt=R(lt);var et={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},c=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,g=/\d/,t=/\d\d/,e=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,i={},o=function(r){return(r=+r)+(r>68?1900:2e3)},n=function(r){return function(a){this[r]=+a}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(r){(this.zone||(this.zone={})).offset=function(a){if(!a||a==="Z")return 0;var h=a.match(/([+-]|\d\d)/g),u=60*h[1]+(+h[2]||0);return u===0?0:h[0]==="+"?-u:u}(r)}],m=function(r){var a=i[r];return a&&(a.indexOf?a:a.s.concat(a.f))},U=function(r,a){var h,u=i.meridiem;if(u){for(var D=1;D<=24;D+=1)if(r.indexOf(u(D,0,a))>-1){h=D>12;break}}else h=r===(a?"pm":"PM");return h},rt={A:[s,function(r){this.afternoon=U(r,!1)}],a:[s,function(r){this.afternoon=U(r,!0)}],Q:[g,function(r){this.month=3*(r-1)+1}],S:[g,function(r){this.milliseconds=100*+r}],SS:[t,function(r){this.milliseconds=10*+r}],SSS:[/\d{3}/,function(r){this.milliseconds=+r}],s:[e,n("seconds")],ss:[e,n("seconds")],m:[e,n("minutes")],mm:[e,n("minutes")],H:[e,n("hours")],h:[e,n("hours")],HH:[e,n("hours")],hh:[e,n("hours")],D:[e,n("day")],DD:[t,n("day")],Do:[s,function(r){var a=i.ordinal,h=r.match(/\d+/);if(this.day=h[0],a)for(var u=1;u<=31;u+=1)a(u).replace(/\[|\]/g,"")===r&&(this.day=u)}],w:[e,n("week")],ww:[t,n("week")],M:[e,n("month")],MM:[t,n("month")],MMM:[s,function(r){var a=m("months"),h=(m("monthsShort")||a.map(function(u){return u.slice(0,3)})).indexOf(r)+1;if(h<1)throw new Error;this.month=h%12||h}],MMMM:[s,function(r){var a=m("months").indexOf(r)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,n("year")],YY:[t,function(r){this.year=o(r)}],YYYY:[/\d{4}/,n("year")],Z:d,ZZ:d};function nt(r){var a,h;a=r,h=i&&i.formats;for(var u=(r=a.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(b,k,p){var M=p&&p.toUpperCase();return k||h[p]||l[p]||h[M].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(x,j,z){return j||z.slice(1)})})).match(c),D=u.length,w=0;w<D;w+=1){var P=u[w],S=rt[P],Y=S&&S[0],O=S&&S[1];u[w]=O?{regex:Y,parser:O}:P.replace(/^\[|\]$/g,"")}return function(b){for(var k={},p=0,M=0;p<D;p+=1){var x=u[p];if(typeof x=="string")M+=x.length;else{var j=x.regex,z=x.parser,H=b.slice(M),A=j.exec(H)[0];z.call(k,A),b=b.replace(A,"")}}return function(C){var I=C.afternoon;if(I!==void 0){var y=C.hours;I?y<12&&(C.hours+=12):y===12&&(C.hours=0),delete C.afternoon}}(k),k}}return function(r,a,h){h.p.customParseFormat=!0,r&&r.parseTwoDigitYear&&(o=r.parseTwoDigitYear);var u=a.prototype,D=u.parse;u.parse=function(w){var P=w.date,S=w.utc,Y=w.args;this.$u=S;var O=Y[1];if(typeof O=="string"){var b=Y[2]===!0,k=Y[3]===!0,p=b||k,M=Y[2];k&&(M=Y[2]),i=this.$locale(),!b&&M&&(i=h.Ls[M]),this.$d=function(H,A,C,I){try{if(["x","X"].indexOf(A)>-1)return new Date((A==="X"?1e3:1)*H);var y=nt(A)(H),W=y.year,F=y.month,it=y.day,at=y.hours,ot=y.minutes,ht=y.seconds,ut=y.milliseconds,X=y.zone,q=y.week,$=new Date,N=it||(W||F?1:$.getDate()),Z=W||$.getFullYear(),B=0;W&&!F||(B=F>0?F-1:$.getMonth());var E,v=at||0,V=ot||0,J=ht||0,_=ut||0;return X?new Date(Date.UTC(Z,B,N,v,V,J,_+60*X.offset*1e3)):C?new Date(Date.UTC(Z,B,N,v,V,J,_)):(E=new Date(Z,B,N,v,V,J,_),q&&(E=I(E).week(q).toDate()),E)}catch{return new Date("")}}(P,O,S,h),this.init(),M&&M!==!0&&(this.$L=this.locale(M).$L),p&&P!=this.format(O)&&(this.$d=new Date("")),i={}}else if(O instanceof Array)for(var x=O.length,j=1;j<=x;j+=1){Y[1]=O[j-1];var z=h.apply(this,Y);if(z.isValid()){this.$d=z.$d,this.$L=z.$L,this.init();break}j===x&&(this.$d=new Date(""))}else D.call(this,w)}}})})(et);var yt=et.exports;const Mt=R(yt);var st={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){return function(l,c,g){c.prototype.isBetween=function(t,e,s,i){var o=g(t),n=g(e),d=(i=i||"()")[0]==="(",m=i[1]===")";return(d?this.isAfter(o,s):!this.isBefore(o,s))&&(m?this.isBefore(n,s):!this.isAfter(n,s))||(d?this.isBefore(o,s):!this.isAfter(o,s))&&(m?this.isAfter(n,s):!this.isBefore(n,s))}}})})(st);var pt=st.exports;const Tt=R(pt);f.extend(Mt);f.extend(ft);f.extend(Tt);const gt=ct(["Your locale has not been found.","Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale","Or you forget to import the locale from 'dayjs/locale/{localeUsed}'","fallback on English locale"]),Dt={YY:"year",YYYY:{sectionType:"year",contentType:"digit",maxLength:4},M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMM:{sectionType:"month",contentType:"letter"},MMMM:{sectionType:"month",contentType:"letter"},D:{sectionType:"day",contentType:"digit",maxLength:2},DD:"day",Do:{sectionType:"day",contentType:"digit-with-letter"},d:{sectionType:"weekDay",contentType:"digit",maxLength:2},dd:{sectionType:"weekDay",contentType:"letter"},ddd:{sectionType:"weekDay",contentType:"letter"},dddd:{sectionType:"weekDay",contentType:"letter"},A:"meridiem",a:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},wt={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",fullDateWithWeekday:"dddd, LL",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",monthAndYear:"MMMM YYYY",monthAndDate:"MMMM D",fullTime:"LT",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",fullDateTime:"lll",fullDateTime12h:"ll hh:mm A",fullDateTime24h:"ll HH:mm",keyboardDateTime:"L LT",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},G=["Missing UTC plugin","To be able to use UTC or timezones, you have to enable the `utc` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc"].join(`
|
|
2
2
|
`),K=["Missing timezone plugin","To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone"].join(`
|
|
3
3
|
`),Yt=(T,L)=>L?(...l)=>T(...l).locale(L):T;class bt{constructor({locale:L,formats:l,instance:c}={}){var g;this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="dayjs",this.rawDayJsInstance=void 0,this.dayjs=void 0,this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"[",end:"]"},this.formatTokenMap=Dt,this.setLocaleToValue=t=>{const e=this.getCurrentLocaleCode();return e===t.locale()?t:t.locale(e)},this.hasUTCPlugin=()=>typeof f.utc<"u",this.hasTimezonePlugin=()=>typeof f.tz<"u",this.isSame=(t,e,s)=>{const i=this.setTimezone(e,this.getTimezone(t));return t.format(s)===i.format(s)},this.cleanTimezone=t=>{switch(t){case"default":return;case"system":return f.tz.guess();default:return t}},this.createSystemDate=t=>{if(this.rawDayJsInstance)return this.rawDayJsInstance(t);if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const e=f.tz.guess();return e!=="UTC"?f.tz(t,e):f(t)}return f(t)},this.createUTCDate=t=>{if(!this.hasUTCPlugin())throw new Error(G);return f.utc(t)},this.createTZDate=(t,e)=>{if(!this.hasUTCPlugin())throw new Error(G);if(!this.hasTimezonePlugin())throw new Error(K);const s=t!==void 0&&!t.endsWith("Z");return f(t).tz(this.cleanTimezone(e),s)},this.getLocaleFormats=()=>{const t=f.Ls,e=this.locale||"en";let s=t[e];return s===void 0&&(gt(),s=t.en),s.formats},this.adjustOffset=t=>{if(!this.hasTimezonePlugin())return t;const e=this.getTimezone(t);if(e!=="UTC"){var s,i;const o=t.tz(this.cleanTimezone(e),!0);if(((s=o.$offset)!=null?s:0)===((i=t.$offset)!=null?i:0))return t;t.$offset=o.$offset}return t},this.date=t=>t===null?null:this.dayjs(t),this.dateWithTimezone=(t,e)=>{if(t===null)return null;let s;return e==="UTC"?s=this.createUTCDate(t):e==="system"||e==="default"&&!this.hasTimezonePlugin()?s=this.createSystemDate(t):s=this.createTZDate(t,e),this.locale===void 0?s:s.locale(this.locale)},this.getTimezone=t=>{if(this.hasTimezonePlugin()){var e;const s=(e=t.$x)==null?void 0:e.$timezone;if(s)return s}return this.hasUTCPlugin()&&t.isUTC()?"UTC":"system"},this.setTimezone=(t,e)=>{if(this.getTimezone(t)===e)return t;if(e==="UTC"){if(!this.hasUTCPlugin())throw new Error(G);return t.utc()}if(e==="system")return t.local();if(!this.hasTimezonePlugin()){if(e==="default")return t;throw new Error(K)}return f.tz(t,this.cleanTimezone(e))},this.toJsDate=t=>t.toDate(),this.parseISO=t=>this.dayjs(t),this.toISO=t=>t.toISOString(),this.parse=(t,e)=>t===""?null:this.dayjs(t,e,this.locale,!0),this.getCurrentLocaleCode=()=>this.locale||"en",this.is12HourCycleInCurrentLocale=()=>/A|a/.test(this.getLocaleFormats().LT||""),this.expandFormat=t=>{const e=this.getLocaleFormats(),s=i=>i.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(o,n,d)=>n||d.slice(1));return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(i,o,n)=>{const d=n&&n.toUpperCase();return o||e[n]||s(e[d])})},this.getFormatHelperText=t=>this.expandFormat(t).replace(/a/gi,"(a|p)m").toLocaleLowerCase(),this.isNull=t=>t===null,this.isValid=t=>this.dayjs(t).isValid(),this.format=(t,e)=>this.formatByString(t,this.formats[e]),this.formatByString=(t,e)=>this.dayjs(t).format(e),this.formatNumber=t=>t,this.getDiff=(t,e,s)=>t.diff(e,s),this.isEqual=(t,e)=>t===null&&e===null?!0:this.dayjs(t).toDate().getTime()===this.dayjs(e).toDate().getTime(),this.isSameYear=(t,e)=>this.isSame(t,e,"YYYY"),this.isSameMonth=(t,e)=>this.isSame(t,e,"YYYY-MM"),this.isSameDay=(t,e)=>this.isSame(t,e,"YYYY-MM-DD"),this.isSameHour=(t,e)=>t.isSame(e,"hour"),this.isAfter=(t,e)=>t>e,this.isAfterYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()>e.utc():t.isAfter(e,"year"),this.isAfterDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()>e.utc():t.isAfter(e,"day"),this.isBefore=(t,e)=>t<e,this.isBeforeYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()<e.utc():t.isBefore(e,"year"),this.isBeforeDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()<e.utc():t.isBefore(e,"day"),this.isWithinRange=(t,[e,s])=>t>=e&&t<=s,this.startOfYear=t=>this.adjustOffset(t.startOf("year")),this.startOfMonth=t=>this.adjustOffset(t.startOf("month")),this.startOfWeek=t=>this.adjustOffset(t.startOf("week")),this.startOfDay=t=>this.adjustOffset(t.startOf("day")),this.endOfYear=t=>this.adjustOffset(t.endOf("year")),this.endOfMonth=t=>this.adjustOffset(t.endOf("month")),this.endOfWeek=t=>this.adjustOffset(t.endOf("week")),this.endOfDay=t=>this.adjustOffset(t.endOf("day")),this.addYears=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"year"):t.add(e,"year")),this.addMonths=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"month"):t.add(e,"month")),this.addWeeks=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"week"):t.add(e,"week")),this.addDays=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"day"):t.add(e,"day")),this.addHours=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"hour"):t.add(e,"hour")),this.addMinutes=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"minute"):t.add(e,"minute")),this.addSeconds=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"second"):t.add(e,"second")),this.getYear=t=>t.year(),this.getMonth=t=>t.month(),this.getDate=t=>t.date(),this.getHours=t=>t.hour(),this.getMinutes=t=>t.minute(),this.getSeconds=t=>t.second(),this.getMilliseconds=t=>t.millisecond(),this.setYear=(t,e)=>this.adjustOffset(t.set("year",e)),this.setMonth=(t,e)=>this.adjustOffset(t.set("month",e)),this.setDate=(t,e)=>this.adjustOffset(t.set("date",e)),this.setHours=(t,e)=>this.adjustOffset(t.set("hour",e)),this.setMinutes=(t,e)=>this.adjustOffset(t.set("minute",e)),this.setSeconds=(t,e)=>this.adjustOffset(t.set("second",e)),this.setMilliseconds=(t,e)=>this.adjustOffset(t.set("millisecond",e)),this.getDaysInMonth=t=>t.daysInMonth(),this.getNextMonth=t=>this.addMonths(t,1),this.getPreviousMonth=t=>this.addMonths(t,-1),this.getMonthArray=t=>{const s=[t.startOf("year")];for(;s.length<12;){const i=s[s.length-1];s.push(this.addMonths(i,1))}return s},this.mergeDateAndTime=(t,e)=>t.hour(e.hour()).minute(e.minute()).second(e.second()),this.getWeekdays=()=>{const t=this.dayjs().startOf("week");return[0,1,2,3,4,5,6].map(e=>this.formatByString(this.addDays(t,e),"dd"))},this.getWeekArray=t=>{const e=this.setLocaleToValue(t),s=e.startOf("month").startOf("week"),i=e.endOf("month").endOf("week");let o=0,n=s;const d=[];for(;n<i;){const m=Math.floor(o/7);d[m]=d[m]||[],d[m].push(n),n=this.addDays(n,1),o+=1}return d},this.getWeekNumber=t=>t.week(),this.getYearRange=(t,e)=>{const s=t.startOf("year"),i=e.endOf("year"),o=[];let n=s;for(;n<i;)o.push(n),n=this.addYears(n,1);return o},this.getMeridiemText=t=>t==="am"?"AM":"PM",this.rawDayJsInstance=c,this.dayjs=Yt((g=this.rawDayJsInstance)!=null?g:f,L),this.locale=L,this.formats=dt({},wt,l),f.extend(mt)}}export{bt as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as e,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as e,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var r={},o=e;Object.defineProperty(r,"__esModule",{value:!0});var u=r.default=void 0,i=o(a()),p=t;u=r.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),l=t;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,f=o(a()),i=t;u=e.default=(0,f.default)((0,i.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),v=t;u=e.default=(0,i.default)((0,v.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as t,j as r}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as t,j as r}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,i=u(a()),l=r;o=e.default=(0,i.default)((0,l.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");export{o as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),l=t;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"}),"Done");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as a}from"./vendor-mui-core-Bq8gXTan.js";import{r as t}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as a}from"./vendor-mui-core-Bq8gXTan.js";import{r as t}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),i=a;u=e.default=(0,d.default)((0,i.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),d=t;u=e.default=(0,i.default)((0,d.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as e,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as e,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var r={},o=e;Object.defineProperty(r,"__esModule",{value:!0});var u=r.default=void 0,i=o(a()),s=t;u=r.default=(0,i.default)((0,s.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as a}from"./vendor-mui-core-Bq8gXTan.js";import{r as t}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as a}from"./vendor-mui-core-Bq8gXTan.js";import{r as t}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var s=e.default=void 0,u=o(t()),d=a;s=e.default=(0,u.default)((0,d.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");export{s as d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Ce,r as C,b as o}from"./vendor-react-DEoibe3W.js";import{H as f}from"./vendor-mui-core-Bq8gXTan.js";import{ao as kt,ap as Rt,aq as _t,a9 as k,t as Ot,ar as Mt,d as Ft,as as H,I as Ie}from"./vendor-utils-BfZ4tlod.js";import{bG as Bt}from"./vendor-ux-did-connect-4mD5lxtt.js";import{r as At}from"./cloneDeep-CDl5kZTY.js";var O={},le={};const ke=Ce(kt),Ht=Ce(Rt),Pt=Ce(_t);Object.defineProperty(le,"__esModule",{value:!0});le.flattenNames=void 0;var $t=Bt,Tt=be($t),Nt=ke,Dt=be(Nt),jt=Ht,Lt=be(jt),zt=Pt,Gt=be(zt);function be(r){return r&&r.__esModule?r:{default:r}}var Wt=le.flattenNames=function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[];return(0,Gt.default)(e,function(n){Array.isArray(n)?r(n).map(function(a){return t.push(a)}):(0,Lt.default)(n)?(0,Dt.default)(n,function(a,i){a===!0&&t.push(i),t.push(i+"-"+a)}):(0,Tt.default)(n)&&t.push(n)}),t};le.default=Wt;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.mergeClasses=void 0;var Ut=ke,Vt=dt(Ut),It=At,Xt=dt(It),qt=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r};function dt(r){return r&&r.__esModule?r:{default:r}}var Yt=se.mergeClasses=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=e.default&&(0,Xt.default)(e.default)||{};return t.map(function(a){var i=e[a];return i&&(0,Vt.default)(i,function(l,s){n[s]||(n[s]={}),n[s]=qt({},n[s],i[s])}),a}),n};se.default=Yt;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.autoprefix=void 0;var Kt=ke,Xe=Jt(Kt),Zt=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r};function Jt(r){return r&&r.__esModule?r:{default:r}}var Qt={borderRadius:function(e){return{msBorderRadius:e,MozBorderRadius:e,OBorderRadius:e,WebkitBorderRadius:e,borderRadius:e}},boxShadow:function(e){return{msBoxShadow:e,MozBoxShadow:e,OBoxShadow:e,WebkitBoxShadow:e,boxShadow:e}},userSelect:function(e){return{WebkitTouchCallout:e,KhtmlUserSelect:e,MozUserSelect:e,msUserSelect:e,WebkitUserSelect:e,userSelect:e}},flex:function(e){return{WebkitBoxFlex:e,MozBoxFlex:e,WebkitFlex:e,msFlex:e,flex:e}},flexBasis:function(e){return{WebkitFlexBasis:e,flexBasis:e}},justifyContent:function(e){return{WebkitJustifyContent:e,justifyContent:e}},transition:function(e){return{msTransition:e,MozTransition:e,OTransition:e,WebkitTransition:e,transition:e}},transform:function(e){return{msTransform:e,MozTransform:e,OTransform:e,WebkitTransform:e,transform:e}},absolute:function(e){var t=e&&e.split(" ");return{position:"absolute",top:t&&t[0],right:t&&t[1],bottom:t&&t[2],left:t&&t[3]}},extend:function(e,t){var n=t[e];return n||{extend:e}}},er=he.autoprefix=function(e){var t={};return(0,Xe.default)(e,function(n,a){var i={};(0,Xe.default)(n,function(l,s){var h=Qt[s];h?i=Zt({},i,h(l)):i[s]=l}),t[a]=i}),t};he.default=er;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.hover=void 0;var tr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},rr=C,me=nr(rr);function nr(r){return r&&r.__esModule?r:{default:r}}function ar(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function qe(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function ir(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var or=pe.hover=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){ir(a,n);function a(){var i,l,s,h;ar(this,a);for(var p=arguments.length,c=Array(p),u=0;u<p;u++)c[u]=arguments[u];return h=(l=(s=qe(this,(i=a.__proto__||Object.getPrototypeOf(a)).call.apply(i,[this].concat(c))),s),s.state={hover:!1},s.handleMouseOver=function(){return s.setState({hover:!0})},s.handleMouseOut=function(){return s.setState({hover:!1})},s.render=function(){return me.default.createElement(t,{onMouseOver:s.handleMouseOver,onMouseOut:s.handleMouseOut},me.default.createElement(e,tr({},s.props,s.state)))},l),qe(s,h)}return a}(me.default.Component)};pe.default=or;var ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.active=void 0;var lr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},sr=C,ye=hr(sr);function hr(r){return r&&r.__esModule?r:{default:r}}function pr(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Ye(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function cr(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var ur=ce.active=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){cr(a,n);function a(){var i,l,s,h;pr(this,a);for(var p=arguments.length,c=Array(p),u=0;u<p;u++)c[u]=arguments[u];return h=(l=(s=Ye(this,(i=a.__proto__||Object.getPrototypeOf(a)).call.apply(i,[this].concat(c))),s),s.state={active:!1},s.handleMouseDown=function(){return s.setState({active:!0})},s.handleMouseUp=function(){return s.setState({active:!1})},s.render=function(){return ye.default.createElement(t,{onMouseDown:s.handleMouseDown,onMouseUp:s.handleMouseUp},ye.default.createElement(e,lr({},s.props,s.state)))},l),Ye(s,h)}return a}(ye.default.Component)};ce.default=ur;var Re={};Object.defineProperty(Re,"__esModule",{value:!0});var fr=function(e,t){var n={},a=function(l){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n[l]=s};return e===0&&a("first-child"),e===t-1&&a("last-child"),(e===0||e%2===0)&&a("even"),Math.abs(e%2)===1&&a("odd"),a("nth-child",e),n};Re.default=fr;Object.defineProperty(O,"__esModule",{value:!0});O.ReactCSS=O.loop=O.handleActive=_e=O.handleHover=O.hover=void 0;var dr=le,gr=Q(dr),br=se,vr=Q(br),xr=he,mr=Q(xr),yr=pe,gt=Q(yr),wr=ce,Er=Q(wr),Sr=Re,Cr=Q(Sr);function Q(r){return r&&r.__esModule?r:{default:r}}O.hover=gt.default;var _e=O.handleHover=gt.default;O.handleActive=Er.default;O.loop=Cr.default;var kr=O.ReactCSS=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];var i=(0,gr.default)(n),l=(0,vr.default)(e,i);return(0,mr.default)(l)},v=O.default=kr,Rr=function(e,t,n,a,i){var l=i.clientWidth,s=i.clientHeight,h=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,p=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=h-(i.getBoundingClientRect().left+window.pageXOffset),u=p-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var g=void 0;if(u<0?g=0:u>s?g=1:g=Math.round(u*100/s)/100,t.a!==g)return{h:t.h,s:t.s,l:t.l,a:g,source:"rgb"}}else{var d=void 0;if(c<0?d=0:c>l?d=1:d=Math.round(c*100/l)/100,a!==d)return{h:t.h,s:t.s,l:t.l,a:d,source:"rgb"}}return null},we={},_r=function(e,t,n,a){if(typeof document>"u"&&!a)return null;var i=a?new a:document.createElement("canvas");i.width=n*2,i.height=n*2;var l=i.getContext("2d");return l?(l.fillStyle=e,l.fillRect(0,0,i.width,i.height),l.fillStyle=t,l.fillRect(0,0,n,n),l.translate(n,n),l.fillRect(0,0,n,n),i.toDataURL()):null},Or=function(e,t,n,a){var i=e+"-"+t+"-"+n+(a?"-server":"");if(we[i])return we[i];var l=_r(e,t,n,a);return we[i]=l,l},Ke=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},ee=function(e){var t=e.white,n=e.grey,a=e.size,i=e.renderers,l=e.borderRadius,s=e.boxShadow,h=e.children,p=v({default:{grid:{borderRadius:l,boxShadow:s,absolute:"0px 0px 0px 0px",background:"url("+Or(t,n,a,i.canvas)+") center left"}}});return C.isValidElement(h)?o.cloneElement(h,Ke({},h.props,{style:Ke({},h.props.style,p.grid)})):o.createElement("div",{style:p.grid})};ee.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var Mr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},Fr=function(){function r(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function Br(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Ze(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Ar(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var Oe=function(r){Ar(e,r);function e(){var t,n,a,i;Br(this,e);for(var l=arguments.length,s=Array(l),h=0;h<l;h++)s[h]=arguments[h];return i=(n=(a=Ze(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),a),a.handleChange=function(p){var c=Rr(p,a.props.hsl,a.props.direction,a.props.a,a.container);c&&typeof a.props.onChange=="function"&&a.props.onChange(c,p)},a.handleMouseDown=function(p){a.handleChange(p),window.addEventListener("mousemove",a.handleChange),window.addEventListener("mouseup",a.handleMouseUp)},a.handleMouseUp=function(){a.unbindEventListeners()},a.unbindEventListeners=function(){window.removeEventListener("mousemove",a.handleChange),window.removeEventListener("mouseup",a.handleMouseUp)},n),Ze(a,i)}return Fr(e,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"render",value:function(){var n=this,a=this.props.rgb,i=v({default:{alpha:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},checkboard:{absolute:"0px 0px 0px 0px",overflow:"hidden",borderRadius:this.props.radius},gradient:{absolute:"0px 0px 0px 0px",background:"linear-gradient(to right, rgba("+a.r+","+a.g+","+a.b+`, 0) 0%,
|
|
1
|
+
import{a as Ce,r as C,b as o}from"./vendor-react-DEoibe3W.js";import{H as f}from"./vendor-mui-core-Bq8gXTan.js";import{ao as kt,ap as Rt,aq as _t,a9 as k,t as Ot,ar as Mt,d as Ft,as as H,I as Ie}from"./vendor-utils-BfZ4tlod.js";import{bG as Bt}from"./vendor-ux-did-connect-pzpsrvqx.js";import{r as At}from"./cloneDeep-CDl5kZTY.js";var O={},le={};const ke=Ce(kt),Ht=Ce(Rt),Pt=Ce(_t);Object.defineProperty(le,"__esModule",{value:!0});le.flattenNames=void 0;var $t=Bt,Tt=be($t),Nt=ke,Dt=be(Nt),jt=Ht,Lt=be(jt),zt=Pt,Gt=be(zt);function be(r){return r&&r.__esModule?r:{default:r}}var Wt=le.flattenNames=function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[];return(0,Gt.default)(e,function(n){Array.isArray(n)?r(n).map(function(a){return t.push(a)}):(0,Lt.default)(n)?(0,Dt.default)(n,function(a,i){a===!0&&t.push(i),t.push(i+"-"+a)}):(0,Tt.default)(n)&&t.push(n)}),t};le.default=Wt;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.mergeClasses=void 0;var Ut=ke,Vt=dt(Ut),It=At,Xt=dt(It),qt=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r};function dt(r){return r&&r.__esModule?r:{default:r}}var Yt=se.mergeClasses=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=e.default&&(0,Xt.default)(e.default)||{};return t.map(function(a){var i=e[a];return i&&(0,Vt.default)(i,function(l,s){n[s]||(n[s]={}),n[s]=qt({},n[s],i[s])}),a}),n};se.default=Yt;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.autoprefix=void 0;var Kt=ke,Xe=Jt(Kt),Zt=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r};function Jt(r){return r&&r.__esModule?r:{default:r}}var Qt={borderRadius:function(e){return{msBorderRadius:e,MozBorderRadius:e,OBorderRadius:e,WebkitBorderRadius:e,borderRadius:e}},boxShadow:function(e){return{msBoxShadow:e,MozBoxShadow:e,OBoxShadow:e,WebkitBoxShadow:e,boxShadow:e}},userSelect:function(e){return{WebkitTouchCallout:e,KhtmlUserSelect:e,MozUserSelect:e,msUserSelect:e,WebkitUserSelect:e,userSelect:e}},flex:function(e){return{WebkitBoxFlex:e,MozBoxFlex:e,WebkitFlex:e,msFlex:e,flex:e}},flexBasis:function(e){return{WebkitFlexBasis:e,flexBasis:e}},justifyContent:function(e){return{WebkitJustifyContent:e,justifyContent:e}},transition:function(e){return{msTransition:e,MozTransition:e,OTransition:e,WebkitTransition:e,transition:e}},transform:function(e){return{msTransform:e,MozTransform:e,OTransform:e,WebkitTransform:e,transform:e}},absolute:function(e){var t=e&&e.split(" ");return{position:"absolute",top:t&&t[0],right:t&&t[1],bottom:t&&t[2],left:t&&t[3]}},extend:function(e,t){var n=t[e];return n||{extend:e}}},er=he.autoprefix=function(e){var t={};return(0,Xe.default)(e,function(n,a){var i={};(0,Xe.default)(n,function(l,s){var h=Qt[s];h?i=Zt({},i,h(l)):i[s]=l}),t[a]=i}),t};he.default=er;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.hover=void 0;var tr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},rr=C,me=nr(rr);function nr(r){return r&&r.__esModule?r:{default:r}}function ar(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function qe(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function ir(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var or=pe.hover=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){ir(a,n);function a(){var i,l,s,h;ar(this,a);for(var p=arguments.length,c=Array(p),u=0;u<p;u++)c[u]=arguments[u];return h=(l=(s=qe(this,(i=a.__proto__||Object.getPrototypeOf(a)).call.apply(i,[this].concat(c))),s),s.state={hover:!1},s.handleMouseOver=function(){return s.setState({hover:!0})},s.handleMouseOut=function(){return s.setState({hover:!1})},s.render=function(){return me.default.createElement(t,{onMouseOver:s.handleMouseOver,onMouseOut:s.handleMouseOut},me.default.createElement(e,tr({},s.props,s.state)))},l),qe(s,h)}return a}(me.default.Component)};pe.default=or;var ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.active=void 0;var lr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},sr=C,ye=hr(sr);function hr(r){return r&&r.__esModule?r:{default:r}}function pr(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Ye(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function cr(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var ur=ce.active=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(n){cr(a,n);function a(){var i,l,s,h;pr(this,a);for(var p=arguments.length,c=Array(p),u=0;u<p;u++)c[u]=arguments[u];return h=(l=(s=Ye(this,(i=a.__proto__||Object.getPrototypeOf(a)).call.apply(i,[this].concat(c))),s),s.state={active:!1},s.handleMouseDown=function(){return s.setState({active:!0})},s.handleMouseUp=function(){return s.setState({active:!1})},s.render=function(){return ye.default.createElement(t,{onMouseDown:s.handleMouseDown,onMouseUp:s.handleMouseUp},ye.default.createElement(e,lr({},s.props,s.state)))},l),Ye(s,h)}return a}(ye.default.Component)};ce.default=ur;var Re={};Object.defineProperty(Re,"__esModule",{value:!0});var fr=function(e,t){var n={},a=function(l){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n[l]=s};return e===0&&a("first-child"),e===t-1&&a("last-child"),(e===0||e%2===0)&&a("even"),Math.abs(e%2)===1&&a("odd"),a("nth-child",e),n};Re.default=fr;Object.defineProperty(O,"__esModule",{value:!0});O.ReactCSS=O.loop=O.handleActive=_e=O.handleHover=O.hover=void 0;var dr=le,gr=Q(dr),br=se,vr=Q(br),xr=he,mr=Q(xr),yr=pe,gt=Q(yr),wr=ce,Er=Q(wr),Sr=Re,Cr=Q(Sr);function Q(r){return r&&r.__esModule?r:{default:r}}O.hover=gt.default;var _e=O.handleHover=gt.default;O.handleActive=Er.default;O.loop=Cr.default;var kr=O.ReactCSS=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];var i=(0,gr.default)(n),l=(0,vr.default)(e,i);return(0,mr.default)(l)},v=O.default=kr,Rr=function(e,t,n,a,i){var l=i.clientWidth,s=i.clientHeight,h=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,p=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,c=h-(i.getBoundingClientRect().left+window.pageXOffset),u=p-(i.getBoundingClientRect().top+window.pageYOffset);if(n==="vertical"){var g=void 0;if(u<0?g=0:u>s?g=1:g=Math.round(u*100/s)/100,t.a!==g)return{h:t.h,s:t.s,l:t.l,a:g,source:"rgb"}}else{var d=void 0;if(c<0?d=0:c>l?d=1:d=Math.round(c*100/l)/100,a!==d)return{h:t.h,s:t.s,l:t.l,a:d,source:"rgb"}}return null},we={},_r=function(e,t,n,a){if(typeof document>"u"&&!a)return null;var i=a?new a:document.createElement("canvas");i.width=n*2,i.height=n*2;var l=i.getContext("2d");return l?(l.fillStyle=e,l.fillRect(0,0,i.width,i.height),l.fillStyle=t,l.fillRect(0,0,n,n),l.translate(n,n),l.fillRect(0,0,n,n),i.toDataURL()):null},Or=function(e,t,n,a){var i=e+"-"+t+"-"+n+(a?"-server":"");if(we[i])return we[i];var l=_r(e,t,n,a);return we[i]=l,l},Ke=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},ee=function(e){var t=e.white,n=e.grey,a=e.size,i=e.renderers,l=e.borderRadius,s=e.boxShadow,h=e.children,p=v({default:{grid:{borderRadius:l,boxShadow:s,absolute:"0px 0px 0px 0px",background:"url("+Or(t,n,a,i.canvas)+") center left"}}});return C.isValidElement(h)?o.cloneElement(h,Ke({},h.props,{style:Ke({},h.props.style,p.grid)})):o.createElement("div",{style:p.grid})};ee.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var Mr=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},Fr=function(){function r(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function Br(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Ze(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Ar(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var Oe=function(r){Ar(e,r);function e(){var t,n,a,i;Br(this,e);for(var l=arguments.length,s=Array(l),h=0;h<l;h++)s[h]=arguments[h];return i=(n=(a=Ze(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),a),a.handleChange=function(p){var c=Rr(p,a.props.hsl,a.props.direction,a.props.a,a.container);c&&typeof a.props.onChange=="function"&&a.props.onChange(c,p)},a.handleMouseDown=function(p){a.handleChange(p),window.addEventListener("mousemove",a.handleChange),window.addEventListener("mouseup",a.handleMouseUp)},a.handleMouseUp=function(){a.unbindEventListeners()},a.unbindEventListeners=function(){window.removeEventListener("mousemove",a.handleChange),window.removeEventListener("mouseup",a.handleMouseUp)},n),Ze(a,i)}return Fr(e,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"render",value:function(){var n=this,a=this.props.rgb,i=v({default:{alpha:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},checkboard:{absolute:"0px 0px 0px 0px",overflow:"hidden",borderRadius:this.props.radius},gradient:{absolute:"0px 0px 0px 0px",background:"linear-gradient(to right, rgba("+a.r+","+a.g+","+a.b+`, 0) 0%,
|
|
2
2
|
rgba(`+a.r+","+a.g+","+a.b+", 1) 100%)",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:"relative",height:"100%",margin:"0 3px"},pointer:{position:"absolute",left:a.a*100+"%"},slider:{width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",marginTop:"1px",transform:"translateX(-2px)"}},vertical:{gradient:{background:"linear-gradient(to bottom, rgba("+a.r+","+a.g+","+a.b+`, 0) 0%,
|
|
3
3
|
rgba(`+a.r+","+a.g+","+a.b+", 1) 100%)"},pointer:{left:0,top:a.a*100+"%"}},overwrite:Mr({},this.props.style)},{vertical:this.props.direction==="vertical",overwrite:!0});return o.createElement("div",{style:i.alpha},o.createElement("div",{style:i.checkboard},o.createElement(ee,{renderers:this.props.renderers})),o.createElement("div",{style:i.gradient}),o.createElement("div",{style:i.container,ref:function(s){return n.container=s},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},o.createElement("div",{style:i.pointer},this.props.pointer?o.createElement(this.props.pointer,this.props):o.createElement("div",{style:i.slider}))))}}]),e}(C.PureComponent||C.Component),Hr=function(){function r(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function Pr(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $r(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Tr(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Nr(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var Dr=1,bt=38,jr=40,Lr=[bt,jr],zr=function(e){return Lr.indexOf(e)>-1},Gr=function(e){return Number(String(e).replace(/%/g,""))},Wr=1,w=function(r){Nr(e,r);function e(t){$r(this,e);var n=Tr(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.handleBlur=function(){n.state.blurValue&&n.setState({value:n.state.blurValue,blurValue:null})},n.handleChange=function(a){n.setUpdatedValue(a.target.value,a)},n.handleKeyDown=function(a){var i=Gr(a.target.value);if(!isNaN(i)&&zr(a.keyCode)){var l=n.getArrowOffset(),s=a.keyCode===bt?i+l:i-l;n.setUpdatedValue(s,a)}},n.handleDrag=function(a){if(n.props.dragLabel){var i=Math.round(n.props.value+a.movementX);i>=0&&i<=n.props.dragMax&&n.props.onChange&&n.props.onChange(n.getValueObjectWithLabel(i),a)}},n.handleMouseDown=function(a){n.props.dragLabel&&(a.preventDefault(),n.handleDrag(a),window.addEventListener("mousemove",n.handleDrag),window.addEventListener("mouseup",n.handleMouseUp))},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleDrag),window.removeEventListener("mouseup",n.handleMouseUp)},n.state={value:String(t.value).toUpperCase(),blurValue:String(t.value).toUpperCase()},n.inputId="rc-editable-input-"+Wr++,n}return Hr(e,[{key:"componentDidUpdate",value:function(n,a){this.props.value!==this.state.value&&(n.value!==this.props.value||a.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(n){return Pr({},this.props.label,n)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Dr}},{key:"setUpdatedValue",value:function(n,a){var i=this.props.label?this.getValueObjectWithLabel(n):n;this.props.onChange&&this.props.onChange(i,a),this.setState({value:n})}},{key:"render",value:function(){var n=this,a=v({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return o.createElement("div",{style:a.wrap},o.createElement("input",{id:this.inputId,style:a.input,ref:function(l){return n.input=l},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?o.createElement("label",{htmlFor:this.inputId,style:a.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(C.PureComponent||C.Component),Ur=function(e,t,n,a){var i=a.clientWidth,l=a.clientHeight,s=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,h=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,p=s-(a.getBoundingClientRect().left+window.pageXOffset),c=h-(a.getBoundingClientRect().top+window.pageYOffset);if(t==="vertical"){var u=void 0;if(c<0)u=359;else if(c>l)u=0;else{var g=-(c*100/l)+100;u=360*g/100}if(n.h!==u)return{h:u,s:n.s,l:n.l,a:n.a,source:"hsl"}}else{var d=void 0;if(p<0)d=0;else if(p>i)d=359;else{var m=p*100/i;d=360*m/100}if(n.h!==d)return{h:d,s:n.s,l:n.l,a:n.a,source:"hsl"}}return null},Vr=function(){function r(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}();function Ir(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Je(r,e){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:r}function Xr(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(r,e):r.__proto__=e)}var te=function(r){Xr(e,r);function e(){var t,n,a,i;Ir(this,e);for(var l=arguments.length,s=Array(l),h=0;h<l;h++)s[h]=arguments[h];return i=(n=(a=Je(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),a),a.handleChange=function(p){var c=Ur(p,a.props.direction,a.props.hsl,a.container);c&&typeof a.props.onChange=="function"&&a.props.onChange(c,p)},a.handleMouseDown=function(p){a.handleChange(p),window.addEventListener("mousemove",a.handleChange),window.addEventListener("mouseup",a.handleMouseUp)},a.handleMouseUp=function(){a.unbindEventListeners()},n),Je(a,i)}return Vr(e,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"unbindEventListeners",value:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}},{key:"render",value:function(){var n=this,a=this.props.direction,i=a===void 0?"horizontal":a,l=v({default:{hue:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:"0 2px",position:"relative",height:"100%",borderRadius:this.props.radius},pointer:{position:"absolute",left:this.props.hsl.h*100/360+"%"},slider:{marginTop:"1px",width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",transform:"translateX(-2px)"}},vertical:{pointer:{left:"0px",top:-(this.props.hsl.h*100/360)+100+"%"}}},{vertical:i==="vertical"});return o.createElement("div",{style:l.hue},o.createElement("div",{className:"hue-"+i,style:l.container,ref:function(h){return n.container=h},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},o.createElement("style",null,`
|
|
4
4
|
.hue-horizontal {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-Bq8gXTan.js";import{r as a}from"./vendor-ux-did-connect-pzpsrvqx.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,v=o(a()),i=t;u=e.default=(0,v.default)((0,i.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");export{u as d};
|