@quoreadmin/ui 1.9.1 → 1.9.3

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 (273) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index104.js +2 -2
  3. package/dist/index110.js +1 -1
  4. package/dist/index114.js +2 -2
  5. package/dist/index118.js +3 -3
  6. package/dist/index132.js +1 -1
  7. package/dist/index134.js +2 -2
  8. package/dist/index143.js +338 -329
  9. package/dist/index145.js +1 -1
  10. package/dist/index147.js +6 -6
  11. package/dist/index153.js +156 -153
  12. package/dist/{index157.js → index158.js} +1 -1
  13. package/dist/{index160.js → index161.js} +1 -1
  14. package/dist/{index164.js → index165.js} +9 -9
  15. package/dist/index168.js +111 -492
  16. package/dist/index169.js +471 -5498
  17. package/dist/index170.js +5511 -80
  18. package/dist/index171.js +86 -856
  19. package/dist/index172.js +844 -21
  20. package/dist/index173.js +23 -265
  21. package/dist/index174.js +256 -126
  22. package/dist/index175.js +146 -1195
  23. package/dist/index176.js +1139 -712
  24. package/dist/index177.js +704 -1240
  25. package/dist/index178.js +1280 -248
  26. package/dist/index179.js +266 -96
  27. package/dist/index180.js +106 -2
  28. package/dist/index181.js +2 -1376
  29. package/dist/index182.js +1378 -0
  30. package/dist/index184.js +12 -12
  31. package/dist/index185.js +10 -10
  32. package/dist/index186.js +12 -12
  33. package/dist/index187.js +14 -21
  34. package/dist/index188.js +23 -757
  35. package/dist/index189.js +759 -1144
  36. package/dist/index190.js +1144 -1234
  37. package/dist/index191.js +1205 -11248
  38. package/dist/index192.js +11277 -36
  39. package/dist/index193.js +36 -44
  40. package/dist/index194.js +42 -1188
  41. package/dist/index195.js +1230 -0
  42. package/dist/index197.js +5830 -99
  43. package/dist/index198.js +188 -16
  44. package/dist/index199.js +25 -8
  45. package/dist/index200.js +16 -76
  46. package/dist/index201.js +74 -249
  47. package/dist/index202.js +229 -13660
  48. package/dist/index203.js +13684 -27
  49. package/dist/index204.js +26 -62
  50. package/dist/index205.js +40 -215
  51. package/dist/index206.js +206 -279
  52. package/dist/index207.js +281 -265
  53. package/dist/index208.js +287 -80
  54. package/dist/index209.js +29 -403
  55. package/dist/index210.js +116 -22
  56. package/dist/index211.js +32 -29
  57. package/dist/index212.js +26 -116
  58. package/dist/index213.js +31 -31
  59. package/dist/index214.js +51 -26
  60. package/dist/index215.js +41 -34
  61. package/dist/index216.js +3 -50
  62. package/dist/index217.js +9 -43
  63. package/dist/index218.js +18 -3
  64. package/dist/index219.js +9 -8
  65. package/dist/index220.js +10 -19
  66. package/dist/index221.js +39 -10
  67. package/dist/index222.js +21 -10
  68. package/dist/index223.js +84 -35
  69. package/dist/index224.js +407 -21
  70. package/dist/index225.js +19 -124
  71. package/dist/index226.js +158 -35
  72. package/dist/index227.js +227 -79
  73. package/dist/index228.js +36 -19
  74. package/dist/index229.js +10 -20
  75. package/dist/index230.js +126 -19
  76. package/dist/index231.js +34 -16
  77. package/dist/index232.js +80 -20
  78. package/dist/index233.js +19 -160
  79. package/dist/index234.js +11 -11
  80. package/dist/index235.js +13 -15
  81. package/dist/index236.js +19 -198
  82. package/dist/index237.js +19 -69
  83. package/dist/index238.js +159 -32
  84. package/dist/index239.js +19 -39
  85. package/dist/index240.js +12 -12
  86. package/dist/index241.js +198 -21
  87. package/dist/index242.js +69 -19
  88. package/dist/index243.js +34 -836
  89. package/dist/index244.js +24 -686
  90. package/dist/index245.js +22 -176
  91. package/dist/index246.js +6 -6
  92. package/dist/index247.js +7 -7
  93. package/dist/index248.js +836 -20
  94. package/dist/index249.js +702 -3
  95. package/dist/index250.js +172 -183
  96. package/dist/index251.js +21 -132
  97. package/dist/index252.js +20 -1223
  98. package/dist/index253.js +9 -9
  99. package/dist/index254.js +3 -22
  100. package/dist/index255.js +186 -21
  101. package/dist/index256.js +132 -28
  102. package/dist/index257.js +1223 -20
  103. package/dist/index258.js +13 -13
  104. package/dist/index259.js +22 -2
  105. package/dist/index260.js +22 -2
  106. package/dist/index261.js +28 -160
  107. package/dist/index262.js +20 -228
  108. package/dist/index263.js +19 -36
  109. package/dist/index264.js +2 -10
  110. package/dist/index265.js +2 -3636
  111. package/dist/index266.js +3620 -39
  112. package/dist/index267.js +30 -52
  113. package/dist/index268.js +47 -22
  114. package/dist/index269.js +25 -188
  115. package/dist/index270.js +213 -8
  116. package/dist/index271.js +9 -56
  117. package/dist/index272.js +41 -45
  118. package/dist/index273.js +46 -39
  119. package/dist/index274.js +36 -57
  120. package/dist/index275.js +41 -692
  121. package/dist/index276.js +707 -23
  122. package/dist/index277.js +25 -47
  123. package/dist/index278.js +63 -10
  124. package/dist/index279.js +10 -704
  125. package/dist/index280.js +655 -770
  126. package/dist/index281.js +801 -234
  127. package/dist/index282.js +3 -8
  128. package/dist/index283.js +24 -135
  129. package/dist/index284.js +232 -62
  130. package/dist/index285.js +8 -3
  131. package/dist/index286.js +135 -24
  132. package/dist/index287.js +73 -252
  133. package/dist/index288.js +2 -6
  134. package/dist/index289.js +73 -134
  135. package/dist/index290.js +52 -71
  136. package/dist/index291.js +25 -86
  137. package/dist/index292.js +21 -28
  138. package/dist/index293.js +20 -14
  139. package/dist/index294.js +16 -75
  140. package/dist/index295.js +17 -4
  141. package/dist/index296.js +23 -2
  142. package/dist/index297.js +1531 -80
  143. package/dist/index298.js +386 -53
  144. package/dist/index299.js +2729 -4
  145. package/dist/index300.js +85 -4
  146. package/dist/index301.js +3761 -148
  147. package/dist/index302.js +57 -60
  148. package/dist/index303.js +78 -74
  149. package/dist/index304.js +22 -2
  150. package/dist/index305.js +910 -54
  151. package/dist/index306.js +21 -53
  152. package/dist/index307.js +12 -18
  153. package/dist/index308.js +11 -13
  154. package/dist/index309.js +68 -21
  155. package/dist/index310.js +17 -14
  156. package/dist/index311.js +16 -14
  157. package/dist/index312.js +22 -23
  158. package/dist/index313.js +21 -78
  159. package/dist/index314.js +63 -22
  160. package/dist/index315.js +14 -934
  161. package/dist/index316.js +83 -21
  162. package/dist/index317.js +202 -20
  163. package/dist/index318.js +246 -20
  164. package/dist/index319.js +260 -67
  165. package/dist/index320.js +6 -19
  166. package/dist/index321.js +139 -18
  167. package/dist/index322.js +72 -21
  168. package/dist/index323.js +85 -20
  169. package/dist/index324.js +29 -63
  170. package/dist/index325.js +13 -1531
  171. package/dist/index326.js +67 -378
  172. package/dist/index327.js +3 -2730
  173. package/dist/index328.js +2 -86
  174. package/dist/index329.js +80 -3789
  175. package/dist/index330.js +51 -58
  176. package/dist/index331.js +6 -15
  177. package/dist/index332.js +4 -83
  178. package/dist/index333.js +165 -188
  179. package/dist/index334.js +56 -239
  180. package/dist/index335.js +75 -9
  181. package/dist/index336.js +8 -12
  182. package/dist/index337.js +12 -54
  183. package/dist/index338.js +52 -9
  184. package/dist/index339.js +11 -13
  185. package/dist/index340.js +9 -53
  186. package/dist/index341.js +55 -49
  187. package/dist/index342.js +49 -28
  188. package/dist/index343.js +31 -2
  189. package/dist/index344.js +2 -5
  190. package/dist/index345.js +5 -2
  191. package/dist/index346.js +2 -23
  192. package/dist/index347.js +21 -39
  193. package/dist/index348.js +41 -2
  194. package/dist/index349.js +2 -11
  195. package/dist/index350.js +11 -20
  196. package/dist/index351.js +20 -10
  197. package/dist/index352.js +9 -9
  198. package/dist/index353.js +9 -16
  199. package/dist/index354.js +17 -2
  200. package/dist/index355.js +2 -9
  201. package/dist/index356.js +9 -10
  202. package/dist/index357.js +10 -14
  203. package/dist/index358.js +14 -19
  204. package/dist/index359.js +36 -56
  205. package/dist/index360.js +19 -28
  206. package/dist/index361.js +19 -6
  207. package/dist/index362.js +60 -48
  208. package/dist/index363.js +37 -7
  209. package/dist/index364.js +18 -11
  210. package/dist/index365.js +57 -7
  211. package/dist/index366.js +29 -28
  212. package/dist/index367.js +7 -2
  213. package/dist/index368.js +50 -68
  214. package/dist/index369.js +6 -166
  215. package/dist/index370.js +11 -36
  216. package/dist/index371.js +7 -20
  217. package/dist/index372.js +28 -20
  218. package/dist/index373.js +2 -64
  219. package/dist/index374.js +70 -37
  220. package/dist/index375.js +164 -28
  221. package/dist/index376.js +100 -10
  222. package/dist/index377.js +90 -3
  223. package/dist/index378.js +17 -4
  224. package/dist/index379.js +97 -12
  225. package/dist/index380.js +31 -7
  226. package/dist/index381.js +10 -11
  227. package/dist/index382.js +3 -4
  228. package/dist/index383.js +4 -33
  229. package/dist/index384.js +12 -30
  230. package/dist/index385.js +7 -28
  231. package/dist/index386.js +12 -61
  232. package/dist/index387.js +5 -17
  233. package/dist/index388.js +33 -101
  234. package/dist/index389.js +31 -91
  235. package/dist/index390.js +27 -97
  236. package/dist/index391.js +61 -3
  237. package/dist/index392.js +3 -2
  238. package/dist/index393.js +2 -2
  239. package/dist/index394.js +2 -17
  240. package/dist/index395.js +15 -11
  241. package/dist/index396.js +13 -6
  242. package/dist/index397.js +6 -32
  243. package/dist/index398.js +34 -0
  244. package/dist/index44.js +288 -261
  245. package/dist/index49.js +4 -3
  246. package/dist/index50.js +2 -2
  247. package/dist/index51.js +1 -1
  248. package/dist/index52.js +1 -1
  249. package/dist/index53.js +1 -1
  250. package/dist/index54.js +1 -1
  251. package/dist/index56.js +2 -2
  252. package/dist/index58.js +1 -1
  253. package/dist/index60.js +5 -5
  254. package/dist/index61.js +1 -1
  255. package/dist/index73.js +2 -2
  256. package/dist/index77.js +1 -1
  257. package/dist/index82.js +1 -1
  258. package/dist/index87.js +1 -1
  259. package/dist/index89.js +3 -3
  260. package/dist/index91.js +2 -2
  261. package/dist/index97.js +2 -2
  262. package/dist/src/components/grid/grid.stories.d.ts +28 -22
  263. package/dist/src/components/list/list.stories.d.ts +14 -11
  264. package/dist/src/components/modal/modal.stories.d.ts +14 -11
  265. package/dist/src/components/select/select.d.ts +14 -12
  266. package/dist/src/components/select/select.stories.d.ts +42 -33
  267. package/package.json +2 -2
  268. package/dist/index167.js +0 -116
  269. package/dist/index183.js +0 -20
  270. package/dist/index196.js +0 -5940
  271. package/dist/src/components/room-details-popover/room-details-popover.d.ts +0 -2018
  272. /package/dist/{index155.js → index156.js} +0 -0
  273. /package/dist/{index162.js → index163.js} +0 -0
