dn-react-router-toolkit 0.2.7 → 0.3.2

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 (279) hide show
  1. package/dist/api/create_handler.d.mts +13 -0
  2. package/dist/api/create_handler.d.ts +13 -0
  3. package/dist/api/create_handler.js +298 -0
  4. package/dist/api/create_handler.mjs +304 -0
  5. package/dist/api/index.d.mts +4 -0
  6. package/dist/api/index.d.ts +4 -0
  7. package/dist/api/index.js +298 -0
  8. package/dist/api/index.mjs +304 -0
  9. package/dist/auth/client/index.d.mts +3 -0
  10. package/dist/auth/client/index.d.ts +3 -0
  11. package/dist/{date.js → auth/client/index.js} +25 -32
  12. package/dist/auth/client/index.mjs +21 -0
  13. package/dist/auth/client/redirect_page.d.mts +1 -0
  14. package/dist/auth/client/redirect_page.d.ts +1 -0
  15. package/dist/auth/cookie_store.d.mts +13 -0
  16. package/dist/auth/cookie_store.d.ts +13 -0
  17. package/dist/{text_editor/plugins/keymap.js → auth/cookie_store.js} +24 -16
  18. package/dist/auth/cookie_store.mjs +23 -0
  19. package/dist/auth/index.d.mts +5 -0
  20. package/dist/auth/index.d.ts +5 -0
  21. package/dist/auth/index.js +139 -0
  22. package/dist/auth/index.mjs +111 -0
  23. package/dist/auth/server/index.d.mts +1 -0
  24. package/dist/auth/server/index.d.ts +1 -0
  25. package/dist/{slug.js → auth/server/index.js} +6 -14
  26. package/dist/auth/server/index.mjs +2 -0
  27. package/dist/auth/with_auth.d.mts +2 -6
  28. package/dist/auth/with_auth.d.ts +2 -6
  29. package/dist/auth/with_auth.js +3 -0
  30. package/dist/auth/with_auth.mjs +3 -0
  31. package/dist/{components → client}/client_env.d.mts +1 -1
  32. package/dist/{components → client}/client_env.d.ts +1 -1
  33. package/dist/{components → client}/client_env.js +6 -2
  34. package/dist/{components → client}/client_env.mjs +2 -2
  35. package/dist/client/index.d.mts +3 -0
  36. package/dist/client/index.d.ts +3 -0
  37. package/dist/{auth/client/google_login_button.js → client/index.js} +30 -33
  38. package/dist/client/index.mjs +31 -0
  39. package/dist/client/use_user_agent.d.mts +8 -0
  40. package/dist/client/use_user_agent.d.ts +8 -0
  41. package/dist/{file/client/format_size.js → client/use_user_agent.js} +14 -14
  42. package/dist/client/use_user_agent.mjs +13 -0
  43. package/dist/file/client/index.d.mts +1 -0
  44. package/dist/file/client/index.d.ts +1 -0
  45. package/dist/file/{cdn.js → client/index.js} +6 -16
  46. package/dist/file/client/index.mjs +2 -0
  47. package/dist/file/index.d.mts +1 -0
  48. package/dist/file/index.d.ts +1 -0
  49. package/dist/{cn.js → file/index.js} +6 -14
  50. package/dist/file/index.mjs +2 -0
  51. package/dist/file/server/index.d.mts +1 -0
  52. package/dist/file/server/index.d.ts +1 -0
  53. package/dist/file/server/index.js +24 -0
  54. package/dist/file/server/index.mjs +2 -0
  55. package/dist/http/index.d.mts +1 -1
  56. package/dist/http/index.d.ts +1 -1
  57. package/dist/http/index.js +3 -90
  58. package/dist/http/index.mjs +2 -68
  59. package/dist/index.d.mts +8 -6
  60. package/dist/index.d.ts +8 -6
  61. package/dist/index.js +3 -79
  62. package/dist/index.mjs +2 -58
  63. package/dist/modal/index.d.mts +1 -0
  64. package/dist/modal/index.d.ts +1 -0
  65. package/dist/{sleep.js → modal/index.js} +6 -14
  66. package/dist/modal/index.mjs +2 -0
  67. package/dist/seo/index.d.mts +4 -0
  68. package/dist/seo/index.d.ts +4 -0
  69. package/dist/seo/index.js +304 -0
  70. package/dist/seo/index.mjs +267 -0
  71. package/dist/text_editor/index.d.mts +1 -0
  72. package/dist/text_editor/index.d.ts +1 -0
  73. package/dist/text_editor/index.js +24 -0
  74. package/dist/text_editor/index.mjs +2 -0
  75. package/package.json +58 -32
  76. package/dist/auth/apple_auth.d.mts +0 -38
  77. package/dist/auth/apple_auth.d.ts +0 -38
  78. package/dist/auth/apple_auth.js +0 -88
  79. package/dist/auth/apple_auth.mjs +0 -63
  80. package/dist/auth/auth_repository.d.mts +0 -41
  81. package/dist/auth/auth_repository.d.ts +0 -41
  82. package/dist/auth/auth_repository.js +0 -18
  83. package/dist/auth/auth_repository.mjs +0 -0
  84. package/dist/auth/auth_service.d.mts +0 -63
  85. package/dist/auth/auth_service.d.ts +0 -63
  86. package/dist/auth/auth_service.js +0 -210
  87. package/dist/auth/auth_service.mjs +0 -171
  88. package/dist/auth/client/google_login_button.d.mts +0 -7
  89. package/dist/auth/client/google_login_button.d.ts +0 -7
  90. package/dist/auth/client/google_login_button.mjs +0 -37
  91. package/dist/auth/client/provider.d.mts +0 -24
  92. package/dist/auth/client/provider.d.ts +0 -24
  93. package/dist/auth/client/provider.js +0 -154
  94. package/dist/auth/client/provider.mjs +0 -118
  95. package/dist/auth/google_auth.d.mts +0 -33
  96. package/dist/auth/google_auth.d.ts +0 -33
  97. package/dist/auth/google_auth.js +0 -135
  98. package/dist/auth/google_auth.mjs +0 -108
  99. package/dist/auth/handlers/find_auth.d.mts +0 -13
  100. package/dist/auth/handlers/find_auth.d.ts +0 -13
  101. package/dist/auth/handlers/find_auth.js +0 -82
  102. package/dist/auth/handlers/find_auth.mjs +0 -55
  103. package/dist/auth/handlers/login.d.mts +0 -13
  104. package/dist/auth/handlers/login.d.ts +0 -13
  105. package/dist/auth/handlers/login.js +0 -107
  106. package/dist/auth/handlers/login.mjs +0 -80
  107. package/dist/auth/handlers/login_with_thirdparty.d.mts +0 -15
  108. package/dist/auth/handlers/login_with_thirdparty.d.ts +0 -15
  109. package/dist/auth/handlers/login_with_thirdparty.js +0 -98
  110. package/dist/auth/handlers/login_with_thirdparty.mjs +0 -71
  111. package/dist/auth/handlers/logout.d.mts +0 -13
  112. package/dist/auth/handlers/logout.d.ts +0 -13
  113. package/dist/auth/handlers/logout.js +0 -102
  114. package/dist/auth/handlers/logout.mjs +0 -75
  115. package/dist/auth/handlers/refresh.d.mts +0 -13
  116. package/dist/auth/handlers/refresh.d.ts +0 -13
  117. package/dist/auth/handlers/refresh.js +0 -92
  118. package/dist/auth/handlers/refresh.mjs +0 -65
  119. package/dist/auth/handlers/request_password_reset.d.mts +0 -10
  120. package/dist/auth/handlers/request_password_reset.d.ts +0 -10
  121. package/dist/auth/handlers/request_password_reset.js +0 -87
  122. package/dist/auth/handlers/request_password_reset.mjs +0 -60
  123. package/dist/auth/handlers/reset_password.d.mts +0 -10
  124. package/dist/auth/handlers/reset_password.d.ts +0 -10
  125. package/dist/auth/handlers/reset_password.js +0 -88
  126. package/dist/auth/handlers/reset_password.mjs +0 -61
  127. package/dist/auth/handlers/signup.d.mts +0 -15
  128. package/dist/auth/handlers/signup.d.ts +0 -15
  129. package/dist/auth/handlers/signup.js +0 -147
  130. package/dist/auth/handlers/signup.mjs +0 -112
  131. package/dist/auth/handlers/signup_with_thirdparty.d.mts +0 -17
  132. package/dist/auth/handlers/signup_with_thirdparty.d.ts +0 -17
  133. package/dist/auth/handlers/signup_with_thirdparty.js +0 -123
  134. package/dist/auth/handlers/signup_with_thirdparty.mjs +0 -98
  135. package/dist/auth/handlers/thirdparty_auth_callback.d.mts +0 -16
  136. package/dist/auth/handlers/thirdparty_auth_callback.d.ts +0 -16
  137. package/dist/auth/handlers/thirdparty_auth_callback.js +0 -129
  138. package/dist/auth/handlers/thirdparty_auth_callback.mjs +0 -102
  139. package/dist/auth/jwt_manager.d.mts +0 -38
  140. package/dist/auth/jwt_manager.d.ts +0 -38
  141. package/dist/auth/jwt_manager.js +0 -90
  142. package/dist/auth/jwt_manager.mjs +0 -65
  143. package/dist/auth/kakao_auth.d.mts +0 -27
  144. package/dist/auth/kakao_auth.d.ts +0 -27
  145. package/dist/auth/kakao_auth.js +0 -56
  146. package/dist/auth/kakao_auth.mjs +0 -31
  147. package/dist/auth/password_recovery.d.mts +0 -34
  148. package/dist/auth/password_recovery.d.ts +0 -34
  149. package/dist/auth/password_recovery.js +0 -169
  150. package/dist/auth/password_recovery.mjs +0 -134
  151. package/dist/auth/thirdparty_auth.d.mts +0 -41
  152. package/dist/auth/thirdparty_auth.d.ts +0 -41
  153. package/dist/auth/thirdparty_auth.js +0 -113
  154. package/dist/auth/thirdparty_auth.mjs +0 -86
  155. package/dist/cn.d.mts +0 -3
  156. package/dist/cn.d.ts +0 -3
  157. package/dist/cn.mjs +0 -7
  158. package/dist/components/index.d.mts +0 -5
  159. package/dist/components/index.d.ts +0 -5
  160. package/dist/components/index.js +0 -261
  161. package/dist/components/index.mjs +0 -219
  162. package/dist/components/modal/fullscreen_container.d.mts +0 -7
  163. package/dist/components/modal/fullscreen_container.d.ts +0 -7
  164. package/dist/components/modal/fullscreen_container.js +0 -102
  165. package/dist/components/modal/fullscreen_container.mjs +0 -68
  166. package/dist/components/modal/hooks.d.mts +0 -18
  167. package/dist/components/modal/hooks.d.ts +0 -18
  168. package/dist/components/modal/hooks.js +0 -236
  169. package/dist/components/modal/hooks.mjs +0 -204
  170. package/dist/components/modal/index.d.mts +0 -4
  171. package/dist/components/modal/index.d.ts +0 -4
  172. package/dist/components/modal/index.js +0 -238
  173. package/dist/components/modal/index.mjs +0 -203
  174. package/dist/components/modal/modal.d.mts +0 -13
  175. package/dist/components/modal/modal.d.ts +0 -13
  176. package/dist/components/modal/modal.js +0 -155
  177. package/dist/components/modal/modal.mjs +0 -130
  178. package/dist/components/styles.d.mts +0 -9
  179. package/dist/components/styles.d.ts +0 -9
  180. package/dist/components/styles.js +0 -48
  181. package/dist/components/styles.mjs +0 -17
  182. package/dist/date.d.mts +0 -5
  183. package/dist/date.d.ts +0 -5
  184. package/dist/date.mjs +0 -29
  185. package/dist/file/cdn.d.mts +0 -6
  186. package/dist/file/cdn.d.ts +0 -6
  187. package/dist/file/cdn.mjs +0 -9
  188. package/dist/file/client/drop_file_input.d.mts +0 -36
  189. package/dist/file/client/drop_file_input.d.ts +0 -36
  190. package/dist/file/client/drop_file_input.js +0 -323
  191. package/dist/file/client/drop_file_input.mjs +0 -294
  192. package/dist/file/client/file_upload_button.d.mts +0 -10
  193. package/dist/file/client/file_upload_button.d.ts +0 -10
  194. package/dist/file/client/file_upload_button.js +0 -89
  195. package/dist/file/client/file_upload_button.mjs +0 -58
  196. package/dist/file/client/file_uploader.d.mts +0 -13
  197. package/dist/file/client/file_uploader.d.ts +0 -13
  198. package/dist/file/client/file_uploader.js +0 -163
  199. package/dist/file/client/file_uploader.mjs +0 -136
  200. package/dist/file/client/format_size.d.mts +0 -3
  201. package/dist/file/client/format_size.d.ts +0 -3
  202. package/dist/file/client/format_size.mjs +0 -13
  203. package/dist/file/client/metadata.d.mts +0 -7
  204. package/dist/file/client/metadata.d.ts +0 -7
  205. package/dist/file/client/metadata.js +0 -85
  206. package/dist/file/client/metadata.mjs +0 -60
  207. package/dist/file/file_repository.d.mts +0 -16
  208. package/dist/file/file_repository.d.ts +0 -16
  209. package/dist/file/file_repository.js +0 -18
  210. package/dist/file/file_repository.mjs +0 -0
  211. package/dist/file/file_service.d.mts +0 -32
  212. package/dist/file/file_service.d.ts +0 -32
  213. package/dist/file/file_service.js +0 -66
  214. package/dist/file/file_service.mjs +0 -41
  215. package/dist/file/handlers/delete_file.d.mts +0 -17
  216. package/dist/file/handlers/delete_file.d.ts +0 -17
  217. package/dist/file/handlers/delete_file.js +0 -99
  218. package/dist/file/handlers/delete_file.mjs +0 -72
  219. package/dist/file/handlers/upload_file.d.mts +0 -16
  220. package/dist/file/handlers/upload_file.d.ts +0 -16
  221. package/dist/file/handlers/upload_file.js +0 -106
  222. package/dist/file/handlers/upload_file.mjs +0 -79
  223. package/dist/file/object_storage.d.mts +0 -20
  224. package/dist/file/object_storage.d.ts +0 -20
  225. package/dist/file/object_storage.js +0 -90
  226. package/dist/file/object_storage.mjs +0 -70
  227. package/dist/file/responsive_image.d.mts +0 -20
  228. package/dist/file/responsive_image.d.ts +0 -20
  229. package/dist/file/responsive_image.js +0 -132
  230. package/dist/file/responsive_image.mjs +0 -96
  231. package/dist/http/response.d.mts +0 -19
  232. package/dist/http/response.d.ts +0 -19
  233. package/dist/http/response.js +0 -109
  234. package/dist/http/response.mjs +0 -68
  235. package/dist/route/api.d.mts +0 -21
  236. package/dist/route/api.d.ts +0 -21
  237. package/dist/route/api.js +0 -584
  238. package/dist/route/api.mjs +0 -547
  239. package/dist/singleton.d.mts +0 -3
  240. package/dist/singleton.d.ts +0 -3
  241. package/dist/singleton.js +0 -37
  242. package/dist/singleton.mjs +0 -12
  243. package/dist/sleep.d.mts +0 -3
  244. package/dist/sleep.d.ts +0 -3
  245. package/dist/sleep.mjs +0 -7
  246. package/dist/slug.d.mts +0 -3
  247. package/dist/slug.d.ts +0 -3
  248. package/dist/slug.mjs +0 -7
  249. package/dist/text_editor/attach_media.d.mts +0 -16
  250. package/dist/text_editor/attach_media.d.ts +0 -16
  251. package/dist/text_editor/attach_media.js +0 -237
  252. package/dist/text_editor/attach_media.mjs +0 -210
  253. package/dist/text_editor/plugins/drag_and_drop.d.mts +0 -13
  254. package/dist/text_editor/plugins/drag_and_drop.d.ts +0 -13
  255. package/dist/text_editor/plugins/drag_and_drop.js +0 -59
  256. package/dist/text_editor/plugins/drag_and_drop.mjs +0 -34
  257. package/dist/text_editor/plugins/keymap.d.mts +0 -5
  258. package/dist/text_editor/plugins/keymap.d.ts +0 -5
  259. package/dist/text_editor/plugins/keymap.mjs +0 -15
  260. package/dist/text_editor/plugins/placehoder.d.mts +0 -5
  261. package/dist/text_editor/plugins/placehoder.d.ts +0 -5
  262. package/dist/text_editor/plugins/placehoder.js +0 -112
  263. package/dist/text_editor/plugins/placehoder.mjs +0 -87
  264. package/dist/text_editor/plugins/trailing_paragraph.d.mts +0 -5
  265. package/dist/text_editor/plugins/trailing_paragraph.d.ts +0 -5
  266. package/dist/text_editor/plugins/trailing_paragraph.js +0 -46
  267. package/dist/text_editor/plugins/trailing_paragraph.mjs +0 -21
  268. package/dist/text_editor/plugins/upload_placeholder.d.mts +0 -7
  269. package/dist/text_editor/plugins/upload_placeholder.d.ts +0 -7
  270. package/dist/text_editor/plugins/upload_placeholder.js +0 -94
  271. package/dist/text_editor/plugins/upload_placeholder.mjs +0 -68
  272. package/dist/text_editor/schema.d.mts +0 -9
  273. package/dist/text_editor/schema.d.ts +0 -9
  274. package/dist/text_editor/schema.js +0 -354
  275. package/dist/text_editor/schema.mjs +0 -319
  276. package/dist/text_editor/text_editor.d.mts +0 -45
  277. package/dist/text_editor/text_editor.d.ts +0 -45
  278. package/dist/text_editor/text_editor.js +0 -834
  279. package/dist/text_editor/text_editor.mjs +0 -806
