@abtnode/blocklet-services 1.16.39-beta-20250221-133434-22e84449 → 1.16.39-beta-20250224-112738-14340cd6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +5 -1
  2. package/api/index.js +3 -0
  3. package/api/libs/auth/adapters/apple.js +2 -2
  4. package/api/routes/openevent.js +90 -0
  5. package/api/services/notification/index.js +31 -63
  6. package/api/socket/channel/eventbus.js +66 -0
  7. package/api/socket/channel/hooks.js +4 -0
  8. package/api/socket/util.js +0 -3
  9. package/api/util/attach-shared-utils.js +3 -0
  10. package/api/util/index.js +0 -3
  11. package/dist/assets/{Add-udgpbcQ-.js → Add-D5aJYF-w.js} +1 -1
  12. package/dist/assets/{ArrowDropDown-CP8sFDTn.js → ArrowDropDown-Cl8c24xY.js} +1 -1
  13. package/dist/assets/{CheckCircle-CL1MZKeF.js → CheckCircle-C8i0xLNv.js} +1 -1
  14. package/dist/assets/{ChevronLeft-Dxe-8OAb.js → ChevronLeft-BCqszL0Z.js} +1 -1
  15. package/dist/assets/{ChevronRight-Jj-tneRk.js → ChevronRight-B-QUfWQJ.js} +1 -1
  16. package/dist/assets/{DeleteOutline-B2EIRfvm.js → DeleteOutline-CRGsqlBB.js} +1 -1
  17. package/dist/assets/{Done-BmN-n4Md.js → Done-JsgXq87T.js} +1 -1
  18. package/dist/assets/{Download-T0esN2Wf.js → Download-D8FYfZjb.js} +1 -1
  19. package/dist/assets/{Error-DxGYBrX_.js → Error-CBK0TIhk.js} +1 -1
  20. package/dist/assets/{Google-C8v_Y3AW.js → Google-B-PtsEiN.js} +1 -1
  21. package/dist/assets/{InfoOutlined-BoujVod4.js → InfoOutlined-DXbe7-Vo.js} +1 -1
  22. package/dist/assets/{Launch-mtPFLcSN.js → Launch-C0WU9j27.js} +1 -1
  23. package/dist/assets/{LaunchOutlined-BqUlBjUr.js → LaunchOutlined-BqIvI1Me.js} +1 -1
  24. package/dist/assets/{Loop-Cxat_C59.js → Loop-BQEttF_G.js} +1 -1
  25. package/dist/assets/{MoreHoriz-DVyDe-n2.js → MoreHoriz-B7JSMM__.js} +1 -1
  26. package/dist/assets/{PlayArrow-CbK5B-2U.js → PlayArrow-DisvYm5k.js} +1 -1
  27. package/dist/assets/{ViewList-B-1WiukK.js → ViewList-BXtBGGyL.js} +1 -1
  28. package/dist/assets/{access-control-DFyNDuUU.js → access-control-C6iI_BSH.js} +1 -1
  29. package/dist/assets/{actions-DHK1GfXI.js → actions-1ozfktYK.js} +1 -1
  30. package/dist/assets/{add-component-core-vkvnRJpn.js → add-component-core-CujaPoRK.js} +34 -34
  31. package/dist/assets/{add-resource-CTeUMZhV.js → add-resource-BfW3Tf00.js} +1 -1
  32. package/dist/assets/{addon-DrUHZbxW.js → addon-Crm5Vlr1.js} +1 -1
  33. package/dist/assets/{analytics-BnE3HnyH.js → analytics-9vRpjYB7.js} +1 -1
  34. package/dist/assets/{audit-logs-DDZXYPO2.js → audit-logs-BEepuwWL.js} +1 -1
  35. package/dist/assets/{base32-Bg7zWLHM.js → base32-Gx8S-X9Y.js} +1 -1
  36. package/dist/assets/{branding-GXnswdtg.js → branding-DbkAuVBM.js} +2 -2
  37. package/dist/assets/{bundle-avatar-kmTWjmMZ.js → bundle-avatar-qG-4JjJF.js} +1 -1
  38. package/dist/assets/{button-CImZba-M.js → button-DklX5vfm.js} +1 -1
  39. package/dist/assets/{click-to-copy-SPoXGjhb.js → click-to-copy-D4eMUY2Y.js} +1 -1
  40. package/dist/assets/{complete-DCu0ecH1.js → complete-DhQ9_ymq.js} +1 -1
  41. package/dist/assets/{component-D9VIwsjz.js → component-CcT5MhpU.js} +1 -1
  42. package/dist/assets/{config-BqevGx2X.js → config-BLMVw_7t.js} +1 -1
  43. package/dist/assets/{config-BQu2I3z_.js → config-CMsIpXp1.js} +1 -1
  44. package/dist/assets/{config-navigation-C6p-GCJ-.js → config-navigation-5LslndaJ.js} +3 -3
  45. package/dist/assets/{config-space-BVsaPZS_.js → config-space-B1zQHigK.js} +1 -1
  46. package/dist/assets/{confirm-BckBMOcL.js → confirm-ZDAjMdiD.js} +1 -1
  47. package/dist/assets/{connect-Bk35jyN7.js → connect-B7HU4Cw8.js} +1 -1
  48. package/dist/assets/{connect-D0XKtcMb.js → connect-Du3JCAoP.js} +1 -1
  49. package/dist/assets/{connect-to-BWpqHCU5.js → connect-to-DhZp6DK1.js} +1 -1
  50. package/dist/assets/{dashboard-DJwyQ0IN.js → dashboard-B2P35pBD.js} +3 -3
  51. package/dist/assets/{delete-confirm-C4GbidLm.js → delete-confirm-CPFtEtys.js} +1 -1
  52. package/dist/assets/{did-address-DsaXravU.js → did-address-C1Gnyot5.js} +1 -1
  53. package/dist/assets/{domain-B6CfBBp6.js → domain-DRIbYtPI.js} +1 -1
  54. package/dist/assets/{domain-action-card-B8cJWHEv.js → domain-action-card-D1C_-Aw9.js} +1 -1
  55. package/dist/assets/domains-Bpj312un.js +1 -0
  56. package/dist/assets/{email-CK1jC5WM.js → email-gqysQ7lL.js} +1 -1
  57. package/dist/assets/{exchange-passport-D6VbniS0.js → exchange-passport-DiGLznhF.js} +1 -1
  58. package/dist/assets/{form-text-input-DFFNKfWp.js → form-text-input-Z94PwI5N.js} +1 -1
  59. package/dist/assets/{fuel-Co3GBMd3.js → fuel-ZF3h7p3O.js} +1 -1
  60. package/dist/assets/{fullpage-DmUrgaXO.js → fullpage-YYyCExL1.js} +1 -1
  61. package/dist/assets/{get-safe-url-B9KuIPHY.js → get-safe-url-BUeJ9nhL.js} +1 -1
  62. package/dist/assets/{get-safe-url-Dg8FOTjG.js → get-safe-url-uAWmJaE7.js} +1 -1
  63. package/dist/assets/{home-BgCLYfoO.js → home-dPt3qe4k.js} +1 -1
  64. package/dist/assets/{iframe-BfCk9odl.js → iframe-DJUrVJrV.js} +1 -1
  65. package/dist/assets/{index-C2h3b3qO.js → index-B0KY0nDh.js} +1 -1
  66. package/dist/assets/{index-B_f-vCCz.js → index-Bh1ysd6q.js} +1 -1
  67. package/dist/assets/{index-CmBEz5CL.js → index-BhCl1uU6.js} +3 -3
  68. package/dist/assets/{index-sLkJpR5o.js → index-C6lBrZrv.js} +1 -1
  69. package/dist/assets/{index-DkbuxwZE.js → index-CBo47o-g.js} +1 -1
  70. package/dist/assets/{index-dSbx-_M8.js → index-CdGu-lpw.js} +1 -1
  71. package/dist/assets/{index-Cj538gfs.js → index-Ckmi2jMH.js} +1 -1
  72. package/dist/assets/{index--F_W58cR.js → index-DK51_zct.js} +1 -1
  73. package/dist/assets/{index-3h3nnFcB.js → index-DQ_gp9FQ.js} +1 -1
  74. package/dist/assets/{index-8MMKiUTa.js → index-DUi2HTAL.js} +4 -4
  75. package/dist/assets/{index-Bf_1EkYS.js → index-Decruq-8.js} +1 -1
  76. package/dist/assets/{index-rP3b0CME.js → index-DmmQuK-x.js} +1 -1
  77. package/dist/assets/{index-QGwREoo6.js → index-EWFwC-1m.js} +29 -29
  78. package/dist/assets/{index-BNAfDqcG.js → index-Y1AIvXW-.js} +1 -1
  79. package/dist/assets/{index-EgZ4xTuy.js → index-l5RFxAv2.js} +1 -1
  80. package/dist/assets/{invitation-Bfoc9rG-.js → invitation-skVshq4G.js} +1 -1
  81. package/dist/assets/{invite-B4jXTxxv.js → invite-DsHKHvio.js} +1 -1
  82. package/dist/assets/{issue-passport-CVA5upUB.js → issue-passport-CACmjxGN.js} +1 -1
  83. package/dist/assets/{item-0J8MTdrM.js → item-BDFtgG3F.js} +1 -1
  84. package/dist/assets/{layout-C7WJ00Ek.js → layout-swjOWugq.js} +1 -1
  85. package/dist/assets/{list-C8W2Ztkh.js → list-DLHeHUuz.js} +1 -1
  86. package/dist/assets/{list-header-uzHBSbhH.js → list-header-Cb6_-8qZ.js} +1 -1
  87. package/dist/assets/{localization-BwFYCZgc.js → localization-eKoK3nKh.js} +1 -1
  88. package/dist/assets/{log-ByF4DLgp.js → log-DeXPDuQB.js} +1 -1
  89. package/dist/assets/{login-D6E1Agab.js → login-7gCoEUdz.js} +1 -1
  90. package/dist/assets/{login-oauth-callback-DWJMHw0r.js → login-oauth-callback-BfA4R326.js} +1 -1
  91. package/dist/assets/{logo-uploader-C3tOoZU0.js → logo-uploader-CVabFvXd.js} +3 -3
  92. package/dist/assets/{lost-passport-DZ3RaG1P.js → lost-passport-BmAVta0r.js} +1 -1
  93. package/dist/assets/{open-window-C8DmGGiK.js → open-window-DSwWREEC.js} +1 -1
  94. package/dist/assets/{overview-B-qeY9_9.js → overview-BAT-McY_.js} +1 -1
  95. package/dist/assets/{page-header-DPKBfrCy.js → page-header-Bb6Nvnno.js} +1 -1
  96. package/dist/assets/{permission-BY2FbqNx.js → permission-BOXdugm0.js} +1 -1
  97. package/dist/assets/{preferences-jbp_hJW_.js → preferences-BYn4pHhY.js} +1 -1
  98. package/dist/assets/{publish-resource-CbEvZdTB.js → publish-resource-DOJRxK5w.js} +1 -1
  99. package/dist/assets/{react-beautiful-dnd.esm-CKGqjrko.js → react-beautiful-dnd.esm-B29sb4Ur.js} +1 -1
  100. package/dist/assets/{relative-time-B24G13wp.js → relative-time-CXKwoBm5.js} +1 -1
  101. package/dist/assets/sdk-CzVXemwI.js +1 -0
  102. package/dist/assets/{session-CXP_o5z6.js → session-Cbe0QivC.js} +1 -1
  103. package/dist/assets/{setup-D5Yfz51I.js → setup-CL4plW9s.js} +3 -3
  104. package/dist/assets/{start-BWeZ83st.js → start-Ct8WCtQB.js} +1 -1
  105. package/dist/assets/{step-actions-CQPEoZDr.js → step-actions-DCH7RaSc.js} +1 -1
  106. package/dist/assets/{studio-Bm45YPri.js → studio-ByYBPBMO.js} +1 -1
  107. package/dist/assets/{switch-control-0xvudC3P.js → switch-control-DsmPki3h.js} +1 -1
  108. package/dist/assets/{traffic-C3au13Oz.js → traffic-Bd81vPt8.js} +1 -1
  109. package/dist/assets/{transfer-D-pSYMoH.js → transfer-BCWJqvK6.js} +1 -1
  110. package/dist/assets/{unsubscribe-CHbAL1If.js → unsubscribe-tVSlxjZ_.js} +1 -1
  111. package/dist/assets/{useLocalStorage-grucDLLp.js → useLocalStorage-C6K1MfKS.js} +1 -1
  112. package/dist/assets/{user-center-DzUOMtVD.js → user-center-ChTqwApH.js} +1 -1
  113. package/dist/assets/{util-DUNQVVoO.js → util-Da-T3L5G.js} +1 -1
  114. package/dist/assets/{util-DB9FK0S1.js → util-OT81aO9n.js} +1 -1
  115. package/dist/assets/{vendor-arcblock-BCYov1AG.js → vendor-arcblock-MU05F41R.js} +111 -111
  116. package/dist/assets/{wrap-locale-cIg_86o_.js → wrap-locale-BWadJPI7.js} +1 -1
  117. package/dist/index.html +2 -2
  118. package/dist/service-worker.js +1 -1
  119. package/package.json +29 -29
  120. package/dist/assets/domains-C5wVrtkN.js +0 -1
  121. package/dist/assets/sdk-CdIjci-y.js +0 -1