package/dist/index280.js CHANGED
@@ -1,822 +1,707 @@
1
- import { Slice as m, Fragment as B, Node as x, Mark as R } from "./index327.js";
2
- import { ReplaceStep as P, ReplaceAroundStep as K, Transform as $ } from "./index325.js";
3
- const O = /* @__PURE__ */ Object.create(null);
4
- class l {
5
- /**
6
- Initialize a selection with the head and anchor and ranges. If no
7
- ranges are given, constructs a single range across `$anchor` and
8
- `$head`.
9
- */
10
- constructor(e, t, r) {
11
- this.$anchor = e, this.$head = t, this.ranges = r || [new q(e.min(t), e.max(t))];
12
- }
13
- /**
14
- The selection's anchor, as an unresolved position.
15
- */
16
- get anchor() {
17
- return this.$anchor.pos;
18
- }
19
- /**
20
- The selection's head.
21
- */
22
- get head() {
23
- return this.$head.pos;
24
- }
25
- /**
26
- The lower bound of the selection's main range.
27
- */
28
- get from() {
29
- return this.$from.pos;
30
- }
31
- /**
32
- The upper bound of the selection's main range.
33
- */
34
- get to() {
35
- return this.$to.pos;
36
- }
37
- /**
38
- The resolved lower bound of the selection's main range.
39
- */
40
- get $from() {
41
- return this.ranges[0].$from;
42
- }
43
- /**
44
- The resolved upper bound of the selection's main range.
45
- */
46
- get $to() {
47
- return this.ranges[0].$to;
48
- }
49
- /**
50
- Indicates whether the selection contains any content.
51
- */
52
- get empty() {
53
- let e = this.ranges;
54
- for (let t = 0; t < e.length; t++)
55
- if (e[t].$from.pos != e[t].$to.pos)
56
- return !1;
57
- return !0;
58
- }
59
- /**
60
- Get the content of this selection as a slice.
61
- */
62
- content() {
63
- return this.$from.doc.slice(this.from, this.to, !0);
64
- }
65
- /**
66
- Replace the selection with a slice or, if no slice is given,
67
- delete the selection. Will append to the given transaction.
68
- */
69
- replace(e, t = m.empty) {
70
- let r = t.content.lastChild, n = null;
71
- for (let a = 0; a < t.openEnd; a++)
72
- n = r, r = r.lastChild;
73
- let s = e.steps.length, o = this.ranges;
74
- for (let a = 0; a < o.length; a++) {
75
- let { $from: c, $to: u } = o[a], h = e.mapping.slice(s);
76
- e.replaceRange(h.map(c.pos), h.map(u.pos), a ? m.empty : t), a == 0 && E(e, s, (r ? r.isInline : n && n.isTextblock) ? -1 : 1);
77
- }
78
- }
79
- /**
80
- Replace the selection with the given node, appending the changes
81
- to the given transaction.
82
- */
83
- replaceWith(e, t) {
84
- let r = e.steps.length, n = this.ranges;
85
- for (let s = 0; s < n.length; s++) {
86
- let { $from: o, $to: a } = n[s], c = e.mapping.slice(r), u = c.map(o.pos), h = c.map(a.pos);
87
- s ? e.deleteRange(u, h) : (e.replaceRangeWith(u, h, t), E(e, r, t.isInline ? -1 : 1));
88
- }
89
- }
90
- /**
91
- Find a valid cursor or leaf node selection starting at the given
92
- position and searching back if `dir` is negative, and forward if
93
- positive. When `textOnly` is true, only consider cursor
94
- selections. Will return null when no valid selection position is
95
- found.
96
- */
97
- static findFrom(e, t, r = !1) {
98
- let n = e.parent.inlineContent ? new f(e) : g(e.node(0), e.parent, e.pos, e.index(), t, r);
99
- if (n)
100
- return n;
101
- for (let s = e.depth - 1; s >= 0; s--) {
102
- let o = t < 0 ? g(e.node(0), e.node(s), e.before(s + 1), e.index(s), t, r) : g(e.node(0), e.node(s), e.after(s + 1), e.index(s) + 1, t, r);
103
- if (o)
104
- return o;
105
- }
106
- return null;
107
- }
108
- /**
109
- Find a valid cursor or leaf node selection near the given
110
- position. Searches forward first by default, but if `bias` is
111
- negative, it will search backwards first.
112
- */
113
- static near(e, t = 1) {
114
- return this.findFrom(e, t) || this.findFrom(e, -t) || new d(e.node(0));
115
- }
116
- /**
117
- Find the cursor or leaf node selection closest to the start of
118
- the given document. Will return an
119
- [`AllSelection`](https://prosemirror.net/docs/ref/#state.AllSelection) if no valid position
120
- exists.
121
- */
122
- static atStart(e) {
123
- return g(e, e, 0, 0, 1) || new d(e);
124
- }
125
- /**
126
- Find the cursor or leaf node selection closest to the end of the
127
- given document.
128
- */
129
- static atEnd(e) {
130
- return g(e, e, e.content.size, e.childCount, -1) || new d(e);
131
- }
132
- /**
133
- Deserialize the JSON representation of a selection. Must be
134
- implemented for custom classes (as a static class method).
135
- */
136
- static fromJSON(e, t) {
137
- if (!t || !t.type)
138
- throw new RangeError("Invalid input for Selection.fromJSON");
139
- let r = O[t.type];
140
- if (!r)
141
- throw new RangeError(`No selection type ${t.type} defined`);
142
- return r.fromJSON(e, t);
143
- }
144
- /**
145
- To be able to deserialize selections from JSON, custom selection
146
- classes must register themselves with an ID string, so that they
147
- can be disambiguated. Try to pick something that's unlikely to
148
- clash with classes from other modules.
149
- */
150
- static jsonID(e, t) {
151
- if (e in O)
152
- throw new RangeError("Duplicate use of selection JSON ID " + e);
153
- return O[e] = t, t.prototype.jsonID = e, t;
154
- }
155
- /**
156
- Get a [bookmark](https://prosemirror.net/docs/ref/#state.SelectionBookmark) for this selection,
157
- which is a value that can be mapped without having access to a
158
- current document, and later resolved to a real selection for a
159
- given document again. (This is used mostly by the history to
160
- track and restore old selections.) The default implementation of
161
- this method just converts the selection to a text selection and
162
- returns the bookmark for that.
163
- */
164
- getBookmark() {
165
- return f.between(this.$anchor, this.$head).getBookmark();
166
- }
1
+ const Ce = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2", pe = "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2", zt = "numeric", Bt = "ascii", Ft = "alpha", K = "asciinumeric", F = "alphanumeric", Kt = "domain", le = "emoji", Se = "scheme", Oe = "slashscheme", Pt = "whitespace";
2
+ function ye(t, n) {
3
+ return t in n || (n[t] = []), n[t];
167
4
  }
168
- l.prototype.visible = !0;
169
- class q {
170
- /**
171
- Create a range.
172
- */
173
- constructor(e, t) {
174
- this.$from = e, this.$to = t;
5
+ function j(t, n, e) {
6
+ n[zt] && (n[K] = !0, n[F] = !0), n[Bt] && (n[K] = !0, n[Ft] = !0), n[K] && (n[F] = !0), n[Ft] && (n[F] = !0), n[F] && (n[Kt] = !0), n[le] && (n[Kt] = !0);
7
+ for (const s in n) {
8
+ const i = ye(s, e);
9
+ i.indexOf(t) < 0 && i.push(t);
175
10
  }
176
11
  }
177
- let I = !1;
178
- function T(i) {
179
- !I && !i.parent.inlineContent && (I = !0, console.warn("TextSelection endpoint not pointing into a node with inline content (" + i.parent.type.name + ")"));
12
+ function ke(t, n) {
13
+ const e = {};
14
+ for (const s in n)
15
+ n[s].indexOf(t) >= 0 && (e[s] = !0);
16
+ return e;
180
17
  }
181
- class f extends l {
182
- /**
183
- Construct a text selection between the given points.
184
- */
185
- constructor(e, t = e) {
186
- T(e), T(t), super(e, t);
187
- }
18
+ function p(t = null) {
19
+ this.j = {}, this.jr = [], this.jd = null, this.t = t;
20
+ }
21
+ p.groups = {};
22
+ p.prototype = {
23
+ accepts() {
24
+ return !!this.t;
25
+ },
188
26
  /**
189
- Returns a resolved position if this is a cursor selection (an
190
- empty text selection), and null otherwise.
191
- */
192
- get $cursor() {
193
- return this.$anchor.pos == this.$head.pos ? this.$head : null;
194
- }
195
- map(e, t) {
196
- let r = e.resolve(t.map(this.head));
197
- if (!r.parent.inlineContent)
198
- return l.near(r);
199
- let n = e.resolve(t.map(this.anchor));
200
- return new f(n.parent.inlineContent ? n : r, r);
201
- }
202
- replace(e, t = m.empty) {
203
- if (super.replace(e, t), t == m.empty) {
204
- let r = this.$from.marksAcross(this.$to);
205
- r && e.ensureMarks(r);
27
+ * Follow an existing transition from the given input to the next state.
28
+ * Does not mutate.
29
+ * @param {string} input character or token type to transition on
30
+ * @returns {?State<T>} the next state, if any
31
+ */
32
+ go(t) {
33
+ const n = this, e = n.j[t];
34
+ if (e)
35
+ return e;
36
+ for (let s = 0; s < n.jr.length; s++) {
37
+ const i = n.jr[s][0], r = n.jr[s][1];
38
+ if (r && i.test(t))
39
+ return r;
206
40
  }
207
- }
208
- eq(e) {
209
- return e instanceof f && e.anchor == this.anchor && e.head == this.head;
210
- }
211
- getBookmark() {
212
- return new y(this.anchor, this.head);
213
- }
214
- toJSON() {
215
- return { type: "text", anchor: this.anchor, head: this.head };
216
- }
41
+ return n.jd;
42
+ },
217
43
  /**
218
- @internal
219
- */
220
- static fromJSON(e, t) {
221
- if (typeof t.anchor != "number" || typeof t.head != "number")
222
- throw new RangeError("Invalid input for TextSelection.fromJSON");
223
- return new f(e.resolve(t.anchor), e.resolve(t.head));
224
- }
44
+ * Whether the state has a transition for the given input. Set the second
45
+ * argument to true to only look for an exact match (and not a default or
46
+ * regular-expression-based transition)
47
+ * @param {string} input
48
+ * @param {boolean} exactOnly
49
+ */
50
+ has(t, n = !1) {
51
+ return n ? t in this.j : !!this.go(t);
52
+ },
225
53
  /**
226
- Create a text selection from non-resolved positions.
227
- */
228
- static create(e, t, r = t) {
229
- let n = e.resolve(t);
230
- return new this(n, r == t ? n : e.resolve(r));
231
- }
54
+ * Short for "transition all"; create a transition from the array of items
55
+ * in the given list to the same final resulting state.
56
+ * @param {string | string[]} inputs Group of inputs to transition on
57
+ * @param {Transition<T> | State<T>} [next] Transition options
58
+ * @param {Flags} [flags] Collections flags to add token to
59
+ * @param {Collections<T>} [groups] Master list of token groups
60
+ */
61
+ ta(t, n, e, s) {
62
+ for (let i = 0; i < t.length; i++)
63
+ this.tt(t[i], n, e, s);
64
+ },
232
65
  /**
233
- Return a text selection that spans the given positions or, if
234
- they aren't text positions, find a text selection near them.
235
- `bias` determines whether the method searches forward (default)
236
- or backwards (negative number) first. Will fall back to calling
237
- [`Selection.near`](https://prosemirror.net/docs/ref/#state.Selection^near) when the document
238
- doesn't contain a valid text position.
239
- */
240
- static between(e, t, r) {
241
- let n = e.pos - t.pos;
242
- if ((!r || n) && (r = n >= 0 ? 1 : -1), !t.parent.inlineContent) {
243
- let s = l.findFrom(t, r, !0) || l.findFrom(t, -r, !0);
66
+ * Short for "take regexp transition"; defines a transition for this state
67
+ * when it encounters a token which matches the given regular expression
68
+ * @param {RegExp} regexp Regular expression transition (populate first)
69
+ * @param {T | State<T>} [next] Transition options
70
+ * @param {Flags} [flags] Collections flags to add token to
71
+ * @param {Collections<T>} [groups] Master list of token groups
72
+ * @returns {State<T>} taken after the given input
73
+ */
74
+ tr(t, n, e, s) {
75
+ s = s || p.groups;
76
+ let i;
77
+ return n && n.j ? i = n : (i = new p(n), e && s && j(n, e, s)), this.jr.push([t, i]), i;
78
+ },
79
+ /**
80
+ * Short for "take transitions", will take as many sequential transitions as
81
+ * the length of the given input and returns the
82
+ * resulting final state.
83
+ * @param {string | string[]} input
84
+ * @param {T | State<T>} [next] Transition options
85
+ * @param {Flags} [flags] Collections flags to add token to
86
+ * @param {Collections<T>} [groups] Master list of token groups
87
+ * @returns {State<T>} taken after the given input
88
+ */
89
+ ts(t, n, e, s) {
90
+ let i = this;
91
+ const r = t.length;
92
+ if (!r)
93
+ return i;
94
+ for (let a = 0; a < r - 1; a++)
95
+ i = i.tt(t[a]);
96
+ return i.tt(t[r - 1], n, e, s);
97
+ },
98
+ /**
99
+ * Short for "take transition", this is a method for building/working with
100
+ * state machines.
101
+ *
102
+ * If a state already exists for the given input, returns it.
103
+ *
104
+ * If a token is specified, that state will emit that token when reached by
105
+ * the linkify engine.
106
+ *
107
+ * If no state exists, it will be initialized with some default transitions
108
+ * that resemble existing default transitions.
109
+ *
110
+ * If a state is given for the second argument, that state will be
111
+ * transitioned to on the given input regardless of what that input
112
+ * previously did.
113
+ *
114
+ * Specify a token group flags to define groups that this token belongs to.
115
+ * The token will be added to corresponding entires in the given groups
116
+ * object.
117
+ *
118
+ * @param {string} input character, token type to transition on
119
+ * @param {T | State<T>} [next] Transition options
120
+ * @param {Flags} [flags] Collections flags to add token to
121
+ * @param {Collections<T>} [groups] Master list of groups
122
+ * @returns {State<T>} taken after the given input
123
+ */
124
+ tt(t, n, e, s) {
125
+ s = s || p.groups;
126
+ const i = this;
127
+ if (n && n.j)
128
+ return i.j[t] = n, n;
129
+ const r = n;
130
+ let a, c = i.go(t);
131
+ if (c ? (a = new p(), Object.assign(a.j, c.j), a.jr.push.apply(a.jr, c.jr), a.jd = c.jd, a.t = c.t) : a = new p(), r) {
244
132
  if (s)
245
- t = s.$head;
246
- else
247
- return l.near(t, r);
133
+ if (a.t && typeof a.t == "string") {
134
+ const d = Object.assign(ke(a.t, s), e);
135
+ j(r, d, s);
136
+ } else e && j(r, e, s);
137
+ a.t = r;
248
138
  }
249
- return e.parent.inlineContent || (n == 0 ? e = t : (e = (l.findFrom(e, -r, !0) || l.findFrom(e, r, !0)).$anchor, e.pos < t.pos != n < 0 && (e = t))), new f(e, t);
139
+ return i.j[t] = a, a;
250
140
  }
141
+ };
142
+ const l = (t, n, e, s, i) => t.ta(n, e, s, i), f = (t, n, e, s, i) => t.tr(n, e, s, i), se = (t, n, e, s, i) => t.ts(n, e, s, i), o = (t, n, e, s, i) => t.tt(n, e, s, i), I = "WORD", Wt = "UWORD", ue = "ASCIINUMERICAL", he = "ALPHANUMERICAL", _ = "LOCALHOST", Gt = "TLD", Qt = "UTLD", tt = "SCHEME", U = "SLASH_SCHEME", qt = "NUM", $t = "WS", _t = "NL", W = "OPENBRACE", G = "CLOSEBRACE", et = "OPENBRACKET", nt = "CLOSEBRACKET", st = "OPENPAREN", it = "CLOSEPAREN", ot = "OPENANGLEBRACKET", rt = "CLOSEANGLEBRACKET", at = "FULLWIDTHLEFTPAREN", ct = "FULLWIDTHRIGHTPAREN", lt = "LEFTCORNERBRACKET", ut = "RIGHTCORNERBRACKET", ht = "LEFTWHITECORNERBRACKET", dt = "RIGHTWHITECORNERBRACKET", Et = "FULLWIDTHLESSTHAN", ft = "FULLWIDTHGREATERTHAN", mt = "AMPERSAND", gt = "APOSTROPHE", At = "ASTERISK", P = "AT", Tt = "BACKSLASH", Lt = "BACKTICK", Rt = "CARET", v = "COLON", Jt = "COMMA", Ct = "DOLLAR", y = "DOT", pt = "EQUALS", Yt = "EXCLAMATION", O = "HYPHEN", Q = "PERCENT", St = "PIPE", Ot = "PLUS", yt = "POUND", $ = "QUERY", Xt = "QUOTE", de = "FULLWIDTHMIDDLEDOT", Vt = "SEMI", k = "SLASH", q = "TILDE", kt = "UNDERSCORE", Ee = "EMOJI", bt = "SYM";
143
+ var fe = /* @__PURE__ */ Object.freeze({
144
+ __proto__: null,
145
+ ALPHANUMERICAL: he,
146
+ AMPERSAND: mt,
147
+ APOSTROPHE: gt,
148
+ ASCIINUMERICAL: ue,
149
+ ASTERISK: At,
150
+ AT: P,
151
+ BACKSLASH: Tt,
152
+ BACKTICK: Lt,
153
+ CARET: Rt,
154
+ CLOSEANGLEBRACKET: rt,
155
+ CLOSEBRACE: G,
156
+ CLOSEBRACKET: nt,
157
+ CLOSEPAREN: it,
158
+ COLON: v,
159
+ COMMA: Jt,
160
+ DOLLAR: Ct,
161
+ DOT: y,
162
+ EMOJI: Ee,
163
+ EQUALS: pt,
164
+ EXCLAMATION: Yt,
165
+ FULLWIDTHGREATERTHAN: ft,
166
+ FULLWIDTHLEFTPAREN: at,
167
+ FULLWIDTHLESSTHAN: Et,
168
+ FULLWIDTHMIDDLEDOT: de,
169
+ FULLWIDTHRIGHTPAREN: ct,
170
+ HYPHEN: O,
171
+ LEFTCORNERBRACKET: lt,
172
+ LEFTWHITECORNERBRACKET: ht,
173
+ LOCALHOST: _,
174
+ NL: _t,
175
+ NUM: qt,
176
+ OPENANGLEBRACKET: ot,
177
+ OPENBRACE: W,
178
+ OPENBRACKET: et,
179
+ OPENPAREN: st,
180
+ PERCENT: Q,
181
+ PIPE: St,
182
+ PLUS: Ot,
183
+ POUND: yt,
184
+ QUERY: $,
185
+ QUOTE: Xt,
186
+ RIGHTCORNERBRACKET: ut,
187
+ RIGHTWHITECORNERBRACKET: dt,
188
+ SCHEME: tt,
189
+ SEMI: Vt,
190
+ SLASH: k,
191
+ SLASH_SCHEME: U,
192
+ SYM: bt,
193
+ TILDE: q,
194
+ TLD: Gt,
195
+ UNDERSCORE: kt,
196
+ UTLD: Qt,
197
+ UWORD: Wt,
198
+ WORD: I,
199
+ WS: $t
200
+ });
201
+ const b = /[a-z]/, B = new RegExp("\\p{L}", "u"), vt = new RegExp("\\p{Emoji}", "u"), N = /\d/, jt = /\s/, ie = "\r", xt = `
202
+ `, be = "️", Ne = "‍", Ut = "";
203
+ let X = null, V = null;
204
+ function Ie(t = []) {
205
+ const n = {};
206
+ p.groups = n;
207
+ const e = new p();
208
+ X == null && (X = oe(Ce)), V == null && (V = oe(pe)), o(e, "'", gt), o(e, "{", W), o(e, "}", G), o(e, "[", et), o(e, "]", nt), o(e, "(", st), o(e, ")", it), o(e, "<", ot), o(e, ">", rt), o(e, "(", at), o(e, ")", ct), o(e, "「", lt), o(e, "」", ut), o(e, "『", ht), o(e, "』", dt), o(e, "<", Et), o(e, ">", ft), o(e, "&", mt), o(e, "*", At), o(e, "@", P), o(e, "`", Lt), o(e, "^", Rt), o(e, ":", v), o(e, ",", Jt), o(e, "$", Ct), o(e, ".", y), o(e, "=", pt), o(e, "!", Yt), o(e, "-", O), o(e, "%", Q), o(e, "|", St), o(e, "+", Ot), o(e, "#", yt), o(e, "?", $), o(e, '"', Xt), o(e, "/", k), o(e, ";", Vt), o(e, "~", q), o(e, "_", kt), o(e, "\\", Tt), o(e, "・", de);
209
+ const s = f(e, N, qt, {
210
+ [zt]: !0
211
+ });
212
+ f(s, N, s);
213
+ const i = f(s, b, ue, {
214
+ [K]: !0
215
+ }), r = f(s, B, he, {
216
+ [F]: !0
217
+ }), a = f(e, b, I, {
218
+ [Bt]: !0
219
+ });
220
+ f(a, N, i), f(a, b, a), f(i, N, i), f(i, b, i);
221
+ const c = f(e, B, Wt, {
222
+ [Ft]: !0
223
+ });
224
+ f(c, b), f(c, N, r), f(c, B, c), f(r, N, r), f(r, b), f(r, B, r);
225
+ const d = o(e, xt, _t, {
226
+ [Pt]: !0
227
+ }), m = o(e, ie, $t, {
228
+ [Pt]: !0
229
+ }), E = f(e, jt, $t, {
230
+ [Pt]: !0
231
+ });
232
+ o(e, Ut, E), o(m, xt, d), o(m, Ut, E), f(m, jt, E), o(E, ie), o(E, xt), f(E, jt, E), o(E, Ut, E);
233
+ const u = f(e, vt, Ee, {
234
+ [le]: !0
235
+ });
236
+ o(u, "#"), f(u, vt, u), o(u, be, u);
237
+ const g = o(u, Ne);
238
+ o(g, "#"), f(g, vt, u);
239
+ const A = [[b, a], [N, i]], H = [[b, null], [B, c], [N, r]];
240
+ for (let T = 0; T < X.length; T++)
241
+ D(e, X[T], Gt, I, A);
242
+ for (let T = 0; T < V.length; T++)
243
+ D(e, V[T], Qt, Wt, H);
244
+ j(Gt, {
245
+ tld: !0,
246
+ ascii: !0
247
+ }, n), j(Qt, {
248
+ utld: !0,
249
+ alpha: !0
250
+ }, n), D(e, "file", tt, I, A), D(e, "mailto", tt, I, A), D(e, "http", U, I, A), D(e, "https", U, I, A), D(e, "ftp", U, I, A), D(e, "ftps", U, I, A), j(tt, {
251
+ scheme: !0,
252
+ ascii: !0
253
+ }, n), j(U, {
254
+ slashscheme: !0,
255
+ ascii: !0
256
+ }, n), t = t.sort((T, C) => T[0] > C[0] ? 1 : -1);
257
+ for (let T = 0; T < t.length; T++) {
258
+ const C = t[T][0], L = t[T][1] ? {
259
+ [Se]: !0
260
+ } : {
261
+ [Oe]: !0
262
+ };
263
+ C.indexOf("-") >= 0 ? L[Kt] = !0 : b.test(C) ? N.test(C) ? L[K] = !0 : L[Bt] = !0 : L[zt] = !0, se(e, C, C, L);
264
+ }
265
+ return se(e, "localhost", _, {
266
+ ascii: !0
267
+ }), e.jd = new p(bt), {
268
+ start: e,
269
+ tokens: Object.assign({
270
+ groups: n
271
+ }, fe)
272
+ };
251
273
  }
252
- l.jsonID("text", f);
253
- class y {
254
- constructor(e, t) {
255
- this.anchor = e, this.head = t;
256
- }
257
- map(e) {
258
- return new y(e.map(this.anchor), e.map(this.head));
259
- }
260
- resolve(e) {
261
- return f.between(e.resolve(this.anchor), e.resolve(this.head));
274
+ function me(t, n) {
275
+ const e = He(n.replace(/[A-Z]/g, (c) => c.toLowerCase())), s = e.length, i = [];
276
+ let r = 0, a = 0;
277
+ for (; a < s; ) {
278
+ let c = t, d = null, m = 0, E = null, u = -1, g = -1;
279
+ for (; a < s && (d = c.go(e[a])); )
280
+ c = d, c.accepts() ? (u = 0, g = 0, E = c) : u >= 0 && (u += e[a].length, g++), m += e[a].length, r += e[a].length, a++;
281
+ r -= u, a -= g, m -= u, i.push({
282
+ t: E.t,
283
+ // token type/name
284
+ v: n.slice(r - m, r),
285
+ // string value
286
+ s: r - m,
287
+ // start index
288
+ e: r
289
+ // end index (excluding)
290
+ });
262
291
  }
292
+ return i;
263
293
  }
264
- class p extends l {
265
- /**
266
- Create a node selection. Does not verify the validity of its
267
- argument.
268
- */
269
- constructor(e) {
270
- let t = e.nodeAfter, r = e.node(0).resolve(e.pos + t.nodeSize);
271
- super(e, r), this.node = t;
272
- }
273
- map(e, t) {
274
- let { deleted: r, pos: n } = t.mapResult(this.anchor), s = e.resolve(n);
275
- return r ? l.near(s) : new p(s);
276
- }
277
- content() {
278
- return new m(B.from(this.node), 0, 0);
279
- }
280
- eq(e) {
281
- return e instanceof p && e.anchor == this.anchor;
282
- }
283
- toJSON() {
284
- return { type: "node", anchor: this.anchor };
285
- }
286
- getBookmark() {
287
- return new J(this.anchor);
288
- }
289
- /**
290
- @internal
291
- */
292
- static fromJSON(e, t) {
293
- if (typeof t.anchor != "number")
294
- throw new RangeError("Invalid input for NodeSelection.fromJSON");
295
- return new p(e.resolve(t.anchor));
296
- }
297
- /**
298
- Create a node selection from non-resolved positions.
299
- */
300
- static create(e, t) {
301
- return new p(e.resolve(t));
302
- }
303
- /**
304
- Determines whether the given node may be selected as a node
305
- selection.
306
- */
307
- static isSelectable(e) {
308
- return !e.isText && e.type.spec.selectable !== !1;
309
- }
294
+ function He(t) {
295
+ const n = [], e = t.length;
296
+ let s = 0;
297
+ for (; s < e; ) {
298
+ let i = t.charCodeAt(s), r, a = i < 55296 || i > 56319 || s + 1 === e || (r = t.charCodeAt(s + 1)) < 56320 || r > 57343 ? t[s] : t.slice(s, s + 2);
299
+ n.push(a), s += a.length;
300
+ }
301
+ return n;
310
302
  }
311
- p.prototype.visible = !1;
312
- l.jsonID("node", p);
313
- class J {
314
- constructor(e) {
315
- this.anchor = e;
316
- }
317
- map(e) {
318
- let { deleted: t, pos: r } = e.mapResult(this.anchor);
319
- return t ? new y(r, r) : new J(r);
320
- }
321
- resolve(e) {
322
- let t = e.resolve(this.anchor), r = t.nodeAfter;
323
- return r && p.isSelectable(r) ? new p(t) : l.near(t);
324
- }
303
+ function D(t, n, e, s, i) {
304
+ let r;
305
+ const a = n.length;
306
+ for (let c = 0; c < a - 1; c++) {
307
+ const d = n[c];
308
+ t.j[d] ? r = t.j[d] : (r = new p(s), r.jr = i.slice(), t.j[d] = r), t = r;
309
+ }
310
+ return r = new p(e), r.jr = i.slice(), t.j[n[a - 1]] = r, r;
325
311
  }
326
- class d extends l {
327
- /**
328
- Create an all-selection over the given document.
329
- */
330
- constructor(e) {
331
- super(e.resolve(0), e.resolve(e.content.size));
332
- }
333
- replace(e, t = m.empty) {
334
- if (t == m.empty) {
335
- e.delete(0, e.doc.content.size);
336
- let r = l.atStart(e.doc);
337
- r.eq(e.selection) || e.setSelection(r);
312
+ function oe(t) {
313
+ const n = [], e = [];
314
+ let s = 0, i = "0123456789";
315
+ for (; s < t.length; ) {
316
+ let r = 0;
317
+ for (; i.indexOf(t[s + r]) >= 0; )
318
+ r++;
319
+ if (r > 0) {
320
+ n.push(e.join(""));
321
+ for (let a = parseInt(t.substring(s, s + r), 10); a > 0; a--)
322
+ e.pop();
323
+ s += r;
338
324
  } else
339
- super.replace(e, t);
340
- }
341
- toJSON() {
342
- return { type: "all" };
343
- }
344
- /**
345
- @internal
346
- */
347
- static fromJSON(e) {
348
- return new d(e);
349
- }
350
- map(e) {
351
- return new d(e);
352
- }
353
- eq(e) {
354
- return e instanceof d;
355
- }
356
- getBookmark() {
357
- return z;
325
+ e.push(t[s]), s++;
358
326
  }
327
+ return n;
359
328
  }
360
- l.jsonID("all", d);
361
- const z = {
362
- map() {
363
- return this;
364
- },
365
- resolve(i) {
366
- return new d(i);
367
- }
329
+ const J = {
330
+ defaultProtocol: "http",
331
+ events: null,
332
+ format: re,
333
+ formatHref: re,
334
+ nl2br: !1,
335
+ tagName: "a",
336
+ target: null,
337
+ rel: null,
338
+ validate: !0,
339
+ truncate: 1 / 0,
340
+ className: null,
341
+ attributes: null,
342
+ ignoreTags: [],
343
+ render: null
368
344
  };
369
- function g(i, e, t, r, n, s = !1) {
370
- if (e.inlineContent)
371
- return f.create(i, t);
372
- for (let o = r - (n > 0 ? 0 : 1); n > 0 ? o < e.childCount : o >= 0; o += n) {
373
- let a = e.child(o);
374
- if (a.isAtom) {
375
- if (!s && p.isSelectable(a))
376
- return p.create(i, t - (n < 0 ? a.nodeSize : 0));
377
- } else {
378
- let c = g(i, a, t + n, n < 0 ? a.childCount : 0, n, s);
379
- if (c)
380
- return c;
381
- }
382
- t += a.nodeSize * n;
383
- }
384
- return null;
385
- }
386
- function E(i, e, t) {
387
- let r = i.steps.length - 1;
388
- if (r < e)
389
- return;
390
- let n = i.steps[r];
391
- if (!(n instanceof P || n instanceof K))
392
- return;
393
- let s = i.mapping.maps[r], o;
394
- s.forEach((a, c, u, h) => {
395
- o == null && (o = h);
396
- }), i.setSelection(l.near(i.doc.resolve(o), t));
345
+ function Zt(t, n = null) {
346
+ let e = Object.assign({}, J);
347
+ t && (e = Object.assign(e, t instanceof Zt ? t.o : t));
348
+ const s = e.ignoreTags, i = [];
349
+ for (let r = 0; r < s.length; r++)
350
+ i.push(s[r].toUpperCase());
351
+ this.o = e, n && (this.defaultRender = n), this.ignoreTags = i;
397
352
  }
398
- const b = 1, k = 2, F = 4;
399
- class W extends $ {
353
+ Zt.prototype = {
354
+ o: J,
400
355
  /**
401
- @internal
402
- */
403
- constructor(e) {
404
- super(e.doc), this.curSelectionFor = 0, this.updated = 0, this.meta = /* @__PURE__ */ Object.create(null), this.time = Date.now(), this.curSelection = e.selection, this.storedMarks = e.storedMarks;
405
- }
356
+ * @type string[]
357
+ */
358
+ ignoreTags: [],
406
359
  /**
407
- The transaction's current selection. This defaults to the editor
408
- selection [mapped](https://prosemirror.net/docs/ref/#state.Selection.map) through the steps in the
409
- transaction, but can be overwritten with
410
- [`setSelection`](https://prosemirror.net/docs/ref/#state.Transaction.setSelection).
411
- */
412
- get selection() {
413
- return this.curSelectionFor < this.steps.length && (this.curSelection = this.curSelection.map(this.doc, this.mapping.slice(this.curSelectionFor)), this.curSelectionFor = this.steps.length), this.curSelection;
414
- }
360
+ * @param {IntermediateRepresentation} ir
361
+ * @returns {any}
362
+ */
363
+ defaultRender(t) {
364
+ return t;
365
+ },
415
366
  /**
416
- Update the transaction's current selection. Will determine the
417
- selection that the editor gets when the transaction is applied.
418
- */
419
- setSelection(e) {
420
- if (e.$from.doc != this.doc)
421
- throw new RangeError("Selection passed to setSelection must point at the current document");
422
- return this.curSelection = e, this.curSelectionFor = this.steps.length, this.updated = (this.updated | b) & ~k, this.storedMarks = null, this;
423
- }
367
+ * Returns true or false based on whether a token should be displayed as a
368
+ * link based on the user options.
369
+ * @param {MultiToken} token
370
+ * @returns {boolean}
371
+ */
372
+ check(t) {
373
+ return this.get("validate", t.toString(), t);
374
+ },
375
+ // Private methods
376
+ /**
377
+ * Resolve an option's value based on the value of the option and the given
378
+ * params. If operator and token are specified and the target option is
379
+ * callable, automatically calls the function with the given argument.
380
+ * @template {keyof Opts} K
381
+ * @param {K} key Name of option to use
382
+ * @param {string} [operator] will be passed to the target option if it's a
383
+ * function. If not specified, RAW function value gets returned
384
+ * @param {MultiToken} [token] The token from linkify.tokenize
385
+ * @returns {Opts[K] | any}
386
+ */
387
+ get(t, n, e) {
388
+ const s = n != null;
389
+ let i = this.o[t];
390
+ return i && (typeof i == "object" ? (i = e.t in i ? i[e.t] : J[t], typeof i == "function" && s && (i = i(n, e))) : typeof i == "function" && s && (i = i(n, e.t, e)), i);
391
+ },
424
392
  /**
425
- Whether the selection was explicitly updated by this transaction.
426
- */
427
- get selectionSet() {
428
- return (this.updated & b) > 0;
429
- }
393
+ * @template {keyof Opts} L
394
+ * @param {L} key Name of options object to use
395
+ * @param {string} [operator]
396
+ * @param {MultiToken} [token]
397
+ * @returns {Opts[L] | any}
398
+ */
399
+ getObj(t, n, e) {
400
+ let s = this.o[t];
401
+ return typeof s == "function" && n != null && (s = s(n, e.t, e)), s;
402
+ },
430
403
  /**
431
- Set the current stored marks.
432
- */
433
- setStoredMarks(e) {
434
- return this.storedMarks = e, this.updated |= k, this;
404
+ * Convert the given token to a rendered element that may be added to the
405
+ * calling-interface's DOM
406
+ * @param {MultiToken} token Token to render to an HTML element
407
+ * @returns {any} Render result; e.g., HTML string, DOM element, React
408
+ * Component, etc.
409
+ */
410
+ render(t) {
411
+ const n = t.render(this);
412
+ return (this.get("render", null, t) || this.defaultRender)(n, t.t, t);
435
413
  }
414
+ };
415
+ function re(t) {
416
+ return t;
417
+ }
418
+ function ge(t, n) {
419
+ this.t = "token", this.v = t, this.tk = n;
420
+ }
421
+ ge.prototype = {
422
+ isLink: !1,
423
+ /**
424
+ * Return the string this token represents.
425
+ * @return {string}
426
+ */
427
+ toString() {
428
+ return this.v;
429
+ },
436
430
  /**
437
- Make sure the current stored marks or, if that is null, the marks
438
- at the selection, match the given set of marks. Does nothing if
439
- this is already the case.
440
- */
441
- ensureMarks(e) {
442
- return R.sameSet(this.storedMarks || this.selection.$from.marks(), e) || this.setStoredMarks(e), this;
443
- }
431
+ * What should the value for this token be in the `href` HTML attribute?
432
+ * Returns the `.toString` value by default.
433
+ * @param {string} [scheme]
434
+ * @return {string}
435
+ */
436
+ toHref(t) {
437
+ return this.toString();
438
+ },
444
439
  /**
445
- Add a mark to the set of stored marks.
446
- */
447
- addStoredMark(e) {
448
- return this.ensureMarks(e.addToSet(this.storedMarks || this.selection.$head.marks()));
449
- }
440
+ * @param {Options} options Formatting options
441
+ * @returns {string}
442
+ */
443
+ toFormattedString(t) {
444
+ const n = this.toString(), e = t.get("truncate", n, this), s = t.get("format", n, this);
445
+ return e && s.length > e ? s.substring(0, e) + "…" : s;
446
+ },
450
447
  /**
451
- Remove a mark or mark type from the set of stored marks.
452
- */
453
- removeStoredMark(e) {
454
- return this.ensureMarks(e.removeFromSet(this.storedMarks || this.selection.$head.marks()));
455
- }
448
+ *
449
+ * @param {Options} options
450
+ * @returns {string}
451
+ */
452
+ toFormattedHref(t) {
453
+ return t.get("formatHref", this.toHref(t.get("defaultProtocol")), this);
454
+ },
456
455
  /**
457
- Whether the stored marks were explicitly set for this transaction.
458
- */
459
- get storedMarksSet() {
460
- return (this.updated & k) > 0;
461
- }
456
+ * The start index of this token in the original input string
457
+ * @returns {number}
458
+ */
459
+ startIndex() {
460
+ return this.tk[0].s;
461
+ },
462
462
  /**
463
- @internal
464
- */
465
- addStep(e, t) {
466
- super.addStep(e, t), this.updated = this.updated & ~k, this.storedMarks = null;
467
- }
463
+ * The end index of this token in the original input string (up to this
464
+ * index but not including it)
465
+ * @returns {number}
466
+ */
467
+ endIndex() {
468
+ return this.tk[this.tk.length - 1].e;
469
+ },
468
470
  /**
469
- Update the timestamp for the transaction.
470
- */
471
- setTime(e) {
472
- return this.time = e, this;
473
- }
471
+ Returns an object of relevant values for this token, which includes keys
472
+ * type - Kind of token ('url', 'email', etc.)
473
+ * value - Original text
474
+ * href - The value that should be added to the anchor tag's href
475
+ attribute
476
+ @method toObject
477
+ @param {string} [protocol] `'http'` by default
478
+ */
479
+ toObject(t = J.defaultProtocol) {
480
+ return {
481
+ type: this.t,
482
+ value: this.toString(),
483
+ isLink: this.isLink,
484
+ href: this.toHref(t),
485
+ start: this.startIndex(),
486
+ end: this.endIndex()
487
+ };
488
+ },
474
489
  /**
475
- Replace the current selection with the given slice.
476
- */
477
- replaceSelection(e) {
478
- return this.selection.replace(this, e), this;
479
- }
490
+ *
491
+ * @param {Options} options Formatting option
492
+ */
493
+ toFormattedObject(t) {
494
+ return {
495
+ type: this.t,
496
+ value: this.toFormattedString(t),
497
+ isLink: this.isLink,
498
+ href: this.toFormattedHref(t),
499
+ start: this.startIndex(),
500
+ end: this.endIndex()
501
+ };
502
+ },
480
503
  /**
481
- Replace the selection with the given node. When `inheritMarks` is
482
- true and the content is inline, it inherits the marks from the
483
- place where it is inserted.
484
- */
485
- replaceSelectionWith(e, t = !0) {
486
- let r = this.selection;
487
- return t && (e = e.mark(this.storedMarks || (r.empty ? r.$from.marks() : r.$from.marksAcross(r.$to) || R.none))), r.replaceWith(this, e), this;
488
- }
504
+ * Whether this token should be rendered as a link according to the given options
505
+ * @param {Options} options
506
+ * @returns {boolean}
507
+ */
508
+ validate(t) {
509
+ return t.get("validate", this.toString(), this);
510
+ },
489
511
  /**
490
- Delete the selection.
491
- */
492
- deleteSelection() {
493
- return this.selection.replace(this), this;
512
+ * Return an object that represents how this link should be rendered.
513
+ * @param {Options} options Formattinng options
514
+ */
515
+ render(t) {
516
+ const n = this, e = this.toHref(t.get("defaultProtocol")), s = t.get("formatHref", e, this), i = t.get("tagName", e, n), r = this.toFormattedString(t), a = {}, c = t.get("className", e, n), d = t.get("target", e, n), m = t.get("rel", e, n), E = t.getObj("attributes", e, n), u = t.getObj("events", e, n);
517
+ return a.href = s, c && (a.class = c), d && (a.target = d), m && (a.rel = m), E && Object.assign(a, E), {
518
+ tagName: i,
519
+ attributes: a,
520
+ content: r,
521
+ eventListeners: u
522
+ };
494
523
  }
495
- /**
496
- Replace the given range, or the selection if no range is given,
497
- with a text node containing the given string.
498
- */
499
- insertText(e, t, r) {
500
- let n = this.doc.type.schema;
501
- if (t == null)
502
- return e ? this.replaceSelectionWith(n.text(e), !0) : this.deleteSelection();
503
- {
504
- if (r == null && (r = t), !e)
505
- return this.deleteRange(t, r);
506
- let s = this.storedMarks;
507
- if (!s) {
508
- let o = this.doc.resolve(t);
509
- s = r == t ? o.marks() : o.marksAcross(this.doc.resolve(r));
510
- }
511
- return this.replaceRangeWith(t, r, n.text(e, s)), !this.selection.empty && this.selection.to == t + e.length && this.setSelection(l.near(this.selection.$to)), this;
524
+ };
525
+ function Nt(t, n) {
526
+ class e extends ge {
527
+ constructor(i, r) {
528
+ super(i, r), this.t = t;
512
529
  }
513
530
  }
514
- /**
515
- Store a metadata property in this transaction, keyed either by
516
- name or by plugin.
517
- */
518
- setMeta(e, t) {
519
- return this.meta[typeof e == "string" ? e : e.key] = t, this;
520
- }
521
- /**
522
- Retrieve a metadata property for a given name or plugin.
523
- */
524
- getMeta(e) {
525
- return this.meta[typeof e == "string" ? e : e.key];
526
- }
527
- /**
528
- Returns true if this transaction doesn't contain any metadata,
529
- and can thus safely be extended.
530
- */
531
- get isGeneric() {
532
- for (let e in this.meta)
533
- return !1;
534
- return !0;
535
- }
536
- /**
537
- Indicate that the editor should scroll the selection into view
538
- when updated to the state produced by this transaction.
539
- */
540
- scrollIntoView() {
541
- return this.updated |= F, this;
542
- }
543
- /**
544
- True when this transaction has had `scrollIntoView` called on it.
545
- */
546
- get scrolledIntoView() {
547
- return (this.updated & F) > 0;
548
- }
531
+ for (const s in n)
532
+ e.prototype[s] = n[s];
533
+ return e.t = t, e;
549
534
  }
550
- function D(i, e) {
551
- return !e || !i ? i : i.bind(e);
552
- }
553
- class S {
554
- constructor(e, t, r) {
555
- this.name = e, this.init = D(t.init, r), this.apply = D(t.apply, r);
556
- }
535
+ const ae = Nt("email", {
536
+ isLink: !0,
537
+ toHref() {
538
+ return "mailto:" + this.toString();
539
+ }
540
+ }), ce = Nt("text"), we = Nt("nl"), Z = Nt("url", {
541
+ isLink: !0,
542
+ /**
543
+ Lowercases relevant parts of the domain and adds the protocol if
544
+ required. Note that this will not escape unsafe HTML characters in the
545
+ URL.
546
+ @param {string} [scheme] default scheme (e.g., 'https')
547
+ @return {string} the full href
548
+ */
549
+ toHref(t = J.defaultProtocol) {
550
+ return this.hasProtocol() ? this.v : `${t}://${this.v}`;
551
+ },
552
+ /**
553
+ * Check whether this URL token has a protocol
554
+ * @return {boolean}
555
+ */
556
+ hasProtocol() {
557
+ const t = this.tk;
558
+ return t.length >= 2 && t[0].t !== _ && t[1].t === v;
559
+ }
560
+ }), S = (t) => new p(t);
561
+ function De({
562
+ groups: t
563
+ }) {
564
+ const n = t.domain.concat([mt, At, P, Tt, Lt, Rt, Ct, pt, O, qt, Q, St, Ot, yt, k, bt, q, kt]), e = [gt, v, Jt, y, Yt, Q, $, Xt, Vt, ot, rt, W, G, nt, et, st, it, at, ct, lt, ut, ht, dt, Et, ft], s = [mt, gt, At, Tt, Lt, Rt, Ct, pt, O, W, G, Q, St, Ot, yt, $, k, bt, q, kt], i = S(), r = o(i, q);
565
+ l(r, s, r), l(r, t.domain, r);
566
+ const a = S(), c = S(), d = S();
567
+ l(i, t.domain, a), l(i, t.scheme, c), l(i, t.slashscheme, d), l(a, s, r), l(a, t.domain, a);
568
+ const m = o(a, P);
569
+ o(r, P, m), o(c, P, m), o(d, P, m);
570
+ const E = o(r, y);
571
+ l(E, s, r), l(E, t.domain, r);
572
+ const u = S();
573
+ l(m, t.domain, u), l(u, t.domain, u);
574
+ const g = o(u, y);
575
+ l(g, t.domain, u);
576
+ const A = S(ae);
577
+ l(g, t.tld, A), l(g, t.utld, A), o(m, _, A);
578
+ const H = o(u, O);
579
+ o(H, O, H), l(H, t.domain, u), l(A, t.domain, u), o(A, y, g), o(A, O, H);
580
+ const T = o(A, v);
581
+ l(T, t.numeric, ae);
582
+ const C = o(a, O), w = o(a, y);
583
+ o(C, O, C), l(C, t.domain, a), l(w, s, r), l(w, t.domain, a);
584
+ const L = S(Z);
585
+ l(w, t.tld, L), l(w, t.utld, L), l(L, t.domain, a), l(L, s, r), o(L, y, w), o(L, O, C), o(L, P, m);
586
+ const Te = o(L, v), te = S(Z);
587
+ l(Te, t.numeric, te);
588
+ const R = S(Z), M = S();
589
+ l(R, n, R), l(R, e, M), l(M, n, R), l(M, e, M), o(L, k, R), o(te, k, R);
590
+ const It = o(c, v), Le = o(d, v), Re = o(Le, k), Ht = o(Re, k);
591
+ l(c, t.domain, a), o(c, y, w), o(c, O, C), l(d, t.domain, a), o(d, y, w), o(d, O, C), l(It, t.domain, R), o(It, k, R), o(It, $, R), l(Ht, t.domain, R), l(Ht, n, R), o(Ht, k, R);
592
+ const ee = [
593
+ [W, G],
594
+ // {}
595
+ [et, nt],
596
+ // []
597
+ [st, it],
598
+ // ()
599
+ [ot, rt],
600
+ // <>
601
+ [at, ct],
602
+ // ()
603
+ [lt, ut],
604
+ // 「」
605
+ [ht, dt],
606
+ // 『』
607
+ [Et, ft]
608
+ // <>
609
+ ];
610
+ for (let wt = 0; wt < ee.length; wt++) {
611
+ const [ne, Dt] = ee[wt], Y = o(R, ne);
612
+ o(M, ne, Y), o(Y, Dt, R);
613
+ const x = S(Z);
614
+ l(Y, n, x);
615
+ const z = S();
616
+ l(Y, e), l(x, n, x), l(x, e, z), l(z, n, x), l(z, e, z), o(x, Dt, R), o(z, Dt, R);
617
+ }
618
+ return o(i, _, L), o(i, _t, we), {
619
+ start: i,
620
+ tokens: fe
621
+ };
557
622
  }
558
- const L = [
559
- new S("doc", {
560
- init(i) {
561
- return i.doc || i.schema.topNodeType.createAndFill();
562
- },
563
- apply(i) {
564
- return i.doc;
565
- }
566
- }),
567
- new S("selection", {
568
- init(i, e) {
569
- return i.selection || l.atStart(e.doc);
570
- },
571
- apply(i) {
572
- return i.selection;
573
- }
574
- }),
575
- new S("storedMarks", {
576
- init(i) {
577
- return i.storedMarks || null;
578
- },
579
- apply(i, e, t, r) {
580
- return r.selection.$cursor ? i.storedMarks : null;
623
+ function Pe(t, n, e) {
624
+ let s = e.length, i = 0, r = [], a = [];
625
+ for (; i < s; ) {
626
+ let c = t, d = null, m = null, E = 0, u = null, g = -1;
627
+ for (; i < s && !(d = c.go(e[i].t)); )
628
+ a.push(e[i++]);
629
+ for (; i < s && (m = d || c.go(e[i].t)); )
630
+ d = null, c = m, c.accepts() ? (g = 0, u = c) : g >= 0 && g++, i++, E++;
631
+ if (g < 0)
632
+ i -= E, i < s && (a.push(e[i]), i++);
633
+ else {
634
+ a.length > 0 && (r.push(Mt(ce, n, a)), a = []), i -= g, E -= g;
635
+ const A = u.t, H = e.slice(i - E, i);
636
+ r.push(Mt(A, n, H));
581
637
  }
582
- }),
583
- new S("scrollToSelection", {
584
- init() {
585
- return 0;
586
- },
587
- apply(i, e) {
588
- return i.scrolledIntoView ? e + 1 : e;
589
- }
590
- })
591
- ];
592
- class v {
593
- constructor(e, t) {
594
- this.schema = e, this.plugins = [], this.pluginsByKey = /* @__PURE__ */ Object.create(null), this.fields = L.slice(), t && t.forEach((r) => {
595
- if (this.pluginsByKey[r.key])
596
- throw new RangeError("Adding different instances of a keyed plugin (" + r.key + ")");
597
- this.plugins.push(r), this.pluginsByKey[r.key] = r, r.spec.state && this.fields.push(new S(r.key, r.spec.state, r));
598
- });
599
638
  }
639
+ return a.length > 0 && r.push(Mt(ce, n, a)), r;
600
640
  }
601
- class w {
602
- /**
603
- @internal
604
- */
605
- constructor(e) {
606
- this.config = e;
607
- }
608
- /**
609
- The schema of the state's document.
610
- */
611
- get schema() {
612
- return this.config.schema;
613
- }
614
- /**
615
- The plugins that are active in this state.
616
- */
617
- get plugins() {
618
- return this.config.plugins;
619
- }
620
- /**
621
- Apply the given transaction to produce a new state.
622
- */
623
- apply(e) {
624
- return this.applyTransaction(e).state;
625
- }
626
- /**
627
- @internal
628
- */
629
- filterTransaction(e, t = -1) {
630
- for (let r = 0; r < this.config.plugins.length; r++)
631
- if (r != t) {
632
- let n = this.config.plugins[r];
633
- if (n.spec.filterTransaction && !n.spec.filterTransaction.call(n, e, this))
634
- return !1;
635
- }
636
- return !0;
637
- }
638
- /**
639
- Verbose variant of [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) that
640
- returns the precise transactions that were applied (which might
641
- be influenced by the [transaction
642
- hooks](https://prosemirror.net/docs/ref/#state.PluginSpec.filterTransaction) of
643
- plugins) along with the new state.
644
- */
645
- applyTransaction(e) {
646
- if (!this.filterTransaction(e))
647
- return { state: this, transactions: [] };
648
- let t = [e], r = this.applyInner(e), n = null;
649
- for (; ; ) {
650
- let s = !1;
651
- for (let o = 0; o < this.config.plugins.length; o++) {
652
- let a = this.config.plugins[o];
653
- if (a.spec.appendTransaction) {
654
- let c = n ? n[o].n : 0, u = n ? n[o].state : this, h = c < t.length && a.spec.appendTransaction.call(a, c ? t.slice(c) : t, u, r);
655
- if (h && r.filterTransaction(h, o)) {
656
- if (h.setMeta("appendedTransaction", e), !n) {
657
- n = [];
658
- for (let M = 0; M < this.config.plugins.length; M++)
659
- n.push(M < o ? { state: r, n: t.length } : { state: this, n: 0 });
660
- }
661
- t.push(h), r = r.applyInner(h), s = !0;
662
- }
663
- n && (n[o] = { state: r, n: t.length });
664
- }
665
- }
666
- if (!s)
667
- return { state: r, transactions: t };
668
- }
669
- }
670
- /**
671
- @internal
672
- */
673
- applyInner(e) {
674
- if (!e.before.eq(this.doc))
675
- throw new RangeError("Applying a mismatched transaction");
676
- let t = new w(this.config), r = this.config.fields;
677
- for (let n = 0; n < r.length; n++) {
678
- let s = r[n];
679
- t[s.name] = s.apply(e, this[s.name], this, t);
680
- }
681
- return t;
682
- }
683
- /**
684
- Accessor that constructs and returns a new [transaction](https://prosemirror.net/docs/ref/#state.Transaction) from this state.
685
- */
686
- get tr() {
687
- return new W(this);
688
- }
689
- /**
690
- Create a new state.
691
- */
692
- static create(e) {
693
- let t = new v(e.doc ? e.doc.type.schema : e.schema, e.plugins), r = new w(t);
694
- for (let n = 0; n < t.fields.length; n++)
695
- r[t.fields[n].name] = t.fields[n].init(e, r);
696
- return r;
697
- }
698
- /**
699
- Create a new state based on this one, but with an adjusted set
700
- of active plugins. State fields that exist in both sets of
701
- plugins are kept unchanged. Those that no longer exist are
702
- dropped, and those that are new are initialized using their
703
- [`init`](https://prosemirror.net/docs/ref/#state.StateField.init) method, passing in the new
704
- configuration object..
705
- */
706
- reconfigure(e) {
707
- let t = new v(this.schema, e.plugins), r = t.fields, n = new w(t);
708
- for (let s = 0; s < r.length; s++) {
709
- let o = r[s].name;
710
- n[o] = this.hasOwnProperty(o) ? this[o] : r[s].init(e, n);
711
- }
712
- return n;
713
- }
714
- /**
715
- Serialize this state to JSON. If you want to serialize the state
716
- of plugins, pass an object mapping property names to use in the
717
- resulting JSON object to plugin objects. The argument may also be
718
- a string or number, in which case it is ignored, to support the
719
- way `JSON.stringify` calls `toString` methods.
720
- */
721
- toJSON(e) {
722
- let t = { doc: this.doc.toJSON(), selection: this.selection.toJSON() };
723
- if (this.storedMarks && (t.storedMarks = this.storedMarks.map((r) => r.toJSON())), e && typeof e == "object")
724
- for (let r in e) {
725
- if (r == "doc" || r == "selection")
726
- throw new RangeError("The JSON fields `doc` and `selection` are reserved");
727
- let n = e[r], s = n.spec.state;
728
- s && s.toJSON && (t[r] = s.toJSON.call(n, this[n.key]));
729
- }
730
- return t;
731
- }
732
- /**
733
- Deserialize a JSON representation of a state. `config` should
734
- have at least a `schema` field, and should contain array of
735
- plugins to initialize the state with. `pluginFields` can be used
736
- to deserialize the state of plugins, by associating plugin
737
- instances with the property names they use in the JSON object.
738
- */
739
- static fromJSON(e, t, r) {
740
- if (!t)
741
- throw new RangeError("Invalid input for EditorState.fromJSON");
742
- if (!e.schema)
743
- throw new RangeError("Required config field 'schema' missing");
744
- let n = new v(e.schema, e.plugins), s = new w(n);
745
- return n.fields.forEach((o) => {
746
- if (o.name == "doc")
747
- s.doc = x.fromJSON(e.schema, t.doc);
748
- else if (o.name == "selection")
749
- s.selection = l.fromJSON(s.doc, t.selection);
750
- else if (o.name == "storedMarks")
751
- t.storedMarks && (s.storedMarks = t.storedMarks.map(e.schema.markFromJSON));
752
- else {
753
- if (r)
754
- for (let a in r) {
755
- let c = r[a], u = c.spec.state;
756
- if (c.key == o.name && u && u.fromJSON && Object.prototype.hasOwnProperty.call(t, a)) {
757
- s[o.name] = u.fromJSON.call(c, e, t[a], s);
758
- return;
759
- }
760
- }
761
- s[o.name] = o.init(e, s);
762
- }
763
- }), s;
764
- }
641
+ function Mt(t, n, e) {
642
+ const s = e[0].s, i = e[e.length - 1].e, r = n.slice(s, i);
643
+ return new t(r, e);
765
644
  }
766
- function A(i, e, t) {
767
- for (let r in i) {
768
- let n = i[r];
769
- n instanceof Function ? n = n.bind(e) : r == "handleDOMEvents" && (n = A(n, e, {})), t[r] = n;
770
- }
771
- return t;
645
+ const ve = typeof console < "u" && console && console.warn || (() => {
646
+ }), je = "until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.", h = {
647
+ scanner: null,
648
+ parser: null,
649
+ tokenQueue: [],
650
+ pluginQueue: [],
651
+ customSchemes: [],
652
+ initialized: !1
653
+ };
654
+ function Ue() {
655
+ return p.groups = {}, h.scanner = null, h.parser = null, h.tokenQueue = [], h.pluginQueue = [], h.customSchemes = [], h.initialized = !1, h;
772
656
  }
773
- class G {
774
- /**
775
- Create a plugin.
776
- */
777
- constructor(e) {
778
- this.spec = e, this.props = {}, e.props && A(e.props, this, this.props), this.key = e.key ? e.key.key : C("plugin");
779
- }
780
- /**
781
- Extract the plugin's state field from an editor state.
782
- */
783
- getState(e) {
784
- return e[this.key];
785
- }
657
+ function Me(t, n = !1) {
658
+ if (h.initialized && ve(`linkifyjs: already initialized - will not register custom scheme "${t}" ${je}`), !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))
659
+ throw new Error(`linkifyjs: incorrect scheme format.
660
+ 1. Must only contain digits, lowercase ASCII letters or "-"
661
+ 2. Cannot start or end with "-"
662
+ 3. "-" cannot repeat`);
663
+ h.customSchemes.push([t, n]);
786
664
  }
787
- const N = /* @__PURE__ */ Object.create(null);
788
- function C(i) {
789
- return i in N ? i + "$" + ++N[i] : (N[i] = 0, i + "$");
665
+ function xe() {
666
+ h.scanner = Ie(h.customSchemes);
667
+ for (let t = 0; t < h.tokenQueue.length; t++)
668
+ h.tokenQueue[t][1]({
669
+ scanner: h.scanner
670
+ });
671
+ h.parser = De(h.scanner.tokens);
672
+ for (let t = 0; t < h.pluginQueue.length; t++)
673
+ h.pluginQueue[t][1]({
674
+ scanner: h.scanner,
675
+ parser: h.parser
676
+ });
677
+ return h.initialized = !0, h;
790
678
  }
791
- class H {
792
- /**
793
- Create a plugin key.
794
- */
795
- constructor(e = "key") {
796
- this.key = C(e);
797
- }
798
- /**
799
- Get the active plugin with this key, if any, from an editor
800
- state.
801
- */
802
- get(e) {
803
- return e.config.pluginsByKey[this.key];
804
- }
805
- /**
806
- Get the plugin's state from an editor state.
807
- */
808
- getState(e) {
809
- return e[this.key];
810
- }
679
+ function Ae(t) {
680
+ return h.initialized || xe(), Pe(h.parser.start, t, me(h.scanner.start, t));
681
+ }
682
+ Ae.scan = me;
683
+ function ze(t, n = null, e = null) {
684
+ if (n && typeof n == "object") {
685
+ if (e)
686
+ throw Error(`linkifyjs: Invalid link type ${n}; must be a string`);
687
+ e = n, n = null;
688
+ }
689
+ const s = new Zt(e), i = Ae(t), r = [];
690
+ for (let a = 0; a < i.length; a++) {
691
+ const c = i[a];
692
+ c.isLink && (!n || c.t === n) && s.check(c) && r.push(c.toFormattedObject(s));
693
+ }
694
+ return r;
811
695
  }
812
696
  export {
813
- d as AllSelection,
814
- w as EditorState,
815
- p as NodeSelection,
816
- G as Plugin,
817
- H as PluginKey,
818
- l as Selection,
819
- q as SelectionRange,
820
- f as TextSelection,
821
- W as Transaction
697
+ ge as MultiToken,
698
+ Zt as Options,
699
+ p as State,
700
+ Nt as createTokenClass,
701
+ ze as find,
702
+ xe as init,
703
+ Me as registerCustomProtocol,
704
+ Ue as reset,
705
+ He as stringToArray,
706
+ Ae as tokenize
822
707
  };