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