@abtnode/blocklet-services 1.16.51-beta-20250904-031834-c611f059 → 1.16.51-beta-20250905-023351-70af144b

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 (202) hide show
  1. package/api/index.js +1 -1
  2. package/api/routes/ocap.js +53 -5
  3. package/api/routes/user.js +83 -149
  4. package/api/services/auth/session.js +4 -4
  5. package/api/util/check-user.js +64 -0
  6. package/dist/assets/{AdapterDayjs-CFnh9vjd.js → AdapterDayjs-CC5qW8X_.js} +1 -1
  7. package/dist/assets/{Google-CW-20wJE.js → Google-BTGwy4Tl.js} +1 -1
  8. package/dist/assets/{access-control-BizMX9Jn.js → access-control-6ZXyzt4u.js} +1 -1
  9. package/dist/assets/{actions-DAS8NTxZ.js → actions-Cqn-jwqV.js} +1 -1
  10. package/dist/assets/{add-component-core-DehX9hAF.js → add-component-core-YkDFxrKl.js} +35 -35
  11. package/dist/assets/{add-resource-cFXEx4Mb.js → add-resource-OQ7hF_IO.js} +1 -1
  12. package/dist/assets/{addon-CuC7As5-.js → addon-BkKDTdVJ.js} +1 -1
  13. package/dist/assets/{advanced-B7LnG-Wt.js → advanced-CT4_Pijp.js} +1 -1
  14. package/dist/assets/{aigne-CGcWPgm4.js → aigne-DnDNvsxR.js} +1 -1
  15. package/dist/assets/api-sewNv0AE.js +1 -0
  16. package/dist/assets/{appearance-CMbl6GXr.js → appearance-D4izVpn9.js} +1 -1
  17. package/dist/assets/{arrow-down.svg-C5U2GopL.js → arrow-down.svg-CmUDD5Ct.js} +1 -1
  18. package/dist/assets/{audit-logs-BR5IC8uX.js → audit-logs-BYmYxN_X.js} +1 -1
  19. package/dist/assets/{authorize-BbkMLYEs.js → authorize-DZtDnqj7.js} +1 -1
  20. package/dist/assets/{base-chart-DF3hJ1RO.js → base-chart-o9AZYZ--.js} +1 -1
  21. package/dist/assets/{base32-YcmXpCcj.js → base32-DBozFUZ2.js} +1 -1
  22. package/dist/assets/bedrock-yFRPpe__.png +0 -0
  23. package/dist/assets/{bind-account-OAALSOef.js → bind-account-DtwFMPu6.js} +1 -1
  24. package/dist/assets/branding-BOVSmux-.js +1 -0
  25. package/dist/assets/{branding-F8Vu_6kc.js → branding-CsRcDE0s.js} +2 -2
  26. package/dist/assets/{branding-CV15gC6i.js → branding-yPr_q0Uc.js} +1 -1
  27. package/dist/assets/{bundle-avatar-Bj24dA31.js → bundle-avatar-RF-josr5.js} +1 -1
  28. package/dist/assets/button-DY13Itzc.js +1 -0
  29. package/dist/assets/{click-to-copy-BMR8lTEv.js → click-to-copy-fi9Ffgbr.js} +1 -1
  30. package/dist/assets/{cloneDeep-CXHTtsEc.js → cloneDeep-sSKmkjV3.js} +1 -1
  31. package/dist/assets/{collapse-8NywKzkD.js → collapse-Cf8moIch.js} +1 -1
  32. package/dist/assets/{complete-MnVDnuuG.js → complete-e6hBRX3N.js} +1 -1
  33. package/dist/assets/{component-Bk_-E4gg.js → component-XnltTgOf.js} +3 -3
  34. package/dist/assets/{config-Dr92nV4I.js → config-BGwcsbBr.js} +1 -1
  35. package/dist/assets/{config-Bn0_m02e.js → config-BppSCyM-.js} +1 -1
  36. package/dist/assets/{config-BTL01fgU.js → config-ChvIwoil.js} +1 -1
  37. package/dist/assets/{config-navigation-DqeOzGVr.js → config-navigation-vJrJrwXE.js} +9 -9
  38. package/dist/assets/{config-space-O69Nv0aB.js → config-space-CTTPnPjr.js} +1 -1
  39. package/dist/assets/{confirm-DG4ITIko.js → confirm-CylT1MuR.js} +1 -1
  40. package/dist/assets/{connect-DL2dlLBg.js → connect-D1U71zMh.js} +1 -1
  41. package/dist/assets/{connect-ChI6OGaf.js → connect-D9SITMTZ.js} +1 -1
  42. package/dist/assets/{connect-to-C2mb3SLL.js → connect-to-B7H-Chnx.js} +1 -1
  43. package/dist/assets/{content-layout-C8_nylvn.js → content-layout-CotAwqHA.js} +1 -1
  44. package/dist/assets/{createClass-BQk0eOTp.js → createClass-CedsFAiy.js} +1 -1
  45. package/dist/assets/{dashboard-DV0LBHTV.js → dashboard-hbcsb63I.js} +3 -3
  46. package/dist/assets/deepseek-C3x42pq3.png +0 -0
  47. package/dist/assets/{delete-confirm-DWLdmGwG.js → delete-confirm-CsNBLZ0O.js} +1 -1
  48. package/dist/assets/{did-address-Df2xj-8v.js → did-address-BZQ3OHpT.js} +1 -1
  49. package/dist/assets/{domain-DpAqDcFt.js → domain-0OPS16_V.js} +1 -1
  50. package/dist/assets/{domain-action-card-BNiWQCQ3.js → domain-action-card-DNug7dz9.js} +2 -2
  51. package/dist/assets/domains-Ds15DpYS.js +1 -0
  52. package/dist/assets/doubao-yPqHSkLx.png +0 -0
  53. package/dist/assets/{email-CklgLemm.js → email-CRS4tNpx.js} +1 -1
  54. package/dist/assets/{empty-spinner-8MrwYy6o.js → empty-spinner-DYg7efl9.js} +1 -1
  55. package/dist/assets/engine-FgocryKo.js +1 -0
  56. package/dist/assets/{exchange-passport-WsgMY25n.js → exchange-passport-GffYf_m-.js} +1 -1
  57. package/dist/assets/{form-DI2NdlIg.js → form-DlK4omzK.js} +1 -1
  58. package/dist/assets/{form-text-input-D3GvGNCj.js → form-text-input-Dhhcv8eW.js} +1 -1
  59. package/dist/assets/{form-wrapper-CyRbKpkJ.js → form-wrapper-BEhcx7Ef.js} +1 -1
  60. package/dist/assets/{fuel-B9OsPuGR.js → fuel-CqQax_BS.js} +1 -1
  61. package/dist/assets/gemini-DffKpc81.png +0 -0
  62. package/dist/assets/{gen-access-key-CxfRvtHl.js → gen-access-key-DgO3So4-.js} +1 -1
  63. package/dist/assets/{gen-simple-access-key-CkVVA533.js → gen-simple-access-key-CLexjALx.js} +1 -1
  64. package/dist/assets/get-safe-url-DXqaEhFh.js +1 -0
  65. package/dist/assets/google-DT1VSJ0m.png +0 -0
  66. package/dist/assets/{hdkey-CRIWCUzf.js → hdkey-CHxXj9P3.js} +1 -1
  67. package/dist/assets/{home-CL12xJFi.js → home-CJwCCJel.js} +1 -1
  68. package/dist/assets/ideogram-REIjy0Er.png +0 -0
  69. package/dist/assets/{iframe-C5cUHhd8.js → iframe-BTIpP4Hw.js} +1 -1
  70. package/dist/assets/{index-ggMl8oln.js → index-7ggrWc16.js} +4 -4
  71. package/dist/assets/{index-BEhPdNPV.js → index-AlukFQyB.js} +1 -1
  72. package/dist/assets/index-BH75RD8c.js +30 -0
  73. package/dist/assets/{index-CTJcDBG9.js → index-BMJ9thMh.js} +1 -1
  74. package/dist/assets/{index-B_XelxpM.js → index-BPzAOInQ.js} +1 -1
  75. package/dist/assets/index-BRKdK9jJ.js +177 -0
  76. package/dist/assets/{index-yBrWp7fO.js → index-BWQTJ4kw.js} +1 -1
  77. package/dist/assets/{index-UylIOMye.js → index-BamsQCM-.js} +113 -113
  78. package/dist/assets/{index-BGrrYkUR.js → index-BiB2e8Yu.js} +4 -4
  79. package/dist/assets/index-BoOZkuTi.js +1 -0
  80. package/dist/assets/index-BvdzRjbh.js +271 -0
  81. package/dist/assets/{index-DTsM42Id.js → index-CZyIUWF0.js} +1 -1
  82. package/dist/assets/{index-cZYnZ4B7.js → index-CjfDGq-5.js} +1 -1
  83. package/dist/assets/{index-8fv-5AAQ.js → index-Ct3iQdTC.js} +1 -1
  84. package/dist/assets/{index-CFLZaEiL.js → index-DAxAF51T.js} +1 -1
  85. package/dist/assets/{index-BORYB__L.js → index-DO9UDa6G.js} +1 -1
  86. package/dist/assets/{index-D6ay4OGg.js → index-DOLfG_0X.js} +8 -8
  87. package/dist/assets/{index-oUY4wc3e.js → index-DQ60VjsN.js} +1 -1
  88. package/dist/assets/{index-TvxuFSBz.js → index-DSrm_rK4.js} +4 -4
  89. package/dist/assets/{index-BOtYQVYn.js → index-DYfNv4CN.js} +1 -1
  90. package/dist/assets/{index-Ch35mI2K.js → index-DdXpn59U.js} +1 -1
  91. package/dist/assets/{index-DDc4xNxF.js → index-Dh4j6qyG.js} +3 -3
  92. package/dist/assets/{index-BoHT1W-z.js → index-Dn1L9Nu2.js} +1 -1
  93. package/dist/assets/{index-DkalauYm.js → index-K-GfrQtE.js} +1 -1
  94. package/dist/assets/{index-BlUSkcPF.js → index-LrrgtY15.js} +2 -2
  95. package/dist/assets/{index-D12D99od.js → index-R5F7CSrk.js} +1 -1
  96. package/dist/assets/{index-Dnk-V5A3.js → index-eF2PLa8g.js} +1 -1
  97. package/dist/assets/{index--e0vFPst.js → index-lPzqDjdD.js} +1 -1
  98. package/dist/assets/{index-qbpx4ho0.js → index-m4b2voqL.js} +9 -9
  99. package/dist/assets/{index--dY679jL.js → index-vnGvaRYC.js} +1 -1
  100. package/dist/assets/{invitation-Dw_3wbU_.js → invitation-CpSWefdW.js} +1 -1
  101. package/dist/assets/{invite-D2VAra9S.js → invite-AYEjhFQ0.js} +1 -1
  102. package/dist/assets/{isURL-BXV7aNks.js → isURL-BNktOhyT.js} +1 -1
  103. package/dist/assets/{issue-passport-YNIfHEWU.js → issue-passport-FIUqn8xz.js} +1 -1
  104. package/dist/assets/{item-CRkxqMEd.js → item-PqlihMZp.js} +1 -1
  105. package/dist/assets/{landing-page-axrQrFAe.js → landing-page-iAUVw0Ie.js} +1 -1
  106. package/dist/assets/{launch-result-message-CYwb6iA9.js → launch-result-message-CFpqIQB2.js} +1 -1
  107. package/dist/assets/{layout-DHabex9A.js → layout-BzSJPpmA.js} +1 -1
  108. package/dist/assets/list-0sUwxo0D.js +4 -0
  109. package/dist/assets/{list-LS9VMpKO.js → list-DiTAJfbm.js} +2 -2
  110. package/dist/assets/{list-header-DdgW2mjM.js → list-header-DELs3iEf.js} +1 -1
  111. package/dist/assets/localization-Bo7Gfk7M.js +1 -0
  112. package/dist/assets/{log-BqfK7lKM.js → log-BP8tEg4T.js} +1 -1
  113. package/dist/assets/logger-CvoADwsx.js +1 -0
  114. package/dist/assets/{login-MUf1UgXC.js → login-BhegLCH_.js} +1 -1
  115. package/dist/assets/{login-oauth-callback-nvA1-MHC.js → login-oauth-callback-CPTNuxD4.js} +1 -1
  116. package/dist/assets/{logo-uploader-COwE7-CG.js → logo-uploader-CJlzjDbr.js} +2 -2
  117. package/dist/assets/{lost-passport-15i-h32g.js → lost-passport-BJcnymBH.js} +1 -1
  118. package/dist/assets/{observability-4ZKd3ESd.js → observability-CarzdE5-.js} +1 -1
  119. package/dist/assets/ollama-C7MZn2d_.png +0 -0
  120. package/dist/assets/{omit-s-NbcM4Z.js → omit-C2ouGG7F.js} +1 -1
  121. package/dist/assets/{open-window-CG51J4gC.js → open-window--cmVNAN5.js} +1 -1
  122. package/dist/assets/openai-DlpqJdrb.png +0 -0
  123. package/dist/assets/{over-due-invoice-payment-DBpVXkfx.js → over-due-invoice-payment-Cr2kTw63.js} +1 -1
  124. package/dist/assets/{overview-B9lpCSRm.js → overview-BQiifSE9.js} +1 -1
  125. package/dist/assets/{page-header-CyNE6Ofr.js → page-header-CIjuv0WX.js} +1 -1
  126. package/dist/assets/{passport-item-DybEL-4U.js → passport-item-u44phIJc.js} +1 -1
  127. package/dist/assets/{permission-BFrFUit7.js → permission-DCakrWTT.js} +1 -1
  128. package/dist/assets/{playground-DeasY3DH.js → playground-6dTtbzYq.js} +1 -1
  129. package/dist/assets/poe-B588TgZu.png +0 -0
  130. package/dist/assets/preferences-eL-qWovr.js +1 -0
  131. package/dist/assets/profile-embed-CG26T6ks.js +1 -0
  132. package/dist/assets/publish-resource-sC6DGUJ-.js +1 -0
  133. package/dist/assets/{react-beautiful-dnd.esm-CiUp8xsU.js → react-beautiful-dnd.esm-CQcgZoy2.js} +1 -1
  134. package/dist/assets/{react-stripe.esm-CvJuW6o6.js → react-stripe.esm-BHOF7FLg.js} +1 -1
  135. package/dist/assets/{required-McYgDRcp.js → required-CtPXGgxr.js} +1 -1
  136. package/dist/assets/{runtime-DRKR2vcm.js → runtime-D6AwdQxS.js} +1 -1
  137. package/dist/assets/{sanitize-BSfQHy23.js → sanitize-BwaMGjTb.js} +1 -1
  138. package/dist/assets/sdk-D1Af0QY_.js +1 -0
  139. package/dist/assets/{section-DSgkHUgY.js → section-4lLmF6fb.js} +1 -1
  140. package/dist/assets/{security-6K3NLRV1.js → security-BA1zPj2C.js} +1 -1
  141. package/dist/assets/{session-HjmNdK0I.js → session-t9gAHtO2.js} +1 -1
  142. package/dist/assets/{setup-Cmh0SuN8.js → setup-HVlps4V-.js} +1 -1
  143. package/dist/assets/{shorten-label-CphpNRtN.js → shorten-label-BYntTWDs.js} +1 -1
  144. package/dist/assets/{simple-select-B6PbGWwo.js → simple-select-3dAlIQHx.js} +1 -1
  145. package/dist/assets/{spaces-BODiJUEs.js → spaces-DH0QfvNS.js} +1 -1
  146. package/dist/assets/{start-B1fjvXGG.js → start-BuDZLaw8.js} +1 -1
  147. package/dist/assets/{starting-progress-CCfzhLUS.js → starting-progress-DSrsuJKX.js} +1 -1
  148. package/dist/assets/{status-C8JIpIsB.js → status-DMVFJ7Ns.js} +1 -1
  149. package/dist/assets/{step-actions-DSUIHhcl.js → step-actions-viiOlGZP.js} +1 -1
  150. package/dist/assets/{studio-BP9bO0-g.js → studio-MPC5GOTw.js} +1 -1
  151. package/dist/assets/{switch-control-BAMq90al.js → switch-control-DhPPQXXT.js} +1 -1
  152. package/dist/assets/{table-tips-DyJrgU_f.js → table-tips-DHbTBOnI.js} +1 -1
  153. package/dist/assets/{team-BD_3DJh4.js → team-PwzFoyAO.js} +1 -1
  154. package/dist/assets/{traffic-CzjP91eE.js → traffic-BTX68PbB.js} +1 -1
  155. package/dist/assets/{transfer-BNGu3nRa.js → transfer-CaVw1Uf4.js} +1 -1
  156. package/dist/assets/{unsubscribe-BsWf1MUr.js → unsubscribe-uHK5uqdd.js} +1 -1
  157. package/dist/assets/{use-app-logo-CaQrhdt8.js → use-app-logo-CNyOsQwv.js} +1 -1
  158. package/dist/assets/{use-mobile-BTugf2DR.js → use-mobile-C8UweHoJ.js} +1 -1
  159. package/dist/assets/{use-mobile-BjYFyM2N.js → use-mobile-D2h0sedv.js} +1 -1
  160. package/dist/assets/{use-server-logo-B7LbKzj5.js → use-server-logo-D2sYKpzr.js} +1 -1
  161. package/dist/assets/{use-window-close-BSqwQaeS.js → use-window-close-6fEaqfn0.js} +1 -1
  162. package/dist/assets/{useAsync-BGvZXHet.js → useAsync-CNAYLnLm.js} +1 -1
  163. package/dist/assets/{useAsync-BWNXO1rj.js → useAsync-DZevTxbv.js} +1 -1
  164. package/dist/assets/{useAsyncRetry-CpdhLok_.js → useAsyncRetry-ODp5sGTA.js} +1 -1
  165. package/dist/assets/{useLocalStorage-DVau1hEB.js → useLocalStorage-QnmPEXnx.js} +1 -1
  166. package/dist/assets/{user-center-CuEVuAdh.js → user-center-MGVe1Tl4.js} +3 -3
  167. package/dist/assets/user-follower-DnS-dznO.js +32 -0
  168. package/dist/assets/{user-sessions-CatK1_Zw.js → user-sessions-UGCijU4z.js} +1 -1
  169. package/dist/assets/{util-CUI_ZmDM.js → util-BT_TGAHY.js} +1 -1
  170. package/dist/assets/{util-DuIMhFew.js → util-xXS8bje8.js} +1 -1
  171. package/dist/assets/{vendor-arcblock-CpQy1iPf.js → vendor-arcblock-Gj9ygDGP.js} +1 -1
  172. package/dist/assets/{vendor-hooks-BCWx0EFG.js → vendor-hooks-DLNZ8kxG.js} +2 -2
  173. package/dist/assets/{vendor-mui-core-BkVXEDpj.js → vendor-mui-core-Bq_sfmbr.js} +1 -1
  174. package/dist/assets/{vendor-mui-x-DiiSwpci.js → vendor-mui-x-BbwECMfi.js} +1 -1
  175. package/dist/assets/{vendor-utils-Vg_blW2I.js → vendor-utils-DQK0pEML.js} +1 -1
  176. package/dist/assets/{vendor-ux-BuVrSS5Q.js → vendor-ux-BagecGKr.js} +2 -2
  177. package/dist/assets/{wait-connect-BA3jKwDf.js → wait-connect-B5cBJUbg.js} +1 -1
  178. package/dist/assets/{wizard-DJpPahxg.js → wizard-DmXX1YRu.js} +2 -2
  179. package/dist/assets/{wizard-components-CJnpL0XW.js → wizard-components-DK6w0tqC.js} +2 -2
  180. package/dist/assets/{wrap-locale-CVa5Q-hE.js → wrap-locale-As5nSm9H.js} +1 -1
  181. package/dist/assets/{zh-CdNKkRMR.js → zh-DilEt4P2.js} +1 -1
  182. package/dist/index.html +6 -6
  183. package/dist/service-worker.js +1 -1
  184. package/package.json +37 -37
  185. package/dist/assets/api-UEK-NQqw.js +0 -1
  186. package/dist/assets/branding-BiutQrwI.js +0 -1
  187. package/dist/assets/button-AjggtWPi.js +0 -1
  188. package/dist/assets/domains-B_SpbTrj.js +0 -1
  189. package/dist/assets/engine-GV-p3Fxn.js +0 -1
  190. package/dist/assets/get-safe-url-BXm7L7_P.js +0 -1
  191. package/dist/assets/index-BOu91gPz.js +0 -30
  192. package/dist/assets/index-BYbLccyT.js +0 -161
  193. package/dist/assets/index-BzsXxOiG.js +0 -271
  194. package/dist/assets/index-DCrnmu85.js +0 -1
  195. package/dist/assets/list-wxt9eC9U.js +0 -4
  196. package/dist/assets/localization-D_4reWfj.js +0 -1
  197. package/dist/assets/logger-B9nd1rH0.js +0 -1
  198. package/dist/assets/preferences-rTRVaG_q.js +0 -1
  199. package/dist/assets/profile-embed-DZX01PjZ.js +0 -1
  200. package/dist/assets/publish-resource-CJTUgGn8.js +0 -1
  201. package/dist/assets/sdk-xBIHQiyx.js +0 -1
  202. package/dist/assets/user-follower-D-nWZARf.js +0 -32