@@ -1,237 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/text_editor/attach_media.tsx
21
- var attach_media_exports = {};
22
- __export(attach_media_exports, {
23
- createAttachMedia: () => createAttachMedia
24
- });
25
- module.exports = __toCommonJS(attach_media_exports);
26
-
27
- // src/text_editor/plugins/upload_placeholder.tsx
28
- var import_prosemirror_state = require("prosemirror-state");
29
- var import_prosemirror_view = require("prosemirror-view");
30
- var uploadPlaceholderPlugin = new import_prosemirror_state.Plugin({
31
- state: {
32
- init() {
33
- return import_prosemirror_view.DecorationSet.empty;
34
- },
35
- apply(tr, set) {
36
- set = set.map(tr.mapping, tr.doc);
37
- const action = tr.getMeta(this);
38
- if (action && action.add) {
39
- const { type, width, height } = action.add;
40
- const widget = document.createElement("div");
41
- widget.className = "upload-placeholder";
42
- widget.style.width = `100%`;
43
- if (type.startsWith("image/") || type.startsWith("video/")) {
44
- widget.style.aspectRatio = `${width} / ${height}`;
45
- widget.style.maxWidth = `${width}px`;
46
- } else {
47
- widget.style.height = "80px";
48
- }
49
- const progress = document.createElement("div");
50
- progress.className = "upload-progress";
51
- widget.appendChild(progress);
52
- const deco = import_prosemirror_view.Decoration.widget(action.add.pos, widget, {
53
- id: action.add.id
54
- });
55
- set = set.add(tr.doc, [deco]);
56
- } else if (action && action.progress) {
57
- const found = set.find(
58
- void 0,
59
- void 0,
60
- (spec) => spec.id === action.progress.id
61
- );
62
- if (found.length) {
63
- const widget = found[0].type.toDOM;
64
- const progress = widget.querySelector(".upload-progress");
65
- if (progress) {
66
- progress.innerHTML = `${Math.round(action.progress.progress)}%`;
67
- }
68
- }
69
- } else if (action && action.remove) {
70
- set = set.remove(
71
- set.find(void 0, void 0, (spec) => spec.id === action.remove.id)
72
- );
73
- }
74
- return set;
75
- }
76
- },
77
- props: {
78
- decorations(state) {
79
- return this.getState(state);
80
- }
81
- }
82
- });
83
- var findPlaceholder = (state, id) => {
84
- const decos = uploadPlaceholderPlugin.getState(state);
85
- if (!decos) {
86
- return null;
87
- }
88
- const found = decos.find(void 0, void 0, (spec) => spec.id === id);
89
- return found.length ? found[0].from : null;
90
- };
91
-
92
- // src/file/client/metadata.ts
93
- function generateMetadata(blob, {
94
- uploadBlob
95
- } = {}) {
96
- return new Promise((resolve) => {
97
- if (blob.type.startsWith("image/")) {
98
- const img = new Image();
99
- img.src = URL.createObjectURL(blob);
100
- img.onload = () => {
101
- resolve({
102
- width: img.width,
103
- height: img.height
104
- });
105
- };
106
- img.onerror = () => resolve({});
107
- return;
108
- }
109
- if (blob.type.startsWith("video/")) {
110
- const video = document.createElement("video");
111
- video.onloadeddata = () => {
112
- const canvas = document.createElement("canvas");
113
- canvas.width = video.videoWidth;
114
- canvas.height = video.videoHeight;
115
- const context = canvas.getContext("2d");
116
- if (!context || !uploadBlob) {
117
- return resolve({
118
- width: video.videoWidth,
119
- height: video.videoHeight
120
- });
121
- }
122
- video.addEventListener("seeked", () => {
123
- context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
124
- canvas.toBlob((blob2) => {
125
- if (!blob2) {
126
- return resolve({
127
- width: video.videoWidth,
128
- height: video.videoHeight
129
- });
130
- }
131
- uploadBlob(blob2, "poster").then(({ url }) => {
132
- resolve({
133
- width: video.videoWidth,
134
- height: video.videoHeight,
135
- poster: url
136
- });
137
- });
138
- }, "image/jpeg");
139
- });
140
- video.currentTime = 0;
141
- };
142
- video.onerror = () => resolve({});
143
- video.src = URL.createObjectURL(blob);
144
- return;
145
- }
146
- resolve({});
147
- });
148
- }
149
-
150
- // src/file/cdn.ts
151
- var createCDN = (origin) => {
152
- return (key, { width } = {}) => {
153
- return key ? `${origin}/${key}${width ? `?w=${width}` : ""}` : void 0;
154
- };
155
- };
156
-
157
- // src/text_editor/attach_media.tsx
158
- function createAttachMedia({
159
- schema,
160
- cdnOrigin,
161
- fileUploader
162
- }) {
163
- const cdn = createCDN(cdnOrigin);
164
- const attachEachMedia = async (view, file, pos) => {
165
- const metadata = await generateMetadata(file, {
166
- uploadBlob: (blob, type) => fileUploader.uploadBlob(blob, type).then(({ key }) => ({
167
- url: cdn(key)
168
- }))
169
- });
170
- const id = {};
171
- view.focus();
172
- const tr = view.state.tr;
173
- if (!tr.selection.empty) {
174
- tr.deleteSelection();
175
- }
176
- tr.setMeta(uploadPlaceholderPlugin, {
177
- add: {
178
- id,
179
- pos: pos ?? tr.selection.from,
180
- type: file.type,
181
- ...metadata
182
- }
183
- });
184
- view.dispatch(tr);
185
- const $pos = findPlaceholder(view.state, id);
186
- if (!$pos) {
187
- return;
188
- }
189
- try {
190
- const { name, key } = await fileUploader.uploadFile(file);
191
- const src = cdn(key);
192
- const tr2 = view.state.tr.setMeta(uploadPlaceholderPlugin, {
193
- remove: { id }
194
- });
195
- const media = (() => {
196
- if (file.type.startsWith("image/")) {
197
- return schema.nodes.image.create({
198
- src,
199
- alt: name,
200
- width: metadata.width,
201
- height: metadata.height
202
- });
203
- }
204
- if (file.type.startsWith("video/")) {
205
- return schema.nodes.video.create({
206
- src,
207
- width: metadata.width,
208
- height: metadata.height,
209
- poster: metadata.poster
210
- });
211
- }
212
- })();
213
- if (!media) {
214
- return;
215
- }
216
- view.dispatch(tr2.replaceWith($pos, $pos, media));
217
- return media;
218
- } catch (e) {
219
- view.dispatch(tr.setMeta(uploadPlaceholderPlugin, { remove: { id } }));
220
- }
221
- };
222
- return async (view, medias, pos) => {
223
- const result = [];
224
- for (let i = 0; i < medias.length; i++) {
225
- const file = medias[i];
226
- const item = await attachEachMedia(view, file, pos);
227
- if (item) {
228
- result.push(item);
229
- }
230
- }
231
- return result;
232
- };
233
- }
234
- // Annotate the CommonJS export names for ESM import in node:
235
- 0 && (module.exports = {
236
- createAttachMedia
237
- });
@@ -1,210 +0,0 @@
1
- // src/text_editor/plugins/upload_placeholder.tsx
2
- import { Plugin } from "prosemirror-state";
3
- import { Decoration, DecorationSet } from "prosemirror-view";
4
- var uploadPlaceholderPlugin = new Plugin({
5
- state: {
6
- init() {
7
- return DecorationSet.empty;
8
- },
9
- apply(tr, set) {
10
- set = set.map(tr.mapping, tr.doc);
11
- const action = tr.getMeta(this);
12
- if (action && action.add) {
13
- const { type, width, height } = action.add;
14
- const widget = document.createElement("div");
15
- widget.className = "upload-placeholder";
16
- widget.style.width = `100%`;
17
- if (type.startsWith("image/") || type.startsWith("video/")) {
18
- widget.style.aspectRatio = `${width} / ${height}`;
19
- widget.style.maxWidth = `${width}px`;
20
- } else {
21
- widget.style.height = "80px";
22
- }
23
- const progress = document.createElement("div");
24
- progress.className = "upload-progress";
25
- widget.appendChild(progress);
26
- const deco = Decoration.widget(action.add.pos, widget, {
27
- id: action.add.id
28
- });
29
- set = set.add(tr.doc, [deco]);
30
- } else if (action && action.progress) {
31
- const found = set.find(
32
- void 0,
33
- void 0,
34
- (spec) => spec.id === action.progress.id
35
- );
36
- if (found.length) {
37
- const widget = found[0].type.toDOM;
38
- const progress = widget.querySelector(".upload-progress");
39
- if (progress) {
40
- progress.innerHTML = `${Math.round(action.progress.progress)}%`;
41
- }
42
- }
43
- } else if (action && action.remove) {
44
- set = set.remove(
45
- set.find(void 0, void 0, (spec) => spec.id === action.remove.id)
46
- );
47
- }
48
- return set;
49
- }
50
- },
51
- props: {
52
- decorations(state) {
53
- return this.getState(state);
54
- }
55
- }
56
- });
57
- var findPlaceholder = (state, id) => {
58
- const decos = uploadPlaceholderPlugin.getState(state);
59
- if (!decos) {
60
- return null;
61
- }
62
- const found = decos.find(void 0, void 0, (spec) => spec.id === id);
63
- return found.length ? found[0].from : null;
64
- };
65
-
66
- // src/file/client/metadata.ts
67
- function generateMetadata(blob, {
68
- uploadBlob
69
- } = {}) {
70
- return new Promise((resolve) => {
71
- if (blob.type.startsWith("image/")) {
72
- const img = new Image();
73
- img.src = URL.createObjectURL(blob);
74
- img.onload = () => {
75
- resolve({
76
- width: img.width,
77
- height: img.height
78
- });
79
- };
80
- img.onerror = () => resolve({});
81
- return;
82
- }
83
- if (blob.type.startsWith("video/")) {
84
- const video = document.createElement("video");
85
- video.onloadeddata = () => {
86
- const canvas = document.createElement("canvas");
87
- canvas.width = video.videoWidth;
88
- canvas.height = video.videoHeight;
89
- const context = canvas.getContext("2d");
90
- if (!context || !uploadBlob) {
91
- return resolve({
92
- width: video.videoWidth,
93
- height: video.videoHeight
94
- });
95
- }
96
- video.addEventListener("seeked", () => {
97
- context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
98
- canvas.toBlob((blob2) => {
99
- if (!blob2) {
100
- return resolve({
101
- width: video.videoWidth,
102
- height: video.videoHeight
103
- });
104
- }
105
- uploadBlob(blob2, "poster").then(({ url }) => {
106
- resolve({
107
- width: video.videoWidth,
108
- height: video.videoHeight,
109
- poster: url
110
- });
111
- });
112
- }, "image/jpeg");
113
- });
114
- video.currentTime = 0;
115
- };
116
- video.onerror = () => resolve({});
117
- video.src = URL.createObjectURL(blob);
118
- return;
119
- }
120
- resolve({});
121
- });
122
- }
123
-
124
- // src/file/cdn.ts
125
- var createCDN = (origin) => {
126
- return (key, { width } = {}) => {
127
- return key ? `${origin}/${key}${width ? `?w=${width}` : ""}` : void 0;
128
- };
129
- };
130
-
131
- // src/text_editor/attach_media.tsx
132
- function createAttachMedia({
133
- schema,
134
- cdnOrigin,
135
- fileUploader
136
- }) {
137
- const cdn = createCDN(cdnOrigin);
138
- const attachEachMedia = async (view, file, pos) => {
139
- const metadata = await generateMetadata(file, {
140
- uploadBlob: (blob, type) => fileUploader.uploadBlob(blob, type).then(({ key }) => ({
141
- url: cdn(key)
142
- }))
143
- });
144
- const id = {};
145
- view.focus();
146
- const tr = view.state.tr;
147
- if (!tr.selection.empty) {
148
- tr.deleteSelection();
149
- }
150
- tr.setMeta(uploadPlaceholderPlugin, {
151
- add: {
152
- id,
153
- pos: pos ?? tr.selection.from,
154
- type: file.type,
155
- ...metadata
156
- }
157
- });
158
- view.dispatch(tr);
159
- const $pos = findPlaceholder(view.state, id);
160
- if (!$pos) {
161
- return;
162
- }
163
- try {
164
- const { name, key } = await fileUploader.uploadFile(file);
165
- const src = cdn(key);
166
- const tr2 = view.state.tr.setMeta(uploadPlaceholderPlugin, {
167
- remove: { id }
168
- });
169
- const media = (() => {
170
- if (file.type.startsWith("image/")) {
171
- return schema.nodes.image.create({
172
- src,
173
- alt: name,
174
- width: metadata.width,
175
- height: metadata.height
176
- });
177
- }
178
- if (file.type.startsWith("video/")) {
179
- return schema.nodes.video.create({
180
- src,
181
- width: metadata.width,
182
- height: metadata.height,
183
- poster: metadata.poster
184
- });
185
- }
186
- })();
187
- if (!media) {
188
- return;
189
- }
190
- view.dispatch(tr2.replaceWith($pos, $pos, media));
191
- return media;
192
- } catch (e) {
193
- view.dispatch(tr.setMeta(uploadPlaceholderPlugin, { remove: { id } }));
194
- }
195
- };
196
- return async (view, medias, pos) => {
197
- const result = [];
198
- for (let i = 0; i < medias.length; i++) {
199
- const file = medias[i];
200
- const item = await attachEachMedia(view, file, pos);
201
- if (item) {
202
- result.push(item);
203
- }
204
- }
205
- return result;
206
- };
207
- }
208
- export {
209
- createAttachMedia
210
- };
@@ -1,13 +0,0 @@
1
- import { Plugin } from 'prosemirror-state';
2
- import { createAttachMedia } from '../attach_media.mjs';
3
- import 'prosemirror-view';
4
- import 'prosemirror-model';
5
- import '../../file/client/file_uploader.mjs';
6
- import '../schema.mjs';
7
- import 'orderedmap';
8
-
9
- declare function dragAndDropPlugin({ attachMedia, }: {
10
- attachMedia: ReturnType<typeof createAttachMedia>;
11
- }): Plugin<any>;
12
-
13
- export { dragAndDropPlugin };
@@ -1,13 +0,0 @@
1
- import { Plugin } from 'prosemirror-state';
2
- import { createAttachMedia } from '../attach_media.js';
3
- import 'prosemirror-view';
4
- import 'prosemirror-model';
5
- import '../../file/client/file_uploader.js';
6
- import '../schema.js';
7
- import 'orderedmap';
8
-
9
- declare function dragAndDropPlugin({ attachMedia, }: {
10
- attachMedia: ReturnType<typeof createAttachMedia>;
11
- }): Plugin<any>;
12
-
13
- export { dragAndDropPlugin };
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/text_editor/plugins/drag_and_drop.tsx
21
- var drag_and_drop_exports = {};
22
- __export(drag_and_drop_exports, {
23
- dragAndDropPlugin: () => dragAndDropPlugin
24
- });
25
- module.exports = __toCommonJS(drag_and_drop_exports);
26
- var import_prosemirror_state = require("prosemirror-state");
27
- function dragAndDropPlugin({
28
- attachMedia
29
- }) {
30
- return new import_prosemirror_state.Plugin({
31
- props: {
32
- handleDOMEvents: {
33
- drop(view, event) {
34
- const files = event.dataTransfer?.files;
35
- if (!files || files.length === 0) {
36
- return;
37
- }
38
- event.preventDefault();
39
- const pos = view.state.selection.$from.pos || view.posAtCoords({
40
- left: event.clientX,
41
- top: event.clientY
42
- })?.pos || null;
43
- if (pos === null) {
44
- return;
45
- }
46
- const medias = Array.from(files).filter(
47
- (file) => file.type.startsWith("image/") || file.type.startsWith("video/")
48
- );
49
- attachMedia(view, medias);
50
- return true;
51
- }
52
- }
53
- }
54
- });
55
- }
56
- // Annotate the CommonJS export names for ESM import in node:
57
- 0 && (module.exports = {
58
- dragAndDropPlugin
59
- });
@@ -1,34 +0,0 @@
1
- // src/text_editor/plugins/drag_and_drop.tsx
2
- import { Plugin } from "prosemirror-state";
3
- function dragAndDropPlugin({
4
- attachMedia
5
- }) {
6
- return new Plugin({
7
- props: {
8
- handleDOMEvents: {
9
- drop(view, event) {
10
- const files = event.dataTransfer?.files;
11
- if (!files || files.length === 0) {
12
- return;
13
- }
14
- event.preventDefault();
15
- const pos = view.state.selection.$from.pos || view.posAtCoords({
16
- left: event.clientX,
17
- top: event.clientY
18
- })?.pos || null;
19
- if (pos === null) {
20
- return;
21
- }
22
- const medias = Array.from(files).filter(
23
- (file) => file.type.startsWith("image/") || file.type.startsWith("video/")
24
- );
25
- attachMedia(view, medias);
26
- return true;
27
- }
28
- }
29
- }
30
- });
31
- }
32
- export {
33
- dragAndDropPlugin
34
- };
@@ -1,5 +0,0 @@
1
- import { Command } from 'prosemirror-state';
2
-
3
- declare function buildKeymap(): Record<string, Command>;
4
-
5
- export { buildKeymap };
@@ -1,5 +0,0 @@
1
- import { Command } from 'prosemirror-state';
2
-
3
- declare function buildKeymap(): Record<string, Command>;
4
-
5
- export { buildKeymap };
@@ -1,15 +0,0 @@
1
- // src/text_editor/plugins/keymap.tsx
2
- import { undo, redo } from "prosemirror-history";
3
- function buildKeymap() {
4
- const keys = {};
5
- function bind(key, cmd) {
6
- keys[key] = cmd;
7
- }
8
- bind("Mod-z", undo);
9
- bind("Shift-Mod-z", redo);
10
- bind("Mod-y", redo);
11
- return keys;
12
- }
13
- export {
14
- buildKeymap
15
- };
@@ -1,5 +0,0 @@
1
- import { Plugin } from 'prosemirror-state';
2
-
3
- declare function placeholderPlugin(text: string): Plugin<any>;
4
-
5
- export { placeholderPlugin };
@@ -1,5 +0,0 @@
1
- import { Plugin } from 'prosemirror-state';
2
-
3
- declare function placeholderPlugin(text: string): Plugin<any>;
4
-
5
- export { placeholderPlugin };