@logora/debate 0.3.13 → 0.3.15

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.
@@ -1,76 +1,76 @@
1
1
  import { jsx as o, jsxs as l, Fragment as h } from "react/jsx-runtime";
2
2
  import B from "classnames";
3
- import { useState as f, useEffect as re, useCallback as ie, Suspense as ae, lazy as le } from "react";
4
- import { useIntl as ne } from "react-intl";
3
+ import { useState as f, useEffect as ie, useCallback as ae, Suspense as le, lazy as ne } from "react";
4
+ import { useIntl as de } from "react-intl";
5
5
  import s from "./Argument.module.scss.js";
6
- import { ReplyFooter as de } from "./ReplyFooter.js";
7
- import { useRichContent as ce } from "./useRichContent.js";
8
- import { useAuth as pe } from "../../auth/use_auth/useAuth.js";
9
- import { useConfig as me } from "../../data/config_provider/useConfig.js";
6
+ import { ReplyFooter as ce } from "./ReplyFooter.js";
7
+ import { useRichContent as pe } from "./useRichContent.js";
8
+ import { useAuth as me } from "../../auth/use_auth/useAuth.js";
9
+ import { useConfig as ue } from "../../data/config_provider/useConfig.js";
10
10
  import { useTranslatedContent as $ } from "../../translation/translated_content/useTranslatedContent.js";
11
- import { SourceListItem as ue } from "../../source/source_list_item/SourceListItem.js";
12
- import { HashScroll as he } from "../../tools/hash_scroll/HashScroll.js";
13
- import { ContentHeader as fe } from "../../user_content/content_header/ContentHeader.js";
11
+ import { SourceListItem as he } from "../../source/source_list_item/SourceListItem.js";
12
+ import { HashScroll as fe } from "../../tools/hash_scroll/HashScroll.js";
13
+ import { ContentHeader as ye } from "../../user_content/content_header/ContentHeader.js";
14
14
  import { Icon as D } from "../../icons/icon/Icon.js";
