@flipdish/portal-library 7.7.0 → 7.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/dist/components/atoms/BreadCrumbs/index.cjs.js +2 -0
  2. package/dist/components/atoms/BreadCrumbs/index.cjs.js.map +1 -0
  3. package/dist/components/atoms/BreadCrumbs/index.d.ts +20 -0
  4. package/dist/components/atoms/BreadCrumbs/index.js +2 -0
  5. package/dist/components/atoms/BreadCrumbs/index.js.map +1 -0
  6. package/dist/components/molecules/CheckboxGroup/index.cjs.js +1 -1
  7. package/dist/components/molecules/CheckboxGroup/index.cjs.js.map +1 -1
  8. package/dist/components/molecules/CheckboxGroup/index.d.ts +33 -0
  9. package/dist/components/molecules/CheckboxGroup/index.js +1 -1
  10. package/dist/components/molecules/CheckboxGroup/index.js.map +1 -1
  11. package/dist/components/molecules/Combobox/index.d.ts +1 -1
  12. package/dist/components/organisms/AssetManager/__mocks__/mockAssets.cjs.js +2 -0
  13. package/dist/components/organisms/AssetManager/__mocks__/mockAssets.cjs.js.map +1 -0
  14. package/dist/components/organisms/AssetManager/__mocks__/mockAssets.d.ts +21 -0
  15. package/dist/components/organisms/AssetManager/__mocks__/mockAssets.js +2 -0
  16. package/dist/components/organisms/AssetManager/__mocks__/mockAssets.js.map +1 -0
  17. package/dist/components/organisms/AssetManager/hooks/useAssets.cjs.js +2 -0
  18. package/dist/components/organisms/AssetManager/hooks/useAssets.cjs.js.map +1 -0
  19. package/dist/components/organisms/AssetManager/hooks/useAssets.d.ts +10 -0
  20. package/dist/components/organisms/AssetManager/hooks/useAssets.js +2 -0
  21. package/dist/components/organisms/AssetManager/hooks/useAssets.js.map +1 -0
  22. package/dist/components/organisms/AssetManager/index.cjs.js +1 -1
  23. package/dist/components/organisms/AssetManager/index.cjs.js.map +1 -1
  24. package/dist/components/organisms/AssetManager/index.d.ts +4 -2
  25. package/dist/components/organisms/AssetManager/index.js +1 -1
  26. package/dist/components/organisms/AssetManager/index.js.map +1 -1
  27. package/dist/components/organisms/AssetManager/services/asset.service.cjs.js +2 -0
  28. package/dist/components/organisms/AssetManager/services/asset.service.cjs.js.map +1 -0
  29. package/dist/components/organisms/AssetManager/services/asset.service.d.ts +11 -0
  30. package/dist/components/organisms/AssetManager/services/asset.service.js +2 -0
  31. package/dist/components/organisms/AssetManager/services/asset.service.js.map +1 -0
  32. package/dist/components/organisms/FileUpload/components/FileDropZone.cjs.js.map +1 -1
  33. package/dist/components/organisms/FileUpload/components/FileDropZone.js.map +1 -1
  34. package/dist/components/organisms/FileUpload/components/FileItem.cjs.js.map +1 -1
  35. package/dist/components/organisms/FileUpload/components/FileItem.js.map +1 -1
  36. package/dist/components/organisms/FileUpload/components/FileThumbnail.cjs.js.map +1 -1
  37. package/dist/components/organisms/FileUpload/components/FileThumbnail.js.map +1 -1
  38. package/dist/components/organisms/Heading/Heading.cjs.js +2 -0
  39. package/dist/components/organisms/Heading/Heading.cjs.js.map +1 -0
  40. package/dist/components/organisms/Heading/Heading.d.ts +32 -0
  41. package/dist/components/organisms/Heading/Heading.js +2 -0
  42. package/dist/components/organisms/Heading/Heading.js.map +1 -0
  43. package/dist/components/organisms/ImageUploadWidget/components/FlipdishFonts.cjs.js.map +1 -1
  44. package/dist/components/organisms/ImageUploadWidget/components/FlipdishFonts.js.map +1 -1
  45. package/dist/components/organisms/ImageUploadWidget/components/ImageDisplay.cjs.js.map +1 -1
  46. package/dist/components/organisms/ImageUploadWidget/components/ImageDisplay.js.map +1 -1
  47. package/dist/components/organisms/ImageUploadWidget/components/ImageDropZone.cjs.js.map +1 -1
  48. package/dist/components/organisms/ImageUploadWidget/components/ImageDropZone.js.map +1 -1
  49. package/dist/components/organisms/ImageUploadWidget/index.cjs.js.map +1 -1
  50. package/dist/components/organisms/ImageUploadWidget/index.js.map +1 -1
  51. package/dist/mocks/msw/handlers.cjs.js +2 -0
  52. package/dist/mocks/msw/handlers.cjs.js.map +1 -0
  53. package/dist/mocks/msw/handlers.d.ts +5 -0
  54. package/dist/mocks/msw/handlers.js +2 -0
  55. package/dist/mocks/msw/handlers.js.map +1 -0
  56. package/dist/mocks/msw/server.cjs.js +2 -0
  57. package/dist/mocks/msw/server.cjs.js.map +1 -0
  58. package/dist/mocks/msw/server.d.ts +5 -0
  59. package/dist/mocks/msw/server.js +2 -0
  60. package/dist/mocks/msw/server.js.map +1 -0
  61. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.cjs.js +2 -0
  62. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.cjs.js.map +1 -0
  63. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.js +2 -0
  64. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.js.map +1 -0
  65. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.cjs.js +2 -0
  66. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.cjs.js.map +1 -0
  67. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.js +2 -0
  68. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.js.map +1 -0
  69. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.cjs.js +2 -0
  70. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.cjs.js.map +1 -0
  71. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.d.d.ts +225 -0
  72. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.js +2 -0
  73. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.js.map +1 -0
  74. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/BatchInterceptor-cb9a2eee.d.d.ts +25 -0
  75. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/Interceptor-dc0a39b5.d.d.ts +123 -0
  76. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5UGIB6OX.cjs.js +2 -0
  77. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5UGIB6OX.cjs.js.map +1 -0
  78. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5UGIB6OX.js +2 -0
  79. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5UGIB6OX.js.map +1 -0
  80. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5V3SIIW2.cjs.js +2 -0
  81. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5V3SIIW2.cjs.js.map +1 -0
  82. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5V3SIIW2.js +2 -0
  83. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-5V3SIIW2.js.map +1 -0
  84. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6HYIRFX2.cjs.js +2 -0
  85. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6HYIRFX2.cjs.js.map +1 -0
  86. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6HYIRFX2.js +2 -0
  87. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6HYIRFX2.js.map +1 -0
  88. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6YM4PLBI.cjs.js +2 -0
  89. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6YM4PLBI.cjs.js.map +1 -0
  90. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6YM4PLBI.js +2 -0
  91. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-6YM4PLBI.js.map +1 -0
  92. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-GKN5RBVR.cjs.js +2 -0
  93. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-GKN5RBVR.cjs.js.map +1 -0
  94. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-GKN5RBVR.js +2 -0
  95. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-GKN5RBVR.js.map +1 -0
  96. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-JXGB54LE.cjs.js +2 -0
  97. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-JXGB54LE.cjs.js.map +1 -0
  98. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-JXGB54LE.js +2 -0
  99. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-JXGB54LE.js.map +1 -0
  100. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-OFW5L5ET.cjs.js +2 -0
  101. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-OFW5L5ET.cjs.js.map +1 -0
  102. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-OFW5L5ET.js +2 -0
  103. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-OFW5L5ET.js.map +1 -0
  104. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-R6T7CL5E.cjs.js +2 -0
  105. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-R6T7CL5E.cjs.js.map +1 -0
  106. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-R6T7CL5E.js +2 -0
  107. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-R6T7CL5E.js.map +1 -0
  108. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-SQ6RHTJR.cjs.js +2 -0
  109. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-SQ6RHTJR.cjs.js.map +1 -0
  110. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-SQ6RHTJR.js +2 -0
  111. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-SQ6RHTJR.js.map +1 -0
  112. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-TX5GBTFY.cjs.js +2 -0
  113. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-TX5GBTFY.cjs.js.map +1 -0
  114. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-TX5GBTFY.js +2 -0
  115. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-TX5GBTFY.js.map +1 -0
  116. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-YWNGXXUQ.cjs.js +2 -0
  117. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-YWNGXXUQ.cjs.js.map +1 -0
  118. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-YWNGXXUQ.js +2 -0
  119. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/chunk-YWNGXXUQ.js.map +1 -0
  120. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/index.cjs.js +2 -0
  121. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/index.cjs.js.map +1 -0
  122. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/index.d.d.ts +26 -0
  123. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/index.js +2 -0
  124. package/dist/node_modules/.pnpm/@mswjs_interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/node/index.js.map +1 -0
  125. package/dist/node_modules/.pnpm/@open-draft_deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.cjs.js +2 -0
  126. package/dist/node_modules/.pnpm/@open-draft_deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.cjs.js.map +1 -0
  127. package/dist/node_modules/.pnpm/@open-draft_deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.js +2 -0
  128. package/dist/node_modules/.pnpm/@open-draft_deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.js.map +1 -0
  129. package/dist/node_modules/.pnpm/@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.cjs.js +2 -0
  130. package/dist/node_modules/.pnpm/@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.cjs.js.map +1 -0
  131. package/dist/node_modules/.pnpm/@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.d.d.ts +52 -0
  132. package/dist/node_modules/.pnpm/@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.js +2 -0
  133. package/dist/node_modules/.pnpm/@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.js.map +1 -0
  134. package/dist/node_modules/.pnpm/@open-draft_until@2.1.0/node_modules/@open-draft/until/lib/index.cjs.js +2 -0
  135. package/dist/node_modules/.pnpm/@open-draft_until@2.1.0/node_modules/@open-draft/until/lib/index.cjs.js.map +1 -0
  136. package/dist/node_modules/.pnpm/@open-draft_until@2.1.0/node_modules/@open-draft/until/lib/index.js +2 -0
  137. package/dist/node_modules/.pnpm/@open-draft_until@2.1.0/node_modules/@open-draft/until/lib/index.js.map +1 -0
  138. package/dist/node_modules/.pnpm/headers-polyfill@4.0.3/node_modules/headers-polyfill/lib/index.cjs.js +2 -0
  139. package/dist/node_modules/.pnpm/headers-polyfill@4.0.3/node_modules/headers-polyfill/lib/index.cjs.js.map +1 -0
  140. package/dist/node_modules/.pnpm/headers-polyfill@4.0.3/node_modules/headers-polyfill/lib/index.js +2 -0
  141. package/dist/node_modules/.pnpm/headers-polyfill@4.0.3/node_modules/headers-polyfill/lib/index.js.map +1 -0
  142. package/dist/node_modules/.pnpm/is-node-process@1.2.0/node_modules/is-node-process/lib/index.cjs.js +2 -0
  143. package/dist/node_modules/.pnpm/is-node-process@1.2.0/node_modules/is-node-process/lib/index.cjs.js.map +1 -0
  144. package/dist/node_modules/.pnpm/is-node-process@1.2.0/node_modules/is-node-process/lib/index.js +2 -0
  145. package/dist/node_modules/.pnpm/is-node-process@1.2.0/node_modules/is-node-process/lib/index.js.map +1 -0
  146. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse-DC89RDb7.d.d.ts +196 -0
  147. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.cjs.js +2 -0
  148. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.cjs.js.map +1 -0
  149. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.js +2 -0
  150. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.js.map +1 -0
  151. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/SetupApi.cjs.js +2 -0
  152. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/SetupApi.cjs.js.map +1 -0
  153. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/SetupApi.d.d.ts +29 -0
  154. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/SetupApi.js +2 -0
  155. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/SetupApi.js.map +1 -0
  156. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.cjs.js +2 -0
  157. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.cjs.js.map +1 -0
  158. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.d.d.ts +60 -0
  159. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.js +2 -0
  160. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.js.map +1 -0
  161. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/RequestHandler.cjs.js +2 -0
  162. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/RequestHandler.cjs.js.map +1 -0
  163. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/RequestHandler.js +2 -0
  164. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/RequestHandler.js.map +1 -0
  165. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/WebSocketHandler.d.d.ts +41 -0
  166. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.cjs.js +2 -0
  167. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.cjs.js.map +1 -0
  168. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.js +2 -0
  169. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.js.map +1 -0
  170. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.cjs.js +2 -0
  171. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.cjs.js.map +1 -0
  172. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.js +2 -0
  173. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.js.map +1 -0
  174. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/isCommonAssetRequest.cjs.js +2 -0
  175. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/isCommonAssetRequest.cjs.js.map +1 -0
  176. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/isCommonAssetRequest.js +2 -0
  177. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/isCommonAssetRequest.js.map +1 -0
  178. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/sharedOptions.d.d.ts +64 -0
  179. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/typeUtils.d.d.ts +8 -0
  180. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/HttpResponse/decorators.cjs.js +2 -0
  181. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/HttpResponse/decorators.cjs.js.map +1 -0
  182. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/HttpResponse/decorators.js +2 -0
  183. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/HttpResponse/decorators.js.map +1 -0
  184. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/cookieStore.cjs.js +2 -0
  185. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/cookieStore.cjs.js.map +1 -0
  186. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/cookieStore.js +2 -0
  187. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/cookieStore.js.map +1 -0
  188. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/executeHandlers.cjs.js +2 -0
  189. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/executeHandlers.cjs.js.map +1 -0
  190. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/executeHandlers.js +2 -0
  191. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/executeHandlers.js.map +1 -0
  192. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/handleRequest.cjs.js +2 -0
  193. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/handleRequest.cjs.js.map +1 -0
  194. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/handleRequest.js +2 -0
  195. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/handleRequest.js.map +1 -0
  196. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/Disposable.cjs.js +2 -0
  197. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/Disposable.cjs.js.map +1 -0
  198. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/Disposable.d.d.ts +8 -0
  199. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/Disposable.js +2 -0
  200. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/Disposable.js.map +1 -0
  201. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/checkGlobals.cjs.js +2 -0
  202. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/checkGlobals.cjs.js.map +1 -0
  203. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/checkGlobals.js +2 -0
  204. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/checkGlobals.js.map +1 -0
  205. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/devUtils.cjs.js +2 -0
  206. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/devUtils.cjs.js.map +1 -0
  207. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/devUtils.js +2 -0
  208. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/devUtils.js.map +1 -0
  209. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/getCallFrame.cjs.js +2 -0
  210. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/getCallFrame.cjs.js.map +1 -0
  211. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/getCallFrame.js +2 -0
  212. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/getCallFrame.js.map +1 -0
  213. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isHandlerKind.cjs.js +2 -0
  214. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isHandlerKind.cjs.js.map +1 -0
  215. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isHandlerKind.js +2 -0
  216. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isHandlerKind.js.map +1 -0
  217. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isIterable.cjs.js +2 -0
  218. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isIterable.cjs.js.map +1 -0
  219. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isIterable.d.d.ts +16 -0
  220. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isIterable.js +2 -0
  221. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isIterable.js.map +1 -0
  222. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isObject.cjs.js +2 -0
  223. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isObject.cjs.js.map +1 -0
  224. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isObject.js +2 -0
  225. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isObject.js.map +1 -0
  226. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isStringEqual.cjs.js +2 -0
  227. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isStringEqual.cjs.js.map +1 -0
  228. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isStringEqual.js +2 -0
  229. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/isStringEqual.js.map +1 -0
  230. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/jsonParse.cjs.js +2 -0
  231. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/jsonParse.cjs.js.map +1 -0
  232. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/jsonParse.js +2 -0
  233. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/jsonParse.js.map +1 -0
  234. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/mergeRight.cjs.js +2 -0
  235. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/mergeRight.cjs.js.map +1 -0
  236. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/mergeRight.js +2 -0
  237. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/mergeRight.js.map +1 -0
  238. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/pipeEvents.cjs.js +2 -0
  239. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/pipeEvents.cjs.js.map +1 -0
  240. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/pipeEvents.js +2 -0
  241. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/pipeEvents.js.map +1 -0
  242. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/toReadonlyArray.cjs.js +2 -0
  243. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/toReadonlyArray.cjs.js.map +1 -0
  244. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/toReadonlyArray.js +2 -0
  245. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/internal/toReadonlyArray.js.map +1 -0
  246. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getStatusCodeColor.cjs.js +2 -0
  247. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getStatusCodeColor.cjs.js.map +1 -0
  248. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getStatusCodeColor.js +2 -0
  249. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getStatusCodeColor.js.map +1 -0
  250. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getTimestamp.cjs.js +2 -0
  251. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getTimestamp.cjs.js.map +1 -0
  252. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getTimestamp.js +2 -0
  253. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/getTimestamp.js.map +1 -0
  254. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeRequest.cjs.js +2 -0
  255. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeRequest.cjs.js.map +1 -0
  256. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeRequest.js +2 -0
  257. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeRequest.js.map +1 -0
  258. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeResponse.cjs.js +2 -0
  259. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeResponse.cjs.js.map +1 -0
  260. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeResponse.js +2 -0
  261. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/logging/serializeResponse.js.map +1 -0
  262. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/matchRequestUrl.cjs.js +2 -0
  263. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/matchRequestUrl.cjs.js.map +1 -0
  264. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/matchRequestUrl.d.d.ts +10 -0
  265. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/matchRequestUrl.js +2 -0
  266. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/matchRequestUrl.js.map +1 -0
  267. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/normalizePath.cjs.js +2 -0
  268. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/normalizePath.cjs.js.map +1 -0
  269. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/normalizePath.js +2 -0
  270. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/matching/normalizePath.js.map +1 -0
  271. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/getRequestCookies.cjs.js +2 -0
  272. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/getRequestCookies.cjs.js.map +1 -0
  273. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/getRequestCookies.js +2 -0
  274. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/getRequestCookies.js.map +1 -0
  275. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/onUnhandledRequest.cjs.js +2 -0
  276. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/onUnhandledRequest.cjs.js.map +1 -0
  277. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/onUnhandledRequest.d.d.ts +8 -0
  278. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/onUnhandledRequest.js +2 -0
  279. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/onUnhandledRequest.js.map +1 -0
  280. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/storeResponseCookies.cjs.js +2 -0
  281. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/storeResponseCookies.cjs.js.map +1 -0
  282. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/storeResponseCookies.js +2 -0
  283. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/storeResponseCookies.js.map +1 -0
  284. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/toPublicUrl.cjs.js +2 -0
  285. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/toPublicUrl.cjs.js.map +1 -0
  286. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/toPublicUrl.js +2 -0
  287. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/request/toPublicUrl.js.map +1 -0
  288. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/cleanUrl.cjs.js +2 -0
  289. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/cleanUrl.cjs.js.map +1 -0
  290. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/cleanUrl.js +2 -0
  291. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/cleanUrl.js.map +1 -0
  292. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/getAbsoluteUrl.cjs.js +2 -0
  293. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/getAbsoluteUrl.cjs.js.map +1 -0
  294. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/getAbsoluteUrl.js +2 -0
  295. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/getAbsoluteUrl.js.map +1 -0
  296. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/isAbsoluteUrl.cjs.js +2 -0
  297. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/isAbsoluteUrl.cjs.js.map +1 -0
  298. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/isAbsoluteUrl.js +2 -0
  299. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/utils/url/isAbsoluteUrl.js.map +1 -0
  300. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/handleWebSocketEvent.cjs.js +2 -0
  301. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/handleWebSocketEvent.cjs.js.map +1 -0
  302. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/handleWebSocketEvent.js +2 -0
  303. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/handleWebSocketEvent.js.map +1 -0
  304. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/webSocketInterceptor.cjs.js +2 -0
  305. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/webSocketInterceptor.cjs.js.map +1 -0
  306. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/webSocketInterceptor.js +2 -0
  307. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/ws/webSocketInterceptor.js.map +1 -0
  308. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.cjs.js +2 -0
  309. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.cjs.js.map +1 -0
  310. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.d.d.ts +85 -0
  311. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.js +2 -0
  312. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.js.map +1 -0
  313. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/cookie.cjs.js +2 -0
  314. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/cookie.cjs.js.map +1 -0
  315. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/cookie.js +2 -0
  316. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/cookie.js.map +1 -0
  317. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/statuses.cjs.js +12 -0
  318. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/statuses.cjs.js.map +1 -0
  319. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/statuses.js +12 -0
  320. package/dist/node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/shims/statuses.js.map +1 -0
  321. package/dist/node_modules/.pnpm/outvariant@1.4.3/node_modules/outvariant/lib/index.cjs.js +2 -0
  322. package/dist/node_modules/.pnpm/outvariant@1.4.3/node_modules/outvariant/lib/index.cjs.js.map +1 -0
  323. package/dist/node_modules/.pnpm/outvariant@1.4.3/node_modules/outvariant/lib/index.js +2 -0
  324. package/dist/node_modules/.pnpm/outvariant@1.4.3/node_modules/outvariant/lib/index.js.map +1 -0
  325. package/dist/node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist.es2015/index.cjs.js +2 -0
  326. package/dist/node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist.es2015/index.cjs.js.map +1 -0
  327. package/dist/node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist.es2015/index.js +2 -0
  328. package/dist/node_modules/.pnpm/path-to-regexp@6.3.0/node_modules/path-to-regexp/dist.es2015/index.js.map +1 -0
  329. package/dist/node_modules/.pnpm/strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.cjs.js +2 -0
  330. package/dist/node_modules/.pnpm/strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.cjs.js.map +1 -0
  331. package/dist/node_modules/.pnpm/strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.d.d.ts +75 -0
  332. package/dist/node_modules/.pnpm/strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.js +2 -0
  333. package/dist/node_modules/.pnpm/strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.js.map +1 -0
  334. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/domain.cjs.js +2 -0
  335. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/domain.cjs.js.map +1 -0
  336. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/domain.js +2 -0
  337. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/domain.js.map +1 -0
  338. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/extract-hostname.cjs.js +2 -0
  339. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/extract-hostname.cjs.js.map +1 -0
  340. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/extract-hostname.js +2 -0
  341. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/extract-hostname.js.map +1 -0
  342. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/factory.cjs.js +2 -0
  343. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/factory.cjs.js.map +1 -0
  344. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/factory.js +2 -0
  345. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/factory.js.map +1 -0
  346. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-ip.cjs.js +2 -0
  347. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-ip.cjs.js.map +1 -0
  348. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-ip.js +2 -0
  349. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-ip.js.map +1 -0
  350. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-valid.cjs.js +2 -0
  351. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-valid.cjs.js.map +1 -0
  352. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-valid.js +2 -0
  353. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/is-valid.js.map +1 -0
  354. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/lookup/fast-path.cjs.js +2 -0
  355. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/lookup/fast-path.cjs.js.map +1 -0
  356. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js +2 -0
  357. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js.map +1 -0
  358. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/options.cjs.js +2 -0
  359. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/options.cjs.js.map +1 -0
  360. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/options.js +2 -0
  361. package/dist/node_modules/.pnpm/tldts-core@7.0.19/node_modules/tldts-core/dist/es6/src/options.js.map +1 -0
  362. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/index.cjs.js +2 -0
  363. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/index.cjs.js.map +1 -0
  364. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/index.js +2 -0
  365. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/index.js.map +1 -0
  366. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/data/trie.cjs.js +2 -0
  367. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/data/trie.cjs.js.map +1 -0
  368. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/data/trie.js +2 -0
  369. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/data/trie.js.map +1 -0
  370. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/suffix-trie.cjs.js +2 -0
  371. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/suffix-trie.cjs.js.map +1 -0
  372. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/suffix-trie.js +2 -0
  373. package/dist/node_modules/.pnpm/tldts@7.0.19/node_modules/tldts/dist/es6/src/suffix-trie.js.map +1 -0
  374. package/dist/node_modules/.pnpm/tough-cookie@6.0.0/node_modules/tough-cookie/dist/index.cjs.js +33 -0
  375. package/dist/node_modules/.pnpm/tough-cookie@6.0.0/node_modules/tough-cookie/dist/index.cjs.js.map +1 -0
  376. package/dist/node_modules/.pnpm/tough-cookie@6.0.0/node_modules/tough-cookie/dist/index.js +32 -0
  377. package/dist/node_modules/.pnpm/tough-cookie@6.0.0/node_modules/tough-cookie/dist/index.js.map +1 -0
  378. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/if.d.d.ts +102 -0
  379. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/internal/object.d.d.ts +74 -0
  380. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/internal/type.d.d.ts +25 -0
  381. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/is-any.d.d.ts +31 -0
  382. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/is-never.d.d.ts +44 -0
  383. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/is-optional-key-of.d.d.ts +51 -0
  384. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/merge.d.d.ts +50 -0
  385. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/omit-index-signature.d.d.ts +97 -0
  386. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/optional-keys-of.d.d.ts +46 -0
  387. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/partial-deep.d.d.ts +156 -0
  388. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/pick-index-signature.d.d.ts +52 -0
  389. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/primitive.d.d.ts +15 -0
  390. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/required-keys-of.d.d.ts +32 -0
  391. package/dist/node_modules/.pnpm/type-fest@5.2.0/node_modules/type-fest/source/simplify.d.d.ts +60 -0
  392. package/dist/node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.cjs.js +2 -0
  393. package/dist/node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.cjs.js.map +1 -0
  394. package/dist/node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.js +2 -0
  395. package/dist/node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.js.map +1 -0
  396. package/package.json +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ImageDropZone.cjs.js","sources":["../../../../../src/components/organisms/ImageUploadWidget/components/ImageDropZone.tsx"],"sourcesContent":["import Box from '@mui/material/Box/Box';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography/Typography';\n\nimport TextField from '@fd/components/atoms/TextField';\nimport ReactImageUploading, { type ImageListType, type ImageType } from 'react-images-uploading';\n\nconst StyledUploadAreaContainer = styled(Box)(({ theme }) => ({\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n boxSizing: 'border-box',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px',\n borderRadius: '4px',\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FAFAFA',\n [theme.breakpoints.only('mobile')]: {\n justifyContent: 'center',\n gap: '32px',\n },\n}));\n\nconst StyledIconContainer = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n width: '48px',\n height: '48px',\n padding: '0px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '32px',\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n});\n\nconst StyledPrimaryText = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n letterSpacing: '0px',\n textDecoration: 'underline',\n textDecorationStyle: 'solid',\n textDecorationSkipInk: 'auto',\n textDecorationThickness: 'auto',\n textUnderlineOffset: '25%',\n textUnderlinePosition: 'from-font',\n cursor: 'pointer',\n});\n\nconst StyledSecondaryText = styled(Typography)({\n fontFamily: 'Roboto',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: '20px',\n letterSpacing: '0px',\n textAlign: 'center',\n});\n\nconst StyledImageComponent = styled('img')({\n maxWidth: '100%',\n maxHeight: '100%',\n borderRadius: '4px',\n objectFit: 'cover',\n});\n\nconst StyledForm = styled('form')({\n width: '100%',\n maxWidth: '400px',\n});\n\ninterface ImageDropZoneProps {\n selectedImage: ImageType | null;\n onImageSelect: (selectedImage: ImageType) => void;\n allowImageLinkUpload: boolean;\n imageLink: string;\n onUploadImageLink?: (link: string) => void;\n onImageLinkChange?: (link: string) => void;\n uploadingError: Error | null;\n}\n\nconst allowedFileTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\n\nconst ImageDropZone: React.FC<ImageDropZoneProps> = ({\n selectedImage,\n onImageSelect,\n uploadingError,\n allowImageLinkUpload,\n imageLink,\n onImageLinkChange = (): void => {},\n onUploadImageLink = (): void => {},\n}) => {\n const handleImageSelect = (value: ImageListType): void => {\n const firstImage = value[0] as ImageType | undefined;\n if (firstImage) {\n onImageSelect(firstImage);\n }\n };\n\n const handleImageLinkUpload = (e: React.FormEvent): void => {\n e.preventDefault();\n onUploadImageLink(imageLink);\n };\n\n return (\n <ReactImageUploading\n acceptType={allowedFileTypes}\n onChange={handleImageSelect}\n value={selectedImage ? [selectedImage] : []}\n >\n {({ onImageUpload, dragProps }) => {\n const uploadErrorMessage = `Error occurred while uploading image: ${uploadingError?.message ? uploadingError.message : ''}`;\n\n if (selectedImage?.dataURL) {\n return <StyledImageComponent src={selectedImage.dataURL} />;\n }\n\n return (\n <StyledUploadAreaContainer {...dragProps}>\n <StyledIconContainer>\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>Upload icon</title>\n <path\n clipRule=\"evenodd\"\n d=\"M17.8453 2.18282C16.4851 1.99996 14.7504 1.99998 12.5745 2H12.4255C10.2496 1.99998 8.51485 1.99996 7.15471 2.18282C5.75034 2.37164 4.59652 2.77175 3.68413 3.68414C2.77174 4.59653 2.37164 5.75034 2.18282 7.15471C1.99996 8.51485 1.99998 10.2496 2 12.4255V12.5745C1.99998 14.7504 1.99996 16.4851 2.18282 17.8453C2.37164 19.2497 2.77177 20.4035 3.68415 21.3159C4.59654 22.2283 5.75034 22.6284 7.15472 22.8172C8.51486 23 10.2496 23 12.4256 23H12.5744C14.7504 23 16.4851 23 17.8453 22.8172C19.2496 22.6284 20.4035 22.2282 21.3159 21.3159C22.2283 20.4035 22.6284 19.2496 22.8172 17.8453C23 16.4851 23 14.7504 23 12.5744V12.4256C23 10.2496 23 8.51486 22.8172 7.15472C22.6284 5.75034 22.2283 4.59651 21.3159 3.68412C20.4035 2.77174 19.2497 2.37164 17.8453 2.18282ZM5.09835 5.09835C5.57721 4.61949 6.23861 4.32398 7.42121 4.16499C8.63258 4.00212 10.2326 4 12.5 4C14.7674 4 16.3674 4.00212 17.5788 4.16499C18.7614 4.32399 19.4228 4.6195 19.9017 5.09836C20.3805 5.57722 20.676 6.23862 20.835 7.42121C20.9943 8.60603 20.9998 10.1626 21 12.3519C19.6026 11.7105 18.2505 11.4471 16.9403 11.5088C15.1642 11.5923 13.5635 12.2683 12.1227 13.2344C9.67205 14.8776 7.51569 17.4909 5.59833 19.8145L5.34633 20.1197C5.25795 20.0517 5.17577 19.9791 5.09836 19.9017C4.6195 19.4228 4.32399 18.7614 4.16499 17.5788C4.00212 16.3674 4 14.7674 4 12.5C4 10.2326 4.00212 8.63258 4.16499 7.42121C4.32398 6.23861 4.6195 5.5772 5.09835 5.09835ZM20.993 14.5995C19.5215 13.7462 18.2137 13.4511 17.0342 13.5065C15.7231 13.5682 14.4707 14.068 13.2366 14.8955C11.1229 16.3128 9.2346 18.5584 7.3582 20.8263L7.42121 20.835C8.63258 20.9979 10.2326 21 12.5 21C14.7674 21 16.3674 20.9979 17.5788 20.835C18.7614 20.676 19.4228 20.3805 19.9017 19.9017C20.3805 19.4228 20.676 18.7614 20.835 17.5788C20.9423 16.7808 20.9798 15.8143 20.993 14.5995Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M10.5 8C10.5 6.61929 9.38071 5.5 8 5.5C7.72212 5.5 7.45482 5.54534 7.20511 5.62902C6.21409 5.96113 5.5 6.89717 5.5 8C5.5 8.84194 5.91619 9.58667 6.55407 10.0397C6.96226 10.3296 7.46123 10.5 8 10.5C9.38071 10.5 10.5 9.38071 10.5 8ZM8 7.5C7.72386 7.5 7.5 7.72386 7.5 8C7.5 8.27614 7.72386 8.5 8 8.5C8.27614 8.5 8.5 8.27614 8.5 8C8.5 7.72386 8.27614 7.5 8 7.5Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledIconContainer>\n <Stack alignItems=\"center\" direction=\"column\" gap=\"8px\" width=\"100%\">\n <StyledPrimaryText onClick={onImageUpload}>Select an image</StyledPrimaryText>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.90)\">\n OR drop it here{allowImageLinkUpload && ' OR paste the image URL below'}\n </StyledSecondaryText>\n {allowImageLinkUpload && (\n <StyledForm data-testid=\"image-link-form\" onSubmit={handleImageLinkUpload}>\n <TextField\n fullWidth\n fdKey=\"img-link\"\n onChange={(e) => onImageLinkChange(e.target.value)}\n placeholder=\"Enter image URL\"\n value={imageLink}\n />\n </StyledForm>\n )}\n </Stack>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.60)\">\n Minimum dimensions: 1280 × 720 - up to 10 MB\n </StyledSecondaryText>\n <StyledSecondaryText\n color=\"rgba(184, 0, 34, 0.80)\"\n sx={(theme) => ({\n overflowY: 'scroll',\n height: '30px',\n [theme.breakpoints.only('mobile')]: {\n height: '120px',\n },\n })}\n >\n {uploadingError ? uploadErrorMessage : ''}\n </StyledSecondaryText>\n </StyledUploadAreaContainer>\n );\n }}\n </ReactImageUploading>\n );\n};\n\nexport default ImageDropZone;"],"names":["StyledUploadAreaContainer","styled","Box","theme","flex","display","flexDirection","height","boxSizing","alignItems","justifyContent","padding","borderRadius","border","background","breakpoints","only","gap","StyledIconContainer","width","backgroundColor","StyledPrimaryText","Typography","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","letterSpacing","textDecoration","textDecorationStyle","textDecorationSkipInk","textDecorationThickness","textUnderlineOffset","textUnderlinePosition","cursor","StyledSecondaryText","textAlign","StyledImageComponent","maxWidth","maxHeight","objectFit","StyledForm","allowedFileTypes","selectedImage","onImageSelect","uploadingError","allowImageLinkUpload","imageLink","onImageLinkChange","onUploadImageLink","handleImageLinkUpload","e","preventDefault","_jsx","ReactImageUploading","acceptType","onChange","value","firstImage","children","onImageUpload","dragProps","uploadErrorMessage","message","dataURL","src","_jsxs","fill","viewBox","xmlns","clipRule","d","fillOpacity","fillRule","Stack","direction","onClick","onSubmit","TextField","fullWidth","fdKey","target","placeholder","sx","overflowY"],"mappings":"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"}
1
+ {"version":3,"file":"ImageDropZone.cjs.js","sources":["../../../../../src/components/organisms/ImageUploadWidget/components/ImageDropZone.tsx"],"sourcesContent":["import Box from '@mui/material/Box/Box';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography/Typography';\n\nimport TextField from '@fd/components/atoms/TextField';\nimport ReactImageUploading, { type ImageListType, type ImageType } from 'react-images-uploading';\n\nconst StyledUploadAreaContainer = styled(Box)(({ theme }) => ({\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n boxSizing: 'border-box',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px',\n borderRadius: '4px',\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FAFAFA',\n [theme.breakpoints.only('mobile')]: {\n justifyContent: 'center',\n gap: '32px',\n },\n}));\n\nconst StyledIconContainer = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n width: '48px',\n height: '48px',\n padding: '0px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '32px',\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n});\n\nconst StyledPrimaryText = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n letterSpacing: '0px',\n textDecoration: 'underline',\n textDecorationStyle: 'solid',\n textDecorationSkipInk: 'auto',\n textDecorationThickness: 'auto',\n textUnderlineOffset: '25%',\n textUnderlinePosition: 'from-font',\n cursor: 'pointer',\n});\n\nconst StyledSecondaryText = styled(Typography)({\n fontFamily: 'Roboto',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: '20px',\n letterSpacing: '0px',\n textAlign: 'center',\n});\n\nconst StyledImageComponent = styled('img')({\n maxWidth: '100%',\n maxHeight: '100%',\n borderRadius: '4px',\n objectFit: 'cover',\n});\n\nconst StyledForm = styled('form')({\n width: '100%',\n maxWidth: '400px',\n});\n\ninterface ImageDropZoneProps {\n selectedImage: ImageType | null;\n onImageSelect: (selectedImage: ImageType) => void;\n allowImageLinkUpload: boolean;\n imageLink: string;\n onUploadImageLink?: (link: string) => void;\n onImageLinkChange?: (link: string) => void;\n uploadingError: Error | null;\n}\n\nconst allowedFileTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\n\nconst ImageDropZone: React.FC<ImageDropZoneProps> = ({\n selectedImage,\n onImageSelect,\n uploadingError,\n allowImageLinkUpload,\n imageLink,\n onImageLinkChange = (): void => {},\n onUploadImageLink = (): void => {},\n}) => {\n const handleImageSelect = (value: ImageListType): void => {\n const firstImage = value[0] as ImageType | undefined;\n if (firstImage) {\n onImageSelect(firstImage);\n }\n };\n\n const handleImageLinkUpload = (e: React.FormEvent): void => {\n e.preventDefault();\n onUploadImageLink(imageLink);\n };\n\n return (\n <ReactImageUploading\n acceptType={allowedFileTypes}\n onChange={handleImageSelect}\n value={selectedImage ? [selectedImage] : []}\n >\n {({ onImageUpload, dragProps }) => {\n const uploadErrorMessage = `Error occurred while uploading image: ${uploadingError?.message ? uploadingError.message : ''}`;\n\n if (selectedImage?.dataURL) {\n return <StyledImageComponent src={selectedImage.dataURL} />;\n }\n\n return (\n <StyledUploadAreaContainer {...dragProps}>\n <StyledIconContainer>\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>Upload icon</title>\n <path\n clipRule=\"evenodd\"\n d=\"M17.8453 2.18282C16.4851 1.99996 14.7504 1.99998 12.5745 2H12.4255C10.2496 1.99998 8.51485 1.99996 7.15471 2.18282C5.75034 2.37164 4.59652 2.77175 3.68413 3.68414C2.77174 4.59653 2.37164 5.75034 2.18282 7.15471C1.99996 8.51485 1.99998 10.2496 2 12.4255V12.5745C1.99998 14.7504 1.99996 16.4851 2.18282 17.8453C2.37164 19.2497 2.77177 20.4035 3.68415 21.3159C4.59654 22.2283 5.75034 22.6284 7.15472 22.8172C8.51486 23 10.2496 23 12.4256 23H12.5744C14.7504 23 16.4851 23 17.8453 22.8172C19.2496 22.6284 20.4035 22.2282 21.3159 21.3159C22.2283 20.4035 22.6284 19.2496 22.8172 17.8453C23 16.4851 23 14.7504 23 12.5744V12.4256C23 10.2496 23 8.51486 22.8172 7.15472C22.6284 5.75034 22.2283 4.59651 21.3159 3.68412C20.4035 2.77174 19.2497 2.37164 17.8453 2.18282ZM5.09835 5.09835C5.57721 4.61949 6.23861 4.32398 7.42121 4.16499C8.63258 4.00212 10.2326 4 12.5 4C14.7674 4 16.3674 4.00212 17.5788 4.16499C18.7614 4.32399 19.4228 4.6195 19.9017 5.09836C20.3805 5.57722 20.676 6.23862 20.835 7.42121C20.9943 8.60603 20.9998 10.1626 21 12.3519C19.6026 11.7105 18.2505 11.4471 16.9403 11.5088C15.1642 11.5923 13.5635 12.2683 12.1227 13.2344C9.67205 14.8776 7.51569 17.4909 5.59833 19.8145L5.34633 20.1197C5.25795 20.0517 5.17577 19.9791 5.09836 19.9017C4.6195 19.4228 4.32399 18.7614 4.16499 17.5788C4.00212 16.3674 4 14.7674 4 12.5C4 10.2326 4.00212 8.63258 4.16499 7.42121C4.32398 6.23861 4.6195 5.5772 5.09835 5.09835ZM20.993 14.5995C19.5215 13.7462 18.2137 13.4511 17.0342 13.5065C15.7231 13.5682 14.4707 14.068 13.2366 14.8955C11.1229 16.3128 9.2346 18.5584 7.3582 20.8263L7.42121 20.835C8.63258 20.9979 10.2326 21 12.5 21C14.7674 21 16.3674 20.9979 17.5788 20.835C18.7614 20.676 19.4228 20.3805 19.9017 19.9017C20.3805 19.4228 20.676 18.7614 20.835 17.5788C20.9423 16.7808 20.9798 15.8143 20.993 14.5995Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M10.5 8C10.5 6.61929 9.38071 5.5 8 5.5C7.72212 5.5 7.45482 5.54534 7.20511 5.62902C6.21409 5.96113 5.5 6.89717 5.5 8C5.5 8.84194 5.91619 9.58667 6.55407 10.0397C6.96226 10.3296 7.46123 10.5 8 10.5C9.38071 10.5 10.5 9.38071 10.5 8ZM8 7.5C7.72386 7.5 7.5 7.72386 7.5 8C7.5 8.27614 7.72386 8.5 8 8.5C8.27614 8.5 8.5 8.27614 8.5 8C8.5 7.72386 8.27614 7.5 8 7.5Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledIconContainer>\n <Stack alignItems=\"center\" direction=\"column\" gap=\"8px\" width=\"100%\">\n <StyledPrimaryText onClick={onImageUpload}>Select an image</StyledPrimaryText>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.90)\">\n OR drop it here{allowImageLinkUpload && ' OR paste the image URL below'}\n </StyledSecondaryText>\n {allowImageLinkUpload && (\n <StyledForm data-testid=\"image-link-form\" onSubmit={handleImageLinkUpload}>\n <TextField\n fullWidth\n fdKey=\"img-link\"\n onChange={(e) => onImageLinkChange(e.target.value)}\n placeholder=\"Enter image URL\"\n value={imageLink}\n />\n </StyledForm>\n )}\n </Stack>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.60)\">\n Minimum dimensions: 1280 × 720 - up to 10 MB\n </StyledSecondaryText>\n <StyledSecondaryText\n color=\"rgba(184, 0, 34, 0.80)\"\n sx={(theme) => ({\n overflowY: 'scroll',\n height: '30px',\n [theme.breakpoints.only('mobile')]: {\n height: '120px',\n },\n })}\n >\n {uploadingError ? uploadErrorMessage : ''}\n </StyledSecondaryText>\n </StyledUploadAreaContainer>\n );\n }}\n </ReactImageUploading>\n );\n};\n\nexport default ImageDropZone;\n"],"names":["StyledUploadAreaContainer","styled","Box","theme","flex","display","flexDirection","height","boxSizing","alignItems","justifyContent","padding","borderRadius","border","background","breakpoints","only","gap","StyledIconContainer","width","backgroundColor","StyledPrimaryText","Typography","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","letterSpacing","textDecoration","textDecorationStyle","textDecorationSkipInk","textDecorationThickness","textUnderlineOffset","textUnderlinePosition","cursor","StyledSecondaryText","textAlign","StyledImageComponent","maxWidth","maxHeight","objectFit","StyledForm","allowedFileTypes","selectedImage","onImageSelect","uploadingError","allowImageLinkUpload","imageLink","onImageLinkChange","onUploadImageLink","handleImageLinkUpload","e","preventDefault","_jsx","ReactImageUploading","acceptType","onChange","value","firstImage","children","onImageUpload","dragProps","uploadErrorMessage","message","dataURL","src","_jsxs","fill","viewBox","xmlns","clipRule","d","fillOpacity","fillRule","Stack","direction","onClick","onSubmit","TextField","fullWidth","fdKey","target","placeholder","sx","overflowY"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageDropZone.js","sources":["../../../../../src/components/organisms/ImageUploadWidget/components/ImageDropZone.tsx"],"sourcesContent":["import Box from '@mui/material/Box/Box';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography/Typography';\n\nimport TextField from '@fd/components/atoms/TextField';\nimport ReactImageUploading, { type ImageListType, type ImageType } from 'react-images-uploading';\n\nconst StyledUploadAreaContainer = styled(Box)(({ theme }) => ({\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n boxSizing: 'border-box',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px',\n borderRadius: '4px',\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FAFAFA',\n [theme.breakpoints.only('mobile')]: {\n justifyContent: 'center',\n gap: '32px',\n },\n}));\n\nconst StyledIconContainer = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n width: '48px',\n height: '48px',\n padding: '0px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '32px',\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n});\n\nconst StyledPrimaryText = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n letterSpacing: '0px',\n textDecoration: 'underline',\n textDecorationStyle: 'solid',\n textDecorationSkipInk: 'auto',\n textDecorationThickness: 'auto',\n textUnderlineOffset: '25%',\n textUnderlinePosition: 'from-font',\n cursor: 'pointer',\n});\n\nconst StyledSecondaryText = styled(Typography)({\n fontFamily: 'Roboto',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: '20px',\n letterSpacing: '0px',\n textAlign: 'center',\n});\n\nconst StyledImageComponent = styled('img')({\n maxWidth: '100%',\n maxHeight: '100%',\n borderRadius: '4px',\n objectFit: 'cover',\n});\n\nconst StyledForm = styled('form')({\n width: '100%',\n maxWidth: '400px',\n});\n\ninterface ImageDropZoneProps {\n selectedImage: ImageType | null;\n onImageSelect: (selectedImage: ImageType) => void;\n allowImageLinkUpload: boolean;\n imageLink: string;\n onUploadImageLink?: (link: string) => void;\n onImageLinkChange?: (link: string) => void;\n uploadingError: Error | null;\n}\n\nconst allowedFileTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\n\nconst ImageDropZone: React.FC<ImageDropZoneProps> = ({\n selectedImage,\n onImageSelect,\n uploadingError,\n allowImageLinkUpload,\n imageLink,\n onImageLinkChange = (): void => {},\n onUploadImageLink = (): void => {},\n}) => {\n const handleImageSelect = (value: ImageListType): void => {\n const firstImage = value[0] as ImageType | undefined;\n if (firstImage) {\n onImageSelect(firstImage);\n }\n };\n\n const handleImageLinkUpload = (e: React.FormEvent): void => {\n e.preventDefault();\n onUploadImageLink(imageLink);\n };\n\n return (\n <ReactImageUploading\n acceptType={allowedFileTypes}\n onChange={handleImageSelect}\n value={selectedImage ? [selectedImage] : []}\n >\n {({ onImageUpload, dragProps }) => {\n const uploadErrorMessage = `Error occurred while uploading image: ${uploadingError?.message ? uploadingError.message : ''}`;\n\n if (selectedImage?.dataURL) {\n return <StyledImageComponent src={selectedImage.dataURL} />;\n }\n\n return (\n <StyledUploadAreaContainer {...dragProps}>\n <StyledIconContainer>\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>Upload icon</title>\n <path\n clipRule=\"evenodd\"\n d=\"M17.8453 2.18282C16.4851 1.99996 14.7504 1.99998 12.5745 2H12.4255C10.2496 1.99998 8.51485 1.99996 7.15471 2.18282C5.75034 2.37164 4.59652 2.77175 3.68413 3.68414C2.77174 4.59653 2.37164 5.75034 2.18282 7.15471C1.99996 8.51485 1.99998 10.2496 2 12.4255V12.5745C1.99998 14.7504 1.99996 16.4851 2.18282 17.8453C2.37164 19.2497 2.77177 20.4035 3.68415 21.3159C4.59654 22.2283 5.75034 22.6284 7.15472 22.8172C8.51486 23 10.2496 23 12.4256 23H12.5744C14.7504 23 16.4851 23 17.8453 22.8172C19.2496 22.6284 20.4035 22.2282 21.3159 21.3159C22.2283 20.4035 22.6284 19.2496 22.8172 17.8453C23 16.4851 23 14.7504 23 12.5744V12.4256C23 10.2496 23 8.51486 22.8172 7.15472C22.6284 5.75034 22.2283 4.59651 21.3159 3.68412C20.4035 2.77174 19.2497 2.37164 17.8453 2.18282ZM5.09835 5.09835C5.57721 4.61949 6.23861 4.32398 7.42121 4.16499C8.63258 4.00212 10.2326 4 12.5 4C14.7674 4 16.3674 4.00212 17.5788 4.16499C18.7614 4.32399 19.4228 4.6195 19.9017 5.09836C20.3805 5.57722 20.676 6.23862 20.835 7.42121C20.9943 8.60603 20.9998 10.1626 21 12.3519C19.6026 11.7105 18.2505 11.4471 16.9403 11.5088C15.1642 11.5923 13.5635 12.2683 12.1227 13.2344C9.67205 14.8776 7.51569 17.4909 5.59833 19.8145L5.34633 20.1197C5.25795 20.0517 5.17577 19.9791 5.09836 19.9017C4.6195 19.4228 4.32399 18.7614 4.16499 17.5788C4.00212 16.3674 4 14.7674 4 12.5C4 10.2326 4.00212 8.63258 4.16499 7.42121C4.32398 6.23861 4.6195 5.5772 5.09835 5.09835ZM20.993 14.5995C19.5215 13.7462 18.2137 13.4511 17.0342 13.5065C15.7231 13.5682 14.4707 14.068 13.2366 14.8955C11.1229 16.3128 9.2346 18.5584 7.3582 20.8263L7.42121 20.835C8.63258 20.9979 10.2326 21 12.5 21C14.7674 21 16.3674 20.9979 17.5788 20.835C18.7614 20.676 19.4228 20.3805 19.9017 19.9017C20.3805 19.4228 20.676 18.7614 20.835 17.5788C20.9423 16.7808 20.9798 15.8143 20.993 14.5995Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M10.5 8C10.5 6.61929 9.38071 5.5 8 5.5C7.72212 5.5 7.45482 5.54534 7.20511 5.62902C6.21409 5.96113 5.5 6.89717 5.5 8C5.5 8.84194 5.91619 9.58667 6.55407 10.0397C6.96226 10.3296 7.46123 10.5 8 10.5C9.38071 10.5 10.5 9.38071 10.5 8ZM8 7.5C7.72386 7.5 7.5 7.72386 7.5 8C7.5 8.27614 7.72386 8.5 8 8.5C8.27614 8.5 8.5 8.27614 8.5 8C8.5 7.72386 8.27614 7.5 8 7.5Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledIconContainer>\n <Stack alignItems=\"center\" direction=\"column\" gap=\"8px\" width=\"100%\">\n <StyledPrimaryText onClick={onImageUpload}>Select an image</StyledPrimaryText>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.90)\">\n OR drop it here{allowImageLinkUpload && ' OR paste the image URL below'}\n </StyledSecondaryText>\n {allowImageLinkUpload && (\n <StyledForm data-testid=\"image-link-form\" onSubmit={handleImageLinkUpload}>\n <TextField\n fullWidth\n fdKey=\"img-link\"\n onChange={(e) => onImageLinkChange(e.target.value)}\n placeholder=\"Enter image URL\"\n value={imageLink}\n />\n </StyledForm>\n )}\n </Stack>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.60)\">\n Minimum dimensions: 1280 × 720 - up to 10 MB\n </StyledSecondaryText>\n <StyledSecondaryText\n color=\"rgba(184, 0, 34, 0.80)\"\n sx={(theme) => ({\n overflowY: 'scroll',\n height: '30px',\n [theme.breakpoints.only('mobile')]: {\n height: '120px',\n },\n })}\n >\n {uploadingError ? uploadErrorMessage : ''}\n </StyledSecondaryText>\n </StyledUploadAreaContainer>\n );\n }}\n </ReactImageUploading>\n );\n};\n\nexport default ImageDropZone;"],"names":["StyledUploadAreaContainer","styled","Box","theme","flex","display","flexDirection","height","boxSizing","alignItems","justifyContent","padding","borderRadius","border","background","breakpoints","only","gap","StyledIconContainer","width","backgroundColor","StyledPrimaryText","Typography","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","letterSpacing","textDecoration","textDecorationStyle","textDecorationSkipInk","textDecorationThickness","textUnderlineOffset","textUnderlinePosition","cursor","StyledSecondaryText","textAlign","StyledImageComponent","maxWidth","maxHeight","objectFit","StyledForm","allowedFileTypes","ImageDropZone","selectedImage","onImageSelect","uploadingError","allowImageLinkUpload","imageLink","onImageLinkChange","onUploadImageLink","handleImageLinkUpload","e","preventDefault","_jsx","ReactImageUploading","acceptType","onChange","value","firstImage","children","onImageUpload","dragProps","uploadErrorMessage","message","dataURL","src","_jsxs","fill","viewBox","xmlns","clipRule","d","fillOpacity","fillRule","Stack","direction","onClick","onSubmit","TextField","fullWidth","fdKey","target","placeholder","sx","overflowY"],"mappings":"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"}
1
+ {"version":3,"file":"ImageDropZone.js","sources":["../../../../../src/components/organisms/ImageUploadWidget/components/ImageDropZone.tsx"],"sourcesContent":["import Box from '@mui/material/Box/Box';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography/Typography';\n\nimport TextField from '@fd/components/atoms/TextField';\nimport ReactImageUploading, { type ImageListType, type ImageType } from 'react-images-uploading';\n\nconst StyledUploadAreaContainer = styled(Box)(({ theme }) => ({\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n boxSizing: 'border-box',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '12px',\n borderRadius: '4px',\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FAFAFA',\n [theme.breakpoints.only('mobile')]: {\n justifyContent: 'center',\n gap: '32px',\n },\n}));\n\nconst StyledIconContainer = styled(Box)({\n display: 'flex',\n flexDirection: 'column',\n width: '48px',\n height: '48px',\n padding: '0px',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '32px',\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n});\n\nconst StyledPrimaryText = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontStyle: 'normal',\n fontWeight: '600',\n lineHeight: '24px',\n letterSpacing: '0px',\n textDecoration: 'underline',\n textDecorationStyle: 'solid',\n textDecorationSkipInk: 'auto',\n textDecorationThickness: 'auto',\n textUnderlineOffset: '25%',\n textUnderlinePosition: 'from-font',\n cursor: 'pointer',\n});\n\nconst StyledSecondaryText = styled(Typography)({\n fontFamily: 'Roboto',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: 400,\n lineHeight: '20px',\n letterSpacing: '0px',\n textAlign: 'center',\n});\n\nconst StyledImageComponent = styled('img')({\n maxWidth: '100%',\n maxHeight: '100%',\n borderRadius: '4px',\n objectFit: 'cover',\n});\n\nconst StyledForm = styled('form')({\n width: '100%',\n maxWidth: '400px',\n});\n\ninterface ImageDropZoneProps {\n selectedImage: ImageType | null;\n onImageSelect: (selectedImage: ImageType) => void;\n allowImageLinkUpload: boolean;\n imageLink: string;\n onUploadImageLink?: (link: string) => void;\n onImageLinkChange?: (link: string) => void;\n uploadingError: Error | null;\n}\n\nconst allowedFileTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\n\nconst ImageDropZone: React.FC<ImageDropZoneProps> = ({\n selectedImage,\n onImageSelect,\n uploadingError,\n allowImageLinkUpload,\n imageLink,\n onImageLinkChange = (): void => {},\n onUploadImageLink = (): void => {},\n}) => {\n const handleImageSelect = (value: ImageListType): void => {\n const firstImage = value[0] as ImageType | undefined;\n if (firstImage) {\n onImageSelect(firstImage);\n }\n };\n\n const handleImageLinkUpload = (e: React.FormEvent): void => {\n e.preventDefault();\n onUploadImageLink(imageLink);\n };\n\n return (\n <ReactImageUploading\n acceptType={allowedFileTypes}\n onChange={handleImageSelect}\n value={selectedImage ? [selectedImage] : []}\n >\n {({ onImageUpload, dragProps }) => {\n const uploadErrorMessage = `Error occurred while uploading image: ${uploadingError?.message ? uploadingError.message : ''}`;\n\n if (selectedImage?.dataURL) {\n return <StyledImageComponent src={selectedImage.dataURL} />;\n }\n\n return (\n <StyledUploadAreaContainer {...dragProps}>\n <StyledIconContainer>\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>Upload icon</title>\n <path\n clipRule=\"evenodd\"\n d=\"M17.8453 2.18282C16.4851 1.99996 14.7504 1.99998 12.5745 2H12.4255C10.2496 1.99998 8.51485 1.99996 7.15471 2.18282C5.75034 2.37164 4.59652 2.77175 3.68413 3.68414C2.77174 4.59653 2.37164 5.75034 2.18282 7.15471C1.99996 8.51485 1.99998 10.2496 2 12.4255V12.5745C1.99998 14.7504 1.99996 16.4851 2.18282 17.8453C2.37164 19.2497 2.77177 20.4035 3.68415 21.3159C4.59654 22.2283 5.75034 22.6284 7.15472 22.8172C8.51486 23 10.2496 23 12.4256 23H12.5744C14.7504 23 16.4851 23 17.8453 22.8172C19.2496 22.6284 20.4035 22.2282 21.3159 21.3159C22.2283 20.4035 22.6284 19.2496 22.8172 17.8453C23 16.4851 23 14.7504 23 12.5744V12.4256C23 10.2496 23 8.51486 22.8172 7.15472C22.6284 5.75034 22.2283 4.59651 21.3159 3.68412C20.4035 2.77174 19.2497 2.37164 17.8453 2.18282ZM5.09835 5.09835C5.57721 4.61949 6.23861 4.32398 7.42121 4.16499C8.63258 4.00212 10.2326 4 12.5 4C14.7674 4 16.3674 4.00212 17.5788 4.16499C18.7614 4.32399 19.4228 4.6195 19.9017 5.09836C20.3805 5.57722 20.676 6.23862 20.835 7.42121C20.9943 8.60603 20.9998 10.1626 21 12.3519C19.6026 11.7105 18.2505 11.4471 16.9403 11.5088C15.1642 11.5923 13.5635 12.2683 12.1227 13.2344C9.67205 14.8776 7.51569 17.4909 5.59833 19.8145L5.34633 20.1197C5.25795 20.0517 5.17577 19.9791 5.09836 19.9017C4.6195 19.4228 4.32399 18.7614 4.16499 17.5788C4.00212 16.3674 4 14.7674 4 12.5C4 10.2326 4.00212 8.63258 4.16499 7.42121C4.32398 6.23861 4.6195 5.5772 5.09835 5.09835ZM20.993 14.5995C19.5215 13.7462 18.2137 13.4511 17.0342 13.5065C15.7231 13.5682 14.4707 14.068 13.2366 14.8955C11.1229 16.3128 9.2346 18.5584 7.3582 20.8263L7.42121 20.835C8.63258 20.9979 10.2326 21 12.5 21C14.7674 21 16.3674 20.9979 17.5788 20.835C18.7614 20.676 19.4228 20.3805 19.9017 19.9017C20.3805 19.4228 20.676 18.7614 20.835 17.5788C20.9423 16.7808 20.9798 15.8143 20.993 14.5995Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M10.5 8C10.5 6.61929 9.38071 5.5 8 5.5C7.72212 5.5 7.45482 5.54534 7.20511 5.62902C6.21409 5.96113 5.5 6.89717 5.5 8C5.5 8.84194 5.91619 9.58667 6.55407 10.0397C6.96226 10.3296 7.46123 10.5 8 10.5C9.38071 10.5 10.5 9.38071 10.5 8ZM8 7.5C7.72386 7.5 7.5 7.72386 7.5 8C7.5 8.27614 7.72386 8.5 8 8.5C8.27614 8.5 8.5 8.27614 8.5 8C8.5 7.72386 8.27614 7.5 8 7.5Z\"\n fill=\"black\"\n fillOpacity=\"0.45\"\n fillRule=\"evenodd\"\n />\n </svg>\n </StyledIconContainer>\n <Stack alignItems=\"center\" direction=\"column\" gap=\"8px\" width=\"100%\">\n <StyledPrimaryText onClick={onImageUpload}>Select an image</StyledPrimaryText>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.90)\">\n OR drop it here{allowImageLinkUpload && ' OR paste the image URL below'}\n </StyledSecondaryText>\n {allowImageLinkUpload && (\n <StyledForm data-testid=\"image-link-form\" onSubmit={handleImageLinkUpload}>\n <TextField\n fullWidth\n fdKey=\"img-link\"\n onChange={(e) => onImageLinkChange(e.target.value)}\n placeholder=\"Enter image URL\"\n value={imageLink}\n />\n </StyledForm>\n )}\n </Stack>\n <StyledSecondaryText color=\"rgba(0, 0, 0, 0.60)\">\n Minimum dimensions: 1280 × 720 - up to 10 MB\n </StyledSecondaryText>\n <StyledSecondaryText\n color=\"rgba(184, 0, 34, 0.80)\"\n sx={(theme) => ({\n overflowY: 'scroll',\n height: '30px',\n [theme.breakpoints.only('mobile')]: {\n height: '120px',\n },\n })}\n >\n {uploadingError ? uploadErrorMessage : ''}\n </StyledSecondaryText>\n </StyledUploadAreaContainer>\n );\n }}\n </ReactImageUploading>\n );\n};\n\nexport default ImageDropZone;\n"],"names":["StyledUploadAreaContainer","styled","Box","theme","flex","display","flexDirection","height","boxSizing","alignItems","justifyContent","padding","borderRadius","border","background","breakpoints","only","gap","StyledIconContainer","width","backgroundColor","StyledPrimaryText","Typography","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","letterSpacing","textDecoration","textDecorationStyle","textDecorationSkipInk","textDecorationThickness","textUnderlineOffset","textUnderlinePosition","cursor","StyledSecondaryText","textAlign","StyledImageComponent","maxWidth","maxHeight","objectFit","StyledForm","allowedFileTypes","ImageDropZone","selectedImage","onImageSelect","uploadingError","allowImageLinkUpload","imageLink","onImageLinkChange","onUploadImageLink","handleImageLinkUpload","e","preventDefault","_jsx","ReactImageUploading","acceptType","onChange","value","firstImage","children","onImageUpload","dragProps","uploadErrorMessage","message","dataURL","src","_jsxs","fill","viewBox","xmlns","clipRule","d","fillOpacity","fillRule","Stack","direction","onClick","onSubmit","TextField","fullWidth","fdKey","target","placeholder","sx","overflowY"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../../src/components/organisms/ImageUploadWidget/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport Backdrop from '@mui/material/Backdrop';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress/CircularProgress';\nimport Fade from '@mui/material/Fade';\nimport Modal from '@mui/material/Modal';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport Button from '@fd/components/atoms/Button';\nimport { type ImageType } from 'react-images-uploading';\n\nimport FlipdishFonts from './components/FlipdishFonts';\nimport ImageDisplay from './components/ImageDisplay';\nimport ImageDropZone from './components/ImageDropZone';\n\nconst StyledWidgetContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n flexDirection: 'column',\n width: '95%',\n padding: '16px',\n boxSizing: 'border-box',\n height: '95%',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n gap: theme.spacing(3),\n borderRadius: theme.radius['radius-8'],\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FFF',\n boxShadow: '0px 1px 6px 0px rgba(0, 0, 0, 0.10), 0px 8px 16px 0px rgba(0, 0, 0, 0.15)',\n [theme.breakpoints.up('tablet')]: {\n width: '650px',\n height: '500px',\n padding: '32px',\n },\n}));\n\nconst StyledWidgetTitle = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '24px',\n fontWeight: '600',\n lineHeight: '32px',\n letterSpacing: '0px',\n});\n\nexport interface ImageUploadWidgetProps {\n open: boolean;\n widgetTitle?: string;\n imageUrl?: string;\n isCloudinaryAsset?: boolean;\n cdnCloudName?: string;\n onUpload: (file: File) => Promise<void>;\n onUploadImageLink?: (imageLink: string) => Promise<void>;\n onRemove: () => void;\n onClose: () => void;\n}\n\nconst ImageUploadWidget: React.FC<ImageUploadWidgetProps> = (props) => {\n const {\n open,\n onClose,\n widgetTitle = 'Upload Image',\n imageUrl = '',\n isCloudinaryAsset = false,\n cdnCloudName,\n onUpload,\n onUploadImageLink,\n onRemove,\n } = props;\n const [selectedImage, setSelectedImage] = useState<ImageType | null>(null);\n const [uploading, setUploading] = useState(false);\n const [uploadingError, setUploadingError] = useState<Error | null>(null);\n const [imageLink, setImageLink] = useState('');\n\n const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('tablet'));\n\n const handleClose = (): void => {\n setSelectedImage(null);\n onClose();\n };\n\n const handleUpload = async (): Promise<void> => {\n setUploading(true);\n setUploadingError(null);\n\n try {\n if (selectedImage?.file) {\n await onUpload(selectedImage.file);\n } else if (imageLink && onUploadImageLink) {\n await onUploadImageLink(imageLink);\n }\n } catch (error) {\n if (error instanceof Error) {\n setUploadingError(error);\n }\n } finally {\n setUploading(false);\n setSelectedImage(null);\n setImageLink('');\n }\n };\n\n const renderActionButtons = (): React.ReactElement => {\n if (isDesktop) {\n return (\n <Stack direction=\"row\" gap=\"2px\" justifyContent=\"space-between\">\n <Stack direction=\"row\">\n {!!selectedImage && (\n <Button\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n </Stack>\n <Stack direction=\"row\" gap=\"16px\" justifyContent=\"space-between\">\n <Button\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n {imageUrl ? (\n <Button\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={\n uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null\n }\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n </Stack>\n </Stack>\n );\n }\n return (\n <Stack direction=\"column\" gap={(theme) => theme.spacing(1)}>\n {imageUrl ? (\n <Button\n fullWidth\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n fullWidth\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null}\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n {!!selectedImage && (\n <Button\n fullWidth\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n <Button\n fullWidth\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n </Stack>\n );\n };\n\n return (\n <>\n <FlipdishFonts />\n <Modal\n closeAfterTransition\n data-testid=\"image-upload-widget\"\n disableEscapeKeyDown={true}\n open={open}\n slotProps={{\n backdrop: {\n timeout: 500,\n },\n }}\n slots={{ backdrop: Backdrop }}\n >\n <Fade in={open}>\n <StyledWidgetContainer>\n <StyledWidgetTitle>{widgetTitle}</StyledWidgetTitle>\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n flex={1}\n height={'calc(100% - 300px)'}\n justifyContent=\"center\"\n >\n {imageUrl ? (\n <ImageDisplay\n cdnCloudName={cdnCloudName}\n isCloudinaryAsset={isCloudinaryAsset}\n src={imageUrl}\n />\n ) : (\n <ImageDropZone\n allowImageLinkUpload={!!onUploadImageLink}\n imageLink={imageLink}\n onImageLinkChange={(link) => setImageLink(link)}\n onImageSelect={(image) => setSelectedImage(image)}\n onUploadImageLink={() => void handleUpload()}\n selectedImage={selectedImage}\n uploadingError={uploadingError}\n />\n )}\n </Stack>\n {renderActionButtons()}\n </StyledWidgetContainer>\n </Fade>\n </Modal>\n </>\n );\n};\n\nexport default ImageUploadWidget;"],"names":["StyledWidgetContainer","styled","Box","theme","display","position","top","left","transform","flexDirection","width","padding","boxSizing","height","alignItems","justifyContent","gap","spacing","borderRadius","radius","border","background","boxShadow","breakpoints","up","StyledWidgetTitle","Typography","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","props","open","onClose","widgetTitle","imageUrl","isCloudinaryAsset","cdnCloudName","onUpload","onUploadImageLink","onRemove","selectedImage","setSelectedImage","useState","uploading","setUploading","uploadingError","setUploadingError","imageLink","setImageLink","isDesktop","useMediaQuery","handleClose","handleUpload","async","file","error","Error","_jsxs","_jsx","FlipdishFonts","Modal","closeAfterTransition","disableEscapeKeyDown","slotProps","backdrop","timeout","slots","Backdrop","children","Fade","in","Stack","direction","flex","ImageDisplay","src","ImageDropZone","allowImageLinkUpload","onImageLinkChange","link","onImageSelect","image","Button","fdKey","onClick","size","tone","variant","disabled","endIcon","CircularProgress","sx","fullWidth"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../../src/components/organisms/ImageUploadWidget/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport Backdrop from '@mui/material/Backdrop';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress/CircularProgress';\nimport Fade from '@mui/material/Fade';\nimport Modal from '@mui/material/Modal';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport Button from '@fd/components/atoms/Button';\nimport { type ImageType } from 'react-images-uploading';\n\nimport FlipdishFonts from './components/FlipdishFonts';\nimport ImageDisplay from './components/ImageDisplay';\nimport ImageDropZone from './components/ImageDropZone';\n\nconst StyledWidgetContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n flexDirection: 'column',\n width: '95%',\n padding: '16px',\n boxSizing: 'border-box',\n height: '95%',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n gap: theme.spacing(3),\n borderRadius: theme.radius['radius-8'],\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FFF',\n boxShadow: '0px 1px 6px 0px rgba(0, 0, 0, 0.10), 0px 8px 16px 0px rgba(0, 0, 0, 0.15)',\n [theme.breakpoints.up('tablet')]: {\n width: '650px',\n height: '500px',\n padding: '32px',\n },\n}));\n\nconst StyledWidgetTitle = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '24px',\n fontWeight: '600',\n lineHeight: '32px',\n letterSpacing: '0px',\n});\n\nexport interface ImageUploadWidgetProps {\n open: boolean;\n widgetTitle?: string;\n imageUrl?: string;\n isCloudinaryAsset?: boolean;\n cdnCloudName?: string;\n onUpload: (file: File) => Promise<void>;\n onUploadImageLink?: (imageLink: string) => Promise<void>;\n onRemove: () => void;\n onClose: () => void;\n}\n\nconst ImageUploadWidget: React.FC<ImageUploadWidgetProps> = (props) => {\n const {\n open,\n onClose,\n widgetTitle = 'Upload Image',\n imageUrl = '',\n isCloudinaryAsset = false,\n cdnCloudName,\n onUpload,\n onUploadImageLink,\n onRemove,\n } = props;\n const [selectedImage, setSelectedImage] = useState<ImageType | null>(null);\n const [uploading, setUploading] = useState(false);\n const [uploadingError, setUploadingError] = useState<Error | null>(null);\n const [imageLink, setImageLink] = useState('');\n\n const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('tablet'));\n\n const handleClose = (): void => {\n setSelectedImage(null);\n onClose();\n };\n\n const handleUpload = async (): Promise<void> => {\n setUploading(true);\n setUploadingError(null);\n\n try {\n if (selectedImage?.file) {\n await onUpload(selectedImage.file);\n } else if (imageLink && onUploadImageLink) {\n await onUploadImageLink(imageLink);\n }\n } catch (error) {\n if (error instanceof Error) {\n setUploadingError(error);\n }\n } finally {\n setUploading(false);\n setSelectedImage(null);\n setImageLink('');\n }\n };\n\n const renderActionButtons = (): React.ReactElement => {\n if (isDesktop) {\n return (\n <Stack direction=\"row\" gap=\"2px\" justifyContent=\"space-between\">\n <Stack direction=\"row\">\n {!!selectedImage && (\n <Button\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n </Stack>\n <Stack direction=\"row\" gap=\"16px\" justifyContent=\"space-between\">\n <Button\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n {imageUrl ? (\n <Button\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={\n uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null\n }\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n </Stack>\n </Stack>\n );\n }\n return (\n <Stack direction=\"column\" gap={(theme) => theme.spacing(1)}>\n {imageUrl ? (\n <Button\n fullWidth\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n fullWidth\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null}\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n {!!selectedImage && (\n <Button\n fullWidth\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n <Button\n fullWidth\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n </Stack>\n );\n };\n\n return (\n <>\n <FlipdishFonts />\n <Modal\n closeAfterTransition\n data-testid=\"image-upload-widget\"\n disableEscapeKeyDown={true}\n open={open}\n slotProps={{\n backdrop: {\n timeout: 500,\n },\n }}\n slots={{ backdrop: Backdrop }}\n >\n <Fade in={open}>\n <StyledWidgetContainer>\n <StyledWidgetTitle>{widgetTitle}</StyledWidgetTitle>\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n flex={1}\n height={'calc(100% - 300px)'}\n justifyContent=\"center\"\n >\n {imageUrl ? (\n <ImageDisplay\n cdnCloudName={cdnCloudName}\n isCloudinaryAsset={isCloudinaryAsset}\n src={imageUrl}\n />\n ) : (\n <ImageDropZone\n allowImageLinkUpload={!!onUploadImageLink}\n imageLink={imageLink}\n onImageLinkChange={(link) => setImageLink(link)}\n onImageSelect={(image) => setSelectedImage(image)}\n onUploadImageLink={() => void handleUpload()}\n selectedImage={selectedImage}\n uploadingError={uploadingError}\n />\n )}\n </Stack>\n {renderActionButtons()}\n </StyledWidgetContainer>\n </Fade>\n </Modal>\n </>\n );\n};\n\nexport default ImageUploadWidget;\n"],"names":["StyledWidgetContainer","styled","Box","theme","display","position","top","left","transform","flexDirection","width","padding","boxSizing","height","alignItems","justifyContent","gap","spacing","borderRadius","radius","border","background","boxShadow","breakpoints","up","StyledWidgetTitle","Typography","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","props","open","onClose","widgetTitle","imageUrl","isCloudinaryAsset","cdnCloudName","onUpload","onUploadImageLink","onRemove","selectedImage","setSelectedImage","useState","uploading","setUploading","uploadingError","setUploadingError","imageLink","setImageLink","isDesktop","useMediaQuery","handleClose","handleUpload","async","file","error","Error","_jsxs","_jsx","FlipdishFonts","Modal","closeAfterTransition","disableEscapeKeyDown","slotProps","backdrop","timeout","slots","Backdrop","children","Fade","in","Stack","direction","flex","ImageDisplay","src","ImageDropZone","allowImageLinkUpload","onImageLinkChange","link","onImageSelect","image","Button","fdKey","onClick","size","tone","variant","disabled","endIcon","CircularProgress","sx","fullWidth"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/organisms/ImageUploadWidget/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport Backdrop from '@mui/material/Backdrop';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress/CircularProgress';\nimport Fade from '@mui/material/Fade';\nimport Modal from '@mui/material/Modal';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport Button from '@fd/components/atoms/Button';\nimport { type ImageType } from 'react-images-uploading';\n\nimport FlipdishFonts from './components/FlipdishFonts';\nimport ImageDisplay from './components/ImageDisplay';\nimport ImageDropZone from './components/ImageDropZone';\n\nconst StyledWidgetContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n flexDirection: 'column',\n width: '95%',\n padding: '16px',\n boxSizing: 'border-box',\n height: '95%',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n gap: theme.spacing(3),\n borderRadius: theme.radius['radius-8'],\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FFF',\n boxShadow: '0px 1px 6px 0px rgba(0, 0, 0, 0.10), 0px 8px 16px 0px rgba(0, 0, 0, 0.15)',\n [theme.breakpoints.up('tablet')]: {\n width: '650px',\n height: '500px',\n padding: '32px',\n },\n}));\n\nconst StyledWidgetTitle = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '24px',\n fontWeight: '600',\n lineHeight: '32px',\n letterSpacing: '0px',\n});\n\nexport interface ImageUploadWidgetProps {\n open: boolean;\n widgetTitle?: string;\n imageUrl?: string;\n isCloudinaryAsset?: boolean;\n cdnCloudName?: string;\n onUpload: (file: File) => Promise<void>;\n onUploadImageLink?: (imageLink: string) => Promise<void>;\n onRemove: () => void;\n onClose: () => void;\n}\n\nconst ImageUploadWidget: React.FC<ImageUploadWidgetProps> = (props) => {\n const {\n open,\n onClose,\n widgetTitle = 'Upload Image',\n imageUrl = '',\n isCloudinaryAsset = false,\n cdnCloudName,\n onUpload,\n onUploadImageLink,\n onRemove,\n } = props;\n const [selectedImage, setSelectedImage] = useState<ImageType | null>(null);\n const [uploading, setUploading] = useState(false);\n const [uploadingError, setUploadingError] = useState<Error | null>(null);\n const [imageLink, setImageLink] = useState('');\n\n const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('tablet'));\n\n const handleClose = (): void => {\n setSelectedImage(null);\n onClose();\n };\n\n const handleUpload = async (): Promise<void> => {\n setUploading(true);\n setUploadingError(null);\n\n try {\n if (selectedImage?.file) {\n await onUpload(selectedImage.file);\n } else if (imageLink && onUploadImageLink) {\n await onUploadImageLink(imageLink);\n }\n } catch (error) {\n if (error instanceof Error) {\n setUploadingError(error);\n }\n } finally {\n setUploading(false);\n setSelectedImage(null);\n setImageLink('');\n }\n };\n\n const renderActionButtons = (): React.ReactElement => {\n if (isDesktop) {\n return (\n <Stack direction=\"row\" gap=\"2px\" justifyContent=\"space-between\">\n <Stack direction=\"row\">\n {!!selectedImage && (\n <Button\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n </Stack>\n <Stack direction=\"row\" gap=\"16px\" justifyContent=\"space-between\">\n <Button\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n {imageUrl ? (\n <Button\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={\n uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null\n }\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n </Stack>\n </Stack>\n );\n }\n return (\n <Stack direction=\"column\" gap={(theme) => theme.spacing(1)}>\n {imageUrl ? (\n <Button\n fullWidth\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n fullWidth\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null}\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n {!!selectedImage && (\n <Button\n fullWidth\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n <Button\n fullWidth\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n </Stack>\n );\n };\n\n return (\n <>\n <FlipdishFonts />\n <Modal\n closeAfterTransition\n data-testid=\"image-upload-widget\"\n disableEscapeKeyDown={true}\n open={open}\n slotProps={{\n backdrop: {\n timeout: 500,\n },\n }}\n slots={{ backdrop: Backdrop }}\n >\n <Fade in={open}>\n <StyledWidgetContainer>\n <StyledWidgetTitle>{widgetTitle}</StyledWidgetTitle>\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n flex={1}\n height={'calc(100% - 300px)'}\n justifyContent=\"center\"\n >\n {imageUrl ? (\n <ImageDisplay\n cdnCloudName={cdnCloudName}\n isCloudinaryAsset={isCloudinaryAsset}\n src={imageUrl}\n />\n ) : (\n <ImageDropZone\n allowImageLinkUpload={!!onUploadImageLink}\n imageLink={imageLink}\n onImageLinkChange={(link) => setImageLink(link)}\n onImageSelect={(image) => setSelectedImage(image)}\n onUploadImageLink={() => void handleUpload()}\n selectedImage={selectedImage}\n uploadingError={uploadingError}\n />\n )}\n </Stack>\n {renderActionButtons()}\n </StyledWidgetContainer>\n </Fade>\n </Modal>\n </>\n );\n};\n\nexport default ImageUploadWidget;"],"names":["StyledWidgetContainer","styled","Box","theme","display","position","top","left","transform","flexDirection","width","padding","boxSizing","height","alignItems","justifyContent","gap","spacing","borderRadius","radius","border","background","boxShadow","breakpoints","up","StyledWidgetTitle","Typography","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","ImageUploadWidget","props","open","onClose","widgetTitle","imageUrl","isCloudinaryAsset","cdnCloudName","onUpload","onUploadImageLink","onRemove","selectedImage","setSelectedImage","useState","uploading","setUploading","uploadingError","setUploadingError","imageLink","setImageLink","isDesktop","useMediaQuery","handleClose","handleUpload","async","file","error","Error","_jsxs","_jsx","FlipdishFonts","Modal","closeAfterTransition","disableEscapeKeyDown","slotProps","backdrop","timeout","slots","Backdrop","children","Fade","in","Stack","direction","flex","ImageDisplay","src","ImageDropZone","allowImageLinkUpload","onImageLinkChange","link","onImageSelect","image","Button","fdKey","onClick","size","tone","variant","disabled","endIcon","CircularProgress","sx","fullWidth"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/organisms/ImageUploadWidget/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport Backdrop from '@mui/material/Backdrop';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress/CircularProgress';\nimport Fade from '@mui/material/Fade';\nimport Modal from '@mui/material/Modal';\nimport Stack from '@mui/material/Stack/Stack';\nimport styled from '@mui/material/styles/styled';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport Button from '@fd/components/atoms/Button';\nimport { type ImageType } from 'react-images-uploading';\n\nimport FlipdishFonts from './components/FlipdishFonts';\nimport ImageDisplay from './components/ImageDisplay';\nimport ImageDropZone from './components/ImageDropZone';\n\nconst StyledWidgetContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n flexDirection: 'column',\n width: '95%',\n padding: '16px',\n boxSizing: 'border-box',\n height: '95%',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n gap: theme.spacing(3),\n borderRadius: theme.radius['radius-8'],\n border: '1px solid rgba(0, 0, 0, 0.10)',\n background: '#FFF',\n boxShadow: '0px 1px 6px 0px rgba(0, 0, 0, 0.10), 0px 8px 16px 0px rgba(0, 0, 0, 0.15)',\n [theme.breakpoints.up('tablet')]: {\n width: '650px',\n height: '500px',\n padding: '32px',\n },\n}));\n\nconst StyledWidgetTitle = styled(Typography)({\n color: 'rgba(0, 0, 0, 0.90)',\n fontFamily: 'Roboto',\n fontSize: '24px',\n fontWeight: '600',\n lineHeight: '32px',\n letterSpacing: '0px',\n});\n\nexport interface ImageUploadWidgetProps {\n open: boolean;\n widgetTitle?: string;\n imageUrl?: string;\n isCloudinaryAsset?: boolean;\n cdnCloudName?: string;\n onUpload: (file: File) => Promise<void>;\n onUploadImageLink?: (imageLink: string) => Promise<void>;\n onRemove: () => void;\n onClose: () => void;\n}\n\nconst ImageUploadWidget: React.FC<ImageUploadWidgetProps> = (props) => {\n const {\n open,\n onClose,\n widgetTitle = 'Upload Image',\n imageUrl = '',\n isCloudinaryAsset = false,\n cdnCloudName,\n onUpload,\n onUploadImageLink,\n onRemove,\n } = props;\n const [selectedImage, setSelectedImage] = useState<ImageType | null>(null);\n const [uploading, setUploading] = useState(false);\n const [uploadingError, setUploadingError] = useState<Error | null>(null);\n const [imageLink, setImageLink] = useState('');\n\n const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('tablet'));\n\n const handleClose = (): void => {\n setSelectedImage(null);\n onClose();\n };\n\n const handleUpload = async (): Promise<void> => {\n setUploading(true);\n setUploadingError(null);\n\n try {\n if (selectedImage?.file) {\n await onUpload(selectedImage.file);\n } else if (imageLink && onUploadImageLink) {\n await onUploadImageLink(imageLink);\n }\n } catch (error) {\n if (error instanceof Error) {\n setUploadingError(error);\n }\n } finally {\n setUploading(false);\n setSelectedImage(null);\n setImageLink('');\n }\n };\n\n const renderActionButtons = (): React.ReactElement => {\n if (isDesktop) {\n return (\n <Stack direction=\"row\" gap=\"2px\" justifyContent=\"space-between\">\n <Stack direction=\"row\">\n {!!selectedImage && (\n <Button\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n </Stack>\n <Stack direction=\"row\" gap=\"16px\" justifyContent=\"space-between\">\n <Button\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n {imageUrl ? (\n <Button\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={\n uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null\n }\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n </Stack>\n </Stack>\n );\n }\n return (\n <Stack direction=\"column\" gap={(theme) => theme.spacing(1)}>\n {imageUrl ? (\n <Button\n fullWidth\n fdKey=\"img-remove-btn\"\n onClick={onRemove}\n size=\"medium\"\n tone=\"destructive\"\n variant=\"secondary\"\n >\n Remove\n </Button>\n ) : (\n <Button\n fullWidth\n disabled={(!selectedImage && !imageLink) || uploading}\n endIcon={uploading ? <CircularProgress color=\"inherit\" size=\"sm\" sx={{ width: '20px' }} /> : null}\n fdKey=\"img-upload-btn\"\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick={handleUpload}\n size=\"medium\"\n variant=\"primary\"\n >\n Upload\n </Button>\n )}\n {!!selectedImage && (\n <Button\n fullWidth\n fdKey=\"img-change-button\"\n onClick={() => setSelectedImage(null)}\n size=\"medium\"\n tone=\"brand\"\n variant=\"secondary\"\n >\n Change\n </Button>\n )}\n <Button\n fullWidth\n fdKey=\"img-close-btn\"\n onClick={handleClose}\n size=\"medium\"\n tone=\"neutral\"\n variant=\"secondary\"\n >\n Close\n </Button>\n </Stack>\n );\n };\n\n return (\n <>\n <FlipdishFonts />\n <Modal\n closeAfterTransition\n data-testid=\"image-upload-widget\"\n disableEscapeKeyDown={true}\n open={open}\n slotProps={{\n backdrop: {\n timeout: 500,\n },\n }}\n slots={{ backdrop: Backdrop }}\n >\n <Fade in={open}>\n <StyledWidgetContainer>\n <StyledWidgetTitle>{widgetTitle}</StyledWidgetTitle>\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n flex={1}\n height={'calc(100% - 300px)'}\n justifyContent=\"center\"\n >\n {imageUrl ? (\n <ImageDisplay\n cdnCloudName={cdnCloudName}\n isCloudinaryAsset={isCloudinaryAsset}\n src={imageUrl}\n />\n ) : (\n <ImageDropZone\n allowImageLinkUpload={!!onUploadImageLink}\n imageLink={imageLink}\n onImageLinkChange={(link) => setImageLink(link)}\n onImageSelect={(image) => setSelectedImage(image)}\n onUploadImageLink={() => void handleUpload()}\n selectedImage={selectedImage}\n uploadingError={uploadingError}\n />\n )}\n </Stack>\n {renderActionButtons()}\n </StyledWidgetContainer>\n </Fade>\n </Modal>\n </>\n );\n};\n\nexport default ImageUploadWidget;\n"],"names":["StyledWidgetContainer","styled","Box","theme","display","position","top","left","transform","flexDirection","width","padding","boxSizing","height","alignItems","justifyContent","gap","spacing","borderRadius","radius","border","background","boxShadow","breakpoints","up","StyledWidgetTitle","Typography","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","ImageUploadWidget","props","open","onClose","widgetTitle","imageUrl","isCloudinaryAsset","cdnCloudName","onUpload","onUploadImageLink","onRemove","selectedImage","setSelectedImage","useState","uploading","setUploading","uploadingError","setUploadingError","imageLink","setImageLink","isDesktop","useMediaQuery","handleClose","handleUpload","async","file","error","Error","_jsxs","_jsx","FlipdishFonts","Modal","closeAfterTransition","disableEscapeKeyDown","slotProps","backdrop","timeout","slots","Backdrop","children","Fade","in","Stack","direction","flex","ImageDisplay","src","ImageDropZone","allowImageLinkUpload","onImageLinkChange","link","onImageSelect","image","Button","fdKey","onClick","size","tone","variant","disabled","endIcon","CircularProgress","sx","fullWidth"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";require("../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.cjs.js");var e=require("../../components/organisms/AssetManager/__mocks__/mockAssets.cjs.js"),s=require("../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.cjs.js"),o=require("../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.cjs.js");const t=[...[s.http.get("*asset-management-service*/:orgId/assets",(({request:s,params:t})=>(console.log("[MSW] Intercepted request:",s.url,"orgId:",t.orgId),o.HttpResponse.json(e.mockAssets))))]];exports.handlers=t;
2
+ //# sourceMappingURL=handlers.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.cjs.js","sources":["../../../src/mocks/msw/handlers.ts"],"sourcesContent":["import { http, HttpResponse } from 'msw';\n\nimport { mockAssets } from '../../components/organisms/AssetManager/__mocks__/mockAssets';\n\nconst assetManagementHandlers = [\n http.get('*asset-management-service*/:orgId/assets', ({ request, params }) => {\n // eslint-disable-next-line no-console\n console.log('[MSW] Intercepted request:', request.url, 'orgId:', params['orgId']);\n return HttpResponse.json(mockAssets);\n }),\n];\n\nexport const handlers = [...assetManagementHandlers];\n"],"names":["handlers","http","get","request","params","console","log","url","HttpResponse","json","mockAssets"],"mappings":"geAIA,MAQaA,EAAW,IARQ,CAC9BC,EAAAA,KAAKC,IAAI,4CAA4C,EAAGC,UAASC,aAE/DC,QAAQC,IAAI,6BAA8BH,EAAQI,IAAK,SAAUH,EAAc,OACxEI,EAAAA,aAAaC,KAAKC"}
@@ -0,0 +1,5 @@
1
+ import { HttpHandler } from '../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/handlers/HttpHandler.d.js';
2
+
3
+ declare const handlers: HttpHandler[];
4
+
5
+ export { handlers };
@@ -0,0 +1,2 @@
1
+ import"../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/index.js";import{mockAssets as e}from"../../components/organisms/AssetManager/__mocks__/mockAssets.js";import{http as s}from"../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/http.js";import{HttpResponse as o}from"../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/core/HttpResponse.js";const t=[...[s.get("*asset-management-service*/:orgId/assets",(({request:s,params:t})=>(console.log("[MSW] Intercepted request:",s.url,"orgId:",t.orgId),o.json(e))))]];export{t as handlers};
2
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sources":["../../../src/mocks/msw/handlers.ts"],"sourcesContent":["import { http, HttpResponse } from 'msw';\n\nimport { mockAssets } from '../../components/organisms/AssetManager/__mocks__/mockAssets';\n\nconst assetManagementHandlers = [\n http.get('*asset-management-service*/:orgId/assets', ({ request, params }) => {\n // eslint-disable-next-line no-console\n console.log('[MSW] Intercepted request:', request.url, 'orgId:', params['orgId']);\n return HttpResponse.json(mockAssets);\n }),\n];\n\nexport const handlers = [...assetManagementHandlers];\n"],"names":["handlers","http","get","request","params","console","log","url","HttpResponse","json","mockAssets"],"mappings":"weAIA,MAQaA,EAAW,IARQ,CAC9BC,EAAKC,IAAI,4CAA4C,EAAGC,UAASC,aAE/DC,QAAQC,IAAI,6BAA8BH,EAAQI,IAAK,SAAUH,EAAc,OACxEI,EAAaC,KAAKC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.cjs.js"),s=require("./handlers.cjs.js");const r=e.setupServer(...s.handlers);exports.server=r;
2
+ //# sourceMappingURL=server.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.cjs.js","sources":["../../../src/mocks/msw/server.ts"],"sourcesContent":["import { setupServer } from 'msw/node';\n\nimport { handlers } from './handlers';\n\n// This configures a request mocking server for tests with the given request handlers\nexport const server = setupServer(...handlers);\n"],"names":["server","setupServer","handlers"],"mappings":"oLAKaA,EAASC,EAAAA,eAAeC,EAAAA"}
@@ -0,0 +1,5 @@
1
+ import { SetupServerApi } from '../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.d.js';
2
+
3
+ declare const server: SetupServerApi;
4
+
5
+ export { server };
@@ -0,0 +1,2 @@
1
+ import{setupServer as o}from"../../node_modules/.pnpm/msw@2.12.3_@types_node@20.19.25_typescript@5.4.5/node_modules/msw/lib/node/index.js";import{handlers as e}from"./handlers.js";const s=o(...e);export{s as server};
2
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sources":["../../../src/mocks/msw/server.ts"],"sourcesContent":["import { setupServer } from 'msw/node';\n\nimport { handlers } from './handlers';\n\n// This configures a request mocking server for tests with the given request handlers\nexport const server = setupServer(...handlers);\n"],"names":["server","setupServer","handlers"],"mappings":"0LAKaA,EAASC,KAAeC"}
@@ -0,0 +1,2 @@
1
+ "use strict";exports.emitAsync=async function(e,o,...t){const i=e.listeners(o);if(0!==i.length)for(const o of i)await o.apply(e,t)},exports.hasConfigurableGlobal=function(e){const o=Object.getOwnPropertyDescriptor(globalThis,e);return void 0!==o&&(("function"!=typeof o.get||void 0!==o.get())&&((void 0!==o.get||null!=o.value)&&(!(void 0===o.set&&!o.configurable)||(console.error(`[MSW] Failed to apply interceptor: the global \`${e}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`),!1))))};
2
+ //# sourceMappingURL=chunk-VYSDLBSS.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-VYSDLBSS.cjs.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@mswjs+interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.mjs"],"sourcesContent":["// src/utils/emitAsync.ts\nasync function emitAsync(emitter, eventName, ...data) {\n const listeners = emitter.listeners(eventName);\n if (listeners.length === 0) {\n return;\n }\n for (const listener of listeners) {\n await listener.apply(emitter, data);\n }\n}\n\n// src/utils/hasConfigurableGlobal.ts\nfunction hasConfigurableGlobal(propertyName) {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);\n if (typeof descriptor === \"undefined\") {\n return false;\n }\n if (typeof descriptor.get === \"function\" && typeof descriptor.get() === \"undefined\") {\n return false;\n }\n if (typeof descriptor.get === \"undefined\" && descriptor.value == null) {\n return false;\n }\n if (typeof descriptor.set === \"undefined\" && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n );\n return false;\n }\n return true;\n}\n\nexport {\n emitAsync,\n hasConfigurableGlobal\n};\n//# sourceMappingURL=chunk-VYSDLBSS.mjs.map"],"names":["async","emitter","eventName","data","listeners","length","listener","apply","propertyName","descriptor","Object","getOwnPropertyDescriptor","globalThis","get","value","set","configurable","console","error"],"mappings":"+BACAA,eAAyBC,EAASC,KAAcC,GAC9C,MAAMC,EAAYH,EAAQG,UAAUF,GACpC,GAAyB,IAArBE,EAAUC,OAGd,IAAK,MAAMC,KAAYF,QACfE,EAASC,MAAMN,EAASE,EAElC,gCAGA,SAA+BK,GAC7B,MAAMC,EAAaC,OAAOC,yBAAyBC,WAAYJ,GAC/D,YAA0B,IAAfC,KAGmB,mBAAnBA,EAAWI,UAAkD,IAArBJ,EAAWI,eAGhC,IAAnBJ,EAAWI,KAA2C,MAApBJ,EAAWK,gBAG1B,IAAnBL,EAAWM,MAAwBN,EAAWO,gBACvDC,QAAQC,MACN,mDAAmDV,wKAE9C,KAGX","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ async function e(e,o,...t){const i=e.listeners(o);if(0!==i.length)for(const o of i)await o.apply(e,t)}function o(e){const o=Object.getOwnPropertyDescriptor(globalThis,e);return void 0!==o&&(("function"!=typeof o.get||void 0!==o.get())&&((void 0!==o.get||null!=o.value)&&(!(void 0===o.set&&!o.configurable)||(console.error(`[MSW] Failed to apply interceptor: the global \`${e}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`),!1))))}export{e as emitAsync,o as hasConfigurableGlobal};
2
+ //# sourceMappingURL=chunk-VYSDLBSS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-VYSDLBSS.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@mswjs+interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-VYSDLBSS.mjs"],"sourcesContent":["// src/utils/emitAsync.ts\nasync function emitAsync(emitter, eventName, ...data) {\n const listeners = emitter.listeners(eventName);\n if (listeners.length === 0) {\n return;\n }\n for (const listener of listeners) {\n await listener.apply(emitter, data);\n }\n}\n\n// src/utils/hasConfigurableGlobal.ts\nfunction hasConfigurableGlobal(propertyName) {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);\n if (typeof descriptor === \"undefined\") {\n return false;\n }\n if (typeof descriptor.get === \"function\" && typeof descriptor.get() === \"undefined\") {\n return false;\n }\n if (typeof descriptor.get === \"undefined\" && descriptor.value == null) {\n return false;\n }\n if (typeof descriptor.set === \"undefined\" && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n );\n return false;\n }\n return true;\n}\n\nexport {\n emitAsync,\n hasConfigurableGlobal\n};\n//# sourceMappingURL=chunk-VYSDLBSS.mjs.map"],"names":["async","emitAsync","emitter","eventName","data","listeners","length","listener","apply","hasConfigurableGlobal","propertyName","descriptor","Object","getOwnPropertyDescriptor","globalThis","get","value","set","configurable","console","error"],"mappings":"AACAA,eAAeC,EAAUC,EAASC,KAAcC,GAC9C,MAAMC,EAAYH,EAAQG,UAAUF,GACpC,GAAyB,IAArBE,EAAUC,OAGd,IAAK,MAAMC,KAAYF,QACfE,EAASC,MAAMN,EAASE,EAElC,CAGA,SAASK,EAAsBC,GAC7B,MAAMC,EAAaC,OAAOC,yBAAyBC,WAAYJ,GAC/D,YAA0B,IAAfC,KAGmB,mBAAnBA,EAAWI,UAAkD,IAArBJ,EAAWI,eAGhC,IAAnBJ,EAAWI,KAA2C,MAApBJ,EAAWK,gBAG1B,IAAnBL,EAAWM,MAAwBN,EAAWO,gBACvDC,QAAQC,MACN,mDAAmDV,wKAE9C,KAGX","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../../../../../../@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.cjs.js"),t=require("../../../../../../strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.cjs.js");function i(e){return globalThis[e]||void 0}function s(e){delete globalThis[e]}exports.Interceptor=class{constructor(i){this.symbol=i,this.readyState="INACTIVE",this.emitter=new t.Emitter,this.subscriptions=[],this.logger=new e.Logger(i.description),this.emitter.setMaxListeners(0),this.logger.info("constructing the interceptor...")}checkEnvironment(){return!0}apply(){const e=this.logger.extend("apply");if(e.info("applying the interceptor..."),"APPLIED"===this.readyState)return void e.info("intercepted already applied!");if(!this.checkEnvironment())return void e.info("the interceptor cannot be applied in this environment!");this.readyState="APPLYING";const t=this.getInstance();if(t)return e.info("found a running instance, reusing..."),this.on=(i,s)=>(e.info('proxying the "%s" listener',i),t.emitter.addListener(i,s),this.subscriptions.push((()=>{t.emitter.removeListener(i,s),e.info('removed proxied "%s" listener!',i)})),this),void(this.readyState="APPLIED");e.info("no running instance found, setting up a new instance..."),this.setup(),this.setInstance(),this.readyState="APPLIED"}setup(){}on(e,t){const i=this.logger.extend("on");return"DISPOSING"===this.readyState||"DISPOSED"===this.readyState?(i.info("cannot listen to events, already disposed!"),this):(i.info('adding "%s" event listener:',e,t),this.emitter.on(e,t),this)}once(e,t){return this.emitter.once(e,t),this}off(e,t){return this.emitter.off(e,t),this}removeAllListeners(e){return this.emitter.removeAllListeners(e),this}dispose(){const e=this.logger.extend("dispose");if("DISPOSED"!==this.readyState)if(e.info("disposing the interceptor..."),this.readyState="DISPOSING",this.getInstance()){if(this.clearInstance(),e.info("global symbol deleted:",i(this.symbol)),this.subscriptions.length>0){e.info("disposing of %d subscriptions...",this.subscriptions.length);for(const e of this.subscriptions)e();this.subscriptions=[],e.info("disposed of all subscriptions!",this.subscriptions.length)}this.emitter.removeAllListeners(),e.info("destroyed the listener!"),this.readyState="DISPOSED"}else e.info("no interceptors running, skipping dispose...");else e.info("cannot dispose, already disposed!")}getInstance(){var e;const t=i(this.symbol);return this.logger.info("retrieved global instance:",null==(e=null==t?void 0:t.constructor)?void 0:e.name),t}setInstance(){var e,t;e=this.symbol,t=this,globalThis[e]=t,this.logger.info("set global instance!",this.symbol.description)}clearInstance(){s(this.symbol),this.logger.info("cleared global instance!",this.symbol.description)}},exports.createRequestId=function(){return Math.random().toString(16).slice(2)},exports.deleteGlobalSymbol=s,exports.getGlobalSymbol=i;
2
+ //# sourceMappingURL=chunk-Z5TSB3T6.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Z5TSB3T6.cjs.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@mswjs+interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.mjs"],"sourcesContent":["var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\n\n// src/Interceptor.ts\nimport { Logger } from \"@open-draft/logger\";\nimport { Emitter } from \"strict-event-emitter\";\nvar INTERNAL_REQUEST_ID_HEADER_NAME = \"x-interceptors-internal-request-id\";\nfunction getGlobalSymbol(symbol) {\n return (\n // @ts-ignore https://github.com/Microsoft/TypeScript/issues/24587\n globalThis[symbol] || void 0\n );\n}\nfunction setGlobalSymbol(symbol, value) {\n globalThis[symbol] = value;\n}\nfunction deleteGlobalSymbol(symbol) {\n delete globalThis[symbol];\n}\nvar InterceptorReadyState = /* @__PURE__ */ ((InterceptorReadyState2) => {\n InterceptorReadyState2[\"INACTIVE\"] = \"INACTIVE\";\n InterceptorReadyState2[\"APPLYING\"] = \"APPLYING\";\n InterceptorReadyState2[\"APPLIED\"] = \"APPLIED\";\n InterceptorReadyState2[\"DISPOSING\"] = \"DISPOSING\";\n InterceptorReadyState2[\"DISPOSED\"] = \"DISPOSED\";\n return InterceptorReadyState2;\n})(InterceptorReadyState || {});\nvar Interceptor = class {\n constructor(symbol) {\n this.symbol = symbol;\n this.readyState = \"INACTIVE\" /* INACTIVE */;\n this.emitter = new Emitter();\n this.subscriptions = [];\n this.logger = new Logger(symbol.description);\n this.emitter.setMaxListeners(0);\n this.logger.info(\"constructing the interceptor...\");\n }\n /**\n * Determine if this interceptor can be applied\n * in the current environment.\n */\n checkEnvironment() {\n return true;\n }\n /**\n * Apply this interceptor to the current process.\n * Returns an already running interceptor instance if it's present.\n */\n apply() {\n const logger = this.logger.extend(\"apply\");\n logger.info(\"applying the interceptor...\");\n if (this.readyState === \"APPLIED\" /* APPLIED */) {\n logger.info(\"intercepted already applied!\");\n return;\n }\n const shouldApply = this.checkEnvironment();\n if (!shouldApply) {\n logger.info(\"the interceptor cannot be applied in this environment!\");\n return;\n }\n this.readyState = \"APPLYING\" /* APPLYING */;\n const runningInstance = this.getInstance();\n if (runningInstance) {\n logger.info(\"found a running instance, reusing...\");\n this.on = (event, listener) => {\n logger.info('proxying the \"%s\" listener', event);\n runningInstance.emitter.addListener(event, listener);\n this.subscriptions.push(() => {\n runningInstance.emitter.removeListener(event, listener);\n logger.info('removed proxied \"%s\" listener!', event);\n });\n return this;\n };\n this.readyState = \"APPLIED\" /* APPLIED */;\n return;\n }\n logger.info(\"no running instance found, setting up a new instance...\");\n this.setup();\n this.setInstance();\n this.readyState = \"APPLIED\" /* APPLIED */;\n }\n /**\n * Setup the module augments and stubs necessary for this interceptor.\n * This method is not run if there's a running interceptor instance\n * to prevent instantiating an interceptor multiple times.\n */\n setup() {\n }\n /**\n * Listen to the interceptor's public events.\n */\n on(event, listener) {\n const logger = this.logger.extend(\"on\");\n if (this.readyState === \"DISPOSING\" /* DISPOSING */ || this.readyState === \"DISPOSED\" /* DISPOSED */) {\n logger.info(\"cannot listen to events, already disposed!\");\n return this;\n }\n logger.info('adding \"%s\" event listener:', event, listener);\n this.emitter.on(event, listener);\n return this;\n }\n once(event, listener) {\n this.emitter.once(event, listener);\n return this;\n }\n off(event, listener) {\n this.emitter.off(event, listener);\n return this;\n }\n removeAllListeners(event) {\n this.emitter.removeAllListeners(event);\n return this;\n }\n /**\n * Disposes of any side-effects this interceptor has introduced.\n */\n dispose() {\n const logger = this.logger.extend(\"dispose\");\n if (this.readyState === \"DISPOSED\" /* DISPOSED */) {\n logger.info(\"cannot dispose, already disposed!\");\n return;\n }\n logger.info(\"disposing the interceptor...\");\n this.readyState = \"DISPOSING\" /* DISPOSING */;\n if (!this.getInstance()) {\n logger.info(\"no interceptors running, skipping dispose...\");\n return;\n }\n this.clearInstance();\n logger.info(\"global symbol deleted:\", getGlobalSymbol(this.symbol));\n if (this.subscriptions.length > 0) {\n logger.info(\"disposing of %d subscriptions...\", this.subscriptions.length);\n for (const dispose of this.subscriptions) {\n dispose();\n }\n this.subscriptions = [];\n logger.info(\"disposed of all subscriptions!\", this.subscriptions.length);\n }\n this.emitter.removeAllListeners();\n logger.info(\"destroyed the listener!\");\n this.readyState = \"DISPOSED\" /* DISPOSED */;\n }\n getInstance() {\n var _a;\n const instance = getGlobalSymbol(this.symbol);\n this.logger.info(\"retrieved global instance:\", (_a = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a.name);\n return instance;\n }\n setInstance() {\n setGlobalSymbol(this.symbol, this);\n this.logger.info(\"set global instance!\", this.symbol.description);\n }\n clearInstance() {\n deleteGlobalSymbol(this.symbol);\n this.logger.info(\"cleared global instance!\", this.symbol.description);\n }\n};\n\n// src/createRequestId.ts\nfunction createRequestId() {\n return Math.random().toString(16).slice(2);\n}\n\nexport {\n __privateGet,\n __privateAdd,\n INTERNAL_REQUEST_ID_HEADER_NAME,\n getGlobalSymbol,\n deleteGlobalSymbol,\n InterceptorReadyState,\n Interceptor,\n createRequestId\n};\n//# sourceMappingURL=chunk-Z5TSB3T6.mjs.map"],"names":["getGlobalSymbol","symbol","globalThis","deleteGlobalSymbol","constructor","this","readyState","emitter","Emitter","subscriptions","logger","Logger","description","setMaxListeners","info","checkEnvironment","apply","extend","runningInstance","getInstance","on","event","listener","addListener","push","removeListener","setup","setInstance","once","off","removeAllListeners","dispose","clearInstance","length","_a","instance","name","value","Math","random","toString","slice"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{Logger as t}from"../../../../../../@open-draft_logger@0.3.0/node_modules/@open-draft/logger/lib/index.js";import{Emitter as e}from"../../../../../../strict-event-emitter@0.5.1/node_modules/strict-event-emitter/lib/index.js";function i(t){return globalThis[t]||void 0}function s(t){delete globalThis[t]}var n=class{constructor(i){this.symbol=i,this.readyState="INACTIVE",this.emitter=new e,this.subscriptions=[],this.logger=new t(i.description),this.emitter.setMaxListeners(0),this.logger.info("constructing the interceptor...")}checkEnvironment(){return!0}apply(){const t=this.logger.extend("apply");if(t.info("applying the interceptor..."),"APPLIED"===this.readyState)return void t.info("intercepted already applied!");if(!this.checkEnvironment())return void t.info("the interceptor cannot be applied in this environment!");this.readyState="APPLYING";const e=this.getInstance();if(e)return t.info("found a running instance, reusing..."),this.on=(i,s)=>(t.info('proxying the "%s" listener',i),e.emitter.addListener(i,s),this.subscriptions.push((()=>{e.emitter.removeListener(i,s),t.info('removed proxied "%s" listener!',i)})),this),void(this.readyState="APPLIED");t.info("no running instance found, setting up a new instance..."),this.setup(),this.setInstance(),this.readyState="APPLIED"}setup(){}on(t,e){const i=this.logger.extend("on");return"DISPOSING"===this.readyState||"DISPOSED"===this.readyState?(i.info("cannot listen to events, already disposed!"),this):(i.info('adding "%s" event listener:',t,e),this.emitter.on(t,e),this)}once(t,e){return this.emitter.once(t,e),this}off(t,e){return this.emitter.off(t,e),this}removeAllListeners(t){return this.emitter.removeAllListeners(t),this}dispose(){const t=this.logger.extend("dispose");if("DISPOSED"!==this.readyState)if(t.info("disposing the interceptor..."),this.readyState="DISPOSING",this.getInstance()){if(this.clearInstance(),t.info("global symbol deleted:",i(this.symbol)),this.subscriptions.length>0){t.info("disposing of %d subscriptions...",this.subscriptions.length);for(const t of this.subscriptions)t();this.subscriptions=[],t.info("disposed of all subscriptions!",this.subscriptions.length)}this.emitter.removeAllListeners(),t.info("destroyed the listener!"),this.readyState="DISPOSED"}else t.info("no interceptors running, skipping dispose...");else t.info("cannot dispose, already disposed!")}getInstance(){var t;const e=i(this.symbol);return this.logger.info("retrieved global instance:",null==(t=null==e?void 0:e.constructor)?void 0:t.name),e}setInstance(){var t,e;t=this.symbol,e=this,globalThis[t]=e,this.logger.info("set global instance!",this.symbol.description)}clearInstance(){s(this.symbol),this.logger.info("cleared global instance!",this.symbol.description)}};function o(){return Math.random().toString(16).slice(2)}export{n as Interceptor,o as createRequestId,s as deleteGlobalSymbol,i as getGlobalSymbol};
2
+ //# sourceMappingURL=chunk-Z5TSB3T6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Z5TSB3T6.js","sources":["../../../../../../../../../../../node_modules/.pnpm/@mswjs+interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/chunk-Z5TSB3T6.mjs"],"sourcesContent":["var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\n\n// src/Interceptor.ts\nimport { Logger } from \"@open-draft/logger\";\nimport { Emitter } from \"strict-event-emitter\";\nvar INTERNAL_REQUEST_ID_HEADER_NAME = \"x-interceptors-internal-request-id\";\nfunction getGlobalSymbol(symbol) {\n return (\n // @ts-ignore https://github.com/Microsoft/TypeScript/issues/24587\n globalThis[symbol] || void 0\n );\n}\nfunction setGlobalSymbol(symbol, value) {\n globalThis[symbol] = value;\n}\nfunction deleteGlobalSymbol(symbol) {\n delete globalThis[symbol];\n}\nvar InterceptorReadyState = /* @__PURE__ */ ((InterceptorReadyState2) => {\n InterceptorReadyState2[\"INACTIVE\"] = \"INACTIVE\";\n InterceptorReadyState2[\"APPLYING\"] = \"APPLYING\";\n InterceptorReadyState2[\"APPLIED\"] = \"APPLIED\";\n InterceptorReadyState2[\"DISPOSING\"] = \"DISPOSING\";\n InterceptorReadyState2[\"DISPOSED\"] = \"DISPOSED\";\n return InterceptorReadyState2;\n})(InterceptorReadyState || {});\nvar Interceptor = class {\n constructor(symbol) {\n this.symbol = symbol;\n this.readyState = \"INACTIVE\" /* INACTIVE */;\n this.emitter = new Emitter();\n this.subscriptions = [];\n this.logger = new Logger(symbol.description);\n this.emitter.setMaxListeners(0);\n this.logger.info(\"constructing the interceptor...\");\n }\n /**\n * Determine if this interceptor can be applied\n * in the current environment.\n */\n checkEnvironment() {\n return true;\n }\n /**\n * Apply this interceptor to the current process.\n * Returns an already running interceptor instance if it's present.\n */\n apply() {\n const logger = this.logger.extend(\"apply\");\n logger.info(\"applying the interceptor...\");\n if (this.readyState === \"APPLIED\" /* APPLIED */) {\n logger.info(\"intercepted already applied!\");\n return;\n }\n const shouldApply = this.checkEnvironment();\n if (!shouldApply) {\n logger.info(\"the interceptor cannot be applied in this environment!\");\n return;\n }\n this.readyState = \"APPLYING\" /* APPLYING */;\n const runningInstance = this.getInstance();\n if (runningInstance) {\n logger.info(\"found a running instance, reusing...\");\n this.on = (event, listener) => {\n logger.info('proxying the \"%s\" listener', event);\n runningInstance.emitter.addListener(event, listener);\n this.subscriptions.push(() => {\n runningInstance.emitter.removeListener(event, listener);\n logger.info('removed proxied \"%s\" listener!', event);\n });\n return this;\n };\n this.readyState = \"APPLIED\" /* APPLIED */;\n return;\n }\n logger.info(\"no running instance found, setting up a new instance...\");\n this.setup();\n this.setInstance();\n this.readyState = \"APPLIED\" /* APPLIED */;\n }\n /**\n * Setup the module augments and stubs necessary for this interceptor.\n * This method is not run if there's a running interceptor instance\n * to prevent instantiating an interceptor multiple times.\n */\n setup() {\n }\n /**\n * Listen to the interceptor's public events.\n */\n on(event, listener) {\n const logger = this.logger.extend(\"on\");\n if (this.readyState === \"DISPOSING\" /* DISPOSING */ || this.readyState === \"DISPOSED\" /* DISPOSED */) {\n logger.info(\"cannot listen to events, already disposed!\");\n return this;\n }\n logger.info('adding \"%s\" event listener:', event, listener);\n this.emitter.on(event, listener);\n return this;\n }\n once(event, listener) {\n this.emitter.once(event, listener);\n return this;\n }\n off(event, listener) {\n this.emitter.off(event, listener);\n return this;\n }\n removeAllListeners(event) {\n this.emitter.removeAllListeners(event);\n return this;\n }\n /**\n * Disposes of any side-effects this interceptor has introduced.\n */\n dispose() {\n const logger = this.logger.extend(\"dispose\");\n if (this.readyState === \"DISPOSED\" /* DISPOSED */) {\n logger.info(\"cannot dispose, already disposed!\");\n return;\n }\n logger.info(\"disposing the interceptor...\");\n this.readyState = \"DISPOSING\" /* DISPOSING */;\n if (!this.getInstance()) {\n logger.info(\"no interceptors running, skipping dispose...\");\n return;\n }\n this.clearInstance();\n logger.info(\"global symbol deleted:\", getGlobalSymbol(this.symbol));\n if (this.subscriptions.length > 0) {\n logger.info(\"disposing of %d subscriptions...\", this.subscriptions.length);\n for (const dispose of this.subscriptions) {\n dispose();\n }\n this.subscriptions = [];\n logger.info(\"disposed of all subscriptions!\", this.subscriptions.length);\n }\n this.emitter.removeAllListeners();\n logger.info(\"destroyed the listener!\");\n this.readyState = \"DISPOSED\" /* DISPOSED */;\n }\n getInstance() {\n var _a;\n const instance = getGlobalSymbol(this.symbol);\n this.logger.info(\"retrieved global instance:\", (_a = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a.name);\n return instance;\n }\n setInstance() {\n setGlobalSymbol(this.symbol, this);\n this.logger.info(\"set global instance!\", this.symbol.description);\n }\n clearInstance() {\n deleteGlobalSymbol(this.symbol);\n this.logger.info(\"cleared global instance!\", this.symbol.description);\n }\n};\n\n// src/createRequestId.ts\nfunction createRequestId() {\n return Math.random().toString(16).slice(2);\n}\n\nexport {\n __privateGet,\n __privateAdd,\n INTERNAL_REQUEST_ID_HEADER_NAME,\n getGlobalSymbol,\n deleteGlobalSymbol,\n InterceptorReadyState,\n Interceptor,\n createRequestId\n};\n//# sourceMappingURL=chunk-Z5TSB3T6.mjs.map"],"names":["getGlobalSymbol","symbol","globalThis","deleteGlobalSymbol","Interceptor","constructor","this","readyState","emitter","Emitter","subscriptions","logger","Logger","description","setMaxListeners","info","checkEnvironment","apply","extend","runningInstance","getInstance","on","event","listener","addListener","push","removeListener","setup","setInstance","once","off","removeAllListeners","dispose","clearInstance","length","_a","instance","name","value","createRequestId","Math","random","toString","slice"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../../chunk-VYSDLBSS.cjs.js"),t=require("../../chunk-Z5TSB3T6.cjs.js"),s=require("../../../../../../../../outvariant@1.4.3/node_modules/outvariant/lib/index.cjs.js"),n=require("../../../../../../../../@open-draft_deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.cjs.js");function o(e,t){return Object.defineProperties(t,{target:{value:e,enumerable:!0,writable:!0},currentTarget:{value:e,enumerable:!0,writable:!0}}),t}var r=Symbol("kCancelable"),i=Symbol("kDefaultPrevented"),a=class extends MessageEvent{constructor(e,t){super(e,t),this[r]=!!t.cancelable,this[i]=!1}get cancelable(){return this[r]}set cancelable(e){this[r]=e}get defaultPrevented(){return this[i]}set defaultPrevented(e){this[i]=e}preventDefault(){this.cancelable&&!this[i]&&(this[i]=!0)}},c=class extends Event{constructor(e,t={}){super(e,t),this.code=void 0===t.code?0:t.code,this.reason=void 0===t.reason?"":t.reason,this.wasClean=void 0!==t.wasClean&&t.wasClean}},l=class extends c{constructor(e,t={}){super(e,t),this[r]=!!t.cancelable,this[i]=!1}get cancelable(){return this[r]}set cancelable(e){this[r]=e}get defaultPrevented(){return this[i]}set defaultPrevented(e){this[i]=e}preventDefault(){this.cancelable&&!this[i]&&(this[i]=!0)}},h=Symbol("kEmitter"),d=Symbol("kBoundListener"),u=class{constructor(e,s){this.socket=e,this.transport=s,this.id=t.createRequestId(),this.url=new URL(e.url),this[h]=new EventTarget,this.transport.addEventListener("outgoing",(e=>{const t=o(this.socket,new a("message",{data:e.data,origin:e.origin,cancelable:!0}));this[h].dispatchEvent(t),t.defaultPrevented&&e.preventDefault()})),this.transport.addEventListener("close",(e=>{this[h].dispatchEvent(o(this.socket,new c("close",e)))}))}addEventListener(e,t,s){if(!Reflect.has(t,d)){const e=t.bind(this.socket);Object.defineProperty(t,d,{value:e,enumerable:!1,configurable:!1})}this[h].addEventListener(e,Reflect.get(t,d),s)}removeEventListener(e,t,s){this[h].removeEventListener(e,Reflect.get(t,d),s)}send(e){this.transport.send(e)}close(e,t){this.transport.close(e,t)}},v="InvalidAccessError: close code out of user configurable range",b=Symbol("kPassthroughPromise"),E=Symbol("kOnSend"),p=Symbol("kClose"),S=class extends EventTarget{constructor(e,t){super(),this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null,this.url=e.toString(),this.protocol="",this.extensions="",this.binaryType="blob",this.readyState=this.CONNECTING,this.bufferedAmount=0,this[b]=new n.DeferredPromise,queueMicrotask((async()=>{await this[b]||(this.protocol="string"==typeof t?t:Array.isArray(t)&&t.length>0?t[0]:"",this.readyState===this.CONNECTING&&(this.readyState=this.OPEN,this.dispatchEvent(o(this,new Event("open")))))}))}set onopen(e){this.removeEventListener("open",this._onopen),this._onopen=e,null!==e&&this.addEventListener("open",e)}get onopen(){return this._onopen}set onmessage(e){this.removeEventListener("message",this._onmessage),this._onmessage=e,null!==e&&this.addEventListener("message",e)}get onmessage(){return this._onmessage}set onerror(e){this.removeEventListener("error",this._onerror),this._onerror=e,null!==e&&this.addEventListener("error",e)}get onerror(){return this._onerror}set onclose(e){this.removeEventListener("close",this._onclose),this._onclose=e,null!==e&&this.addEventListener("close",e)}get onclose(){return this._onclose}send(e){if(this.readyState===this.CONNECTING)throw this.close(),new DOMException("InvalidStateError");this.readyState!==this.CLOSING&&this.readyState!==this.CLOSED&&(this.bufferedAmount+=function(e){if("string"==typeof e)return e.length;if(e instanceof Blob)return e.size;return e.byteLength}(e),queueMicrotask((()=>{var t;this.bufferedAmount=0,null==(t=this[E])||t.call(this,e)})))}close(e=1e3,t){s.invariant(e,v),s.invariant(1e3===e||e>=3e3&&e<=4999,v),this[p](e,t)}[p](e=1e3,t,s=!0){this.readyState!==this.CLOSING&&this.readyState!==this.CLOSED&&(this.readyState=this.CLOSING,queueMicrotask((()=>{this.readyState=this.CLOSED,this.dispatchEvent(o(this,new c("close",{code:e,reason:t,wasClean:s}))),this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null})))}addEventListener(e,t,s){return super.addEventListener(e,t,s)}removeEventListener(e,t,s){return super.removeEventListener(e,t,s)}};S.CONNECTING=0,S.OPEN=1,S.CLOSING=2,S.CLOSED=3;var g=Symbol("kEmitter"),k=Symbol("kBoundListener"),C=Symbol("kSend"),m=class{constructor(e,t,s){this.client=e,this.transport=t,this.createConnection=s,this[g]=new EventTarget,this.mockCloseController=new AbortController,this.realCloseController=new AbortController,this.transport.addEventListener("outgoing",(e=>{void 0!==this.realWebSocket&&queueMicrotask((()=>{e.defaultPrevented||this[C](e.data)}))})),this.transport.addEventListener("incoming",this.handleIncomingMessage.bind(this))}get socket(){return s.invariant(this.realWebSocket,'Cannot access "socket" on the original WebSocket server object: the connection is not open. Did you forget to call `server.connect()`?'),this.realWebSocket}connect(){s.invariant(!this.realWebSocket||this.realWebSocket.readyState!==WebSocket.OPEN,'Failed to call "connect()" on the original WebSocket instance: the connection already open');const e=this.createConnection();e.binaryType=this.client.binaryType,e.addEventListener("open",(e=>{this[g].dispatchEvent(o(this.realWebSocket,new Event("open",e)))}),{once:!0}),e.addEventListener("message",(e=>{this.transport.dispatchEvent(o(this.realWebSocket,new MessageEvent("incoming",{data:e.data,origin:e.origin})))})),this.client.addEventListener("close",(e=>{this.handleMockClose(e)}),{signal:this.mockCloseController.signal}),e.addEventListener("close",(e=>{this.handleRealClose(e)}),{signal:this.realCloseController.signal}),e.addEventListener("error",(()=>{const t=o(e,new Event("error",{cancelable:!0}));this[g].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(o(this.client,new Event("error")))})),this.realWebSocket=e}addEventListener(e,t,s){if(!Reflect.has(t,k)){const e=t.bind(this.client);Object.defineProperty(t,k,{value:e,enumerable:!1})}this[g].addEventListener(e,Reflect.get(t,k),s)}removeEventListener(e,t,s){this[g].removeEventListener(e,Reflect.get(t,k),s)}send(e){this[C](e)}[C](e){const{realWebSocket:t}=this;s.invariant(t,'Failed to call "server.send()" for "%s": the connection is not open. Did you forget to call "server.connect()"?',this.client.url),t.readyState!==WebSocket.CLOSING&&t.readyState!==WebSocket.CLOSED&&(t.readyState!==WebSocket.CONNECTING?t.send(e):t.addEventListener("open",(()=>{t.send(e)}),{once:!0}))}close(){const{realWebSocket:e}=this;s.invariant(e,'Failed to close server connection for "%s": the connection is not open. Did you forget to call "server.connect()"?',this.client.url),this.realCloseController.abort(),e.readyState!==WebSocket.CLOSING&&e.readyState!==WebSocket.CLOSED&&(e.close(),queueMicrotask((()=>{this[g].dispatchEvent(o(this.realWebSocket,new l("close",{code:1e3,cancelable:!0})))})))}handleIncomingMessage(e){const t=o(e.target,new a("message",{data:e.data,origin:e.origin,cancelable:!0}));this[g].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(o(this.client,new MessageEvent("message",{data:e.data,origin:e.origin})))}handleMockClose(e){this.realWebSocket&&this.realWebSocket.close()}handleRealClose(e){this.mockCloseController.abort();const t=o(this.realWebSocket,new l("close",{code:e.code,reason:e.reason,wasClean:e.wasClean,cancelable:!0}));this[g].dispatchEvent(t),t.defaultPrevented||this.client[p](e.code,e.reason)}},f=class extends EventTarget{constructor(e){super(),this.socket=e,this.socket.addEventListener("close",(e=>{this.dispatchEvent(o(this.socket,new c("close",e)))})),this.socket[E]=e=>{this.dispatchEvent(o(this.socket,new a("outgoing",{data:e,origin:this.socket.url,cancelable:!0})))}}addEventListener(e,t,s){return super.addEventListener(e,t,s)}dispatchEvent(e){return super.dispatchEvent(e)}send(e){queueMicrotask((()=>{if(this.socket.readyState===this.socket.CLOSING||this.socket.readyState===this.socket.CLOSED)return;const t=()=>{this.socket.dispatchEvent(o(this.socket,new MessageEvent("message",{data:e,origin:this.socket.url})))};this.socket.readyState===this.socket.CONNECTING?this.socket.addEventListener("open",(()=>{t()}),{once:!0}):t()}))}close(e,t){this.socket[p](e,t)}},y=class extends t.Interceptor{constructor(){super(y.symbol)}checkEnvironment(){return e.hasConfigurableGlobal("WebSocket")}setup(){const t=Object.getOwnPropertyDescriptor(globalThis,"WebSocket"),s=new Proxy(globalThis.WebSocket,{construct:(t,s,n)=>{const[r,i]=s,a=()=>Reflect.construct(t,s,n),c=new S(r,i),l=new f(c);return queueMicrotask((async()=>{try{const t=new m(c,l,a),s=this.emitter.listenerCount("connection")>0;await e.emitAsync(this.emitter,"connection",{client:new u(c,l),server:t,info:{protocols:i}}),s?c[b].resolve(!1):(c[b].resolve(!0),t.connect(),t.addEventListener("open",(()=>{c.dispatchEvent(o(c,new Event("open"))),t.realWebSocket&&(c.protocol=t.realWebSocket.protocol)})))}catch(e){e instanceof Error&&(c.dispatchEvent(new Event("error")),c.readyState!==WebSocket.CLOSING&&c.readyState!==WebSocket.CLOSED&&c[p](1011,e.message,!1),console.error(e))}})),c}});Object.defineProperty(globalThis,"WebSocket",{value:s,configurable:!0}),this.subscriptions.push((()=>{Object.defineProperty(globalThis,"WebSocket",t)}))}},L=y;L.symbol=Symbol("websocket"),exports.CancelableCloseEvent=l,exports.CancelableMessageEvent=a,exports.CloseEvent=c,exports.WebSocketClientConnection=u,exports.WebSocketInterceptor=L,exports.WebSocketServerConnection=m;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../../../../../../../../../../../node_modules/.pnpm/@mswjs+interceptors@0.40.0/node_modules/@mswjs/interceptors/lib/browser/interceptors/WebSocket/index.mjs"],"sourcesContent":["import {\n emitAsync,\n hasConfigurableGlobal\n} from \"../../chunk-VYSDLBSS.mjs\";\nimport {\n Interceptor,\n createRequestId\n} from \"../../chunk-Z5TSB3T6.mjs\";\n\n// src/interceptors/WebSocket/utils/bindEvent.ts\nfunction bindEvent(target, event) {\n Object.defineProperties(event, {\n target: {\n value: target,\n enumerable: true,\n writable: true\n },\n currentTarget: {\n value: target,\n enumerable: true,\n writable: true\n }\n });\n return event;\n}\n\n// src/interceptors/WebSocket/utils/events.ts\nvar kCancelable = Symbol(\"kCancelable\");\nvar kDefaultPrevented = Symbol(\"kDefaultPrevented\");\nvar CancelableMessageEvent = class extends MessageEvent {\n constructor(type, init) {\n super(type, init);\n this[kCancelable] = !!init.cancelable;\n this[kDefaultPrevented] = false;\n }\n get cancelable() {\n return this[kCancelable];\n }\n set cancelable(nextCancelable) {\n this[kCancelable] = nextCancelable;\n }\n get defaultPrevented() {\n return this[kDefaultPrevented];\n }\n set defaultPrevented(nextDefaultPrevented) {\n this[kDefaultPrevented] = nextDefaultPrevented;\n }\n preventDefault() {\n if (this.cancelable && !this[kDefaultPrevented]) {\n this[kDefaultPrevented] = true;\n }\n }\n};\nkCancelable, kDefaultPrevented;\nvar CloseEvent = class extends Event {\n constructor(type, init = {}) {\n super(type, init);\n this.code = init.code === void 0 ? 0 : init.code;\n this.reason = init.reason === void 0 ? \"\" : init.reason;\n this.wasClean = init.wasClean === void 0 ? false : init.wasClean;\n }\n};\nvar CancelableCloseEvent = class extends CloseEvent {\n constructor(type, init = {}) {\n super(type, init);\n this[kCancelable] = !!init.cancelable;\n this[kDefaultPrevented] = false;\n }\n get cancelable() {\n return this[kCancelable];\n }\n set cancelable(nextCancelable) {\n this[kCancelable] = nextCancelable;\n }\n get defaultPrevented() {\n return this[kDefaultPrevented];\n }\n set defaultPrevented(nextDefaultPrevented) {\n this[kDefaultPrevented] = nextDefaultPrevented;\n }\n preventDefault() {\n if (this.cancelable && !this[kDefaultPrevented]) {\n this[kDefaultPrevented] = true;\n }\n }\n};\nkCancelable, kDefaultPrevented;\n\n// src/interceptors/WebSocket/WebSocketClientConnection.ts\nvar kEmitter = Symbol(\"kEmitter\");\nvar kBoundListener = Symbol(\"kBoundListener\");\nvar WebSocketClientConnectionProtocol = class {\n};\nvar WebSocketClientConnection = class {\n constructor(socket, transport) {\n this.socket = socket;\n this.transport = transport;\n this.id = createRequestId();\n this.url = new URL(socket.url);\n this[kEmitter] = new EventTarget();\n this.transport.addEventListener(\"outgoing\", (event) => {\n const message = bindEvent(\n this.socket,\n new CancelableMessageEvent(\"message\", {\n data: event.data,\n origin: event.origin,\n cancelable: true\n })\n );\n this[kEmitter].dispatchEvent(message);\n if (message.defaultPrevented) {\n event.preventDefault();\n }\n });\n this.transport.addEventListener(\"close\", (event) => {\n this[kEmitter].dispatchEvent(\n bindEvent(this.socket, new CloseEvent(\"close\", event))\n );\n });\n }\n /**\n * Listen for the outgoing events from the connected WebSocket client.\n */\n addEventListener(type, listener, options) {\n if (!Reflect.has(listener, kBoundListener)) {\n const boundListener = listener.bind(this.socket);\n Object.defineProperty(listener, kBoundListener, {\n value: boundListener,\n enumerable: false,\n configurable: false\n });\n }\n this[kEmitter].addEventListener(\n type,\n Reflect.get(listener, kBoundListener),\n options\n );\n }\n /**\n * Removes the listener for the given event.\n */\n removeEventListener(event, listener, options) {\n this[kEmitter].removeEventListener(\n event,\n Reflect.get(listener, kBoundListener),\n options\n );\n }\n /**\n * Send data to the connected client.\n */\n send(data) {\n this.transport.send(data);\n }\n /**\n * Close the WebSocket connection.\n * @param {number} code A status code (see https://www.rfc-editor.org/rfc/rfc6455#section-7.4.1).\n * @param {string} reason A custom connection close reason.\n */\n close(code, reason) {\n this.transport.close(code, reason);\n }\n};\nkEmitter;\n\n// src/interceptors/WebSocket/WebSocketServerConnection.ts\nimport { invariant as invariant2 } from \"outvariant\";\n\n// src/interceptors/WebSocket/WebSocketOverride.ts\nimport { invariant } from \"outvariant\";\nimport { DeferredPromise } from \"@open-draft/deferred-promise\";\nvar WEBSOCKET_CLOSE_CODE_RANGE_ERROR = \"InvalidAccessError: close code out of user configurable range\";\nvar kPassthroughPromise = Symbol(\"kPassthroughPromise\");\nvar kOnSend = Symbol(\"kOnSend\");\nvar kClose = Symbol(\"kClose\");\nvar WebSocketOverride = class extends EventTarget {\n constructor(url, protocols) {\n super();\n this.CONNECTING = 0;\n this.OPEN = 1;\n this.CLOSING = 2;\n this.CLOSED = 3;\n this._onopen = null;\n this._onmessage = null;\n this._onerror = null;\n this._onclose = null;\n this.url = url.toString();\n this.protocol = \"\";\n this.extensions = \"\";\n this.binaryType = \"blob\";\n this.readyState = this.CONNECTING;\n this.bufferedAmount = 0;\n this[kPassthroughPromise] = new DeferredPromise();\n queueMicrotask(async () => {\n if (await this[kPassthroughPromise]) {\n return;\n }\n this.protocol = typeof protocols === \"string\" ? protocols : Array.isArray(protocols) && protocols.length > 0 ? protocols[0] : \"\";\n if (this.readyState === this.CONNECTING) {\n this.readyState = this.OPEN;\n this.dispatchEvent(bindEvent(this, new Event(\"open\")));\n }\n });\n }\n set onopen(listener) {\n this.removeEventListener(\"open\", this._onopen);\n this._onopen = listener;\n if (listener !== null) {\n this.addEventListener(\"open\", listener);\n }\n }\n get onopen() {\n return this._onopen;\n }\n set onmessage(listener) {\n this.removeEventListener(\n \"message\",\n this._onmessage\n );\n this._onmessage = listener;\n if (listener !== null) {\n this.addEventListener(\"message\", listener);\n }\n }\n get onmessage() {\n return this._onmessage;\n }\n set onerror(listener) {\n this.removeEventListener(\"error\", this._onerror);\n this._onerror = listener;\n if (listener !== null) {\n this.addEventListener(\"error\", listener);\n }\n }\n get onerror() {\n return this._onerror;\n }\n set onclose(listener) {\n this.removeEventListener(\"close\", this._onclose);\n this._onclose = listener;\n if (listener !== null) {\n this.addEventListener(\"close\", listener);\n }\n }\n get onclose() {\n return this._onclose;\n }\n /**\n * @see https://websockets.spec.whatwg.org/#ref-for-dom-websocket-send%E2%91%A0\n */\n send(data) {\n if (this.readyState === this.CONNECTING) {\n this.close();\n throw new DOMException(\"InvalidStateError\");\n }\n if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {\n return;\n }\n this.bufferedAmount += getDataSize(data);\n queueMicrotask(() => {\n var _a;\n this.bufferedAmount = 0;\n (_a = this[kOnSend]) == null ? void 0 : _a.call(this, data);\n });\n }\n close(code = 1e3, reason) {\n invariant(code, WEBSOCKET_CLOSE_CODE_RANGE_ERROR);\n invariant(\n code === 1e3 || code >= 3e3 && code <= 4999,\n WEBSOCKET_CLOSE_CODE_RANGE_ERROR\n );\n this[kClose](code, reason);\n }\n [(kPassthroughPromise, kOnSend, kClose)](code = 1e3, reason, wasClean = true) {\n if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {\n return;\n }\n this.readyState = this.CLOSING;\n queueMicrotask(() => {\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n bindEvent(\n this,\n new CloseEvent(\"close\", {\n code,\n reason,\n wasClean\n })\n )\n );\n this._onopen = null;\n this._onmessage = null;\n this._onerror = null;\n this._onclose = null;\n });\n }\n addEventListener(type, listener, options) {\n return super.addEventListener(\n type,\n listener,\n options\n );\n }\n removeEventListener(type, callback, options) {\n return super.removeEventListener(type, callback, options);\n }\n};\nWebSocketOverride.CONNECTING = 0;\nWebSocketOverride.OPEN = 1;\nWebSocketOverride.CLOSING = 2;\nWebSocketOverride.CLOSED = 3;\nfunction getDataSize(data) {\n if (typeof data === \"string\") {\n return data.length;\n }\n if (data instanceof Blob) {\n return data.size;\n }\n return data.byteLength;\n}\n\n// src/interceptors/WebSocket/WebSocketServerConnection.ts\nvar kEmitter2 = Symbol(\"kEmitter\");\nvar kBoundListener2 = Symbol(\"kBoundListener\");\nvar kSend = Symbol(\"kSend\");\nvar WebSocketServerConnectionProtocol = class {\n};\nvar WebSocketServerConnection = class {\n constructor(client, transport, createConnection) {\n this.client = client;\n this.transport = transport;\n this.createConnection = createConnection;\n this[kEmitter2] = new EventTarget();\n this.mockCloseController = new AbortController();\n this.realCloseController = new AbortController();\n this.transport.addEventListener(\"outgoing\", (event) => {\n if (typeof this.realWebSocket === \"undefined\") {\n return;\n }\n queueMicrotask(() => {\n if (!event.defaultPrevented) {\n this[kSend](event.data);\n }\n });\n });\n this.transport.addEventListener(\n \"incoming\",\n this.handleIncomingMessage.bind(this)\n );\n }\n /**\n * The `WebSocket` instance connected to the original server.\n * Accessing this before calling `server.connect()` will throw.\n */\n get socket() {\n invariant2(\n this.realWebSocket,\n 'Cannot access \"socket\" on the original WebSocket server object: the connection is not open. Did you forget to call `server.connect()`?'\n );\n return this.realWebSocket;\n }\n /**\n * Open connection to the original WebSocket server.\n */\n connect() {\n invariant2(\n !this.realWebSocket || this.realWebSocket.readyState !== WebSocket.OPEN,\n 'Failed to call \"connect()\" on the original WebSocket instance: the connection already open'\n );\n const realWebSocket = this.createConnection();\n realWebSocket.binaryType = this.client.binaryType;\n realWebSocket.addEventListener(\n \"open\",\n (event) => {\n this[kEmitter2].dispatchEvent(\n bindEvent(this.realWebSocket, new Event(\"open\", event))\n );\n },\n { once: true }\n );\n realWebSocket.addEventListener(\"message\", (event) => {\n this.transport.dispatchEvent(\n bindEvent(\n this.realWebSocket,\n new MessageEvent(\"incoming\", {\n data: event.data,\n origin: event.origin\n })\n )\n );\n });\n this.client.addEventListener(\n \"close\",\n (event) => {\n this.handleMockClose(event);\n },\n {\n signal: this.mockCloseController.signal\n }\n );\n realWebSocket.addEventListener(\n \"close\",\n (event) => {\n this.handleRealClose(event);\n },\n {\n signal: this.realCloseController.signal\n }\n );\n realWebSocket.addEventListener(\"error\", () => {\n const errorEvent = bindEvent(\n realWebSocket,\n new Event(\"error\", { cancelable: true })\n );\n this[kEmitter2].dispatchEvent(errorEvent);\n if (!errorEvent.defaultPrevented) {\n this.client.dispatchEvent(bindEvent(this.client, new Event(\"error\")));\n }\n });\n this.realWebSocket = realWebSocket;\n }\n /**\n * Listen for the incoming events from the original WebSocket server.\n */\n addEventListener(event, listener, options) {\n if (!Reflect.has(listener, kBoundListener2)) {\n const boundListener = listener.bind(this.client);\n Object.defineProperty(listener, kBoundListener2, {\n value: boundListener,\n enumerable: false\n });\n }\n this[kEmitter2].addEventListener(\n event,\n Reflect.get(listener, kBoundListener2),\n options\n );\n }\n /**\n * Remove the listener for the given event.\n */\n removeEventListener(event, listener, options) {\n this[kEmitter2].removeEventListener(\n event,\n Reflect.get(listener, kBoundListener2),\n options\n );\n }\n /**\n * Send data to the original WebSocket server.\n * @example\n * server.send('hello')\n * server.send(new Blob(['hello']))\n * server.send(new TextEncoder().encode('hello'))\n */\n send(data) {\n this[kSend](data);\n }\n [(kEmitter2, kSend)](data) {\n const { realWebSocket } = this;\n invariant2(\n realWebSocket,\n 'Failed to call \"server.send()\" for \"%s\": the connection is not open. Did you forget to call \"server.connect()\"?',\n this.client.url\n );\n if (realWebSocket.readyState === WebSocket.CLOSING || realWebSocket.readyState === WebSocket.CLOSED) {\n return;\n }\n if (realWebSocket.readyState === WebSocket.CONNECTING) {\n realWebSocket.addEventListener(\n \"open\",\n () => {\n realWebSocket.send(data);\n },\n { once: true }\n );\n return;\n }\n realWebSocket.send(data);\n }\n /**\n * Close the actual server connection.\n */\n close() {\n const { realWebSocket } = this;\n invariant2(\n realWebSocket,\n 'Failed to close server connection for \"%s\": the connection is not open. Did you forget to call \"server.connect()\"?',\n this.client.url\n );\n this.realCloseController.abort();\n if (realWebSocket.readyState === WebSocket.CLOSING || realWebSocket.readyState === WebSocket.CLOSED) {\n return;\n }\n realWebSocket.close();\n queueMicrotask(() => {\n this[kEmitter2].dispatchEvent(\n bindEvent(\n this.realWebSocket,\n new CancelableCloseEvent(\"close\", {\n /**\n * @note `server.close()` in the interceptor\n * always results in clean closures.\n */\n code: 1e3,\n cancelable: true\n })\n )\n );\n });\n }\n handleIncomingMessage(event) {\n const messageEvent = bindEvent(\n event.target,\n new CancelableMessageEvent(\"message\", {\n data: event.data,\n origin: event.origin,\n cancelable: true\n })\n );\n this[kEmitter2].dispatchEvent(messageEvent);\n if (!messageEvent.defaultPrevented) {\n this.client.dispatchEvent(\n bindEvent(\n /**\n * @note Bind the forwarded original server events\n * to the mock WebSocket instance so it would\n * dispatch them straight away.\n */\n this.client,\n // Clone the message event again to prevent\n // the \"already being dispatched\" exception.\n new MessageEvent(\"message\", {\n data: event.data,\n origin: event.origin\n })\n )\n );\n }\n }\n handleMockClose(_event) {\n if (this.realWebSocket) {\n this.realWebSocket.close();\n }\n }\n handleRealClose(event) {\n this.mockCloseController.abort();\n const closeEvent = bindEvent(\n this.realWebSocket,\n new CancelableCloseEvent(\"close\", {\n code: event.code,\n reason: event.reason,\n wasClean: event.wasClean,\n cancelable: true\n })\n );\n this[kEmitter2].dispatchEvent(closeEvent);\n if (!closeEvent.defaultPrevented) {\n this.client[kClose](event.code, event.reason);\n }\n }\n};\n\n// src/interceptors/WebSocket/WebSocketClassTransport.ts\nvar WebSocketClassTransport = class extends EventTarget {\n constructor(socket) {\n super();\n this.socket = socket;\n this.socket.addEventListener(\"close\", (event) => {\n this.dispatchEvent(bindEvent(this.socket, new CloseEvent(\"close\", event)));\n });\n this.socket[kOnSend] = (data) => {\n this.dispatchEvent(\n bindEvent(\n this.socket,\n // Dispatch this as cancelable because \"client\" connection\n // re-creates this message event (cannot dispatch the same event).\n new CancelableMessageEvent(\"outgoing\", {\n data,\n origin: this.socket.url,\n cancelable: true\n })\n )\n );\n };\n }\n addEventListener(type, callback, options) {\n return super.addEventListener(type, callback, options);\n }\n dispatchEvent(event) {\n return super.dispatchEvent(event);\n }\n send(data) {\n queueMicrotask(() => {\n if (this.socket.readyState === this.socket.CLOSING || this.socket.readyState === this.socket.CLOSED) {\n return;\n }\n const dispatchEvent = () => {\n this.socket.dispatchEvent(\n bindEvent(\n /**\n * @note Setting this event's \"target\" to the\n * WebSocket override instance is important.\n * This way it can tell apart original incoming events\n * (must be forwarded to the transport) from the\n * mocked message events like the one below\n * (must be dispatched on the client instance).\n */\n this.socket,\n new MessageEvent(\"message\", {\n data,\n origin: this.socket.url\n })\n )\n );\n };\n if (this.socket.readyState === this.socket.CONNECTING) {\n this.socket.addEventListener(\n \"open\",\n () => {\n dispatchEvent();\n },\n { once: true }\n );\n } else {\n dispatchEvent();\n }\n });\n }\n close(code, reason) {\n this.socket[kClose](code, reason);\n }\n};\n\n// src/interceptors/WebSocket/index.ts\nvar _WebSocketInterceptor = class extends Interceptor {\n constructor() {\n super(_WebSocketInterceptor.symbol);\n }\n checkEnvironment() {\n return hasConfigurableGlobal(\"WebSocket\");\n }\n setup() {\n const originalWebSocketDescriptor = Object.getOwnPropertyDescriptor(\n globalThis,\n \"WebSocket\"\n );\n const WebSocketProxy = new Proxy(globalThis.WebSocket, {\n construct: (target, args, newTarget) => {\n const [url, protocols] = args;\n const createConnection = () => {\n return Reflect.construct(target, args, newTarget);\n };\n const socket = new WebSocketOverride(url, protocols);\n const transport = new WebSocketClassTransport(socket);\n queueMicrotask(async () => {\n try {\n const server = new WebSocketServerConnection(\n socket,\n transport,\n createConnection\n );\n const hasConnectionListeners = this.emitter.listenerCount(\"connection\") > 0;\n await emitAsync(this.emitter, \"connection\", {\n client: new WebSocketClientConnection(socket, transport),\n server,\n info: {\n protocols\n }\n });\n if (hasConnectionListeners) {\n socket[kPassthroughPromise].resolve(false);\n } else {\n socket[kPassthroughPromise].resolve(true);\n server.connect();\n server.addEventListener(\"open\", () => {\n socket.dispatchEvent(bindEvent(socket, new Event(\"open\")));\n if (server[\"realWebSocket\"]) {\n socket.protocol = server[\"realWebSocket\"].protocol;\n }\n });\n }\n } catch (error) {\n if (error instanceof Error) {\n socket.dispatchEvent(new Event(\"error\"));\n if (socket.readyState !== WebSocket.CLOSING && socket.readyState !== WebSocket.CLOSED) {\n socket[kClose](1011, error.message, false);\n }\n console.error(error);\n }\n }\n });\n return socket;\n }\n });\n Object.defineProperty(globalThis, \"WebSocket\", {\n value: WebSocketProxy,\n configurable: true\n });\n this.subscriptions.push(() => {\n Object.defineProperty(\n globalThis,\n \"WebSocket\",\n originalWebSocketDescriptor\n );\n });\n }\n};\nvar WebSocketInterceptor = _WebSocketInterceptor;\nWebSocketInterceptor.symbol = Symbol(\"websocket\");\nexport {\n CancelableCloseEvent,\n CancelableMessageEvent,\n CloseEvent,\n WebSocketClientConnection,\n WebSocketClientConnectionProtocol,\n WebSocketInterceptor,\n WebSocketServerConnection,\n WebSocketServerConnectionProtocol\n};\n//# sourceMappingURL=index.mjs.map"],"names":["bindEvent","target","event","Object","defineProperties","value","enumerable","writable","currentTarget","kCancelable","Symbol","kDefaultPrevented","CancelableMessageEvent","MessageEvent","constructor","type","init","super","this","cancelable","nextCancelable","defaultPrevented","nextDefaultPrevented","preventDefault","CloseEvent","Event","code","reason","wasClean","CancelableCloseEvent","kEmitter","kBoundListener","WebSocketClientConnection","socket","transport","id","createRequestId","url","URL","EventTarget","addEventListener","message","data","origin","dispatchEvent","listener","options","Reflect","has","boundListener","bind","defineProperty","configurable","get","removeEventListener","send","close","WEBSOCKET_CLOSE_CODE_RANGE_ERROR","kPassthroughPromise","kOnSend","kClose","WebSocketOverride","protocols","CONNECTING","OPEN","CLOSING","CLOSED","_onopen","_onmessage","_onerror","_onclose","toString","protocol","extensions","binaryType","readyState","bufferedAmount","DeferredPromise","queueMicrotask","async","Array","isArray","length","onopen","onmessage","onerror","onclose","DOMException","Blob","size","byteLength","getDataSize","_a","call","invariant","callback","kEmitter2","kBoundListener2","kSend","WebSocketServerConnection","client","createConnection","mockCloseController","AbortController","realCloseController","realWebSocket","handleIncomingMessage","invariant2","connect","WebSocket","once","handleMockClose","signal","handleRealClose","errorEvent","abort","messageEvent","_event","closeEvent","WebSocketClassTransport","_WebSocketInterceptor","Interceptor","symbol","checkEnvironment","hasConfigurableGlobal","setup","originalWebSocketDescriptor","getOwnPropertyDescriptor","globalThis","WebSocketProxy","Proxy","construct","args","newTarget","server","hasConnectionListeners","emitter","listenerCount","emitAsync","info","resolve","error","Error","console","subscriptions","push","WebSocketInterceptor"],"mappings":"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","x_google_ignoreList":[0]}