package/api/index.js CHANGED
@@ -800,7 +800,7 @@ self.blocklet = {
800
800
  createOAuthServerRoutes.init(server, node, options);
801
801
  createFederatedRoutes.init(server, node, options);
802
802
  createUserRoutes.init(server, node, options);
803
- createOcapRoutes.init(server);
803
+ createOcapRoutes.init(server, node);
804
804
  createCspProxyRoutes.init(server);
805
805
  createUserSessionRoutes.init(server, node, options);
806
806
  createEnvRoutes.init(server, node, options);
@@ -1,13 +1,23 @@
1
1
  const { getChainClient } = require('@abtnode/util/lib/get-chain-client');
2
- const { MAIN_CHAIN_ENDPOINT } = require('@abtnode/constant');
3
- const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
2
+ const {
3
+ MAIN_CHAIN_ENDPOINT,
4
+ WELLKNOWN_SERVICE_PATH_PREFIX,
5
+ WELLKNOWN_BLOCKLET_USER_PATH,
6
+ } = require('@abtnode/constant');
7
+ const get = require('lodash/get');
8
+ const { joinURL } = require('ufo');
4
9
 
5
10
  const logger = require('../libs/logger')('blocklet-services:ocap');
11
+ const checkUser = require('../middlewares/check-user');
12
+ const ensureBlocklet = require('../middlewares/ensure-blocklet');
13
+ const { t } = require('../util/check-user');
6
14
 
7
15
  const PREFIX = WELLKNOWN_SERVICE_PATH_PREFIX;
8
16
 
17
+ const USER_NFT_PATH = joinURL(WELLKNOWN_BLOCKLET_USER_PATH, 'nfts');
18
+
9
19
  module.exports = {
10
- init(server) {
20
+ init(server, node) {
11
21
  const chainClient = getChainClient(MAIN_CHAIN_ENDPOINT);
12
22
 
13
23
  if (!chainClient) {
@@ -15,13 +25,51 @@ module.exports = {
15
25
  return;
16
26
  }
17
27
 
18
- server.get(`${PREFIX}/ocap/listAssets`, async (req, res) => {
28
+ server.get(`${PREFIX}/ocap/listAssets`, checkUser, ensureBlocklet(), async (req, res) => {
29
+ const { blocklet, blockletLocale } = req;
30
+ const teamDid = blocklet.appPid;
31
+
32
+ const reqUserDid = req?.user?.did;
33
+ if (!reqUserDid) {
34
+ // 未登录用户访问
35
+ res.status(401).json({
36
+ error: t('notAuthorized', blockletLocale),
37
+ });
38
+ return;
39
+ }
40
+
19
41
  const { ownerAddress, page = 0, size = 20 } = req.query;
20
42
 
21
43
  if (!ownerAddress) {
22
44
  res.status(400).json({
23
- error: 'ownerAddress is required',
45
+ error: t('ownerAddressIsRequired', blockletLocale),
24
46
  });
47
+ return;
48
+ }
49
+
50
+ if (reqUserDid !== ownerAddress) {
51
+ const user = await node.getUser({
52
+ teamDid,
53
+ user: { did: ownerAddress },
54
+ options: {
55
+ enableConnectedAccount: true,
56
+ },
57
+ });
58
+ if (!user?.approved) {
59
+ res.status(404).send({ error: t('notExist', blockletLocale) });
60
+ return;
61
+ }
62
+
63
+ // 这里拆分两行进行判断的原因是因为 USER_NFT_PATH 中包含 ., 使用`进行拼接会导致取值错误
64
+ const privacyInfo = get(user, 'extra.privacy', {});
65
+ const isPrivate = get(privacyInfo, USER_NFT_PATH, false);
66
+
67
+ if (isPrivate) {
68
+ res.status(403).json({
69
+ error: t('userSettingsArePrivate', blockletLocale),
70
+ });
71
+ return;
72
+ }
25
73
  }
26
74
 
27
75
  const data = await chainClient.listAssets({
@@ -25,7 +25,6 @@ const { xss } = require('@blocklet/xss');
25
25
  const { createRateLimiter } = require('@blocklet/rate-limit');
26
26
  const { withQuery, joinURL } = require('ufo');
27
27
  const cors = require('cors');
28
- const createTranslator = require('@abtnode/util/lib/translate');
29
28
  const { getDeviceData } = require('@abtnode/util/lib/device');
30
29
  const { Op } = require('sequelize');
31
30
  const getOrigin = require('@abtnode/util/lib/get-origin');
@@ -51,6 +50,7 @@ const { checkFederatedCall } = require('../middlewares/check-federated');
51
50
  const { sendToUser } = require('../libs/notification');
52
51
  const { createEmailLimiter } = require('../services/kyc');
53
52
  const cache = require('../cache');
53
+ const { ensureUserExists, ensureUserEnabled, t } = require('../util/check-user');
54
54
 
55
55
  const validateUser = (user) => {
56
56
  try {
@@ -70,56 +70,6 @@ const PREFIX = WELLKNOWN_SERVICE_PATH_PREFIX;
70
70
  const prefix = `${PREFIX}/user`;
71
71
  const prefixApi = `${PREFIX}/api/user`;
72
72
 
73
- const translations = {
74
- zh: {
75
- notAllowed: '你已经被禁止访问该应用',
76
- needComponentId: '缺少登录参数: componentId',
77
- userInfoError: '登录用户信息有误',
78
- notExist: '用户不存在',
79
- //
80
- emailInvalid: '邮箱格式不正确',
81
- emailSendSuccess: '验证码发送成功',
82
- emailAlreadySent: '我们已发送验证电子邮件。请检查您的收件箱或垃圾邮件文件夹。如果您没有看到它,您可以稍后再试。',
83
- emailVerifySuccess: '邮箱验证成功',
84
- emailTitle: '登录 {appName}',
85
- invalidVerifyCode: '验证码不正确',
86
- missingInviteId: '缺少邀请 ID',
87
- notAllowedToDestroy: '用户不能通过此方法删除',
88
- failedToDestroyUser: '删除用户失败',
89
- },
90
- en: {
91
- notAllowed: 'Your have been revoked access to this blocklet',
92
- needComponentId: 'componentId is required when login user',
93
- userInfoError: 'Login user info is invalid',
94
- notExist: 'User does not exist',
95
- //
96
- emailInvalid: 'Invalid email format',
97
- emailSendSuccess: 'Verification code sent successfully',
98
- emailAlreadySent:
99
- "We've sent a verification email. Please check your inbox and spam folder. If you don't see it, you can try again in a few minutes.",
100
- emailVerifySuccess: 'Email verified successfully',
101
- emailTitle: 'Login to {appName}',
102
- invalidVerifyCode: 'Invalid verify code',
103
- missingInviteId: 'Missing invite ID',
104
- notAllowedToDestroy: 'User can not destroy by this method',
105
- failedToDestroyUser: 'Failed to destroy user',
106
- },
107
- };
108
-
109
- const t = createTranslator({ translations });
110
-
111
- function ensureUserExist(user, { locale } = {}) {
112
- if (!user) {
113
- throw new CustomError(404, t('notExist', locale));
114
- }
115
- }
116
-
117
- function ensureUserEnable(user, { locale } = {}) {
118
- if (!user.approved) {
119
- throw new CustomError(403, t('notAllowed', locale));
120
- }
121
- }
122
-
123
73
  /**
124
74
  * 组装用户 profile
125
75
  * @param {{ avatar?: string, fullName: string, email: string}} profile
@@ -188,7 +138,7 @@ async function loginWallet(
188
138
  let profile = {};
189
139
  if (currentUser) {
190
140
  if (updateInfo) {
191
- ensureUserEnable(currentUser, { locale });
141
+ ensureUserEnabled(currentUser, { locale });
192
142
  profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
193
143
  }
194
144
  } else {
@@ -252,7 +202,7 @@ async function loginOAuth(
252
202
  let profile = {};
253
203
  if (currentUser) {
254
204
  if (updateInfo) {
255
- ensureUserEnable(currentUser, { locale });
205
+ ensureUserEnabled(currentUser, { locale });
256
206
  profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
257
207
  }
258
208
  } else {
@@ -395,8 +345,8 @@ async function verifyUserSig({ userDid, signature, teamDid, sourceAppPid, userPk
395
345
  { sourceAppPid, teamDid, userDid, userPk },
396
346
  { node, blocklet }
397
347
  );
398
- ensureUserExist(currentUser, { locale });
399
- ensureUserEnable(currentUser, { locale });
348
+ ensureUserExists(currentUser, { locale });
349
+ ensureUserEnabled(currentUser, { locale });
400
350
 
401
351
  const userDidWallet = getWallet(currentUser);
402
352
 
@@ -413,6 +363,8 @@ async function verifyUserSig({ userDid, signature, teamDid, sourceAppPid, userPk
413
363
  return currentUser;
414
364
  }
415
365
 
366
+ // service 中的用户接口支持从钱包直接调用,通过另一种签名方式来实现鉴权
367
+ // 使用场景,在钱包中开启和关闭通知
416
368
  function checkUserSig({ node }) {
417
369
  return async (req, res, next) => {
418
370
  const teamDid = req.get('x-blocklet-did');
@@ -425,8 +377,8 @@ function checkUserSig({ node }) {
425
377
  options: { enableConnectedAccount: true },
426
378
  });
427
379
  try {
428
- ensureUserExist(user);
429
- ensureUserEnable(user);
380
+ ensureUserExists(user);
381
+ ensureUserEnabled(user);
430
382
  } catch (error) {
431
383
  logger.error('User is not exist or not allowed', { error });
432
384
  res.status(401).json(error.message);
@@ -1580,104 +1532,86 @@ module.exports = {
1580
1532
  }
1581
1533
  });
1582
1534
 
1583
- server.post(
1584
- `${prefixApi}/follow/:userDid`,
1585
- checkUserSig({ node }),
1586
- checkUser,
1587
- ensureBlocklet(),
1588
- async (req, res) => {
1589
- const { blocklet } = req;
1590
- const teamDid = blocklet.appPid;
1591
- const followerDid = req.user.did;
1592
- const { userDid } = req.params;
1593
- // 防止自己关注自己
1594
- if (followerDid === userDid) {
1595
- res.status(400).send({ error: 'Cannot follow yourself' });
1596
- return;
1597
- }
1598
- const user = await node.getUser({ teamDid, user: { did: userDid } });
1599
- if (!user) {
1600
- res.status(404).send({ error: 'User not found' });
1601
- return;
1602
- }
1535
+ server.post(`${prefixApi}/follow/:userDid`, checkUser, ensureBlocklet(), async (req, res) => {
1536
+ const { blocklet } = req;
1537
+ const teamDid = blocklet.appPid;
1538
+ const followerDid = req.user.did;
1539
+ const { userDid } = req.params;
1540
+ // 防止自己关注自己
1541
+ if (followerDid === userDid) {
1542
+ res.status(400).send({ error: 'Cannot follow yourself' });
1543
+ return;
1544
+ }
1545
+ const user = await node.getUser({ teamDid, user: { did: userDid } });
1546
+ if (!user) {
1547
+ res.status(404).send({ error: 'User not found' });
1548
+ return;
1549
+ }
1603
1550
 
1604
- try {
1605
- const result = await node.followUser({ teamDid, userDid, followerDid });
1606
- res.json(result);
1607
- } catch (err) {
1608
- logger.error('Failed to follow user', { error: err, userDid: req.user.did });
1609
- res.status(500).send(formatError(err));
1610
- }
1551
+ try {
1552
+ const result = await node.followUser({ teamDid, userDid, followerDid });
1553
+ res.json(result);
1554
+ } catch (err) {
1555
+ logger.error('Failed to follow user', { error: err, userDid: req.user.did });
1556
+ res.status(500).send(formatError(err));
1611
1557
  }
1612
- );
1558
+ });
1613
1559
 
1614
- server.delete(
1615
- `${prefixApi}/follow/:userDid`,
1616
- checkUserSig({ node }),
1617
- checkUser,
1618
- ensureBlocklet(),
1619
- async (req, res) => {
1620
- const { blocklet } = req;
1621
- const teamDid = blocklet.appPid;
1622
- const followerDid = req.user.did;
1623
- const { userDid } = req.params;
1624
- if (!followerDid) {
1625
- res.status(400).send({ error: 'User not login' });
1626
- return;
1627
- }
1628
- // 防止自己取消关注自己
1629
- if (followerDid === userDid) {
1630
- res.status(400).send({ error: 'Cannot unfollow yourself' });
1631
- return;
1632
- }
1633
- const user = await node.getUser({ teamDid, user: { did: userDid } });
1634
- if (!user) {
1635
- res.status(404).send({ error: 'User not found' });
1636
- return;
1637
- }
1560
+ server.delete(`${prefixApi}/follow/:userDid`, checkUser, ensureBlocklet(), async (req, res) => {
1561
+ const { blocklet } = req;
1562
+ const teamDid = blocklet.appPid;
1563
+ const followerDid = req.user.did;
1564
+ const { userDid } = req.params;
1565
+ if (!followerDid) {
1566
+ res.status(400).send({ error: 'User not login' });
1567
+ return;
1568
+ }
1569
+ // 防止自己取消关注自己
1570
+ if (followerDid === userDid) {
1571
+ res.status(400).send({ error: 'Cannot unfollow yourself' });
1572
+ return;
1573
+ }
1574
+ const user = await node.getUser({ teamDid, user: { did: userDid } });
1575
+ if (!user) {
1576
+ res.status(404).send({ error: 'User not found' });
1577
+ return;
1578
+ }
1638
1579
 
1639
- try {
1640
- const result = await node.unfollowUser({ teamDid, userDid, followerDid });
1641
- res.json(result);
1642
- } catch (err) {
1643
- logger.error('Failed to unfollow user', { error: err, userDid: req.user.did });
1644
- res.status(500).send(formatError(err));
1645
- }
1580
+ try {
1581
+ const result = await node.unfollowUser({ teamDid, userDid, followerDid });
1582
+ res.json(result);
1583
+ } catch (err) {
1584
+ logger.error('Failed to unfollow user', { error: err, userDid: req.user.did });
1585
+ res.status(500).send(formatError(err));
1646
1586
  }
1647
- );
1587
+ });
1648
1588
 
1649
- server.get(
1650
- `${prefixApi}/follow/:userDid`,
1651
- checkUserSig({ node }),
1652
- checkUser,
1653
- ensureBlocklet(),
1654
- async (req, res) => {
1655
- const { blocklet } = req;
1656
- const teamDid = blocklet.appPid;
1657
- const followerDid = req.user.did;
1658
- const { userDid } = req.params;
1659
- if (followerDid === userDid) {
1660
- res.status(400).send({ error: 'Cannot check following yourself' });
1661
- return;
1662
- }
1663
- if (!userDid) {
1664
- res.status(400).send({ error: 'User DID is required' });
1665
- return;
1666
- }
1667
- const user = await node.getUser({ teamDid, user: { did: userDid } });
1668
- if (!user) {
1669
- res.status(404).send({ error: 'User not found' });
1670
- return;
1671
- }
1672
- try {
1673
- const data = await node.checkFollowing({ teamDid, userDids: [userDid], followerDid });
1674
- const isFollowing = data && typeof data[userDid] === 'boolean' ? data[userDid] : false;
1675
- res.json({ isFollowing });
1676
- } catch (err) {
1677
- logger.error('Failed to check if user is following', { error: err, userDid: req.user.did });
1678
- res.status(500).send(formatError(err));
1679
- }
1589
+ server.get(`${prefixApi}/follow/:userDid`, checkUser, ensureBlocklet(), async (req, res) => {
1590
+ const { blocklet } = req;
1591
+ const teamDid = blocklet.appPid;
1592
+ const followerDid = req.user.did;
1593
+ const { userDid } = req.params;
1594
+ if (followerDid === userDid) {
1595
+ res.status(400).send({ error: 'Cannot check following yourself' });
1596
+ return;
1680
1597
  }
1681
- );
1598
+ if (!userDid) {
1599
+ res.status(400).send({ error: 'User DID is required' });
1600
+ return;
1601
+ }
1602
+ const user = await node.getUser({ teamDid, user: { did: userDid } });
1603
+ if (!user) {
1604
+ res.status(404).send({ error: 'User not found' });
1605
+ return;
1606
+ }
1607
+ try {
1608
+ const data = await node.checkFollowing({ teamDid, userDids: [userDid], followerDid });
1609
+ const isFollowing = data && typeof data[userDid] === 'boolean' ? data[userDid] : false;
1610
+ res.json({ isFollowing });
1611
+ } catch (err) {
1612
+ logger.error('Failed to check if user is following', { error: err, userDid: req.user.did });
1613
+ res.status(500).send(formatError(err));
1614
+ }
1615
+ });
1682
1616
  },
1683
1617
  };
@@ -25,7 +25,7 @@ const { DBCache, getAbtNodeRedisAndSQLiteUrl } = require('@abtnode/db-cache');
25
25
  const createTranslator = require('@abtnode/util/lib/translate');
26
26
  const getOrigin = require('@abtnode/util/lib/get-origin');
27
27
  const md5 = require('@abtnode/util/lib/md5');
28
- const { signWithCache } = require('@blocklet/sdk/lib/util/csrf');
28
+ const { sign } = require('@blocklet/sdk/lib/util/csrf');
29
29
 
30
30
  const { createTokenFn, getDidConnectVersion } = require('../../util');
31
31
  const checkUser = require('../../middlewares/check-user');
@@ -152,7 +152,7 @@ module.exports = {
152
152
  user.passports = (user.passports || [])
153
153
  .filter((x) => x.status === PASSPORT_STATUS.VALID)
154
154
  .map((x) => {
155
- const item = pick(x, ['id', 'name', 'title', 'role', 'scope', 'role', 'issuer', 'display']);
155
+ const item = pick(x, ['id', 'name', 'title', 'role', 'scope', 'expirationDate', 'issuer', 'display']);
156
156
  const findPassport = roles.find((y) => y.name === item.role);
157
157
  item.name = findPassport?.name || item.name || 'guest';
158
158
  item.role = findPassport?.name || item.role || 'guest';
@@ -454,9 +454,9 @@ module.exports = {
454
454
  }
455
455
 
456
456
  // 刷新 csrf token
457
- const csrfToken = await signWithCache(blockletInfo.wallet.secretKey, sessionToken);
457
+ const csrfToken = await sign(blockletInfo.wallet.secretKey, sessionToken);
458
458
  res.cookie('x-csrf-token', csrfToken, {
459
- sameSite: 'none',
459
+ sameSite: 'strict',
460
460
  secure: true,
461
461
  });
462
462
 
@@ -0,0 +1,64 @@
1
+ const createTranslator = require('@abtnode/util/lib/translate');
2
+ const { CustomError } = require('@blocklet/error');
3
+
4
+ const translations = {
5
+ zh: {
6
+ notAllowed: '你已经被禁止访问该应用',
7
+ needComponentId: '缺少登录参数: componentId',
8
+ userInfoError: '登录用户信息有误',
9
+ notExist: '用户不存在',
10
+ //
11
+ emailInvalid: '邮箱格式不正确',
12
+ emailSendSuccess: '验证码发送成功',
13
+ emailAlreadySent: '我们已发送验证电子邮件。请检查您的收件箱或垃圾邮件文件夹。如果您没有看到它,您可以稍后再试。',
14
+ emailVerifySuccess: '邮箱验证成功',
15
+ emailTitle: '登录 {appName}',
16
+ invalidVerifyCode: '验证码不正确',
17
+ missingInviteId: '缺少邀请 ID',
18
+ notAllowedToDestroy: '用户不能通过此方法删除',
19
+ failedToDestroyUser: '删除用户失败',
20
+ userSettingsArePrivate: '用户设置为私密,访问被拒绝',
21
+ ownerAddressIsRequired: '请求参数 ownerAddress 不能为空',
22
+ notAuthorized: '请登录后访问',
23
+ },
24
+ en: {
25
+ notAllowed: 'Your have been revoked access to this blocklet',
26
+ needComponentId: 'componentId is required when login user',
27
+ userInfoError: 'Login user info is invalid',
28
+ notExist: 'User does not exist',
29
+
30
+ emailInvalid: 'Invalid email format',
31
+ emailSendSuccess: 'Verification code sent successfully',
32
+ emailAlreadySent:
33
+ "We've sent a verification email. Please check your inbox and spam folder. If you don't see it, you can try again in a few minutes.",
34
+ emailVerifySuccess: 'Email verified successfully',
35
+ emailTitle: 'Login to {appName}',
36
+ invalidVerifyCode: 'Invalid verify code',
37
+ missingInviteId: 'Missing invite ID',
38
+ notAllowedToDestroy: 'User can not destroy by this method',
39
+ failedToDestroyUser: 'Failed to destroy user',
40
+ userSettingsArePrivate: 'User settings are private, access denied',
41
+ ownerAddressIsRequired: 'Request parameter ownerAddress cannot be empty',
42
+ notAuthorized: 'Please login to access',
43
+ },
44
+ };
45
+
46
+ const t = createTranslator({ translations });
47
+
48
+ function ensureUserExists(user, { locale } = {}) {
49
+ if (!user) {
50
+ throw new CustomError(404, t('notExist', locale));
51
+ }
52
+ }
53
+
54
+ function ensureUserEnabled(user, { locale } = {}) {
55
+ if (!user.approved) {
56
+ throw new CustomError(403, t('notAllowed', locale));
57
+ }
58
+ }
59
+
60
+ module.exports = {
61
+ ensureUserExists,
62
+ ensureUserEnabled,
63
+ t,
64
+ };
@@ -1,3 +1,3 @@
1
- import{_ as lt}from"./vendor-mui-core-BkVXEDpj.js";import{d as c}from"./vendor-hooks-BCWx0EFG.js";import{g as G}from"./vendor-react-Dvs43sk9.js";import{am as yt}from"./vendor-ux-BuVrSS5Q.js";var b={exports:{}},pt=b.exports,rt;function Mt(){return rt||(rt=1,function(Y,z){(function(m,t){Y.exports=t()})(pt,function(){var m="week",t="year";return function(e,i,a){var r=i.prototype;r.week=function(s){if(s===void 0&&(s=null),s!==null)return this.add(7*(s-this.week()),"day");var u=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var h=a(this).startOf(t).add(1,t).date(u),l=a(this).endOf(m);if(h.isBefore(l))return 1}var O=a(this).startOf(t).date(u).startOf(m).subtract(1,"millisecond"),$=this.diff(O,m,!0);return $<0?a(this).startOf("week").week():Math.ceil($)},r.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})}(b)),b.exports}var Tt=Mt();const gt=G(Tt);var I={exports:{}},Dt=I.exports,st;function wt(){return st||(st=1,function(Y,z){(function(m,t){Y.exports=t()})(Dt,function(){var m={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"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,e=/\d/,i=/\d\d/,a=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,s={},u=function(n){return(n=+n)+(n>68?1900:2e3)},h=function(n){return function(o){this[n]=+o}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(n){(this.zone||(this.zone={})).offset=function(o){if(!o||o==="Z")return 0;var f=o.match(/([+-]|\d\d)/g),d=60*f[1]+(+f[2]||0);return d===0?0:f[0]==="+"?-d:d}(n)}],O=function(n){var o=s[n];return o&&(o.indexOf?o:o.s.concat(o.f))},$=function(n,o){var f,d=s.meridiem;if(d){for(var T=1;T<=24;T+=1)if(n.indexOf(d(T,0,o))>-1){f=T>12;break}}else f=n===(o?"pm":"PM");return f},ot={A:[r,function(n){this.afternoon=$(n,!1)}],a:[r,function(n){this.afternoon=$(n,!0)}],Q:[e,function(n){this.month=3*(n-1)+1}],S:[e,function(n){this.milliseconds=100*+n}],SS:[i,function(n){this.milliseconds=10*+n}],SSS:[/\d{3}/,function(n){this.milliseconds=+n}],s:[a,h("seconds")],ss:[a,h("seconds")],m:[a,h("minutes")],mm:[a,h("minutes")],H:[a,h("hours")],h:[a,h("hours")],HH:[a,h("hours")],hh:[a,h("hours")],D:[a,h("day")],DD:[i,h("day")],Do:[r,function(n){var o=s.ordinal,f=n.match(/\d+/);if(this.day=f[0],o)for(var d=1;d<=31;d+=1)o(d).replace(/\[|\]/g,"")===n&&(this.day=d)}],w:[a,h("week")],ww:[i,h("week")],M:[a,h("month")],MM:[i,h("month")],MMM:[r,function(n){var o=O("months"),f=(O("monthsShort")||o.map(function(d){return d.slice(0,3)})).indexOf(n)+1;if(f<1)throw new Error;this.month=f%12||f}],MMMM:[r,function(n){var o=O("months").indexOf(n)+1;if(o<1)throw new Error;this.month=o%12||o}],Y:[/[+-]?\d+/,h("year")],YY:[i,function(n){this.year=u(n)}],YYYY:[/\d{4}/,h("year")],Z:l,ZZ:l};function ht(n){var o,f;o=n,f=s&&s.formats;for(var d=(n=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,x,M){var p=M&&M.toUpperCase();return x||f[M]||m[M]||f[p].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,L,j){return L||j.slice(1)})})).match(t),T=d.length,g=0;g<T;g+=1){var U=d[g],S=ot[U],D=S&&S[0],w=S&&S[1];d[g]=w?{regex:D,parser:w}:U.replace(/^\[|\]$/g,"")}return function(C){for(var x={},M=0,p=0;M<T;M+=1){var k=d[M];if(typeof k=="string")p+=k.length;else{var L=k.regex,j=k.parser,A=C.slice(p),v=L.exec(A)[0];j.call(x,v),C=C.replace(v,"")}}return function(P){var F=P.afternoon;if(F!==void 0){var y=P.hours;F?y<12&&(P.hours+=12):y===12&&(P.hours=0),delete P.afternoon}}(x),x}}return function(n,o,f){f.p.customParseFormat=!0,n&&n.parseTwoDigitYear&&(u=n.parseTwoDigitYear);var d=o.prototype,T=d.parse;d.parse=function(g){var U=g.date,S=g.utc,D=g.args;this.$u=S;var w=D[1];if(typeof w=="string"){var C=D[2]===!0,x=D[3]===!0,M=C||x,p=D[2];x&&(p=D[2]),s=this.$locale(),!C&&p&&(s=f.Ls[p]),this.$d=function(A,v,P,F){try{if(["x","X"].indexOf(v)>-1)return new Date((v==="X"?1e3:1)*A);var y=ht(v)(A),Z=y.year,W=y.month,ut=y.day,ft=y.hours,dt=y.minutes,ct=y.seconds,mt=y.milliseconds,tt=y.zone,et=y.week,N=new Date,_=ut||(Z||W?1:N.getDate()),q=Z||N.getFullYear(),H=0;Z&&!W||(H=W>0?W-1:N.getMonth());var B,R=ft||0,Q=dt||0,X=ct||0,J=mt||0;return tt?new Date(Date.UTC(q,H,_,R,Q,X,J+60*tt.offset*1e3)):P?new Date(Date.UTC(q,H,_,R,Q,X,J)):(B=new Date(q,H,_,R,Q,X,J),et&&(B=F(B).week(et).toDate()),B)}catch{return new Date("")}}(U,w,S,f),this.init(),p&&p!==!0&&(this.$L=this.locale(p).$L),M&&U!=this.format(w)&&(this.$d=new Date("")),s={}}else if(w instanceof Array)for(var k=w.length,L=1;L<=k;L+=1){D[1]=w[L-1];var j=f.apply(this,D);if(j.isValid()){this.$d=j.$d,this.$L=j.$L,this.init();break}L===k&&(this.$d=new Date(""))}else T.call(this,g)}}})}(I)),I.exports}var Yt=wt();const Ot=G(Yt);var E={exports:{}},xt=E.exports,nt;function kt(){return nt||(nt=1,function(Y,z){(function(m,t){Y.exports=t()})(xt,function(){return function(m,t,e){t.prototype.isBetween=function(i,a,r,s){var u=e(i),h=e(a),l=(s=s||"()")[0]==="(",O=s[1]===")";return(l?this.isAfter(u,r):!this.isBefore(u,r))&&(O?this.isBefore(h,r):!this.isAfter(h,r))||(l?this.isBefore(u,r):!this.isAfter(u,r))&&(O?this.isAfter(h,r):!this.isBefore(h,r))}}})}(E)),E.exports}var Lt=kt();const zt=G(Lt);var V={exports:{}},St=V.exports,it;function Ct(){return it||(it=1,function(Y,z){(function(m,t){Y.exports=t()})(St,function(){return function(m,t){var e=t.prototype,i=e.format;e.format=function(a){var r=this,s=this.$locale();if(!this.isValid())return i.bind(this)(a);var u=this.$utils(),h=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return s.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return s.ordinal(r.week(),"W");case"w":case"ww":return u.s(r.week(),l==="w"?1:2,"0");case"W":case"WW":return u.s(r.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return u.s(String(r.$H===0?24:r.$H),l==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return l}});return i.bind(this)(h)}}})}(V)),V.exports}var jt=Ct();const Pt=G(jt);c.extend(yt);c.extend(gt);c.extend(zt);c.extend(Pt);const vt={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"},$t={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",dayOfMonthFull:"Do",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},K=["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(`
1
+ import{_ as lt}from"./vendor-mui-core-Bq_sfmbr.js";import{d as c}from"./vendor-hooks-DLNZ8kxG.js";import{g as G}from"./vendor-react-Dvs43sk9.js";import{am as yt}from"./vendor-ux-BagecGKr.js";var b={exports:{}},pt=b.exports,rt;function Mt(){return rt||(rt=1,function(Y,z){(function(m,t){Y.exports=t()})(pt,function(){var m="week",t="year";return function(e,i,a){var r=i.prototype;r.week=function(s){if(s===void 0&&(s=null),s!==null)return this.add(7*(s-this.week()),"day");var u=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var h=a(this).startOf(t).add(1,t).date(u),l=a(this).endOf(m);if(h.isBefore(l))return 1}var O=a(this).startOf(t).date(u).startOf(m).subtract(1,"millisecond"),$=this.diff(O,m,!0);return $<0?a(this).startOf("week").week():Math.ceil($)},r.weeks=function(s){return s===void 0&&(s=null),this.week(s)}}})}(b)),b.exports}var Tt=Mt();const gt=G(Tt);var I={exports:{}},Dt=I.exports,st;function wt(){return st||(st=1,function(Y,z){(function(m,t){Y.exports=t()})(Dt,function(){var m={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"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,e=/\d/,i=/\d\d/,a=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,s={},u=function(n){return(n=+n)+(n>68?1900:2e3)},h=function(n){return function(o){this[n]=+o}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(n){(this.zone||(this.zone={})).offset=function(o){if(!o||o==="Z")return 0;var f=o.match(/([+-]|\d\d)/g),d=60*f[1]+(+f[2]||0);return d===0?0:f[0]==="+"?-d:d}(n)}],O=function(n){var o=s[n];return o&&(o.indexOf?o:o.s.concat(o.f))},$=function(n,o){var f,d=s.meridiem;if(d){for(var T=1;T<=24;T+=1)if(n.indexOf(d(T,0,o))>-1){f=T>12;break}}else f=n===(o?"pm":"PM");return f},ot={A:[r,function(n){this.afternoon=$(n,!1)}],a:[r,function(n){this.afternoon=$(n,!0)}],Q:[e,function(n){this.month=3*(n-1)+1}],S:[e,function(n){this.milliseconds=100*+n}],SS:[i,function(n){this.milliseconds=10*+n}],SSS:[/\d{3}/,function(n){this.milliseconds=+n}],s:[a,h("seconds")],ss:[a,h("seconds")],m:[a,h("minutes")],mm:[a,h("minutes")],H:[a,h("hours")],h:[a,h("hours")],HH:[a,h("hours")],hh:[a,h("hours")],D:[a,h("day")],DD:[i,h("day")],Do:[r,function(n){var o=s.ordinal,f=n.match(/\d+/);if(this.day=f[0],o)for(var d=1;d<=31;d+=1)o(d).replace(/\[|\]/g,"")===n&&(this.day=d)}],w:[a,h("week")],ww:[i,h("week")],M:[a,h("month")],MM:[i,h("month")],MMM:[r,function(n){var o=O("months"),f=(O("monthsShort")||o.map(function(d){return d.slice(0,3)})).indexOf(n)+1;if(f<1)throw new Error;this.month=f%12||f}],MMMM:[r,function(n){var o=O("months").indexOf(n)+1;if(o<1)throw new Error;this.month=o%12||o}],Y:[/[+-]?\d+/,h("year")],YY:[i,function(n){this.year=u(n)}],YYYY:[/\d{4}/,h("year")],Z:l,ZZ:l};function ht(n){var o,f;o=n,f=s&&s.formats;for(var d=(n=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,x,M){var p=M&&M.toUpperCase();return x||f[M]||m[M]||f[p].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,L,j){return L||j.slice(1)})})).match(t),T=d.length,g=0;g<T;g+=1){var U=d[g],S=ot[U],D=S&&S[0],w=S&&S[1];d[g]=w?{regex:D,parser:w}:U.replace(/^\[|\]$/g,"")}return function(C){for(var x={},M=0,p=0;M<T;M+=1){var k=d[M];if(typeof k=="string")p+=k.length;else{var L=k.regex,j=k.parser,A=C.slice(p),v=L.exec(A)[0];j.call(x,v),C=C.replace(v,"")}}return function(P){var F=P.afternoon;if(F!==void 0){var y=P.hours;F?y<12&&(P.hours+=12):y===12&&(P.hours=0),delete P.afternoon}}(x),x}}return function(n,o,f){f.p.customParseFormat=!0,n&&n.parseTwoDigitYear&&(u=n.parseTwoDigitYear);var d=o.prototype,T=d.parse;d.parse=function(g){var U=g.date,S=g.utc,D=g.args;this.$u=S;var w=D[1];if(typeof w=="string"){var C=D[2]===!0,x=D[3]===!0,M=C||x,p=D[2];x&&(p=D[2]),s=this.$locale(),!C&&p&&(s=f.Ls[p]),this.$d=function(A,v,P,F){try{if(["x","X"].indexOf(v)>-1)return new Date((v==="X"?1e3:1)*A);var y=ht(v)(A),Z=y.year,W=y.month,ut=y.day,ft=y.hours,dt=y.minutes,ct=y.seconds,mt=y.milliseconds,tt=y.zone,et=y.week,N=new Date,_=ut||(Z||W?1:N.getDate()),q=Z||N.getFullYear(),H=0;Z&&!W||(H=W>0?W-1:N.getMonth());var B,R=ft||0,Q=dt||0,X=ct||0,J=mt||0;return tt?new Date(Date.UTC(q,H,_,R,Q,X,J+60*tt.offset*1e3)):P?new Date(Date.UTC(q,H,_,R,Q,X,J)):(B=new Date(q,H,_,R,Q,X,J),et&&(B=F(B).week(et).toDate()),B)}catch{return new Date("")}}(U,w,S,f),this.init(),p&&p!==!0&&(this.$L=this.locale(p).$L),M&&U!=this.format(w)&&(this.$d=new Date("")),s={}}else if(w instanceof Array)for(var k=w.length,L=1;L<=k;L+=1){D[1]=w[L-1];var j=f.apply(this,D);if(j.isValid()){this.$d=j.$d,this.$L=j.$L,this.init();break}L===k&&(this.$d=new Date(""))}else T.call(this,g)}}})}(I)),I.exports}var Yt=wt();const Ot=G(Yt);var E={exports:{}},xt=E.exports,nt;function kt(){return nt||(nt=1,function(Y,z){(function(m,t){Y.exports=t()})(xt,function(){return function(m,t,e){t.prototype.isBetween=function(i,a,r,s){var u=e(i),h=e(a),l=(s=s||"()")[0]==="(",O=s[1]===")";return(l?this.isAfter(u,r):!this.isBefore(u,r))&&(O?this.isBefore(h,r):!this.isAfter(h,r))||(l?this.isBefore(u,r):!this.isAfter(u,r))&&(O?this.isAfter(h,r):!this.isBefore(h,r))}}})}(E)),E.exports}var Lt=kt();const zt=G(Lt);var V={exports:{}},St=V.exports,it;function Ct(){return it||(it=1,function(Y,z){(function(m,t){Y.exports=t()})(St,function(){return function(m,t){var e=t.prototype,i=e.format;e.format=function(a){var r=this,s=this.$locale();if(!this.isValid())return i.bind(this)(a);var u=this.$utils(),h=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return s.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return s.ordinal(r.week(),"W");case"w":case"ww":return u.s(r.week(),l==="w"?1:2,"0");case"W":case"WW":return u.s(r.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return u.s(String(r.$H===0?24:r.$H),l==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return l}});return i.bind(this)(h)}}})}(V)),V.exports}var jt=Ct();const Pt=G(jt);c.extend(yt);c.extend(gt);c.extend(zt);c.extend(Pt);const vt={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"},$t={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",dayOfMonthFull:"Do",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},K=["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
  `),at=["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
  `);class Bt{constructor({locale:z,formats:m}={}){this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="dayjs",this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"[",end:"]"},this.formatTokenMap=vt,this.setLocaleToValue=t=>{const e=this.getCurrentLocaleCode();return e===t.locale()?t:t.locale(e)},this.hasUTCPlugin=()=>typeof c.utc<"u",this.hasTimezonePlugin=()=>typeof c.tz<"u",this.isSame=(t,e,i)=>{const a=this.setTimezone(e,this.getTimezone(t));return t.format(i)===a.format(i)},this.cleanTimezone=t=>{switch(t){case"default":return;case"system":return c.tz.guess();default:return t}},this.createSystemDate=t=>{let e;if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const i=c.tz.guess();i==="UTC"?e=c(t):e=c.tz(t,i)}else e=c(t);return this.setLocaleToValue(e)},this.createUTCDate=t=>{if(!this.hasUTCPlugin())throw new Error(K);return this.setLocaleToValue(c.utc(t))},this.createTZDate=(t,e)=>{if(!this.hasUTCPlugin())throw new Error(K);if(!this.hasTimezonePlugin())throw new Error(at);const i=t!==void 0&&!t.endsWith("Z");return this.setLocaleToValue(c(t).tz(this.cleanTimezone(e),i))},this.getLocaleFormats=()=>{const t=c.Ls,e=this.locale||"en";let i=t[e];return i===void 0&&(i=t.en),i.formats},this.adjustOffset=t=>{if(!this.hasTimezonePlugin())return t;const e=this.getTimezone(t);if(e!=="UTC"){const i=t.tz(this.cleanTimezone(e),!0);if(i.$offset===(t.$offset??0))return t;t.$offset=i.$offset}return t},this.date=(t,e="default")=>t===null?null:e==="UTC"?this.createUTCDate(t):e==="system"||e==="default"&&!this.hasTimezonePlugin()?this.createSystemDate(t):this.createTZDate(t,e),this.getInvalidDate=()=>c(new Date("Invalid date")),this.getTimezone=t=>{if(this.hasTimezonePlugin()){const e=t.$x?.$timezone;if(e)return e}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(K);return t.utc()}if(e==="system")return t.local();if(!this.hasTimezonePlugin()){if(e==="default")return t;throw new Error(at)}return this.setLocaleToValue(c.tz(t,this.cleanTimezone(e)))},this.toJsDate=t=>t.toDate(),this.parse=(t,e)=>t===""?null:c(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(),i=a=>a.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(r,s,u)=>s||u.slice(1));return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(a,r,s)=>{const u=s&&s.toUpperCase();return r||e[s]||i(e[u])})},this.isValid=t=>t==null?!1:t.isValid(),this.format=(t,e)=>this.formatByString(t,this.formats[e]),this.formatByString=(t,e)=>this.setLocaleToValue(t).format(e),this.formatNumber=t=>t,this.isEqual=(t,e)=>t===null&&e===null?!0:t===null||e===null?!1:t.toDate().getTime()===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,i])=>t>=e&&t<=i,this.startOfYear=t=>this.adjustOffset(t.startOf("year")),this.startOfMonth=t=>this.adjustOffset(t.startOf("month")),this.startOfWeek=t=>this.adjustOffset(this.setLocaleToValue(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(this.setLocaleToValue(t).endOf("week")),this.endOfDay=t=>this.adjustOffset(t.endOf("day")),this.addYears=(t,e)=>this.adjustOffset(t.add(e,"year")),this.addMonths=(t,e)=>this.adjustOffset(t.add(e,"month")),this.addWeeks=(t,e)=>this.adjustOffset(t.add(e,"week")),this.addDays=(t,e)=>this.adjustOffset(t.add(e,"day")),this.addHours=(t,e)=>this.adjustOffset(t.add(e,"hour")),this.addMinutes=(t,e)=>this.adjustOffset(t.add(e,"minute")),this.addSeconds=(t,e)=>this.adjustOffset(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.getWeekArray=t=>{const e=this.startOfWeek(this.startOfMonth(t)),i=this.endOfWeek(this.endOfMonth(t));let a=0,r=e;const s=[];for(;r<i;){const u=Math.floor(a/7);s[u]=s[u]||[],s[u].push(r),r=this.addDays(r,1),a+=1}return s},this.getWeekNumber=t=>t.week(),this.getYearRange=([t,e])=>{const i=this.startOfYear(t),a=this.endOfYear(e),r=[];let s=i;for(;this.isBefore(s,a);)r.push(s),s=this.addYears(s,1);return r},this.locale=z,this.formats=lt({},$t,m),c.extend(Ot)}getDayOfWeek(z){return z.day()+1}}export{Bt as A};
@@ -1,4 +1,4 @@
1
- import{e as Ce,d as xe,g as ke,a as s,r as A}from"./vendor-react-Dvs43sk9.js";import{W as g}from"./vendor-mui-core-BkVXEDpj.js";import{ah as wt,ai as Et,aj as St,Q as R,t as Ct,ak as kt,d as Rt,al as N,c as We}from"./vendor-utils-Vg_blW2I.js";import{a as _t}from"./vendor-ux-BuVrSS5Q.js";import{r as Ot}from"./cloneDeep-CXHTtsEc.js";var k={},$={};const Re=Ce(wt),Mt=Ce(Et),Ft=Ce(St);var Ie;function Bt(){if(Ie)return $;Ie=1,Object.defineProperty($,"__esModule",{value:!0}),$.flattenNames=void 0;var a=_t,e=h(a),t=Re,r=h(t),n=Mt,i=h(n),o=Ft,l=h(o);function h(c){return c&&c.__esModule?c:{default:c}}var p=$.flattenNames=function c(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=[];return(0,l.default)(u,function(f){Array.isArray(f)?c(f).map(function(v){return d.push(v)}):(0,i.default)(f)?(0,r.default)(f,function(v,b){v===!0&&d.push(b),d.push(b+"-"+v)}):(0,e.default)(f)&&d.push(f)}),d};return $.default=p,$}var L={},qe;function At(){if(qe)return L;qe=1,Object.defineProperty(L,"__esModule",{value:!0}),L.mergeClasses=void 0;var a=Re,e=i(a),t=Ot,r=i(t),n=Object.assign||function(l){for(var h=1;h<arguments.length;h++){var p=arguments[h];for(var c in p)Object.prototype.hasOwnProperty.call(p,c)&&(l[c]=p[c])}return l};function i(l){return l&&l.__esModule?l:{default:l}}var o=L.mergeClasses=function(h){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],c=h.default&&(0,r.default)(h.default)||{};return p.map(function(u){var d=h[u];return d&&(0,e.default)(d,function(f,v){c[v]||(c[v]={}),c[v]=n({},c[v],d[v])}),u}),c};return L.default=o,L}var j={},Ve;function Ht(){if(Ve)return j;Ve=1,Object.defineProperty(j,"__esModule",{value:!0}),j.autoprefix=void 0;var a=Re,e=r(a),t=Object.assign||function(o){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var p in h)Object.prototype.hasOwnProperty.call(h,p)&&(o[p]=h[p])}return o};function r(o){return o&&o.__esModule?o:{default:o}}var n={borderRadius:function(l){return{msBorderRadius:l,MozBorderRadius:l,OBorderRadius:l,WebkitBorderRadius:l,borderRadius:l}},boxShadow:function(l){return{msBoxShadow:l,MozBoxShadow:l,OBoxShadow:l,WebkitBoxShadow:l,boxShadow:l}},userSelect:function(l){return{WebkitTouchCallout:l,KhtmlUserSelect:l,MozUserSelect:l,msUserSelect:l,WebkitUserSelect:l,userSelect:l}},flex:function(l){return{WebkitBoxFlex:l,MozBoxFlex:l,WebkitFlex:l,msFlex:l,flex:l}},flexBasis:function(l){return{WebkitFlexBasis:l,flexBasis:l}},justifyContent:function(l){return{WebkitJustifyContent:l,justifyContent:l}},transition:function(l){return{msTransition:l,MozTransition:l,OTransition:l,WebkitTransition:l,transition:l}},transform:function(l){return{msTransform:l,MozTransform:l,OTransform:l,WebkitTransform:l,transform:l}},absolute:function(l){var h=l&&l.split(" ");return{position:"absolute",top:h&&h[0],right:h&&h[1],bottom:h&&h[2],left:h&&h[3]}},extend:function(l,h){var p=h[l];return p||{extend:l}}},i=j.autoprefix=function(l){var h={};return(0,e.default)(l,function(p,c){var u={};(0,e.default)(p,function(d,f){var v=n[f];v?u=t({},u,v(d)):u[f]=d}),h[c]=u}),h};return j.default=i,j}var z={},Xe;function Pt(){if(Xe)return z;Xe=1,Object.defineProperty(z,"__esModule",{value:!0}),z.hover=void 0;var a=Object.assign||function(h){for(var p=1;p<arguments.length;p++){var c=arguments[p];for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(h[u]=c[u])}return h},e=xe(),t=r(e);function r(h){return h&&h.__esModule?h:{default:h}}function n(h,p){if(!(h instanceof p))throw new TypeError("Cannot call a class as a function")}function i(h,p){if(!h)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p&&(typeof p=="object"||typeof p=="function")?p:h}function o(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof p);h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}}),p&&(Object.setPrototypeOf?Object.setPrototypeOf(h,p):h.__proto__=p)}var l=z.hover=function(p){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){o(d,u);function d(){var f,v,b,m;n(this,d);for(var E=arguments.length,O=Array(E),C=0;C<E;C++)O[C]=arguments[C];return m=(v=(b=i(this,(f=d.__proto__||Object.getPrototypeOf(d)).call.apply(f,[this].concat(O))),b),b.state={hover:!1},b.handleMouseOver=function(){return b.setState({hover:!0})},b.handleMouseOut=function(){return b.setState({hover:!1})},b.render=function(){return t.default.createElement(c,{onMouseOver:b.handleMouseOver,onMouseOut:b.handleMouseOut},t.default.createElement(p,a({},b.props,b.state)))},v),i(b,m)}return d}(t.default.Component)};return z.default=l,z}var G={},Ye;function Tt(){if(Ye)return G;Ye=1,Object.defineProperty(G,"__esModule",{value:!0}),G.active=void 0;var a=Object.assign||function(h){for(var p=1;p<arguments.length;p++){var c=arguments[p];for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(h[u]=c[u])}return h},e=xe(),t=r(e);function r(h){return h&&h.__esModule?h:{default:h}}function n(h,p){if(!(h instanceof p))throw new TypeError("Cannot call a class as a function")}function i(h,p){if(!h)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p&&(typeof p=="object"||typeof p=="function")?p:h}function o(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof p);h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}}),p&&(Object.setPrototypeOf?Object.setPrototypeOf(h,p):h.__proto__=p)}var l=G.active=function(p){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){o(d,u);function d(){var f,v,b,m;n(this,d);for(var E=arguments.length,O=Array(E),C=0;C<E;C++)O[C]=arguments[C];return m=(v=(b=i(this,(f=d.__proto__||Object.getPrototypeOf(d)).call.apply(f,[this].concat(O))),b),b.state={active:!1},b.handleMouseDown=function(){return b.setState({active:!0})},b.handleMouseUp=function(){return b.setState({active:!1})},b.render=function(){return t.default.createElement(c,{onMouseDown:b.handleMouseDown,onMouseUp:b.handleMouseUp},t.default.createElement(p,a({},b.props,b.state)))},v),i(b,m)}return d}(t.default.Component)};return G.default=l,G}var fe={},Ke;function Nt(){if(Ke)return fe;Ke=1,Object.defineProperty(fe,"__esModule",{value:!0});var a=function(t,r){var n={},i=function(l){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n[l]=h};return t===0&&i("first-child"),t===r-1&&i("last-child"),(t===0||t%2===0)&&i("even"),Math.abs(t%2)===1&&i("odd"),i("nth-child",t),n};return fe.default=a,fe}var Ze;function Dt(){if(Ze)return k;Ze=1,Object.defineProperty(k,"__esModule",{value:!0}),k.ReactCSS=k.loop=k.handleActive=k.handleHover=k.hover=void 0;var a=Bt(),e=d(a),t=At(),r=d(t),n=Ht(),i=d(n),o=Pt(),l=d(o),h=Tt(),p=d(h),c=Nt(),u=d(c);function d(v){return v&&v.__esModule?v:{default:v}}k.hover=l.default,k.handleHover=l.default,k.handleActive=p.default,k.loop=u.default;var f=k.ReactCSS=function(b){for(var m=arguments.length,E=Array(m>1?m-1:0),O=1;O<m;O++)E[O-1]=arguments[O];var C=(0,e.default)(E),P=(0,r.default)(b,C);return(0,i.default)(P)};return k.default=f,k}var _e=Dt();const y=ke(_e);var $t=function(e,t,r,n,i){var o=i.clientWidth,l=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(r==="vertical"){var d=void 0;if(u<0?d=0:u>l?d=1:d=Math.round(u*100/l)/100,t.a!==d)return{h:t.h,s:t.s,l:t.l,a:d,source:"rgb"}}else{var f=void 0;if(c<0?f=0:c>o?f=1:f=Math.round(c*100/o)/100,n!==f)return{h:t.h,s:t.s,l:t.l,a:f,source:"rgb"}}return null},we={},Lt=function(e,t,r,n){if(typeof document>"u"&&!n)return null;var i=n?new n:document.createElement("canvas");i.width=r*2,i.height=r*2;var o=i.getContext("2d");return o?(o.fillStyle=e,o.fillRect(0,0,i.width,i.height),o.fillStyle=t,o.fillRect(0,0,r,r),o.translate(r,r),o.fillRect(0,0,r,r),i.toDataURL()):null},jt=function(e,t,r,n){var i=e+"-"+t+"-"+r+(n?"-server":"");if(we[i])return we[i];var o=Lt(e,t,r,n);return we[i]=o,o},Je=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},oe=function(e){var t=e.white,r=e.grey,n=e.size,i=e.renderers,o=e.borderRadius,l=e.boxShadow,h=e.children,p=y({default:{grid:{borderRadius:o,boxShadow:l,absolute:"0px 0px 0px 0px",background:"url("+jt(t,r,n,i.canvas)+") center left"}}});return A.isValidElement(h)?s.cloneElement(h,Je({},h.props,{style:Je({},h.props.style,p.grid)})):s.createElement("div",{style:p.grid})};oe.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var zt=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},Gt=function(){function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}();function Ut(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function Qe(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:a}function Wt(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var Oe=function(a){Wt(e,a);function e(){var t,r,n,i;Ut(this,e);for(var o=arguments.length,l=Array(o),h=0;h<o;h++)l[h]=arguments[h];return i=(r=(n=Qe(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(l))),n),n.handleChange=function(p){var c=$t(p,n.props.hsl,n.props.direction,n.props.a,n.container);c&&typeof n.props.onChange=="function"&&n.props.onChange(c,p)},n.handleMouseDown=function(p){n.handleChange(p),window.addEventListener("mousemove",n.handleChange),window.addEventListener("mouseup",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleChange),window.removeEventListener("mouseup",n.handleMouseUp)},r),Qe(n,i)}return Gt(e,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"render",value:function(){var r=this,n=this.props.rgb,i=y({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("+n.r+","+n.g+","+n.b+`, 0) 0%,
1
+ import{e as Ce,d as xe,g as ke,a as s,r as A}from"./vendor-react-Dvs43sk9.js";import{W as g}from"./vendor-mui-core-Bq_sfmbr.js";import{ah as wt,ai as Et,aj as St,Q as R,t as Ct,ak as kt,d as Rt,al as N,c as We}from"./vendor-utils-DQK0pEML.js";import{a as _t}from"./vendor-ux-BagecGKr.js";import{r as Ot}from"./cloneDeep-sSKmkjV3.js";var k={},$={};const Re=Ce(wt),Mt=Ce(Et),Ft=Ce(St);var Ie;function Bt(){if(Ie)return $;Ie=1,Object.defineProperty($,"__esModule",{value:!0}),$.flattenNames=void 0;var a=_t,e=h(a),t=Re,r=h(t),n=Mt,i=h(n),o=Ft,l=h(o);function h(c){return c&&c.__esModule?c:{default:c}}var p=$.flattenNames=function c(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=[];return(0,l.default)(u,function(f){Array.isArray(f)?c(f).map(function(v){return d.push(v)}):(0,i.default)(f)?(0,r.default)(f,function(v,b){v===!0&&d.push(b),d.push(b+"-"+v)}):(0,e.default)(f)&&d.push(f)}),d};return $.default=p,$}var L={},qe;function At(){if(qe)return L;qe=1,Object.defineProperty(L,"__esModule",{value:!0}),L.mergeClasses=void 0;var a=Re,e=i(a),t=Ot,r=i(t),n=Object.assign||function(l){for(var h=1;h<arguments.length;h++){var p=arguments[h];for(var c in p)Object.prototype.hasOwnProperty.call(p,c)&&(l[c]=p[c])}return l};function i(l){return l&&l.__esModule?l:{default:l}}var o=L.mergeClasses=function(h){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],c=h.default&&(0,r.default)(h.default)||{};return p.map(function(u){var d=h[u];return d&&(0,e.default)(d,function(f,v){c[v]||(c[v]={}),c[v]=n({},c[v],d[v])}),u}),c};return L.default=o,L}var j={},Ve;function Ht(){if(Ve)return j;Ve=1,Object.defineProperty(j,"__esModule",{value:!0}),j.autoprefix=void 0;var a=Re,e=r(a),t=Object.assign||function(o){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var p in h)Object.prototype.hasOwnProperty.call(h,p)&&(o[p]=h[p])}return o};function r(o){return o&&o.__esModule?o:{default:o}}var n={borderRadius:function(l){return{msBorderRadius:l,MozBorderRadius:l,OBorderRadius:l,WebkitBorderRadius:l,borderRadius:l}},boxShadow:function(l){return{msBoxShadow:l,MozBoxShadow:l,OBoxShadow:l,WebkitBoxShadow:l,boxShadow:l}},userSelect:function(l){return{WebkitTouchCallout:l,KhtmlUserSelect:l,MozUserSelect:l,msUserSelect:l,WebkitUserSelect:l,userSelect:l}},flex:function(l){return{WebkitBoxFlex:l,MozBoxFlex:l,WebkitFlex:l,msFlex:l,flex:l}},flexBasis:function(l){return{WebkitFlexBasis:l,flexBasis:l}},justifyContent:function(l){return{WebkitJustifyContent:l,justifyContent:l}},transition:function(l){return{msTransition:l,MozTransition:l,OTransition:l,WebkitTransition:l,transition:l}},transform:function(l){return{msTransform:l,MozTransform:l,OTransform:l,WebkitTransform:l,transform:l}},absolute:function(l){var h=l&&l.split(" ");return{position:"absolute",top:h&&h[0],right:h&&h[1],bottom:h&&h[2],left:h&&h[3]}},extend:function(l,h){var p=h[l];return p||{extend:l}}},i=j.autoprefix=function(l){var h={};return(0,e.default)(l,function(p,c){var u={};(0,e.default)(p,function(d,f){var v=n[f];v?u=t({},u,v(d)):u[f]=d}),h[c]=u}),h};return j.default=i,j}var z={},Xe;function Pt(){if(Xe)return z;Xe=1,Object.defineProperty(z,"__esModule",{value:!0}),z.hover=void 0;var a=Object.assign||function(h){for(var p=1;p<arguments.length;p++){var c=arguments[p];for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(h[u]=c[u])}return h},e=xe(),t=r(e);function r(h){return h&&h.__esModule?h:{default:h}}function n(h,p){if(!(h instanceof p))throw new TypeError("Cannot call a class as a function")}function i(h,p){if(!h)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p&&(typeof p=="object"||typeof p=="function")?p:h}function o(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof p);h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}}),p&&(Object.setPrototypeOf?Object.setPrototypeOf(h,p):h.__proto__=p)}var l=z.hover=function(p){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){o(d,u);function d(){var f,v,b,m;n(this,d);for(var E=arguments.length,O=Array(E),C=0;C<E;C++)O[C]=arguments[C];return m=(v=(b=i(this,(f=d.__proto__||Object.getPrototypeOf(d)).call.apply(f,[this].concat(O))),b),b.state={hover:!1},b.handleMouseOver=function(){return b.setState({hover:!0})},b.handleMouseOut=function(){return b.setState({hover:!1})},b.render=function(){return t.default.createElement(c,{onMouseOver:b.handleMouseOver,onMouseOut:b.handleMouseOut},t.default.createElement(p,a({},b.props,b.state)))},v),i(b,m)}return d}(t.default.Component)};return z.default=l,z}var G={},Ye;function Tt(){if(Ye)return G;Ye=1,Object.defineProperty(G,"__esModule",{value:!0}),G.active=void 0;var a=Object.assign||function(h){for(var p=1;p<arguments.length;p++){var c=arguments[p];for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(h[u]=c[u])}return h},e=xe(),t=r(e);function r(h){return h&&h.__esModule?h:{default:h}}function n(h,p){if(!(h instanceof p))throw new TypeError("Cannot call a class as a function")}function i(h,p){if(!h)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p&&(typeof p=="object"||typeof p=="function")?p:h}function o(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof p);h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}}),p&&(Object.setPrototypeOf?Object.setPrototypeOf(h,p):h.__proto__=p)}var l=G.active=function(p){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(u){o(d,u);function d(){var f,v,b,m;n(this,d);for(var E=arguments.length,O=Array(E),C=0;C<E;C++)O[C]=arguments[C];return m=(v=(b=i(this,(f=d.__proto__||Object.getPrototypeOf(d)).call.apply(f,[this].concat(O))),b),b.state={active:!1},b.handleMouseDown=function(){return b.setState({active:!0})},b.handleMouseUp=function(){return b.setState({active:!1})},b.render=function(){return t.default.createElement(c,{onMouseDown:b.handleMouseDown,onMouseUp:b.handleMouseUp},t.default.createElement(p,a({},b.props,b.state)))},v),i(b,m)}return d}(t.default.Component)};return G.default=l,G}var fe={},Ke;function Nt(){if(Ke)return fe;Ke=1,Object.defineProperty(fe,"__esModule",{value:!0});var a=function(t,r){var n={},i=function(l){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;n[l]=h};return t===0&&i("first-child"),t===r-1&&i("last-child"),(t===0||t%2===0)&&i("even"),Math.abs(t%2)===1&&i("odd"),i("nth-child",t),n};return fe.default=a,fe}var Ze;function Dt(){if(Ze)return k;Ze=1,Object.defineProperty(k,"__esModule",{value:!0}),k.ReactCSS=k.loop=k.handleActive=k.handleHover=k.hover=void 0;var a=Bt(),e=d(a),t=At(),r=d(t),n=Ht(),i=d(n),o=Pt(),l=d(o),h=Tt(),p=d(h),c=Nt(),u=d(c);function d(v){return v&&v.__esModule?v:{default:v}}k.hover=l.default,k.handleHover=l.default,k.handleActive=p.default,k.loop=u.default;var f=k.ReactCSS=function(b){for(var m=arguments.length,E=Array(m>1?m-1:0),O=1;O<m;O++)E[O-1]=arguments[O];var C=(0,e.default)(E),P=(0,r.default)(b,C);return(0,i.default)(P)};return k.default=f,k}var _e=Dt();const y=ke(_e);var $t=function(e,t,r,n,i){var o=i.clientWidth,l=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(r==="vertical"){var d=void 0;if(u<0?d=0:u>l?d=1:d=Math.round(u*100/l)/100,t.a!==d)return{h:t.h,s:t.s,l:t.l,a:d,source:"rgb"}}else{var f=void 0;if(c<0?f=0:c>o?f=1:f=Math.round(c*100/o)/100,n!==f)return{h:t.h,s:t.s,l:t.l,a:f,source:"rgb"}}return null},we={},Lt=function(e,t,r,n){if(typeof document>"u"&&!n)return null;var i=n?new n:document.createElement("canvas");i.width=r*2,i.height=r*2;var o=i.getContext("2d");return o?(o.fillStyle=e,o.fillRect(0,0,i.width,i.height),o.fillStyle=t,o.fillRect(0,0,r,r),o.translate(r,r),o.fillRect(0,0,r,r),i.toDataURL()):null},jt=function(e,t,r,n){var i=e+"-"+t+"-"+r+(n?"-server":"");if(we[i])return we[i];var o=Lt(e,t,r,n);return we[i]=o,o},Je=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},oe=function(e){var t=e.white,r=e.grey,n=e.size,i=e.renderers,o=e.borderRadius,l=e.boxShadow,h=e.children,p=y({default:{grid:{borderRadius:o,boxShadow:l,absolute:"0px 0px 0px 0px",background:"url("+jt(t,r,n,i.canvas)+") center left"}}});return A.isValidElement(h)?s.cloneElement(h,Je({},h.props,{style:Je({},h.props.style,p.grid)})):s.createElement("div",{style:p.grid})};oe.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var zt=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},Gt=function(){function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}();function Ut(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function Qe(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:a}function Wt(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var Oe=function(a){Wt(e,a);function e(){var t,r,n,i;Ut(this,e);for(var o=arguments.length,l=Array(o),h=0;h<o;h++)l[h]=arguments[h];return i=(r=(n=Qe(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(l))),n),n.handleChange=function(p){var c=$t(p,n.props.hsl,n.props.direction,n.props.a,n.container);c&&typeof n.props.onChange=="function"&&n.props.onChange(c,p)},n.handleMouseDown=function(p){n.handleChange(p),window.addEventListener("mousemove",n.handleChange),window.addEventListener("mouseup",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},n.unbindEventListeners=function(){window.removeEventListener("mousemove",n.handleChange),window.removeEventListener("mouseup",n.handleMouseUp)},r),Qe(n,i)}return Gt(e,[{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"render",value:function(){var r=this,n=this.props.rgb,i=y({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("+n.r+","+n.g+","+n.b+`, 0) 0%,
2
2
  rgba(`+n.r+","+n.g+","+n.b+", 1) 100%)",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:"relative",height:"100%",margin:"0 3px"},pointer:{position:"absolute",left:n.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("+n.r+","+n.g+","+n.b+`, 0) 0%,
3
3
  rgba(`+n.r+","+n.g+","+n.b+", 1) 100%)"},pointer:{left:0,top:n.a*100+"%"}},overwrite:zt({},this.props.style)},{vertical:this.props.direction==="vertical",overwrite:!0});return s.createElement("div",{style:i.alpha},s.createElement("div",{style:i.checkboard},s.createElement(oe,{renderers:this.props.renderers})),s.createElement("div",{style:i.gradient}),s.createElement("div",{style:i.container,ref:function(l){return r.container=l},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},s.createElement("div",{style:i.pointer},this.props.pointer?s.createElement(this.props.pointer,this.props):s.createElement("div",{style:i.slider}))))}}]),e}(A.PureComponent||A.Component),It=function(){function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}();function qt(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Vt(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function Xt(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:a}function Yt(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var Kt=1,ft=38,Zt=40,Jt=[ft,Zt],Qt=function(e){return Jt.indexOf(e)>-1},er=function(e){return Number(String(e).replace(/%/g,""))},tr=1,w=function(a){Yt(e,a);function e(t){Vt(this,e);var r=Xt(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return r.handleBlur=function(){r.state.blurValue&&r.setState({value:r.state.blurValue,blurValue:null})},r.handleChange=function(n){r.setUpdatedValue(n.target.value,n)},r.handleKeyDown=function(n){var i=er(n.target.value);if(!isNaN(i)&&Qt(n.keyCode)){var o=r.getArrowOffset(),l=n.keyCode===ft?i+o:i-o;r.setUpdatedValue(l,n)}},r.handleDrag=function(n){if(r.props.dragLabel){var i=Math.round(r.props.value+n.movementX);i>=0&&i<=r.props.dragMax&&r.props.onChange&&r.props.onChange(r.getValueObjectWithLabel(i),n)}},r.handleMouseDown=function(n){r.props.dragLabel&&(n.preventDefault(),r.handleDrag(n),window.addEventListener("mousemove",r.handleDrag),window.addEventListener("mouseup",r.handleMouseUp))},r.handleMouseUp=function(){r.unbindEventListeners()},r.unbindEventListeners=function(){window.removeEventListener("mousemove",r.handleDrag),window.removeEventListener("mouseup",r.handleMouseUp)},r.state={value:String(t.value).toUpperCase(),blurValue:String(t.value).toUpperCase()},r.inputId="rc-editable-input-"+tr++,r}return It(e,[{key:"componentDidUpdate",value:function(r,n){this.props.value!==this.state.value&&(r.value!==this.props.value||n.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(r){return qt({},this.props.label,r)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||Kt}},{key:"setUpdatedValue",value:function(r,n){var i=this.props.label?this.getValueObjectWithLabel(r):r;this.props.onChange&&this.props.onChange(i,n),this.setState({value:r})}},{key:"render",value:function(){var r=this,n=y({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 s.createElement("div",{style:n.wrap},s.createElement("input",{id:this.inputId,style:n.input,ref:function(o){return r.input=o},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?s.createElement("label",{htmlFor:this.inputId,style:n.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),e}(A.PureComponent||A.Component),rr=function(e,t,r,n){var i=n.clientWidth,o=n.clientHeight,l=typeof e.pageX=="number"?e.pageX:e.touches[0].pageX,h=typeof e.pageY=="number"?e.pageY:e.touches[0].pageY,p=l-(n.getBoundingClientRect().left+window.pageXOffset),c=h-(n.getBoundingClientRect().top+window.pageYOffset);if(t==="vertical"){var u=void 0;if(c<0)u=359;else if(c>o)u=0;else{var d=-(c*100/o)+100;u=360*d/100}if(r.h!==u)return{h:u,s:r.s,l:r.l,a:r.a,source:"hsl"}}else{var f=void 0;if(p<0)f=0;else if(p>i)f=359;else{var v=p*100/i;f=360*v/100}if(r.h!==f)return{h:f,s:r.s,l:r.l,a:r.a,source:"hsl"}}return null},nr=function(){function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}}();function ar(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function et(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:a}function ir(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var le=function(a){ir(e,a);function e(){var t,r,n,i;ar(this,e);for(var o=arguments.length,l=Array(o),h=0;h<o;h++)l[h]=arguments[h];return i=(r=(n=et(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(l))),n),n.handleChange=function(p){var c=rr(p,n.props.direction,n.props.hsl,n.container);c&&typeof n.props.onChange=="function"&&n.props.onChange(c,p)},n.handleMouseDown=function(p){n.handleChange(p),window.addEventListener("mousemove",n.handleChange),window.addEventListener("mouseup",n.handleMouseUp)},n.handleMouseUp=function(){n.unbindEventListeners()},r),et(n,i)}return nr(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 r=this,n=this.props.direction,i=n===void 0?"horizontal":n,o=y({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 s.createElement("div",{style:o.hue},s.createElement("div",{className:"hue-"+i,style:o.container,ref:function(h){return r.container=h},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},s.createElement("style",null,`
4
4
  .hue-horizontal {