15
- import { ReadMore as ye } from "../../text/read_more/ReadMore.js";
16
- import { TranslationButton as ge } from "../../translation/translation_button/TranslationButton.js";
17
- import { ContentFooter as _e } from "../../user_content/content_footer/ContentFooter.js";
18
- import { VoteButton as be } from "../../vote/vote_button/VoteButton.js";
19
- import { VotePaginatedList as Me } from "../../list/paginated_list/VotePaginatedList.js";
20
- import { UserContentSkeleton as ve } from "../../skeleton/user_content_skeleton/UserContentSkeleton.js";
21
- import { Button as Ce } from "../../action/button/Button.js";
22
- const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({ default: e.ArgumentInput }))), Se = (e) => e?.replace(/ /g, " "), Re = ({
15
+ import { ReadMore as ge } from "../../text/read_more/ReadMore.js";
16
+ import { TranslationButton as _e } from "../../translation/translation_button/TranslationButton.js";
17
+ import { ContentFooter as be } from "../../user_content/content_footer/ContentFooter.js";
18
+ import { VoteButton as Me } from "../../vote/vote_button/VoteButton.js";
19
+ import { VotePaginatedList as ve } from "../../list/paginated_list/VotePaginatedList.js";
20
+ import { UserContentSkeleton as Ce } from "../../skeleton/user_content_skeleton/UserContentSkeleton.js";
21
+ import { Button as Ie } from "../../action/button/Button.js";
22
+ const Se = ne(() => import("../../input/argument_input/index.js").then((e) => ({ default: e.ArgumentInput }))), E = (e) => e?.replace(/ /g, " "), Re = ({
23
23
  argument: e,
24
24
  argumentReplies: n,
25
25
  nestingLevel: y = 0,
26
26
  groupType: I,
27
27
  groupName: S,
28
28
  positions: g = [],
29
- disableLinks: E = !1,
29
+ disableLinks: P = !1,
30
30
  parentArgument: d,
31
- flashParent: P,
32
- expandable: F,
31
+ flashParent: F,
32
+ expandable: j,
33
33
  disabled: _ = !1,
34
34
  hideFooter: R = !1,
35
35
  hideReplies: T,
36
- vote: j,
37
- fixedContentHeight: G = !1,
38
- enableEdition: H = !0,
39
- enableDeletion: V = !0,
40
- deleteListId: z,
41
- showModerationFeedback: O,
42
- lineCount: Y = 5,
43
- replyRedirectUrl: q,
44
- hideContent: J = !1
36
+ vote: G,
37
+ fixedContentHeight: H = !1,
38
+ enableEdition: V = !0,
39
+ enableDeletion: z = !0,
40
+ deleteListId: O,
41
+ showModerationFeedback: Y,
42
+ lineCount: q = 5,
43
+ replyRedirectUrl: J,
44
+ hideContent: K = !1
45
45
  }) => {
46
- const i = ne(), { isLoggedIn: K, currentUser: c } = pe(), N = c?.moderation_status === "banned", r = me(), [p, b] = f(!1), [Q, w] = f(!1), [W, X] = f(!1), x = ce(e), [m, M] = f(), u = $(
46
+ const i = de(), { isLoggedIn: Q, currentUser: c } = me(), N = c?.moderation_status === "banned", r = ue(), [p, b] = f(!1), [W, w] = f(!1), [X, Z] = f(!1), x = pe(e), [m, M] = f(), u = $(
47
47
  e.content,
48
48
  e.language,
49
49
  "content",
50
50
  e.translation_entries
51
- ), Z = $(
51
+ ), ee = $(
52
52
  e.position?.name,
53
53
  e.position?.language,
54
54
  "name",
55
55
  e.position?.translation_entries
56
56
  ), v = `argument_${e.id}`, C = e.position && g?.map((t) => t.id).indexOf(e.position.id) + 1;
57
- re(() => {
58
- n !== void 0 && se();
57
+ ie(() => {
58
+ n !== void 0 && re();
59
59
  }, [n]);
60
- const ee = (t) => {
60
+ const te = (t) => {
61
61
  if (v === t) {
62
62
  const U = document.getElementById(t);
63
63
  U && U.scrollIntoView({ behavior: "smooth" }), w(!0);
64
64
  }
65
65
  }, A = () => {
66
- X((t) => !t);
66
+ Z((t) => !t);
67
67
  }, L = () => {
68
68
  b((t) => !t), M([]);
69
- }, te = (t) => {
69
+ }, oe = (t) => {
70
70
  if (!m?.find((a) => a.id === t.id))
71
71
  return t;
72
- }, oe = ie((t, a) => /* @__PURE__ */ o(
73
- ue,
72
+ }, se = ae((t, a) => /* @__PURE__ */ o(
73
+ he,
74
74
  {
75
75
  publisher: t.publisher,
76
76
  url: t.source_url,
@@ -78,7 +78,7 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
78
78
  index: a
79
79
  },
80
80
  a
81
- ), []), se = () => {
81
+ ), []), re = () => {
82
82
  if (n && Array.isArray(n)) {
83
83
  const t = n.filter(
84
84
  (a) => a.reply_to_id === e.id
@@ -96,17 +96,17 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
96
96
  positions: g,
97
97
  argumentReplies: n,
98
98
  parentArgument: e,
99
- flashParent: (a) => ee(`argument_${a}`)
99
+ flashParent: (a) => te(`argument_${a}`)
100
100
  }
101
101
  );
102
- return /* @__PURE__ */ l(he, { elementId: v, onScroll: () => w(!0), children: [
102
+ return /* @__PURE__ */ l(fe, { elementId: v, onScroll: () => w(!0), children: [
103
103
  /* @__PURE__ */ l(
104
104
  "div",
105
105
  {
106
106
  className: B(
107
107
  s.argument,
108
108
  {
109
- [s.flash]: Q,
109
+ [s.flash]: W,
110
110
  [s.argumentReply]: e.is_reply === !0
111
111
  },
112
112
  s[`level-${y}`],
@@ -115,16 +115,16 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
115
115
  id: v,
116
116
  children: [
117
117
  /* @__PURE__ */ o(
118
- fe,
118
+ ye,
119
119
  {
120
120
  selectedContent: e.is_selected,
121
121
  author: e.author,
122
- tag: (e.author.role === "editor" || e.author.role === "moderator") && e.is_reply ? null : Z.translatedContent,
122
+ tag: (e.author.role === "editor" || e.author.role === "moderator") && e.is_reply ? null : ee.translatedContent,
123
123
  date: e.created_at,
124
124
  tagClassName: s[`headerPosition-${C}`],
125
- disableLinks: E,
125
+ disableLinks: P,
126
126
  isDeleted: e.is_deleted,
127
- showModerationFeedback: O ?? (e.status === "rejected" && r.moderation?.showFeedback === !0),
127
+ showModerationFeedback: Y ?? (e.status === "rejected" && r.moderation?.showFeedback === !0),
128
128
  moderationReason: e.moderation_entry?.moderation_reason,
129
129
  moderationNotes: e.moderation_entry?.moderator_notes,
130
130
  moderationPolicyUrl: r.provider?.userGuideUrl
@@ -133,7 +133,7 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
133
133
  e.is_deleted ? /* @__PURE__ */ o("div", { className: s.argumentDeletedBody, children: i.formatMessage({
134
134
  id: "info.deleted_by_user",
135
135
  defaultMessage: "Content deleted by the user"
136
- }) }) : J ? /* @__PURE__ */ o("div", { className: s.argumentDeletedBody, children: i.formatMessage({
136
+ }) }) : K ? /* @__PURE__ */ o("div", { className: s.argumentDeletedBody, children: i.formatMessage({
137
137
  id: "argument.argument.content_deleted",
138
138
  defaultMessage: "This content has been removed."
139
139
  }) }) : /* @__PURE__ */ l(h, { children: [
@@ -141,14 +141,14 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
141
141
  "div",
142
142
  {
143
143
  className: B(s.argumentBody, {
144
- [s.fixedHeight]: r?.layout?.showAllArgumentInEmbed !== !0 ? G : !1
144
+ [s.fixedHeight]: r?.layout?.showAllArgumentInEmbed !== !0 ? H : !1
145
145
  }),
146
146
  children: [
147
147
  e.is_reply && d && /* @__PURE__ */ l(
148
148
  "div",
149
149
  {
150
150
  className: s.replyTo,
151
- onClick: () => P(d.id),
151
+ onClick: () => F(d.id),
152
152
  children: [
153
153
  i.formatMessage({
154
154
  id: "info.replying_to",
@@ -165,7 +165,7 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
165
165
  }
166
166
  ),
167
167
  /* @__PURE__ */ o(
168
- ye,
168
+ ge,
169
169
  {
170
170
  content: /* @__PURE__ */ l(h, { children: [
171
171
  e.is_edited && /* @__PURE__ */ o("div", { className: s.edited, children: i.formatMessage({
@@ -176,18 +176,18 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
176
176
  "div",
177
177
  {
178
178
  className: s.argumentContent,
179
- dangerouslySetInnerHTML: { __html: x }
179
+ dangerouslySetInnerHTML: { __html: E(x) }
180
180
  }
181
- ) : /* @__PURE__ */ o("div", { className: s.argumentContent, children: Se(u.translatedContent) }),
181
+ ) : /* @__PURE__ */ o("div", { className: s.argumentContent, children: E(u.translatedContent) }),
182
182
  u.isTranslated && /* @__PURE__ */ o(
183
- ge,
183
+ _e,
184
184
  {
185
185
  language: e.language,
186
186
  callback: () => u.toggleContent()
187
187
  }
188
188
  )
189
189
  ] }),
190
- lineCount: r?.layout?.showAllArgumentInEmbed !== !0 ? Y : void 0,
190
+ lineCount: r?.layout?.showAllArgumentInEmbed !== !0 ? q : void 0,
191
191
  readMoreText: i.formatMessage({
192
192
  id: "action.read_more",
193
193
  defaultMessage: "Read more"
@@ -196,27 +196,27 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
196
196
  id: "action.read_less",
197
197
  defaultMessage: "Read less"
198
198
  }),
199
- expandable: r?.layout?.showAllArgumentInEmbed !== !0 ? F : !1,
199
+ expandable: r?.layout?.showAllArgumentInEmbed !== !0 ? j : !1,
200
200
  readMoreClassName: e.is_reply ? s.replyStyle : s.argumentStyle
201
201
  }
202
202
  )
203
203
  ]
204
204
  }
205
205
  ),
206
- e.sources?.length > 0 && /* @__PURE__ */ o("div", { className: s.argumentSourcesList, children: e.sources.map(oe) })
206
+ e.sources?.length > 0 && /* @__PURE__ */ o("div", { className: s.argumentSourcesList, children: e.sources.map(se) })
207
207
  ] }),
208
208
  !R && !e.is_deleted && /* @__PURE__ */ o(
209
- _e,
209
+ be,
210
210
  {
211
211
  resource: e,
212
- disabled: _ || e.status === "rejected" || !K && r?.actions?.disableInputForVisitor === !0 || N,
212
+ disabled: _ || e.status === "rejected" || !Q && r?.actions?.disableInputForVisitor === !0 || N,
213
213
  reportType: "Message",
214
214
  softDelete: r.actions?.softDelete,
215
215
  deleteType: "messages",
216
- deleteListId: z,
216
+ deleteListId: O,
217
217
  enableReply: y <= 2 || c.role === "editor" || c.role === "moderator",
218
218
  handleReplyTo: A,
219
- replyRedirectUrl: q,
219
+ replyRedirectUrl: J,
220
220
  shareUrl: `https://app.logora.fr/share/a/${e.id}`,
221
221
  shareTitle: i.formatMessage({
222
222
  id: "share.argument.title",
@@ -231,10 +231,10 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
231
231
  showShareText: !0,
232
232
  showShareButton: r?.actions?.hideShareButton !== !0,
233
233
  enableReport: !(e.score === 100 && e.manual_score),
234
- enableEdition: H,
235
- enableDeletion: V,
234
+ enableEdition: V,
235
+ enableDeletion: z,
236
236
  children: /* @__PURE__ */ o(
237
- be,
237
+ Me,
238
238
  {
239
239
  voteableType: "Message",
240
240
  voteableId: e.id,
@@ -247,7 +247,7 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
247
247
  }
248
248
  ),
249
249
  !R && !T && /* @__PURE__ */ o(
250
- de,
250
+ ce,
251
251
  {
252
252
  numberReplies: e.number_replies,
253
253
  repliesAuthors: e.replies_authors,
@@ -260,15 +260,15 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
260
260
  }
261
261
  ),
262
262
  !T && /* @__PURE__ */ l(h, { children: [
263
- W && /* @__PURE__ */ o(ae, { fallback: null, children: /* @__PURE__ */ o(
264
- Ie,
263
+ X && /* @__PURE__ */ o(le, { fallback: null, children: /* @__PURE__ */ o(
264
+ Se,
265
265
  {
266
266
  groupId: e.group_id,
267
267
  groupType: I,
268
268
  groupName: S,
269
269
  positions: g,
270
270
  parentId: e.id,
271
- positionId: j?.position_id,
271
+ positionId: G?.position_id,
272
272
  disabled: _,
273
273
  hideSourceAction: r?.actions?.disableUserSources || !1,
274
274
  onSubmit: (t) => {
@@ -287,11 +287,11 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
287
287
  ) }),
288
288
  m?.length > 0 && p && /* @__PURE__ */ o("div", { className: s.repliesList, children: m.map((t) => k(t)) }),
289
289
  p && /* @__PURE__ */ o("div", { className: s.repliesList, children: /* @__PURE__ */ o(
290
- Me,
290
+ ve,
291
291
  {
292
292
  voteableType: "Message",
293
293
  currentListId: `argument_${e.id}_reply_list`,
294
- loadingComponent: /* @__PURE__ */ o(ve, {}),
294
+ loadingComponent: /* @__PURE__ */ o(Ce, {}),
295
295
  resource: "messages",
296
296
  sort: "+created_at",
297
297
  filters: {
@@ -303,12 +303,12 @@ const Ie = le(() => import("../../input/argument_input/index.js").then((e) => ({
303
303
  display: "column",
304
304
  resourcePropName: "argument",
305
305
  emptyListComponent: /* @__PURE__ */ o(h, {}),
306
- transformData: (t) => te(t),
306
+ transformData: (t) => oe(t),
307
307
  children: k(e)
308
308
  }
309
309
  ) }),
310
310
  m?.length > 0 && !p && /* @__PURE__ */ o("div", { className: s.repliesList, children: e.number_replies > 1 && /* @__PURE__ */ o("div", { className: s.readMoreLink, children: /* @__PURE__ */ o(
311
- Ce,
311
+ Ie,
312
312
  {
313
313
  role: "link",
314
314
  rightIcon: /* @__PURE__ */ o(D, { name: "lightArrow", height: 10, width: 10 }),
@@ -1,171 +1,175 @@
1
- import { jsxs as u, Fragment as X, jsx as t } from "react/jsx-runtime";
2
- import { ListNode as Y, ListItemNode as Z } from "@lexical/list";
3
- import { OverflowNode as tt } from "@lexical/overflow";
4
- import { CharacterLimitPlugin as ot } from "@lexical/react/LexicalCharacterLimitPlugin";
5
- import { LexicalComposer as et } from "@lexical/react/LexicalComposer";
6
- import { ContentEditable as rt } from "@lexical/react/LexicalContentEditable";
7
- import { EditorRefPlugin as it } from "@lexical/react/LexicalEditorRefPlugin";
8
- import { LexicalErrorBoundary as nt } from "@lexical/react/LexicalErrorBoundary";
9
- import { HistoryPlugin as st } from "@lexical/react/LexicalHistoryPlugin";
10
- import { ListPlugin as lt } from "@lexical/react/LexicalListPlugin";
11
- import { OnChangePlugin as ct } from "@lexical/react/LexicalOnChangePlugin";
1
+ import { jsxs as u, Fragment as Y, jsx as t } from "react/jsx-runtime";
2
+ import { ListNode as Z, ListItemNode as tt } from "@lexical/list";
3
+ import { OverflowNode as ot } from "@lexical/overflow";
4
+ import { CharacterLimitPlugin as et } from "@lexical/react/LexicalCharacterLimitPlugin";
5
+ import { LexicalComposer as rt } from "@lexical/react/LexicalComposer";
6
+ import { ContentEditable as it } from "@lexical/react/LexicalContentEditable";
7
+ import { EditorRefPlugin as nt } from "@lexical/react/LexicalEditorRefPlugin";
8
+ import { LexicalErrorBoundary as st } from "@lexical/react/LexicalErrorBoundary";
9
+ import { HistoryPlugin as lt } from "@lexical/react/LexicalHistoryPlugin";
10
+ import { ListPlugin as ct } from "@lexical/react/LexicalListPlugin";
11
+ import { OnChangePlugin as at } from "@lexical/react/LexicalOnChangePlugin";
12
12
  import { RichTextPlugin as mt } from "@lexical/react/LexicalRichTextPlugin";
13
- import { QuoteNode as at } from "@lexical/rich-text";
14
- import I from "classnames";
15
- import { $getRoot as dt } from "lexical";
16
- import { useState as a, useId as ft, useEffect as b } from "react";
17
- import { useIntl as ut } from "react-intl";
18
- import pt from "./EditorTheme.js";
19
- import e from "./TextEditor.module.scss.js";
20
- import { AutoSavePlugin as ht } from "./plugins/AutoSavePlugin.js";
21
- import { FocusPlugin as gt } from "./plugins/FocusPlugin.js";
22
- import { MaxLengthPlugin as xt } from "./plugins/MaxLengthPlugin.js";
23
- import { ResetPlugin as St } from "./plugins/ResetPlugin.js";
24
- import { SetContentPlugin as Ct } from "./plugins/SetContentPlugin.js";
13
+ import { QuoteNode as dt } from "@lexical/rich-text";
14
+ import y from "classnames";
15
+ import { $getRoot as ft } from "lexical";
16
+ import { useState as d, useId as ut, useEffect as I } from "react";
17
+ import { useIntl as pt } from "react-intl";
18
+ import ht from "./EditorTheme.js";
19
+ import r from "./TextEditor.module.scss.js";
20
+ import { AutoSavePlugin as gt } from "./plugins/AutoSavePlugin.js";
21
+ import { FocusPlugin as xt } from "./plugins/FocusPlugin.js";
22
+ import { MaxLengthPlugin as St } from "./plugins/MaxLengthPlugin.js";
23
+ import { ResetPlugin as Ct } from "./plugins/ResetPlugin.js";
24
+ import { SetContentPlugin as Nt } from "./plugins/SetContentPlugin.js";
25
25
  import { SetRichContentPlugin as Pt } from "./plugins/SetRichContentPlugin.js";
26
- import { ToolbarPlugin as Tt } from "./plugins/ToolbarPlugin.js";
26
+ import { ToolbarPlugin as Et } from "./plugins/ToolbarPlugin.js";
27
27
  import { useModal as vt } from "../../dialog/modal/useModal.js";
28
- import { SourceModal as Nt } from "../../source/source_modal/SourceModal.js";
29
- import { SourceListItem as Et } from "../../source/source_list_item/SourceListItem.js";
30
- const M = (l) => l?.replace(/&nbsp;/g, " "), to = ({
31
- placeholder: l,
28
+ import { SourceModal as Tt } from "../../source/source_modal/SourceModal.js";
29
+ import { SourceListItem as yt } from "../../source/source_list_item/SourceListItem.js";
30
+ const b = (o) => o?.replace(/&nbsp;/g, " "), M = (o) => {
31
+ !o || typeof o != "object" || (typeof o.text == "string" && (o.text = b(o.text)), Array.isArray(o.children) && o.children.forEach(M));
32
+ }, oo = ({
33
+ placeholder: o,
32
34
  onSubmit: p,
33
- sources: r,
34
- hideSubmit: y = !1,
35
- hideSourceAction: R = !1,
35
+ sources: i,
36
+ hideSubmit: A = !1,
37
+ hideSourceAction: w = !1,
36
38
  onActivation: h,
37
- disabled: w = !1,
39
+ disabled: L = !1,
38
40
  handleChange: g,
39
41
  handleSourcesChange: x,
40
- shortBar: A = !1,
42
+ shortBar: R = !1,
41
43
  active: S = !1,
42
44
  maxLength: c,
43
- disableRichText: L = !1,
45
+ disableRichText: O = !1,
44
46
  editorRef: _,
45
47
  uid: C,
46
- allowedDomains: P = [],
47
- hideCharCount: B = !1,
48
- disableAutoActivate: F = !1,
49
- ...O
48
+ allowedDomains: N = [],
49
+ hideCharCount: j = !1,
50
+ disableAutoActivate: B = !1,
51
+ ...F
50
52
  }) => {
51
- const [n, U] = a(!1), [j, k] = a(""), [z, H] = a(""), [s, d] = a([]), { showModal: J } = vt(), T = ut(), v = ft();
52
- b(() => {
53
- r && r.length > 0 && d(r);
54
- }, [r]), b(() => {
55
- x && s.length > 0 && x(s);
56
- }, [s]);
57
- const N = () => {
58
- n || (U(!0), h && h());
59
- }, Q = {
60
- editable: !w,
61
- theme: pt,
62
- onError(o) {
63
- console.error("TextEditor error:", o);
53
+ const [s, U] = d(!1), [k, z] = d(""), [J, H] = d(""), [l, f] = d([]), { showModal: Q } = vt(), P = pt(), E = ut();
54
+ I(() => {
55
+ i && i.length > 0 && f(i);
56
+ }, [i]), I(() => {
57
+ x && l.length > 0 && x(l);
58
+ }, [l]);
59
+ const v = () => {
60
+ s || (U(!0), h && h());
61
+ }, W = {
62
+ editable: !L,
63
+ theme: ht,
64
+ onError(e) {
65
+ console.error("TextEditor error:", e);
64
66
  },
65
- nodes: [Y, Z, at, tt]
66
- }, W = () => {
67
- N();
68
- }, $ = (o) => {
69
- o.read(() => {
70
- const i = dt().getTextContent(), m = M(i), f = JSON.stringify(o), E = M(f);
71
- k(m), H(E), g && g(m, E);
67
+ nodes: [Z, tt, dt, ot]
68
+ }, $ = () => {
69
+ v();
70
+ }, q = (e) => {
71
+ e.read(() => {
72
+ const n = ft().getTextContent(), a = b(n), m = e.toJSON();
73
+ M(m.root);
74
+ const T = JSON.stringify(m);
75
+ z(a), H(T), g && g(a, T);
72
76
  });
73
- }, q = (o) => {
74
- const i = j, m = z, f = s;
75
- p && (o.preventDefault(), p(i, m, f)), d([]);
76
- }, D = () => {
77
- J(
77
+ }, D = (e) => {
78
+ const n = k, a = J, m = l;
79
+ p && (e.preventDefault(), p(n, a, m)), f([]);
80
+ }, G = () => {
81
+ Q(
78
82
  /* @__PURE__ */ t(
79
- Nt,
83
+ Tt,
80
84
  {
81
- onAddSource: G,
82
- allowedSources: P
85
+ onAddSource: K,
86
+ allowedSources: N
83
87
  }
84
88
  )
85
89
  );
86
- }, G = (o) => {
87
- d([...s, o]);
88
- }, K = (o, i) => /* @__PURE__ */ t(
89
- Et,
90
+ }, K = (e) => {
91
+ f([...l, e]);
92
+ }, V = (e, n) => /* @__PURE__ */ t(
93
+ yt,
90
94
  {
91
- publisher: o.publisher,
92
- url: o.source_url,
93
- title: o.title,
94
- index: i
95
+ publisher: e.publisher,
96
+ url: e.source_url,
97
+ title: e.title,
98
+ index: n
95
99
  },
96
- i
97
- ), V = () => /* @__PURE__ */ t("div", { className: e.editorPlaceholder, children: l });
98
- return /* @__PURE__ */ u(X, { children: [
99
- /* @__PURE__ */ t(et, { initialConfig: Q, children: /* @__PURE__ */ t("div", { className: e.editorContainer, onClick: W, children: /* @__PURE__ */ u(
100
+ n
101
+ ), X = () => /* @__PURE__ */ t("div", { className: r.editorPlaceholder, children: o });
102
+ return /* @__PURE__ */ u(Y, { children: [
103
+ /* @__PURE__ */ t(rt, { initialConfig: W, children: /* @__PURE__ */ t("div", { className: r.editorContainer, onClick: $, children: /* @__PURE__ */ u(
100
104
  "div",
101
105
  {
102
- className: I(e.editorInner, {
103
- [e.editorInnerInactive]: !n && !S
106
+ className: y(r.editorInner, {
107
+ [r.editorInnerInactive]: !s && !S
104
108
  }),
105
109
  children: [
106
110
  /* @__PURE__ */ t(
107
111
  mt,
108
112
  {
109
113
  contentEditable: /* @__PURE__ */ t(
110
- rt,
114
+ it,
111
115
  {
112
- className: I(e.editorInput, {
113
- [e.editorInputInactive]: !n
116
+ className: y(r.editorInput, {
117
+ [r.editorInputInactive]: !s
114
118
  }),
115
- ...O
119
+ ...F
116
120
  }
117
121
  ),
118
- placeholder: l && /* @__PURE__ */ t(V, {}),
119
- ErrorBoundary: nt
122
+ placeholder: o && /* @__PURE__ */ t(X, {}),
123
+ ErrorBoundary: st
120
124
  }
121
125
  ),
122
126
  /* @__PURE__ */ t(
123
- Tt,
127
+ Et,
124
128
  {
125
- hideSourceAction: R,
126
- hideSubmit: y,
127
- disableRichText: L,
128
- shortBar: A,
129
- onSubmit: q,
130
- onAddSource: D,
131
- isActive: n || S,
132
- sourceTooltip: P?.length > 0 && T.formatMessage({
129
+ hideSourceAction: w,
130
+ hideSubmit: A,
131
+ disableRichText: O,
132
+ shortBar: R,
133
+ onSubmit: D,
134
+ onAddSource: G,
135
+ isActive: s || S,
136
+ sourceTooltip: N?.length > 0 && P.formatMessage({
133
137
  id: "input.allowed_domains_tooltip",
134
138
  defaultMessage: "With the new source function, you can add links to your article."
135
139
  })
136
140
  }
137
141
  ),
138
- n && c && !B && /* @__PURE__ */ u("div", { className: e.charactersCount, children: [
139
- /* @__PURE__ */ t(ot, { maxLength: c }),
142
+ s && c && !j && /* @__PURE__ */ u("div", { className: r.charactersCount, children: [
143
+ /* @__PURE__ */ t(et, { maxLength: c }),
140
144
  " ",
141
- T.formatMessage({
145
+ P.formatMessage({
142
146
  id: "input.remaining_chars",
143
147
  defaultMessage: "remaining characters"
144
148
  })
145
149
  ] }),
150
+ /* @__PURE__ */ t(ct, {}),
146
151
  /* @__PURE__ */ t(lt, {}),
147
- /* @__PURE__ */ t(st, {}),
148
- /* @__PURE__ */ t(ct, { onChange: $, ignoreSelectionChange: !0 }),
152
+ /* @__PURE__ */ t(at, { onChange: q, ignoreSelectionChange: !0 }),
149
153
  /* @__PURE__ */ t(
150
- ht,
154
+ gt,
151
155
  {
152
- onSetContent: F ? () => {
153
- } : N,
154
- storageUid: C || v
156
+ onSetContent: B ? () => {
157
+ } : v,
158
+ storageUid: C || E
155
159
  }
156
160
  ),
157
- /* @__PURE__ */ t(Ct, {}),
161
+ /* @__PURE__ */ t(Nt, {}),
158
162
  /* @__PURE__ */ t(Pt, {}),
159
- /* @__PURE__ */ t(gt, {}),
160
- c && /* @__PURE__ */ t(xt, { maxLength: c }),
161
- /* @__PURE__ */ t(St, { storageUid: C || v }),
162
- /* @__PURE__ */ t(it, { editorRef: _ })
163
+ /* @__PURE__ */ t(xt, {}),
164
+ c && /* @__PURE__ */ t(St, { maxLength: c }),
165
+ /* @__PURE__ */ t(Ct, { storageUid: C || E }),
166
+ /* @__PURE__ */ t(nt, { editorRef: _ })
163
167
  ]
164
168
  }
165
169
  ) }) }),
166
- r && r.length !== 0 ? /* @__PURE__ */ t("div", { className: e.sourcesBox, children: /* @__PURE__ */ t("div", { className: e.sourceList, children: r.map(K) }) }) : null
170
+ i && i.length !== 0 ? /* @__PURE__ */ t("div", { className: r.sourcesBox, children: /* @__PURE__ */ t("div", { className: r.sourceList, children: i.map(V) }) }) : null
167
171
  ] });
168
172
  };
169
173
  export {
170
- to as TextEditor
174
+ oo as TextEditor
171
175
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logora/debate",
3
- "version": "0.3.13",
3
+ "version": "0.3.15",
4
4
  "type": "module",
5
5
  "license": "AGPL-3.0",
6
6
  "description": "Design system of @Logora made with React",