dn-react-router-toolkit 0.2.7 → 0.3.1

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 (276) 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 +276 -0
  4. package/dist/api/create_handler.mjs +282 -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 +276 -0
  8. package/dist/api/index.mjs +282 -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/index.d.mts +4 -0
  16. package/dist/auth/index.d.ts +4 -0
  17. package/dist/auth/index.js +116 -0
  18. package/dist/auth/index.mjs +89 -0
  19. package/dist/auth/server/index.d.mts +1 -0
  20. package/dist/auth/server/index.d.ts +1 -0
  21. package/dist/{slug.js → auth/server/index.js} +6 -14
  22. package/dist/auth/server/index.mjs +2 -0
  23. package/dist/auth/with_auth.d.mts +2 -6
  24. package/dist/auth/with_auth.d.ts +2 -6
  25. package/dist/auth/with_auth.js +3 -0
  26. package/dist/auth/with_auth.mjs +3 -0
  27. package/dist/{components → client}/client_env.d.mts +1 -1
  28. package/dist/{components → client}/client_env.d.ts +1 -1
  29. package/dist/{components → client}/client_env.js +6 -2
  30. package/dist/{components → client}/client_env.mjs +2 -2
  31. package/dist/client/index.d.mts +3 -0
  32. package/dist/client/index.d.ts +3 -0
  33. package/dist/{auth/client/google_login_button.js → client/index.js} +30 -33
  34. package/dist/client/index.mjs +31 -0
  35. package/dist/client/use_user_agent.d.mts +8 -0
  36. package/dist/client/use_user_agent.d.ts +8 -0
  37. package/dist/{file/client/format_size.js → client/use_user_agent.js} +14 -14
  38. package/dist/client/use_user_agent.mjs +13 -0
  39. package/dist/file/client/index.d.mts +1 -0
  40. package/dist/file/client/index.d.ts +1 -0
  41. package/dist/file/{cdn.js → client/index.js} +6 -16
  42. package/dist/file/client/index.mjs +2 -0
  43. package/dist/file/index.d.mts +1 -0
  44. package/dist/file/index.d.ts +1 -0
  45. package/dist/{cn.js → file/index.js} +6 -14
  46. package/dist/file/index.mjs +2 -0
  47. package/dist/file/server/index.d.mts +1 -0
  48. package/dist/file/server/index.d.ts +1 -0
  49. package/dist/file/server/index.js +24 -0
  50. package/dist/file/server/index.mjs +2 -0
  51. package/dist/http/index.d.mts +1 -1
  52. package/dist/http/index.d.ts +1 -1
  53. package/dist/http/index.js +3 -90
  54. package/dist/http/index.mjs +2 -68
  55. package/dist/index.d.mts +8 -6
  56. package/dist/index.d.ts +8 -6
  57. package/dist/index.js +3 -79
  58. package/dist/index.mjs +2 -58
  59. package/dist/modal/index.d.mts +1 -0
  60. package/dist/modal/index.d.ts +1 -0
  61. package/dist/{sleep.js → modal/index.js} +6 -14
  62. package/dist/modal/index.mjs +2 -0
  63. package/dist/seo/index.d.mts +4 -0
  64. package/dist/seo/index.d.ts +4 -0
  65. package/dist/seo/index.js +304 -0
  66. package/dist/seo/index.mjs +267 -0
  67. package/dist/text_editor/index.d.mts +1 -0
  68. package/dist/text_editor/index.d.ts +1 -0
  69. package/dist/text_editor/index.js +24 -0
  70. package/dist/text_editor/index.mjs +2 -0
  71. package/package.json +58 -32
  72. package/dist/auth/apple_auth.d.mts +0 -38
  73. package/dist/auth/apple_auth.d.ts +0 -38
  74. package/dist/auth/apple_auth.js +0 -88
  75. package/dist/auth/apple_auth.mjs +0 -63
  76. package/dist/auth/auth_repository.d.mts +0 -41
  77. package/dist/auth/auth_repository.d.ts +0 -41
  78. package/dist/auth/auth_repository.js +0 -18
  79. package/dist/auth/auth_repository.mjs +0 -0
  80. package/dist/auth/auth_service.d.mts +0 -63
  81. package/dist/auth/auth_service.d.ts +0 -63
  82. package/dist/auth/auth_service.js +0 -210
  83. package/dist/auth/auth_service.mjs +0 -171
  84. package/dist/auth/client/google_login_button.d.mts +0 -7
  85. package/dist/auth/client/google_login_button.d.ts +0 -7
  86. package/dist/auth/client/google_login_button.mjs +0 -37
  87. package/dist/auth/client/provider.d.mts +0 -24
  88. package/dist/auth/client/provider.d.ts +0 -24
  89. package/dist/auth/client/provider.js +0 -154
  90. package/dist/auth/client/provider.mjs +0 -118
  91. package/dist/auth/google_auth.d.mts +0 -33
  92. package/dist/auth/google_auth.d.ts +0 -33
  93. package/dist/auth/google_auth.js +0 -135
  94. package/dist/auth/google_auth.mjs +0 -108
  95. package/dist/auth/handlers/find_auth.d.mts +0 -13
  96. package/dist/auth/handlers/find_auth.d.ts +0 -13
  97. package/dist/auth/handlers/find_auth.js +0 -82
  98. package/dist/auth/handlers/find_auth.mjs +0 -55
  99. package/dist/auth/handlers/login.d.mts +0 -13
  100. package/dist/auth/handlers/login.d.ts +0 -13
  101. package/dist/auth/handlers/login.js +0 -107
  102. package/dist/auth/handlers/login.mjs +0 -80
  103. package/dist/auth/handlers/login_with_thirdparty.d.mts +0 -15
  104. package/dist/auth/handlers/login_with_thirdparty.d.ts +0 -15
  105. package/dist/auth/handlers/login_with_thirdparty.js +0 -98
  106. package/dist/auth/handlers/login_with_thirdparty.mjs +0 -71
  107. package/dist/auth/handlers/logout.d.mts +0 -13
  108. package/dist/auth/handlers/logout.d.ts +0 -13
  109. package/dist/auth/handlers/logout.js +0 -102
  110. package/dist/auth/handlers/logout.mjs +0 -75
  111. package/dist/auth/handlers/refresh.d.mts +0 -13
  112. package/dist/auth/handlers/refresh.d.ts +0 -13
  113. package/dist/auth/handlers/refresh.js +0 -92
  114. package/dist/auth/handlers/refresh.mjs +0 -65
  115. package/dist/auth/handlers/request_password_reset.d.mts +0 -10
  116. package/dist/auth/handlers/request_password_reset.d.ts +0 -10
  117. package/dist/auth/handlers/request_password_reset.js +0 -87
  118. package/dist/auth/handlers/request_password_reset.mjs +0 -60
  119. package/dist/auth/handlers/reset_password.d.mts +0 -10
  120. package/dist/auth/handlers/reset_password.d.ts +0 -10
  121. package/dist/auth/handlers/reset_password.js +0 -88
  122. package/dist/auth/handlers/reset_password.mjs +0 -61
  123. package/dist/auth/handlers/signup.d.mts +0 -15
  124. package/dist/auth/handlers/signup.d.ts +0 -15
  125. package/dist/auth/handlers/signup.js +0 -147
  126. package/dist/auth/handlers/signup.mjs +0 -112
  127. package/dist/auth/handlers/signup_with_thirdparty.d.mts +0 -17
  128. package/dist/auth/handlers/signup_with_thirdparty.d.ts +0 -17
  129. package/dist/auth/handlers/signup_with_thirdparty.js +0 -123
  130. package/dist/auth/handlers/signup_with_thirdparty.mjs +0 -98
  131. package/dist/auth/handlers/thirdparty_auth_callback.d.mts +0 -16
  132. package/dist/auth/handlers/thirdparty_auth_callback.d.ts +0 -16
  133. package/dist/auth/handlers/thirdparty_auth_callback.js +0 -129
  134. package/dist/auth/handlers/thirdparty_auth_callback.mjs +0 -102
  135. package/dist/auth/jwt_manager.d.mts +0 -38
  136. package/dist/auth/jwt_manager.d.ts +0 -38
  137. package/dist/auth/jwt_manager.js +0 -90
  138. package/dist/auth/jwt_manager.mjs +0 -65
  139. package/dist/auth/kakao_auth.d.mts +0 -27
  140. package/dist/auth/kakao_auth.d.ts +0 -27
  141. package/dist/auth/kakao_auth.js +0 -56
  142. package/dist/auth/kakao_auth.mjs +0 -31
  143. package/dist/auth/password_recovery.d.mts +0 -34
  144. package/dist/auth/password_recovery.d.ts +0 -34
  145. package/dist/auth/password_recovery.js +0 -169
  146. package/dist/auth/password_recovery.mjs +0 -134
  147. package/dist/auth/thirdparty_auth.d.mts +0 -41
  148. package/dist/auth/thirdparty_auth.d.ts +0 -41
  149. package/dist/auth/thirdparty_auth.js +0 -113
  150. package/dist/auth/thirdparty_auth.mjs +0 -86
  151. package/dist/cn.d.mts +0 -3
  152. package/dist/cn.d.ts +0 -3
  153. package/dist/cn.mjs +0 -7
  154. package/dist/components/index.d.mts +0 -5
  155. package/dist/components/index.d.ts +0 -5
  156. package/dist/components/index.js +0 -261
  157. package/dist/components/index.mjs +0 -219
  158. package/dist/components/modal/fullscreen_container.d.mts +0 -7
  159. package/dist/components/modal/fullscreen_container.d.ts +0 -7
  160. package/dist/components/modal/fullscreen_container.js +0 -102
  161. package/dist/components/modal/fullscreen_container.mjs +0 -68
  162. package/dist/components/modal/hooks.d.mts +0 -18
  163. package/dist/components/modal/hooks.d.ts +0 -18
  164. package/dist/components/modal/hooks.js +0 -236
  165. package/dist/components/modal/hooks.mjs +0 -204
  166. package/dist/components/modal/index.d.mts +0 -4
  167. package/dist/components/modal/index.d.ts +0 -4
  168. package/dist/components/modal/index.js +0 -238
  169. package/dist/components/modal/index.mjs +0 -203
  170. package/dist/components/modal/modal.d.mts +0 -13
  171. package/dist/components/modal/modal.d.ts +0 -13
  172. package/dist/components/modal/modal.js +0 -155
  173. package/dist/components/modal/modal.mjs +0 -130
  174. package/dist/components/styles.d.mts +0 -9
  175. package/dist/components/styles.d.ts +0 -9
  176. package/dist/components/styles.js +0 -48
  177. package/dist/components/styles.mjs +0 -17
  178. package/dist/date.d.mts +0 -5
  179. package/dist/date.d.ts +0 -5
  180. package/dist/date.mjs +0 -29
  181. package/dist/file/cdn.d.mts +0 -6
  182. package/dist/file/cdn.d.ts +0 -6
  183. package/dist/file/cdn.mjs +0 -9
  184. package/dist/file/client/drop_file_input.d.mts +0 -36
  185. package/dist/file/client/drop_file_input.d.ts +0 -36
  186. package/dist/file/client/drop_file_input.js +0 -323
  187. package/dist/file/client/drop_file_input.mjs +0 -294
  188. package/dist/file/client/file_upload_button.d.mts +0 -10
  189. package/dist/file/client/file_upload_button.d.ts +0 -10
  190. package/dist/file/client/file_upload_button.js +0 -89
  191. package/dist/file/client/file_upload_button.mjs +0 -58
  192. package/dist/file/client/file_uploader.d.mts +0 -13
  193. package/dist/file/client/file_uploader.d.ts +0 -13
  194. package/dist/file/client/file_uploader.js +0 -163
  195. package/dist/file/client/file_uploader.mjs +0 -136
  196. package/dist/file/client/format_size.d.mts +0 -3
  197. package/dist/file/client/format_size.d.ts +0 -3
  198. package/dist/file/client/format_size.mjs +0 -13
  199. package/dist/file/client/metadata.d.mts +0 -7
  200. package/dist/file/client/metadata.d.ts +0 -7
  201. package/dist/file/client/metadata.js +0 -85
  202. package/dist/file/client/metadata.mjs +0 -60
  203. package/dist/file/file_repository.d.mts +0 -16
  204. package/dist/file/file_repository.d.ts +0 -16
  205. package/dist/file/file_repository.js +0 -18
  206. package/dist/file/file_repository.mjs +0 -0
  207. package/dist/file/file_service.d.mts +0 -32
  208. package/dist/file/file_service.d.ts +0 -32
  209. package/dist/file/file_service.js +0 -66
  210. package/dist/file/file_service.mjs +0 -41
  211. package/dist/file/handlers/delete_file.d.mts +0 -17
  212. package/dist/file/handlers/delete_file.d.ts +0 -17
  213. package/dist/file/handlers/delete_file.js +0 -99
  214. package/dist/file/handlers/delete_file.mjs +0 -72
  215. package/dist/file/handlers/upload_file.d.mts +0 -16
  216. package/dist/file/handlers/upload_file.d.ts +0 -16
  217. package/dist/file/handlers/upload_file.js +0 -106
  218. package/dist/file/handlers/upload_file.mjs +0 -79
  219. package/dist/file/object_storage.d.mts +0 -20
  220. package/dist/file/object_storage.d.ts +0 -20
  221. package/dist/file/object_storage.js +0 -90
  222. package/dist/file/object_storage.mjs +0 -70
  223. package/dist/file/responsive_image.d.mts +0 -20
  224. package/dist/file/responsive_image.d.ts +0 -20
  225. package/dist/file/responsive_image.js +0 -132
  226. package/dist/file/responsive_image.mjs +0 -96
  227. package/dist/http/response.d.mts +0 -19
  228. package/dist/http/response.d.ts +0 -19
  229. package/dist/http/response.js +0 -109
  230. package/dist/http/response.mjs +0 -68
  231. package/dist/route/api.d.mts +0 -21
  232. package/dist/route/api.d.ts +0 -21
  233. package/dist/route/api.js +0 -584
  234. package/dist/route/api.mjs +0 -547
  235. package/dist/singleton.d.mts +0 -3
  236. package/dist/singleton.d.ts +0 -3
  237. package/dist/singleton.js +0 -37
  238. package/dist/singleton.mjs +0 -12
  239. package/dist/sleep.d.mts +0 -3
  240. package/dist/sleep.d.ts +0 -3
  241. package/dist/sleep.mjs +0 -7
  242. package/dist/slug.d.mts +0 -3
  243. package/dist/slug.d.ts +0 -3
  244. package/dist/slug.mjs +0 -7
  245. package/dist/text_editor/attach_media.d.mts +0 -16
  246. package/dist/text_editor/attach_media.d.ts +0 -16
  247. package/dist/text_editor/attach_media.js +0 -237
  248. package/dist/text_editor/attach_media.mjs +0 -210
  249. package/dist/text_editor/plugins/drag_and_drop.d.mts +0 -13
  250. package/dist/text_editor/plugins/drag_and_drop.d.ts +0 -13
  251. package/dist/text_editor/plugins/drag_and_drop.js +0 -59
  252. package/dist/text_editor/plugins/drag_and_drop.mjs +0 -34
  253. package/dist/text_editor/plugins/keymap.d.mts +0 -5
  254. package/dist/text_editor/plugins/keymap.d.ts +0 -5
  255. package/dist/text_editor/plugins/keymap.js +0 -40
  256. package/dist/text_editor/plugins/keymap.mjs +0 -15
  257. package/dist/text_editor/plugins/placehoder.d.mts +0 -5
  258. package/dist/text_editor/plugins/placehoder.d.ts +0 -5
  259. package/dist/text_editor/plugins/placehoder.js +0 -112
  260. package/dist/text_editor/plugins/placehoder.mjs +0 -87
  261. package/dist/text_editor/plugins/trailing_paragraph.d.mts +0 -5
  262. package/dist/text_editor/plugins/trailing_paragraph.d.ts +0 -5
  263. package/dist/text_editor/plugins/trailing_paragraph.js +0 -46
  264. package/dist/text_editor/plugins/trailing_paragraph.mjs +0 -21
  265. package/dist/text_editor/plugins/upload_placeholder.d.mts +0 -7
  266. package/dist/text_editor/plugins/upload_placeholder.d.ts +0 -7
  267. package/dist/text_editor/plugins/upload_placeholder.js +0 -94
  268. package/dist/text_editor/plugins/upload_placeholder.mjs +0 -68
  269. package/dist/text_editor/schema.d.mts +0 -9
  270. package/dist/text_editor/schema.d.ts +0 -9
  271. package/dist/text_editor/schema.js +0 -354
  272. package/dist/text_editor/schema.mjs +0 -319
  273. package/dist/text_editor/text_editor.d.mts +0 -45
  274. package/dist/text_editor/text_editor.d.ts +0 -45
  275. package/dist/text_editor/text_editor.js +0 -834
  276. 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,40 +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/keymap.tsx
21
- var keymap_exports = {};
22
- __export(keymap_exports, {
23
- buildKeymap: () => buildKeymap
24
- });
25
- module.exports = __toCommonJS(keymap_exports);
26
- var import_prosemirror_history = require("prosemirror-history");
27
- function buildKeymap() {
28
- const keys = {};
29
- function bind(key, cmd) {
30
- keys[key] = cmd;
31
- }
32
- bind("Mod-z", import_prosemirror_history.undo);
33
- bind("Shift-Mod-z", import_prosemirror_history.redo);
34
- bind("Mod-y", import_prosemirror_history.redo);
35
- return keys;
36
- }
37
- // Annotate the CommonJS export names for ESM import in node:
38
- 0 && (module.exports = {
39
- buildKeymap
40
- });
@@ -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 };