package/README.md CHANGED
@@ -79,6 +79,11 @@ node.onReady(() => {
79
79
 
80
80
  - /.well-known/service/api/studio/preferences
81
81
 
82
+ - /.well-known/service/openapi.yml
83
+ - /.well-known/service/openapi.json
84
+ - /.well-known/service/openembed.json
85
+ - /.well-known/service/openevent.json
86
+
82
87
  #### DID Connect
83
88
 
84
89
  - /api/connect/relay/login/connect
@@ -105,7 +110,6 @@ node.onReady(() => {
105
110
  - /websocket
106
111
  - /admin/websocket
107
112
 
108
-
109
113
  ### Working with ux repo hmr
110
114
 
111
115
  Add `ARCBLOCK_UX_BASE_PATH` equals to your ux repo path in `.env.development` file
package/api/index.js CHANGED
@@ -69,6 +69,7 @@ const createConnectRelayRoutes = require('./routes/connect/relay');
69
69
  const createConnectSessionRoutes = require('./routes/connect/session');
70
70
  const createDnsResolver = require('./routes/dns-resolver');
71
71
  const createOpenAPIRoutes = require('./routes/openapi');
72
+ const createOpenEventRoutes = require('./routes/openevent');
72
73
  const createOpenComponentRoutes = require('./routes/opencomponent');
73
74
  const createOpenEmbedRoutes = require('./routes/openembed');
74
75
  const checkRunning = require('./middlewares/check-running');
@@ -504,6 +505,7 @@ self.blocklet = {
504
505
  notificationService.sendToApp.attach(server);
505
506
  notificationService.sendToWebhook.attach(server);
506
507
  notificationService.sendToAppChannel.attach(server);
508
+ notificationService.sendToEventBus.attach(server);
507
509
  relayService.sendToRelay.attach(server);
508
510
 
509
511
  // API: auth: before auth middleware
@@ -526,6 +528,7 @@ self.blocklet = {
526
528
  createOpenAPIRoutes.init(server, node, options);
527
529
  createOpenComponentRoutes.init(server, node, options);
528
530
  createOpenEmbedRoutes.init(server, node, options);
531
+ createOpenEventRoutes.init(server, node, options);
529
532
 
530
533
  // media
531
534
  createMediaRoutes.init(server, node, options);
@@ -48,10 +48,10 @@ function Apple(options) {
48
48
  };
49
49
  },
50
50
  getClientId() {
51
- return options.serviceId;
51
+ return options.serviceId?.trim();
52
52
  },
53
53
  getClientList() {
54
- return [options.serviceId, options.bundleId];
54
+ return [...options.serviceId.split(','), ...options.bundleId.split(',')].map((x) => x?.trim()).filter(Boolean);
55
55
  },
56
56
  getClientSecret() {
57
57
  const headers = {
@@ -0,0 +1,90 @@
1
+ const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
2
+ const flatten = require('lodash/flatten');
3
+ const { joinURL } = require('ufo');
4
+
5
+ module.exports = {
6
+ // eslint-disable-next-line no-unused-vars
7
+ init(app, node, options) {
8
+ app.get(`${WELLKNOWN_SERVICE_PATH_PREFIX}/openevent.json`, async (req, res) => {
9
+ try {
10
+ const [blocklet, info] = await Promise.all([req.getBlocklet(), req.getBlockletInfo()]);
11
+ if (!blocklet) {
12
+ res.status(404).json({ error: 'Blocklet not found' });
13
+ return;
14
+ }
15
+
16
+ const components = (blocklet?.children || []).filter(
17
+ (x) => Array.isArray(x.meta.events) && x.meta.events.length > 0
18
+ );
19
+ const appUrl = blocklet?.environmentObj?.BLOCKLET_APP_URL;
20
+ const baseUrl = joinURL(appUrl, WELLKNOWN_SERVICE_PATH_PREFIX, '/blocklet');
21
+
22
+ const globalEvents = [
23
+ {
24
+ type: 'blocklet.user.added',
25
+ description: 'When a new user has onboarded, will receive the user info object',
26
+ },
27
+ {
28
+ type: 'blocklet.user.updated',
29
+ description: 'When a user has updated/logged in, will receive the user info object',
30
+ },
31
+ {
32
+ type: 'blocklet.user.removed',
33
+ description: 'When a user has removed, will receive the user did',
34
+ },
35
+ {
36
+ type: 'blocklet.user.profile.updated',
37
+ description: 'When a user has updated his/her profile (full name, avatar, did-spaces, etc.)',
38
+ },
39
+ {
40
+ type: 'blocklet.user.permission.updated',
41
+ description: 'When a user permission (passport, account, kyc) has changed',
42
+ },
43
+ ];
44
+
45
+ const data = {
46
+ openevent: '1.0.0',
47
+ info: {
48
+ title: info.title,
49
+ description: info.description,
50
+ },
51
+ sources: [
52
+ {
53
+ did: info.did,
54
+ title: info.title,
55
+ description: info.description,
56
+ version: info.version,
57
+ logo: joinURL(baseUrl, '/logo'),
58
+ },
59
+ ...components.map((x) => ({
60
+ did: x.meta.did,
61
+ title: x.meta.title,
62
+ description: x.meta.description,
63
+ version: x.meta.version,
64
+ logo: joinURL(baseUrl, `/logo-bundle/${x.meta.did}?v=${info.version}`),
65
+ })),
66
+ ],
67
+ events: flatten([
68
+ ...globalEvents.map((e) => ({
69
+ type: e.type,
70
+ description: e.description,
71
+ source: info.did,
72
+ })),
73
+ ...components.map((x) =>
74
+ x.meta.events.map((e) => ({
75
+ type: e.type,
76
+ description: e.description,
77
+ source: x.meta.did,
78
+ }))
79
+ ),
80
+ ]),
81
+ };
82
+
83
+ res.status(200).json(data);
84
+ } catch (err) {
85
+ console.error(err);
86
+ res.status(500).json({ error: err.message });
87
+ }
88
+ });
89
+ },
90
+ };
@@ -8,6 +8,7 @@ const states = require('../../state');
8
8
  const logger = require('../../libs/logger')('notification');
9
9
  const { sendToAppChannel } = require('../../socket/channel/app');
10
10
  const { sendToAppComponents } = require('../../socket/channel/component');
11
+ const { sendToEventBus } = require('../../socket/channel/eventbus');
11
12
  const { sendToUserDid, sendToAppDid, sendToMail, sendToPush, sendToWebhook } = require('../../socket/channel/did');
12
13
  const getHooksByChannel = require('../../socket/channel/hooks');
13
14
  const { getTokenInfo } = require('../../socket/util');
@@ -98,6 +99,7 @@ const init = ({ node }) => {
98
99
  // cron
99
100
  Cron.init({
100
101
  jobs: [
102
+ // @ts-ignore
101
103
  {
102
104
  name: 'prune messages',
103
105
  time: '0 0 0 * * 1', // every Monday per week
@@ -110,71 +112,30 @@ const init = ({ node }) => {
110
112
  });
111
113
  }
112
114
 
113
- const onSendToUser = async (req, res) => {
114
- try {
115
- await sendToUserDid({ ...req.body.data, node, wsServer });
116
- res.status(200).send('');
117
- } catch (error) {
118
- logger.error('Send message to user channel failed', { error });
119
- res.statusMessage = error.message;
120
- res.status(400).send(error.message);
121
- }
115
+ const wrapSendHandler = (fn, channel) => {
116
+ return async (req, res) => {
117
+ try {
118
+ const results = await fn({ ...req.body.data, node, wsServer });
119
+ if (results) {
120
+ res.status(200).json(results);
121
+ } else {
122
+ res.status(200).send('');
123
+ }
124
+ } catch (error) {
125
+ logger.error(`Send message through ${channel} failed`, { error });
126
+ res.statusMessage = error.message;
127
+ res.status(400).send(error.message);
128
+ }
129
+ };
122
130
  };
123
131
 
124
- const onSendToMail = async (req, res) => {
125
- try {
126
- const results = await sendToMail({ ...req.body.data, node });
127
- res.status(200).json(results);
128
- } catch (error) {
129
- logger.error('Send batch mail failed', { error });
130
- res.statusMessage = error.message;
131
- res.status(400).send(error.message);
132
- }
133
- };
134
-
135
- const onSendToPush = async (req, res) => {
136
- try {
137
- const results = await sendToPush({ ...req.body.data, node });
138
- res.status(200).json(results);
139
- } catch (error) {
140
- logger.error('Send push-kit failed', { error });
141
- res.statusMessage = error.message;
142
- res.status(400).send(error.message);
143
- }
144
- };
145
-
146
- const onSendToWebhook = async (req, res) => {
147
- try {
148
- const results = await sendToWebhook({ ...req.body.data, node });
149
- res.status(200).json(results);
150
- } catch (error) {
151
- logger.error('Send webhook failed', { error });
152
- res.statusMessage = error.message;
153
- res.status(400).send(error.message);
154
- }
155
- };
156
-
157
- const onSendToWallet = async (req, res) => {
158
- try {
159
- await sendToAppDid({ ...req.body.data, node, wsServer });
160
- res.status(200).send('');
161
- } catch (error) {
162
- logger.error('Send message to app channel failed', { error });
163
- res.statusMessage = error.message;
164
- res.status(400).send(error.message);
165
- }
166
- };
167
-
168
- const onSendToAppChannel = async (req, res) => {
169
- try {
170
- await sendToAppChannel({ ...req.body.data, node, wsServer });
171
- res.status(200).send('');
172
- } catch (error) {
173
- logger.error('Send message to app channel failed', { error });
174
- res.statusMessage = error.message;
175
- res.status(400).send(error.message);
176
- }
177
- };
132
+ const onSendToUser = wrapSendHandler(sendToUserDid, 'user');
133
+ const onSendToMail = wrapSendHandler(sendToMail, 'mail');
134
+ const onSendToPush = wrapSendHandler(sendToPush, 'push');
135
+ const onSendToWebhook = wrapSendHandler(sendToWebhook, 'webhook');
136
+ const onSendToWallet = wrapSendHandler(sendToAppDid, 'wallet');
137
+ const onSendToAppChannel = wrapSendHandler(sendToAppChannel, 'app');
138
+ const onSendToEventBus = wrapSendHandler(sendToEventBus, 'eventbus');
178
139
 
179
140
  // mount
180
141
  return {
@@ -226,6 +187,13 @@ const init = ({ node }) => {
226
187
  exec: (data) => sendToAppChannel({ ...data, node, wsServer }),
227
188
  },
228
189
 
190
+ sendToEventBus: {
191
+ attach: (app) => {
192
+ app.post(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/send-to-event-bus`, onSendToEventBus);
193
+ },
194
+ exec: (data) => sendToEventBus({ ...data, node, wsServer }),
195
+ },
196
+
229
197
  attach: (wsRouter) => {
230
198
  wsRouter.use(`${WELLKNOWN_SERVICE_PATH_PREFIX}/websocket`, wsServer.onConnect.bind(wsServer));
231
199
  },
@@ -0,0 +1,66 @@
1
+ const noop = require('lodash/noop');
2
+ const { CHANNEL_TYPE, parseChannel, getEventBusChannel } = require('@blocklet/meta/lib/channel');
3
+ const { validateEvent } = require('@blocklet/sdk/lib/validators/event');
4
+ const { findComponentV2 } = require('@blocklet/meta/lib/util');
5
+
6
+ const { ensureSenderApp, broadcast } = require('../util');
7
+ const logger = require('../../libs/logger')('channel:eventbus');
8
+
9
+ // Only server and blocklets can send message to a event bus channel
10
+ // But multiple clients can subscribe to the same event bus channel
11
+ const sendToEventBus = async ({ sender, channel, event, node, wsServer }) => {
12
+ const { type, appDid } = parseChannel(channel);
13
+ if (type !== CHANNEL_TYPE.EVENT_BUS) {
14
+ throw new Error('Cannot send message to non event bus channel');
15
+ }
16
+
17
+ const { error } = await validateEvent(event);
18
+ if (error) {
19
+ throw new Error(`Invalid event: ${error}`);
20
+ }
21
+
22
+ logger.info('broadcast event to eventbus', { sender, channel, event });
23
+
24
+ const nodeInfo = await node.getNodeInfo();
25
+ const appInfo = await ensureSenderApp({ sender, node, nodeInfo });
26
+ if (![appInfo.wallet.address, appInfo.permanentWallet.address].includes(appDid)) {
27
+ throw new Error('Cannot sent message to relay channelInfo of other app');
28
+ }
29
+
30
+ // Ensure the event is registered in blocklet.yml#events
31
+ const blocklet = await node.getBlocklet({ did: appDid, useCache: true });
32
+ if (!blocklet) {
33
+ throw new Error(`Blocklet not found: ${appDid}`);
34
+ }
35
+ const component = findComponentV2(blocklet, (x) => x.meta.did === event.source);
36
+ if (!component) {
37
+ throw new Error(`Component not found: ${event.source}`);
38
+ }
39
+ if (!Array.isArray(component.meta.events)) {
40
+ throw new Error(`Component ${component.meta.did} does not support events`);
41
+ }
42
+ if (!component.meta.events.find((e) => e.type === event.type)) {
43
+ throw new Error(`Event ${event.type} is not registered by component ${component.meta.did}`);
44
+ }
45
+
46
+ const actualChannel = getEventBusChannel(appInfo.permanentWallet.address);
47
+ broadcast(wsServer, actualChannel, 'event', event);
48
+ };
49
+
50
+ const onAuthenticate = async ({ channel, node }) => {
51
+ const { type, appDid } = parseChannel(channel);
52
+ if (type !== CHANNEL_TYPE.EVENT_BUS) {
53
+ throw new Error(`Can not join non eventbus channel: ${channel}`);
54
+ }
55
+
56
+ const blocklet = await node.getBlocklet({ did: appDid, useCache: true });
57
+ if (!blocklet) {
58
+ throw new Error(`Blocklet not found: ${appDid}`);
59
+ }
60
+ };
61
+
62
+ const onJoin = noop;
63
+
64
+ const onMessage = noop;
65
+
66
+ module.exports = { onAuthenticate, onJoin, onMessage, sendToEventBus };
@@ -4,6 +4,7 @@ const AppChannel = require('./app');
4
4
  const DidChannel = require('./did');
5
5
  const ConnectChannel = require('./relay');
6
6
  const ComponentChannel = require('./component');
7
+ const EventBusChannel = require('./eventbus');
7
8
 
8
9
  const getHooksByChannel = (channel) => {
9
10
  const { type } = parseChannel(channel);
@@ -19,6 +20,9 @@ const getHooksByChannel = (channel) => {
19
20
  if (type === CHANNEL_TYPE.COMPONENT) {
20
21
  return ComponentChannel;
21
22
  }
23
+ if (type === CHANNEL_TYPE.EVENT_BUS) {
24
+ return EventBusChannel;
25
+ }
22
26
 
23
27
  throw new Error('Unknown channel type');
24
28
  };
@@ -3,7 +3,6 @@ const JWT = require('@arcblock/jwt');
3
3
  const { getApplicationInfo } = require('@abtnode/auth/lib/auth');
4
4
 
5
5
  const logger = require('../libs/logger')('socket');
6
- // const { nanoid } = require('../util');
7
6
 
8
7
  /**
9
8
  * @param {Object} notification
@@ -18,8 +17,6 @@ const parseNotification = (notification, senderInfo) => {
18
17
  // TODO: 如果通过 message id 实现消息去重, 消息顺序等
19
18
  notifications.forEach((x) => {
20
19
  if (!x.id) {
21
- // 这里不要给ID用于更新消息发送状态
22
- // x.id = nanoid();
23
20
  x.createdAt = new Date();
24
21
  }
25
22
 
@@ -230,6 +230,9 @@ module.exports = ({ node, req, options }) => {
230
230
  if (inputReq.headers.upgrade && inputReq.headers.upgrade.toLowerCase() === 'websocket') {
231
231
  return defaultConfig;
232
232
  }
233
+ if (typeof inputReq.get !== 'function') {
234
+ return defaultConfig;
235
+ }
233
236
 
234
237
  const blockletDid = inputReq.getBlockletDid();
235
238
 
package/api/util/index.js CHANGED
@@ -181,8 +181,6 @@ const createTokenFn =
181
181
  return { sessionToken, refreshToken };
182
182
  };
183
183
 
184
- const nanoid = (length = 16) => [...Array(length)].map(() => Math.random().toString(36)[2]).join('');
185
-
186
184
  const shouldIgnoreUrl = (url, urls) => {
187
185
  let { length } = url;
188
186
  for (let i = 0; i < url.length; i++) {
@@ -215,7 +213,6 @@ module.exports = {
215
213
  getRedirectUrl,
216
214
  createTokenFn,
217
215
  getDidConnectVersion,
218
- nanoid,
219
216
  shouldIgnoreUrl,
220
217
  redirectWithoutCache,
221
218
  };
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),v=a;u=e.default=(0,d.default)((0,v.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");export{u as d};
1
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),v=a;u=e.default=(0,d.default)((0,v.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");export{u as d};
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),p=a;u=e.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
1
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),p=a;u=e.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;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
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;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{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-BCYov1AG.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
+ import{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-MU05F41R.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{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-BCYov1AG.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
+ import{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-MU05F41R.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{a1 as t,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-BCYov1AG.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
+ import{a1 as t,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-MU05F41R.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{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;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
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;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{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=a;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),i=r;u=e.default=(0,d.default)((0,i.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download");export{u as d};
1
+ import{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=a;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),i=r;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{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),s=a;u=e.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
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),s=a;u=e.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,4 +1,4 @@
1
- import{a as Ce,r as C,b as o}from"./vendor-react-D-afvo_7.js";import{E as f}from"./vendor-mui-core-BWT1QT-d.js";import{af as kt,ag as Rt,ah as _t,Z as k,t as Ot,ai as Mt,d as Ft,aj as H,F as Ie}from"./vendor-utils-5TjOM6td.js";import{aU as Bt}from"./vendor-arcblock-BCYov1AG.js";import{r as At}from"./cloneDeep-BRiLvZjr.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-D-afvo_7.js";import{E as f}from"./vendor-mui-core-BWT1QT-d.js";import{af as kt,ag as Rt,ah as _t,Z as k,t as Ot,ai as Mt,d as Ft,aj as H,F as Ie}from"./vendor-utils-5TjOM6td.js";import{aU as Bt}from"./vendor-arcblock-MU05F41R.js";import{r as At}from"./cloneDeep-BRiLvZjr.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{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),s=t;u=e.default=(0,i.default)((0,s.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined");export{u as d};
1
+ import{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),s=t;u=e.default=(0,i.default)((0,s.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined");export{u as d};
@@ -1 +1 @@
1
- import{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},u=a;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,v=u(t()),i=r;o=e.default=(0,v.default)((0,i.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"Launch");export{o as d};
1
+ import{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},u=a;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,v=u(t()),i=r;o=e.default=(0,v.default)((0,i.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"Launch");export{o as d};
@@ -1 +1 @@
1
- import{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},u=a;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,i=u(t()),v=r;o=e.default=(0,i.default)((0,v.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"LaunchOutlined");export{o as d};
1
+ import{a1 as a,j as r}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},u=a;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,i=u(t()),v=r;o=e.default=(0,i.default)((0,v.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"LaunchOutlined");export{o as d};
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8m0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4z"}),"Loop");export{u as d};
1
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8m0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4z"}),"Loop");export{u as d};
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),s=a;u=e.default=(0,i.default)((0,s.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");export{u as d};
1
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),s=a;u=e.default=(0,i.default)((0,s.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");export{u as d};
@@ -1 +1 @@
1
- import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-BCYov1AG.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");export{u as d};
1
+ import{a1 as r,j as a}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as t}from"./vendor-arcblock-MU05F41R.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(t()),l=a;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");export{u as d};
@@ -1 +1 @@
1
- import{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-BCYov1AG.js";var e={},i=r;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,u=i(a()),v=t;o=e.default=(0,u.default)((0,v.jsx)("path",{d:"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z"}),"ViewList");export{o as d};
1
+ import{a1 as r,j as t}from"./vendor-mui-core-BWT1QT-d.js";import{a0 as a}from"./vendor-arcblock-MU05F41R.js";var e={},i=r;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,u=i(a()),v=t;o=e.default=(0,u.default)((0,v.jsx)("path",{d:"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z"}),"ViewList");export{o as d};
@@ -1,4 +1,4 @@
1
- import{e as E,j as t,a3 as c,bH as h,bx as L,aN as N,by as g,E as I,aa as b}from"./vendor-mui-core-BWT1QT-d.js";import{r as m}from"./vendor-react-D-afvo_7.js";import{e as j,b as o,j as y}from"./vendor-arcblock-BCYov1AG.js";import{A as O}from"./config-BqevGx2X.js";import{P}from"./page-header-DPKBfrCy.js";import{o as R,f as T,e as Y}from"./index-QGwREoo6.js";import{S as v}from"./layout-C7WJ00Ek.js";import{S as H}from"./step-actions-CQPEoZDr.js";import{S as D}from"./button-CImZba-M.js";import"./vendor-utils-5TjOM6td.js";import"./vendor-hooks-ZnvK17j8.js";import"./content-layout-Dw7m52fz.js";function C({onNext:s}){const S=E(),{t:n,locale:d}=j(),[i,l]=m.useState(!1),[f,p]=m.useState(""),{blocklet:r}=R();m.useEffect(()=>{var a;const e=T.findServiceFromMeta(r.meta,o.NODE_SERVICES.AUTH);p(((a=e==null?void 0:e.config)==null?void 0:a.whoCanAccess)||o.WHO_CAN_ACCESS.ALL)},[r]);const u=async e=>{let a=o.ACCESS_POLICY_PUBLIC;e===o.WHO_CAN_ACCESS.ALL?a=o.ACCESS_POLICY_PUBLIC:e===o.WHO_CAN_ACCESS.INVITED?a=o.ACCESS_POLICY_INVITED_ONLY:e===o.WHO_CAN_ACCESS.OWNER?a=o.ACCESS_POLICY_OWNER_ONLY:e===o.WHO_CAN_ACCESS.ADMIN&&(a=o.ACCESS_POLICY_ADMIN_ONLY);try{l(!0),await Y.updateBlockletSecurityRule({input:{did:r.meta.did,data:{id:o.SECURITY_RULE_DEFAULT_ID,accessPolicyId:a}}}),l(!1)}catch(A){l(!1),y.error(A.message)}},x=async e=>{i||(p(e.target.value),await u(e.target.value))},_={marginRight:4,fontSize:18,verticalAlign:"text-bottom",color:S.palette.text.secondary};return t.jsxs(W,{children:[t.jsx(c,{className:"header",children:t.jsx(P,{title:n("blocklet.config.access.title"),subTitle:n("blocklet.config.access.description")})}),t.jsx(h,{component:"fieldset",children:t.jsx(L,{name:"inherit",value:f,onChange:x,children:O.map(e=>t.jsxs(c,{sx:{mb:2},children:[t.jsx(N,{value:e.value,control:t.jsx(g,{size:"small",color:"primary"}),label:t.jsxs("span",{children:[t.jsx(e.icon,{style:_}),e.title[d]]})}),t.jsx(c,{className:"tip",children:e.description[d]})]},e.value))})}),t.jsx(H,{mt:8,disabled:i,blocklet:r,onStartNow:()=>s("complete"),children:t.jsx(D,{loading:i,variant:"contained",disabled:i,onClick:()=>s(),children:n("setup.continue")})})]})}C.propTypes={onNext:I.func};C.defaultProps={onNext:()=>{}};const W=b(v)`
1
+ import{e as E,j as t,a3 as c,bH as h,bx as L,aN as N,by as g,E as I,aa as b}from"./vendor-mui-core-BWT1QT-d.js";import{r as m}from"./vendor-react-D-afvo_7.js";import{e as j,b as o,j as y}from"./vendor-arcblock-MU05F41R.js";import{A as O}from"./config-BLMVw_7t.js";import{P}from"./page-header-Bb6Nvnno.js";import{o as R,f as T,e as Y}from"./index-EWFwC-1m.js";import{S as v}from"./layout-swjOWugq.js";import{S as H}from"./step-actions-DCH7RaSc.js";import{S as D}from"./button-DklX5vfm.js";import"./vendor-utils-5TjOM6td.js";import"./vendor-hooks-ZnvK17j8.js";import"./content-layout-Dw7m52fz.js";function C({onNext:s}){const S=E(),{t:n,locale:d}=j(),[i,l]=m.useState(!1),[f,p]=m.useState(""),{blocklet:r}=R();m.useEffect(()=>{var a;const e=T.findServiceFromMeta(r.meta,o.NODE_SERVICES.AUTH);p(((a=e==null?void 0:e.config)==null?void 0:a.whoCanAccess)||o.WHO_CAN_ACCESS.ALL)},[r]);const u=async e=>{let a=o.ACCESS_POLICY_PUBLIC;e===o.WHO_CAN_ACCESS.ALL?a=o.ACCESS_POLICY_PUBLIC:e===o.WHO_CAN_ACCESS.INVITED?a=o.ACCESS_POLICY_INVITED_ONLY:e===o.WHO_CAN_ACCESS.OWNER?a=o.ACCESS_POLICY_OWNER_ONLY:e===o.WHO_CAN_ACCESS.ADMIN&&(a=o.ACCESS_POLICY_ADMIN_ONLY);try{l(!0),await Y.updateBlockletSecurityRule({input:{did:r.meta.did,data:{id:o.SECURITY_RULE_DEFAULT_ID,accessPolicyId:a}}}),l(!1)}catch(A){l(!1),y.error(A.message)}},x=async e=>{i||(p(e.target.value),await u(e.target.value))},_={marginRight:4,fontSize:18,verticalAlign:"text-bottom",color:S.palette.text.secondary};return t.jsxs(W,{children:[t.jsx(c,{className:"header",children:t.jsx(P,{title:n("blocklet.config.access.title"),subTitle:n("blocklet.config.access.description")})}),t.jsx(h,{component:"fieldset",children:t.jsx(L,{name:"inherit",value:f,onChange:x,children:O.map(e=>t.jsxs(c,{sx:{mb:2},children:[t.jsx(N,{value:e.value,control:t.jsx(g,{size:"small",color:"primary"}),label:t.jsxs("span",{children:[t.jsx(e.icon,{style:_}),e.title[d]]})}),t.jsx(c,{className:"tip",children:e.description[d]})]},e.value))})}),t.jsx(H,{mt:8,disabled:i,blocklet:r,onStartNow:()=>s("complete"),children:t.jsx(D,{loading:i,variant:"contained",disabled:i,onClick:()=>s(),children:n("setup.continue")})})]})}C.propTypes={onNext:I.func};C.defaultProps={onNext:()=>{}};const W=b(v)`
2
2
  height: 100%;
3
3
  overflow-y: auto;
4
4
  .header {
@@ -1 +1 @@
1
- import{r as c}from"./vendor-react-D-afvo_7.js";import{j as a,I as E,ak as I,ah as P,al as b,bm as v,bn as k,E as l,aa as D}from"./vendor-mui-core-BWT1QT-d.js";import{d as T}from"./MoreHoriz-DVyDe-n2.js";function p({actions:u,size:m,...d}){const[n,r]=c.useState(null),f=!!n,y=t=>{try{t.stopPropagation(),t.preventDefault()}catch{}r(t.currentTarget)},e=t=>{try{t.stopPropagation(),t.preventDefault()}catch{}r(null)};return a.jsxs(z,{...d,children:[a.jsx(E,{"aria-label":"more","aria-controls":"actions-menu","aria-haspopup":"true","data-cy":"actions-menu-icon",onClick:y,size:m,children:a.jsx(T,{})}),a.jsx(I,{id:"actions-menu","data-cy":"actions-menu",anchorEl:n,keepMounted:!0,open:f,onClose:e,slotProps:{paper:{}},children:u.map((t,s)=>{if(typeof t=="function")return t({close:e});if(t.separator)return a.jsx(P,{},`separator-${s}`);const{icon:h,text:x,render:A,onClick:o,disabled:j=!1,...g}=t;return c.createElement(b,{...g,disabled:j,dense:!0,onClick:async i=>{i.stopPropagation(),await(o==null?void 0:o(i)),e()},key:s,"data-cy":`actions-menu-${s}`},a.jsx(v,{style:{minWidth:24,marginRight:8},children:h}),a.jsx(k,{primary:x}))})})]})}p.propTypes={actions:l.array,size:l.oneOf(["small","medium","large"])};p.defaultProps={actions:[],size:"small"};const z=D.div``;export{p as A};
1
+ import{r as c}from"./vendor-react-D-afvo_7.js";import{j as a,I as E,ak as I,ah as P,al as b,bm as v,bn as k,E as l,aa as D}from"./vendor-mui-core-BWT1QT-d.js";import{d as T}from"./MoreHoriz-B7JSMM__.js";function p({actions:u,size:m,...d}){const[n,r]=c.useState(null),f=!!n,y=t=>{try{t.stopPropagation(),t.preventDefault()}catch{}r(t.currentTarget)},e=t=>{try{t.stopPropagation(),t.preventDefault()}catch{}r(null)};return a.jsxs(z,{...d,children:[a.jsx(E,{"aria-label":"more","aria-controls":"actions-menu","aria-haspopup":"true","data-cy":"actions-menu-icon",onClick:y,size:m,children:a.jsx(T,{})}),a.jsx(I,{id:"actions-menu","data-cy":"actions-menu",anchorEl:n,keepMounted:!0,open:f,onClose:e,slotProps:{paper:{}},children:u.map((t,s)=>{if(typeof t=="function")return t({close:e});if(t.separator)return a.jsx(P,{},`separator-${s}`);const{icon:h,text:x,render:A,onClick:o,disabled:j=!1,...g}=t;return c.createElement(b,{...g,disabled:j,dense:!0,onClick:async i=>{i.stopPropagation(),await(o==null?void 0:o(i)),e()},key:s,"data-cy":`actions-menu-${s}`},a.jsx(v,{style:{minWidth:24,marginRight:8},children:h}),a.jsx(k,{primary:x}))})})]})}p.propTypes={actions:l.array,size:l.oneOf(["small","medium","large"])};p.defaultProps={actions:[],size:"small"};const z=D.div``;export{p as A};