markdown-flow-ui 0.2.36-dev.1 → 0.3.0

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 (128) hide show
  1. package/README.md +12 -12
  2. package/dist/_virtual/index.es4.js +5 -5
  3. package/dist/_virtual/index.es5.js +5 -5
  4. package/dist/_virtual/index4.cjs +1 -1
  5. package/dist/_virtual/index5.cjs +1 -1
  6. package/dist/_virtual/variable-marker.cjs +2 -0
  7. package/dist/_virtual/variable-marker.cjs.map +1 -0
  8. package/dist/_virtual/variable-marker.es.js +5 -0
  9. package/dist/_virtual/variable-marker.es.js.map +1 -0
  10. package/dist/components/ContentRender/ContentRender.cjs +2 -2
  11. package/dist/components/ContentRender/ContentRender.cjs.map +1 -1
  12. package/dist/components/ContentRender/ContentRender.es.js +206 -205
  13. package/dist/components/ContentRender/ContentRender.es.js.map +1 -1
  14. package/dist/components/ContentRender/utils/inline-code-ranges.cjs +9 -9
  15. package/dist/components/ContentRender/utils/inline-code-ranges.cjs.map +1 -1
  16. package/dist/components/ContentRender/utils/inline-code-ranges.d.ts +3 -0
  17. package/dist/components/ContentRender/utils/inline-code-ranges.es.js +185 -161
  18. package/dist/components/ContentRender/utils/inline-code-ranges.es.js.map +1 -1
  19. package/dist/components/ContentRender/utils/mermaid-parse.cjs +4 -4
  20. package/dist/components/ContentRender/utils/mermaid-parse.cjs.map +1 -1
  21. package/dist/components/ContentRender/utils/mermaid-parse.es.js +53 -48
  22. package/dist/components/ContentRender/utils/mermaid-parse.es.js.map +1 -1
  23. package/dist/components/ContentRender/utils/split-content.cjs +6 -6
  24. package/dist/components/ContentRender/utils/split-content.cjs.map +1 -1
  25. package/dist/components/ContentRender/utils/split-content.d.ts +1 -0
  26. package/dist/components/ContentRender/utils/split-content.es.js +361 -313
  27. package/dist/components/ContentRender/utils/split-content.es.js.map +1 -1
  28. package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs +1 -1
  29. package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs.map +1 -1
  30. package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js +278 -283
  31. package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js.map +1 -1
  32. package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs +1 -1
  33. package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs.map +1 -1
  34. package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js +57 -58
  35. package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js.map +1 -1
  36. package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.cjs +1 -1
  37. package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.d.ts +1 -1
  38. package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.es.js +1 -1
  39. package/dist/components/MarkdownFlowEditor/locales/de-DE.json.cjs +1 -1
  40. package/dist/components/MarkdownFlowEditor/locales/de-DE.json.d.ts +1 -1
  41. package/dist/components/MarkdownFlowEditor/locales/de-DE.json.es.js +19 -19
  42. package/dist/components/MarkdownFlowEditor/locales/en-US.json.cjs +1 -1
  43. package/dist/components/MarkdownFlowEditor/locales/en-US.json.d.ts +1 -1
  44. package/dist/components/MarkdownFlowEditor/locales/en-US.json.es.js +5 -5
  45. package/dist/components/MarkdownFlowEditor/locales/es-ES.json.cjs +1 -1
  46. package/dist/components/MarkdownFlowEditor/locales/es-ES.json.d.ts +1 -1
  47. package/dist/components/MarkdownFlowEditor/locales/es-ES.json.es.js +1 -1
  48. package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.cjs +1 -1
  49. package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.d.ts +1 -1
  50. package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.es.js +15 -15
  51. package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.cjs +1 -1
  52. package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.d.ts +1 -1
  53. package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.es.js +13 -13
  54. package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.cjs +1 -1
  55. package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.d.ts +1 -1
  56. package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.es.js +1 -1
  57. package/dist/components/MarkdownFlowEditor/locales/th-TH.json.cjs +1 -1
  58. package/dist/components/MarkdownFlowEditor/locales/th-TH.json.d.ts +1 -1
  59. package/dist/components/MarkdownFlowEditor/locales/th-TH.json.es.js +1 -1
  60. package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.cjs +1 -1
  61. package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.d.ts +1 -1
  62. package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.es.js +1 -1
  63. package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.cjs +1 -1
  64. package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.d.ts +1 -1
  65. package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.es.js +15 -15
  66. package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.cjs +1 -1
  67. package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.d.ts +1 -1
  68. package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.es.js +1 -1
  69. package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.cjs +3 -3
  70. package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.cjs.map +1 -1
  71. package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.es.js +177 -176
  72. package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.es.js.map +1 -1
  73. package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.cjs +2 -1
  74. package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.cjs.map +1 -1
  75. package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.d.ts +3 -1
  76. package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.es.js +38 -55
  77. package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.es.js.map +1 -1
  78. package/dist/components/MarkdownFlowEditor/utils.cjs +1 -1
  79. package/dist/components/MarkdownFlowEditor/utils.cjs.map +1 -1
  80. package/dist/components/MarkdownFlowEditor/utils.d.ts +2 -2
  81. package/dist/components/MarkdownFlowEditor/utils.es.js +34 -31
  82. package/dist/components/MarkdownFlowEditor/utils.es.js.map +1 -1
  83. package/dist/components/ui/inputGroup/textarea.cjs +1 -1
  84. package/dist/components/ui/inputGroup/textarea.es.js +1 -1
  85. package/dist/lib/interaction-defaults.cjs +1 -1
  86. package/dist/lib/interaction-defaults.cjs.map +1 -1
  87. package/dist/lib/interaction-defaults.es.js +124 -133
  88. package/dist/lib/interaction-defaults.es.js.map +1 -1
  89. package/dist/lib/interaction-defaults.failure.test.d.ts +1 -0
  90. package/dist/node_modules/rc-input/es/BaseInput.cjs +1 -1
  91. package/dist/node_modules/rc-input/es/BaseInput.es.js +1 -1
  92. package/dist/node_modules/rc-textarea/es/ResizableTextArea.cjs +1 -1
  93. package/dist/node_modules/rc-textarea/es/ResizableTextArea.es.js +1 -1
  94. package/dist/node_modules/rc-textarea/es/TextArea.cjs +1 -1
  95. package/dist/node_modules/rc-textarea/es/TextArea.es.js +1 -1
  96. package/dist/node_modules/rc-textarea/es/index.cjs +1 -1
  97. package/dist/node_modules/rc-textarea/es/index.es.js +1 -1
  98. package/dist/node_modules/remark-flow/dist/escaping.cjs +2 -2
  99. package/dist/node_modules/remark-flow/dist/escaping.cjs.map +1 -1
  100. package/dist/node_modules/remark-flow/dist/escaping.es.js +128 -63
  101. package/dist/node_modules/remark-flow/dist/escaping.es.js.map +1 -1
  102. package/dist/node_modules/remark-flow/dist/index.cjs +1 -1
  103. package/dist/node_modules/remark-flow/dist/index.cjs.map +1 -1
  104. package/dist/node_modules/remark-flow/dist/index.es.js +49 -37
  105. package/dist/node_modules/remark-flow/dist/index.es.js.map +1 -1
  106. package/dist/node_modules/remark-flow/dist/interaction-parser.cjs +1 -1
  107. package/dist/node_modules/remark-flow/dist/interaction-parser.cjs.map +1 -1
  108. package/dist/node_modules/remark-flow/dist/interaction-parser.es.js +260 -255
  109. package/dist/node_modules/remark-flow/dist/interaction-parser.es.js.map +1 -1
  110. package/dist/node_modules/remark-flow/dist/interaction-plugin-core.cjs +1 -1
  111. package/dist/node_modules/remark-flow/dist/interaction-plugin-core.cjs.map +1 -1
  112. package/dist/node_modules/remark-flow/dist/interaction-plugin-core.es.js +71 -42
  113. package/dist/node_modules/remark-flow/dist/interaction-plugin-core.es.js.map +1 -1
  114. package/dist/node_modules/remark-flow/dist/interaction-syntax.cjs +1 -1
  115. package/dist/node_modules/remark-flow/dist/interaction-syntax.cjs.map +1 -1
  116. package/dist/node_modules/remark-flow/dist/interaction-syntax.es.js +501 -46
  117. package/dist/node_modules/remark-flow/dist/interaction-syntax.es.js.map +1 -1
  118. package/dist/node_modules/remark-flow/dist/variable-marker.cjs +2 -0
  119. package/dist/node_modules/remark-flow/dist/variable-marker.cjs.map +1 -0
  120. package/dist/node_modules/remark-flow/dist/variable-marker.es.js +77 -0
  121. package/dist/node_modules/remark-flow/dist/variable-marker.es.js.map +1 -0
  122. package/dist/node_modules/remark-flow/dist/variable-name.cjs +14 -1
  123. package/dist/node_modules/remark-flow/dist/variable-name.cjs.map +1 -1
  124. package/dist/node_modules/remark-flow/dist/variable-name.es.js +742 -25
  125. package/dist/node_modules/remark-flow/dist/variable-name.es.js.map +1 -1
  126. package/dist/node_modules/unified/lib/index.cjs +1 -1
  127. package/dist/node_modules/unified/lib/index.es.js +1 -1
  128. package/package.json +2 -2
@@ -1,196 +1,187 @@
1
- import { d } from "../_virtual/index.es.js";
2
- const x = d.createInteractionParser(), b = /<custom-variable\b/i, T = new RegExp(
3
- `\\?\\[(?:%${d.createVariableExpressionRegex().source})?(${d.INTERACTION_CONTENT_SOURCE})\\]`
4
- ), I = /^[\[{]/, v = /^[\s,,\n]+/, g = (t) => {
5
- if (!t)
6
- return null;
7
- const n = t.match(T), s = n?.[1] ? d.normalizeVariableName(n[1]) ?? void 0 : void 0, e = n?.[2]?.trim();
8
- if (!e)
9
- return null;
10
- const r = e.includes("||"), l = r ? "||" : "|", o = e.split(l).map((a) => a.trim()).filter(Boolean);
11
- if (!o.length)
12
- return null;
13
- const u = [], i = [];
14
- let c;
15
- return o.forEach((a) => {
16
- if (a.startsWith("...")) {
17
- const m = a.replace(/^\.\.\./, "").trim();
18
- m && (c = m);
19
- return;
1
+ import { d as u } from "../_virtual/index.es.js";
2
+ import { getMarkdownSourceAnalysis as b } from "../components/ContentRender/utils/inline-code-ranges.es.js";
3
+ const p = u.createInteractionParser(), T = /<custom-variable\b/i, x = new RegExp(
4
+ `\\?\\[(${u.INTERACTION_CONTENT_SOURCE})\\](?!\\()`
5
+ ), V = /^[\[{]/, h = (t) => {
6
+ if (t.type === "flowInteraction" && "value" in t)
7
+ return typeof t.value == "string" ? t.value : null;
8
+ if (t.children)
9
+ for (const e of t.children) {
10
+ const r = h(e);
11
+ if (r !== null) return r;
20
12
  }
21
- u.push(a), i.push(a);
22
- }), {
23
- variableName: s,
24
- buttonTexts: u.length ? u : void 0,
25
- buttonValues: i.length ? i : void 0,
26
- placeholder: c,
27
- isMultiSelect: r
28
- };
29
- }, E = (t) => {
13
+ return null;
14
+ }, I = (t) => {
30
15
  if (!t)
31
16
  return null;
32
17
  try {
33
- return x.parseToRemarkFormat(
34
- t
18
+ const e = h(b(t).tree) ?? (T.test(t) ? t : null);
19
+ return e === null || p.parse(e).error ? null : p.parseToRemarkFormat(
20
+ e
35
21
  );
36
- } catch (n) {
37
- console.warn("Failed to parse interaction block", n);
22
+ } catch (e) {
23
+ console.warn("Failed to parse interaction block", e);
38
24
  }
39
- return g(t);
40
- }, h = (t, n) => {
25
+ return null;
26
+ }, g = (t, e) => {
41
27
  if (!t)
42
28
  return null;
43
- const s = t.trim(), e = n.buttonValues || [], r = n.buttonTexts || [], l = e.indexOf(s);
29
+ const r = u.trimVariablePadding(t), n = e.buttonValues || [], i = e.buttonTexts || [], l = n.indexOf(r);
44
30
  if (l > -1)
45
31
  return {
46
- value: e[l],
47
- display: r[l]
32
+ value: n[l],
33
+ display: i[l]
48
34
  };
49
- const o = r.indexOf(s);
50
- return o > -1 ? {
51
- value: e[o] || r[o],
52
- display: r[o]
35
+ const s = i.indexOf(r);
36
+ return s > -1 ? {
37
+ value: n[s] || i[s],
38
+ display: i[s]
53
39
  } : null;
54
- }, V = (t) => t.split(/[,,\n]/).map((n) => n.trim()).filter(Boolean), f = (t) => t.replace(v, ""), R = (t) => {
55
- const n = t.buttonValues || [], s = t.buttonTexts || [], e = [], r = /* @__PURE__ */ new Set();
56
- return n.forEach((l, o) => {
57
- const u = `${l ?? ""}`.trim(), i = `${s[o] ?? ""}`.trim();
58
- [u, i].forEach((c) => {
40
+ }, v = (t) => t.split(/[,,\n]/).map((e) => u.trimVariablePadding(e)).filter(Boolean), d = (t) => {
41
+ let e = 0;
42
+ for (; e < t.length && (t[e] === "," || t[e] === "," || u.trimVariablePadding(t[e]) === ""); )
43
+ e += 1;
44
+ return t.slice(e);
45
+ }, P = (t) => {
46
+ const e = t.buttonValues || [], r = t.buttonTexts || [], n = [], i = /* @__PURE__ */ new Set();
47
+ return e.forEach((l, s) => {
48
+ const a = u.trimVariablePadding(`${l ?? ""}`), o = u.trimVariablePadding(`${r[s] ?? ""}`);
49
+ [a, o].forEach((c) => {
59
50
  if (!c)
60
51
  return;
61
- const a = `${c}::${u || c}`;
62
- r.has(a) || (r.add(a), e.push({
52
+ const f = `${c}::${a || c}`;
53
+ i.has(f) || (i.add(f), n.push({
63
54
  token: c,
64
- value: u || c
55
+ value: a || c
65
56
  }));
66
57
  });
67
- }), e.sort(
68
- (l, o) => o.token.length - l.token.length
58
+ }), n.sort(
59
+ (l, s) => s.token.length - l.token.length
69
60
  );
70
- }, N = (t, n) => {
71
- const s = f(t), e = R(n);
72
- for (const r of e) {
73
- if (!s.startsWith(r.token))
61
+ }, E = (t, e) => {
62
+ const r = d(t), n = P(e);
63
+ for (const i of n) {
64
+ if (!r.startsWith(i.token))
74
65
  continue;
75
- const l = s[r.token.length];
76
- if (!(l && !/[\s,,\n]/.test(l)))
77
- return r;
66
+ const l = r[i.token.length];
67
+ if (!(l && l !== "," && l !== "," && u.trimVariablePadding(l) !== ""))
68
+ return i;
78
69
  }
79
70
  return null;
80
- }, A = (t, n) => {
81
- const s = V(t);
82
- if (!s.length)
71
+ }, S = (t, e) => {
72
+ const r = v(t);
73
+ if (!r.length)
83
74
  return {};
84
- const e = [], r = [];
85
- return s.forEach((l) => {
86
- const o = h(l, n);
87
- if (o) {
88
- e.push(o.value);
75
+ const n = [], i = [];
76
+ return r.forEach((l) => {
77
+ const s = g(l, e);
78
+ if (s) {
79
+ n.push(s.value);
89
80
  return;
90
81
  }
91
- if (n.placeholder) {
92
- r.push(l);
82
+ if (e.placeholder) {
83
+ i.push(l);
93
84
  return;
94
85
  }
95
- e.push(l);
86
+ n.push(l);
96
87
  }), {
97
- selectedValues: e.length ? e : void 0,
98
- inputText: r.length ? r.join(", ") : void 0
88
+ selectedValues: n.length ? n : void 0,
89
+ inputText: i.length ? i.join(", ") : void 0
99
90
  };
100
- }, O = (t, n) => {
101
- const s = [];
102
- let e = t.trim();
103
- for (; e; ) {
104
- const l = N(e, n);
91
+ }, R = (t, e) => {
92
+ const r = [];
93
+ let n = u.trimVariablePadding(t);
94
+ for (; n; ) {
95
+ const l = E(n, e);
105
96
  if (!l)
106
97
  break;
107
- s.push(l.value);
108
- const o = f(e);
109
- e = f(
110
- o.slice(l.token.length)
98
+ r.push(l.value);
99
+ const s = d(n);
100
+ n = d(
101
+ s.slice(l.token.length)
111
102
  );
112
103
  }
113
- if (s.length > 0)
104
+ if (r.length > 0)
114
105
  return {
115
- selectedValues: s,
116
- inputText: n.placeholder && e.trim() ? e.trim() : void 0
106
+ selectedValues: r,
107
+ inputText: e.placeholder && n.trim() ? n.trim() : void 0
117
108
  };
118
- const r = A(t, n);
119
- return r.selectedValues?.length ? r : n.placeholder ? {
109
+ const i = S(t, e);
110
+ return i.selectedValues?.length ? i : e.placeholder ? {
120
111
  inputText: t.trim()
121
- } : r;
122
- }, S = (t) => {
112
+ } : i;
113
+ }, A = (t) => {
123
114
  if (!t || Array.isArray(t))
124
115
  return null;
125
- const n = Array.isArray(t.selectedValues) ? t.selectedValues.map((r) => `${r ?? ""}`.trim()).filter(Boolean) : void 0, s = `${t.buttonText ?? ""}`.trim(), e = typeof t.inputText == "string" ? t.inputText : void 0;
126
- return !n?.length && !s && !e ? null : {
127
- buttonText: s || void 0,
128
- inputText: e,
129
- selectedValues: n?.length ? n : void 0
116
+ const e = Array.isArray(t.selectedValues) ? t.selectedValues.map((i) => u.trimVariablePadding(`${i ?? ""}`)).filter(Boolean) : void 0, r = u.trimVariablePadding(`${t.buttonText ?? ""}`), n = typeof t.inputText == "string" ? t.inputText : void 0;
117
+ return !e?.length && !r && !n ? null : {
118
+ buttonText: r || void 0,
119
+ inputText: n,
120
+ selectedValues: e?.length ? e : void 0
130
121
  };
131
122
  }, D = (t) => {
132
- if (!t || !I.test(t.trim()))
123
+ if (!t || !V.test(u.trimVariablePadding(t)))
133
124
  return null;
134
125
  try {
135
- const n = JSON.parse(t);
136
- return S(n);
126
+ const e = JSON.parse(t);
127
+ return A(e);
137
128
  } catch {
138
129
  return null;
139
130
  }
140
- }, C = (t) => !!(t && (b.test(t) || T.test(t))), p = (t, n, s, e) => e?.resolveDefaultValues?.({
131
+ }, N = (t) => !!(t && (T.test(t) || x.test(t))), m = (t, e, r, n) => n?.resolveDefaultValues?.({
141
132
  content: t,
142
- rawValue: n,
143
- interactionInfo: s
144
- }) ?? null, _ = (t, n, s) => {
145
- const e = n?.toString().trim();
146
- if (!e)
133
+ rawValue: e,
134
+ interactionInfo: r
135
+ }) ?? null, O = (t, e, r) => {
136
+ const n = e == null ? void 0 : u.trimVariablePadding(e.toString());
137
+ if (!n)
147
138
  return {};
148
- const r = D(e);
149
- if (r)
150
- return r;
151
- const l = p(
139
+ const i = D(n);
140
+ if (i)
141
+ return i;
142
+ const l = m(
152
143
  t,
153
- e,
144
+ n,
154
145
  null,
155
- s
146
+ r
156
147
  );
157
148
  if (l)
158
149
  return l;
159
- if (!C(t))
150
+ if (!N(t))
160
151
  return {
161
- buttonText: e,
162
- inputText: e
152
+ buttonText: n,
153
+ inputText: n
163
154
  };
164
- const o = E(t), u = p(
155
+ const s = I(t), a = m(
165
156
  t,
166
- e,
167
- o,
168
- s
157
+ n,
158
+ s,
159
+ r
169
160
  );
170
- if (u)
171
- return u;
172
- if (!o)
161
+ if (a)
162
+ return a;
163
+ if (!s)
173
164
  return {
174
- buttonText: e,
175
- inputText: e
165
+ buttonText: n,
166
+ inputText: n
176
167
  };
177
- if (o.isMultiSelect)
178
- return O(e, o);
179
- const i = h(e, o);
180
- return i ? {
181
- buttonText: i.value || i.display || e
182
- } : o.placeholder ? {
183
- inputText: e
168
+ if (s.isMultiSelect)
169
+ return R(n, s);
170
+ const o = g(n, s);
171
+ return o ? {
172
+ buttonText: o.value || o.display || n
173
+ } : s.placeholder ? {
174
+ inputText: n
184
175
  } : {
185
- buttonText: e,
186
- inputText: e
176
+ buttonText: n,
177
+ inputText: n
187
178
  };
188
- }, z = (t, n, s) => {
189
- const e = _(t, n, s);
190
- return e.selectedValues ? e.selectedValues : n ? n.split(",").map((r) => r.trim()).filter(Boolean) : void 0;
179
+ }, y = (t, e, r) => {
180
+ const n = O(t, e, r);
181
+ return n.selectedValues ? n.selectedValues : e ? e.split(",").map((i) => u.trimVariablePadding(i)).filter(Boolean) : void 0;
191
182
  };
192
183
  export {
193
- z as getInteractionDefaultSelectedValues,
194
- _ as getInteractionDefaultValues
184
+ y as getInteractionDefaultSelectedValues,
185
+ O as getInteractionDefaultValues
195
186
  };
196
187
  //# sourceMappingURL=interaction-defaults.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-defaults.es.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import {\n createInteractionParser,\n createVariableExpressionRegex,\n normalizeVariableName,\n INTERACTION_CONTENT_SOURCE,\n} from \"remark-flow\";\n\nexport interface InteractionParseResult {\n buttonTexts?: string[];\n buttonValues?: string[];\n placeholder?: string;\n variableName?: string;\n isMultiSelect?: boolean;\n}\n\nexport interface InteractionDefaultValues {\n buttonText?: string;\n inputText?: string;\n selectedValues?: string[];\n}\n\nexport interface InteractionDefaultResolverParams {\n content?: string | null;\n rawValue?: string | null;\n interactionInfo?: InteractionParseResult | null;\n}\n\nexport type InteractionDefaultResolver = (\n params: InteractionDefaultResolverParams\n) => InteractionDefaultValues | null | undefined;\n\nexport interface InteractionDefaultValueOptions {\n resolveDefaultValues?: InteractionDefaultResolver;\n}\n\ninterface StructuredInteractionPayload {\n buttonText?: unknown;\n inputText?: unknown;\n selectedValues?: unknown;\n}\n\nconst interactionParser = createInteractionParser();\nconst INTERACTION_TAG_PATTERN = /<custom-variable\\b/i;\n// Same definition of where an interaction ends as the parser uses, so an option carrying a\n// `\\]` is read whole instead of being cut at its first bracket. A variable assignment is optional.\nconst INTERACTION_SHORTCODE_PATTERN = new RegExp(\n `\\\\?\\\\[(?:%${createVariableExpressionRegex().source})?(${INTERACTION_CONTENT_SOURCE})\\\\]`\n);\nconst JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\nconst INTERACTION_VALUE_SEPARATOR_PATTERN = /^[\\s,,\\n]+/;\n\ninterface InteractionOptionCandidate {\n token: string;\n value: string;\n}\n\nconst parseInteractionShortcode = (\n content?: string | null\n): InteractionParseResult | null => {\n if (!content) {\n return null;\n }\n\n const matched = content.match(INTERACTION_SHORTCODE_PATTERN);\n const variableName = matched?.[1]\n ? (normalizeVariableName(matched[1]) ?? undefined)\n : undefined;\n const interactionBody = matched?.[2]?.trim();\n\n if (!interactionBody) {\n return null;\n }\n\n const isMultiSelect = interactionBody.includes(\"||\");\n const separator = isMultiSelect ? \"||\" : \"|\";\n const rawOptions = interactionBody\n .split(separator)\n .map((item) => item.trim())\n .filter(Boolean);\n\n if (!rawOptions.length) {\n return null;\n }\n\n const buttonTexts: string[] = [];\n const buttonValues: string[] = [];\n let placeholder: string | undefined;\n\n rawOptions.forEach((option) => {\n if (option.startsWith(\"...\")) {\n const normalizedPlaceholder = option.replace(/^\\.\\.\\./, \"\").trim();\n if (normalizedPlaceholder) {\n placeholder = normalizedPlaceholder;\n }\n return;\n }\n\n buttonTexts.push(option);\n buttonValues.push(option);\n });\n\n return {\n variableName,\n buttonTexts: buttonTexts.length ? buttonTexts : undefined,\n buttonValues: buttonValues.length ? buttonValues : undefined,\n placeholder,\n isMultiSelect,\n };\n};\n\nconst parseInteractionBlock = (\n content?: string | null\n): InteractionParseResult | null => {\n if (!content) {\n return null;\n }\n\n try {\n return interactionParser.parseToRemarkFormat(\n content\n ) as InteractionParseResult;\n } catch (error) {\n console.warn(\"Failed to parse interaction block\", error);\n }\n\n return parseInteractionShortcode(content);\n};\n\nconst normalizeButtonValue = (\n token: string,\n info: InteractionParseResult\n): { value: string; display?: string } | null => {\n if (!token) {\n return null;\n }\n\n const cleaned = token.trim();\n const buttonValues = info.buttonValues || [];\n const buttonTexts = info.buttonTexts || [];\n const valueIndex = buttonValues.indexOf(cleaned);\n\n if (valueIndex > -1) {\n return {\n value: buttonValues[valueIndex],\n display: buttonTexts[valueIndex],\n };\n }\n\n const textIndex = buttonTexts.indexOf(cleaned);\n\n if (textIndex > -1) {\n return {\n value: buttonValues[textIndex] || buttonTexts[textIndex],\n display: buttonTexts[textIndex],\n };\n }\n\n return null;\n};\n\nconst splitPresetValues = (raw: string) => {\n return raw\n .split(/[,,\\n]/)\n .map((item) => item.trim())\n .filter(Boolean);\n};\n\nconst trimLeadingInteractionSeparators = (raw: string) =>\n raw.replace(INTERACTION_VALUE_SEPARATOR_PATTERN, \"\");\n\nconst buildInteractionOptionCandidates = (\n info: InteractionParseResult\n): InteractionOptionCandidate[] => {\n const buttonValues = info.buttonValues || [];\n const buttonTexts = info.buttonTexts || [];\n const candidates: InteractionOptionCandidate[] = [];\n const seenCandidates = new Set<string>();\n\n buttonValues.forEach((buttonValue, index) => {\n const normalizedValue = `${buttonValue ?? \"\"}`.trim();\n const normalizedText = `${buttonTexts[index] ?? \"\"}`.trim();\n\n [normalizedValue, normalizedText].forEach((token) => {\n if (!token) {\n return;\n }\n\n const candidateKey = `${token}::${normalizedValue || token}`;\n if (seenCandidates.has(candidateKey)) {\n return;\n }\n\n seenCandidates.add(candidateKey);\n candidates.push({\n token,\n value: normalizedValue || token,\n });\n });\n });\n\n return candidates.sort(\n (left, right) => right.token.length - left.token.length\n );\n};\n\nconst matchInteractionOptionPrefix = (\n raw: string,\n info: InteractionParseResult\n): InteractionOptionCandidate | null => {\n const normalizedRaw = trimLeadingInteractionSeparators(raw);\n const candidates = buildInteractionOptionCandidates(info);\n\n for (const candidate of candidates) {\n if (!normalizedRaw.startsWith(candidate.token)) {\n continue;\n }\n\n const trailingChar = normalizedRaw[candidate.token.length];\n if (trailingChar && !/[\\s,,\\n]/.test(trailingChar)) {\n continue;\n }\n\n return candidate;\n }\n\n return null;\n};\n\nconst resolveMultiSelectFallbackDefaults = (\n raw: string,\n info: InteractionParseResult\n): InteractionDefaultValues => {\n const tokens = splitPresetValues(raw);\n\n if (!tokens.length) {\n return {};\n }\n\n const selectedValues: string[] = [];\n const customInputs: string[] = [];\n\n tokens.forEach((token) => {\n const mapped = normalizeButtonValue(token, info);\n\n if (mapped) {\n selectedValues.push(mapped.value);\n return;\n }\n\n if (info.placeholder) {\n customInputs.push(token);\n return;\n }\n\n selectedValues.push(token);\n });\n\n return {\n selectedValues: selectedValues.length ? selectedValues : undefined,\n inputText: customInputs.length ? customInputs.join(\", \") : undefined,\n };\n};\n\nconst resolveMultiSelectInteractionDefaults = (\n raw: string,\n info: InteractionParseResult\n): InteractionDefaultValues => {\n const selectedValues: string[] = [];\n let remainingRaw = raw.trim();\n\n // Prefer option-aware prefix matching before delimiter splitting so\n // option labels that contain commas can still round-trip correctly.\n while (remainingRaw) {\n const matchedCandidate = matchInteractionOptionPrefix(remainingRaw, info);\n\n if (!matchedCandidate) {\n break;\n }\n\n selectedValues.push(matchedCandidate.value);\n const normalizedRemainingRaw =\n trimLeadingInteractionSeparators(remainingRaw);\n remainingRaw = trimLeadingInteractionSeparators(\n normalizedRemainingRaw.slice(matchedCandidate.token.length)\n );\n }\n\n if (selectedValues.length > 0) {\n return {\n selectedValues,\n inputText:\n info.placeholder && remainingRaw.trim()\n ? remainingRaw.trim()\n : undefined,\n };\n }\n\n const fallbackDefaults = resolveMultiSelectFallbackDefaults(raw, info);\n\n if (fallbackDefaults.selectedValues?.length) {\n return fallbackDefaults;\n }\n\n if (info.placeholder) {\n return {\n inputText: raw.trim(),\n };\n }\n\n return fallbackDefaults;\n};\n\nconst normalizeStructuredInteractionDefaults = (\n payload?: StructuredInteractionPayload | null\n): InteractionDefaultValues | null => {\n if (!payload || Array.isArray(payload)) {\n return null;\n }\n\n const selectedValues = Array.isArray(payload.selectedValues)\n ? payload.selectedValues\n .map((item) => `${item ?? \"\"}`.trim())\n .filter(Boolean)\n : undefined;\n const buttonText = `${payload.buttonText ?? \"\"}`.trim();\n const inputText =\n typeof payload.inputText === \"string\" ? payload.inputText : undefined;\n\n if (!selectedValues?.length && !buttonText && !inputText) {\n return null;\n }\n\n return {\n buttonText: buttonText || undefined,\n inputText,\n selectedValues: selectedValues?.length ? selectedValues : undefined,\n };\n};\n\nconst parseStructuredInteractionDefaults = (rawValue?: string | null) => {\n if (!rawValue) {\n return null;\n }\n\n if (!JSON_LIKE_VALUE_PATTERN.test(rawValue.trim())) {\n return null;\n }\n\n try {\n const parsed = JSON.parse(rawValue) as StructuredInteractionPayload;\n return normalizeStructuredInteractionDefaults(parsed);\n } catch {\n return null;\n }\n};\n\nconst hasPotentialInteractionBlock = (content?: string | null) =>\n Boolean(\n content &&\n (INTERACTION_TAG_PATTERN.test(content) ||\n INTERACTION_SHORTCODE_PATTERN.test(content))\n );\n\nconst resolveCustomInteractionDefaults = (\n content?: string | null,\n rawValue?: string | null,\n interactionInfo?: InteractionParseResult | null,\n options?: InteractionDefaultValueOptions\n) => {\n return (\n options?.resolveDefaultValues?.({\n content,\n rawValue,\n interactionInfo,\n }) ?? null\n );\n};\n\nexport const getInteractionDefaultValues = (\n content?: string | null,\n rawValue?: string | null,\n options?: InteractionDefaultValueOptions\n): InteractionDefaultValues => {\n const normalized = rawValue?.toString().trim();\n\n if (!normalized) {\n return {};\n }\n\n const structuredDefaults = parseStructuredInteractionDefaults(normalized);\n\n if (structuredDefaults) {\n return structuredDefaults;\n }\n\n const customDefaults = resolveCustomInteractionDefaults(\n content,\n normalized,\n null,\n options\n );\n\n if (customDefaults) {\n return customDefaults;\n }\n\n if (!hasPotentialInteractionBlock(content)) {\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n }\n\n const interactionInfo = parseInteractionBlock(content);\n const customDefaultsWithInteraction = resolveCustomInteractionDefaults(\n content,\n normalized,\n interactionInfo,\n options\n );\n\n if (customDefaultsWithInteraction) {\n return customDefaultsWithInteraction;\n }\n\n if (!interactionInfo) {\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n }\n\n if (interactionInfo.isMultiSelect) {\n return resolveMultiSelectInteractionDefaults(normalized, interactionInfo);\n }\n\n const mapped = normalizeButtonValue(normalized, interactionInfo);\n\n if (mapped) {\n return {\n buttonText: mapped.value || mapped.display || normalized,\n };\n }\n\n if (interactionInfo.placeholder) {\n return {\n inputText: normalized,\n };\n }\n\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n};\n\nexport const getInteractionDefaultSelectedValues = (\n content?: string | null,\n rawValue?: string | null,\n options?: InteractionDefaultValueOptions\n) => {\n const defaults = getInteractionDefaultValues(content, rawValue, options);\n\n if (defaults.selectedValues) {\n return defaults.selectedValues;\n }\n\n return rawValue\n ? rawValue\n .split(\",\")\n .map((value) => value.trim())\n .filter(Boolean)\n : undefined;\n};\n"],"names":["interactionParser","createInteractionParser","INTERACTION_TAG_PATTERN","INTERACTION_SHORTCODE_PATTERN","createVariableExpressionRegex","INTERACTION_CONTENT_SOURCE","JSON_LIKE_VALUE_PATTERN","INTERACTION_VALUE_SEPARATOR_PATTERN","parseInteractionShortcode","content","matched","variableName","normalizeVariableName","interactionBody","isMultiSelect","separator","rawOptions","item","buttonTexts","buttonValues","placeholder","option","normalizedPlaceholder","parseInteractionBlock","error","normalizeButtonValue","token","info","cleaned","valueIndex","textIndex","splitPresetValues","raw","trimLeadingInteractionSeparators","buildInteractionOptionCandidates","candidates","seenCandidates","buttonValue","index","normalizedValue","normalizedText","candidateKey","left","right","matchInteractionOptionPrefix","normalizedRaw","candidate","trailingChar","resolveMultiSelectFallbackDefaults","tokens","selectedValues","customInputs","mapped","resolveMultiSelectInteractionDefaults","remainingRaw","matchedCandidate","normalizedRemainingRaw","fallbackDefaults","normalizeStructuredInteractionDefaults","payload","buttonText","inputText","parseStructuredInteractionDefaults","rawValue","parsed","hasPotentialInteractionBlock","resolveCustomInteractionDefaults","interactionInfo","options","getInteractionDefaultValues","normalized","structuredDefaults","customDefaults","customDefaultsWithInteraction","getInteractionDefaultSelectedValues","defaults","value"],"mappings":"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"}
1
+ {"version":3,"file":"interaction-defaults.es.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import {\n createInteractionParser,\n trimVariablePadding,\n INTERACTION_CONTENT_SOURCE,\n} from \"remark-flow\";\nimport type { Node } from \"unist\";\nimport { getMarkdownSourceAnalysis } from \"../components/ContentRender/utils/inline-code-ranges\";\n\nexport interface InteractionParseResult {\n buttonTexts?: string[];\n buttonValues?: string[];\n placeholder?: string;\n variableName?: string;\n isMultiSelect?: boolean;\n}\n\nexport interface InteractionDefaultValues {\n buttonText?: string;\n inputText?: string;\n selectedValues?: string[];\n}\n\nexport interface InteractionDefaultResolverParams {\n content?: string | null;\n rawValue?: string | null;\n interactionInfo?: InteractionParseResult | null;\n}\n\nexport type InteractionDefaultResolver = (\n params: InteractionDefaultResolverParams\n) => InteractionDefaultValues | null | undefined;\n\nexport interface InteractionDefaultValueOptions {\n resolveDefaultValues?: InteractionDefaultResolver;\n}\n\ninterface StructuredInteractionPayload {\n buttonText?: unknown;\n inputText?: unknown;\n selectedValues?: unknown;\n}\n\nconst interactionParser = createInteractionParser();\nconst INTERACTION_TAG_PATTERN = /<custom-variable\\b/i;\n// Same definition of where an interaction ends as the parser uses, so an option carrying a\n// `\\]` is read whole instead of being cut at its first bracket. A variable assignment is optional.\nconst INTERACTION_SHORTCODE_PATTERN = new RegExp(\n `\\\\?\\\\[(${INTERACTION_CONTENT_SOURCE})\\\\](?!\\\\()`\n);\nconst JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\n\ninterface InteractionOptionCandidate {\n token: string;\n value: string;\n}\n\nconst findInteractionSource = (\n node: Node & { value?: unknown; children?: readonly Node[] }\n): string | null => {\n if (node.type === \"flowInteraction\" && \"value\" in node)\n return typeof node.value === \"string\" ? node.value : null;\n if (node.children) {\n for (const child of node.children) {\n const source = findInteractionSource(child);\n if (source !== null) return source;\n }\n }\n return null;\n};\n\nconst parseInteractionBlock = (\n content?: string | null\n): InteractionParseResult | null => {\n if (!content) {\n return null;\n }\n\n try {\n // Read a grammar-owned interaction, so a syntax example cannot supply its key\n // or swallow a later real control. Keep the existing serialized-tag path.\n const source =\n findInteractionSource(getMarkdownSourceAnalysis(content).tree) ??\n (INTERACTION_TAG_PATTERN.test(content) ? content : null);\n if (source === null) return null;\n // The compatibility formatter turns invalid source into a text-input placeholder.\n // Defaults must retain plain replay behavior instead of inventing an interaction.\n if (interactionParser.parse(source).error) return null;\n return interactionParser.parseToRemarkFormat(\n source\n ) as InteractionParseResult;\n } catch (error) {\n console.warn(\"Failed to parse interaction block\", error);\n }\n\n return null;\n};\n\nconst normalizeButtonValue = (\n token: string,\n info: InteractionParseResult\n): { value: string; display?: string } | null => {\n if (!token) {\n return null;\n }\n\n const cleaned = trimVariablePadding(token);\n const buttonValues = info.buttonValues || [];\n const buttonTexts = info.buttonTexts || [];\n const valueIndex = buttonValues.indexOf(cleaned);\n\n if (valueIndex > -1) {\n return {\n value: buttonValues[valueIndex],\n display: buttonTexts[valueIndex],\n };\n }\n\n const textIndex = buttonTexts.indexOf(cleaned);\n\n if (textIndex > -1) {\n return {\n value: buttonValues[textIndex] || buttonTexts[textIndex],\n display: buttonTexts[textIndex],\n };\n }\n\n return null;\n};\n\nconst splitPresetValues = (raw: string) => {\n return raw\n .split(/[,,\\n]/)\n .map((item) => trimVariablePadding(item))\n .filter(Boolean);\n};\n\nconst trimLeadingInteractionSeparators = (raw: string) => {\n let index = 0;\n while (\n index < raw.length &&\n (raw[index] === \",\" ||\n raw[index] === \",\" ||\n trimVariablePadding(raw[index]) === \"\")\n )\n index += 1;\n return raw.slice(index);\n};\n\nconst buildInteractionOptionCandidates = (\n info: InteractionParseResult\n): InteractionOptionCandidate[] => {\n const buttonValues = info.buttonValues || [];\n const buttonTexts = info.buttonTexts || [];\n const candidates: InteractionOptionCandidate[] = [];\n const seenCandidates = new Set<string>();\n\n buttonValues.forEach((buttonValue, index) => {\n const normalizedValue = trimVariablePadding(`${buttonValue ?? \"\"}`);\n const normalizedText = trimVariablePadding(`${buttonTexts[index] ?? \"\"}`);\n\n [normalizedValue, normalizedText].forEach((token) => {\n if (!token) {\n return;\n }\n\n const candidateKey = `${token}::${normalizedValue || token}`;\n if (seenCandidates.has(candidateKey)) {\n return;\n }\n\n seenCandidates.add(candidateKey);\n candidates.push({\n token,\n value: normalizedValue || token,\n });\n });\n });\n\n return candidates.sort(\n (left, right) => right.token.length - left.token.length\n );\n};\n\nconst matchInteractionOptionPrefix = (\n raw: string,\n info: InteractionParseResult\n): InteractionOptionCandidate | null => {\n const normalizedRaw = trimLeadingInteractionSeparators(raw);\n const candidates = buildInteractionOptionCandidates(info);\n\n for (const candidate of candidates) {\n if (!normalizedRaw.startsWith(candidate.token)) {\n continue;\n }\n\n const trailingChar = normalizedRaw[candidate.token.length];\n if (\n trailingChar &&\n trailingChar !== \",\" &&\n trailingChar !== \",\" &&\n trimVariablePadding(trailingChar) !== \"\"\n ) {\n continue;\n }\n\n return candidate;\n }\n\n return null;\n};\n\nconst resolveMultiSelectFallbackDefaults = (\n raw: string,\n info: InteractionParseResult\n): InteractionDefaultValues => {\n const tokens = splitPresetValues(raw);\n\n if (!tokens.length) {\n return {};\n }\n\n const selectedValues: string[] = [];\n const customInputs: string[] = [];\n\n tokens.forEach((token) => {\n const mapped = normalizeButtonValue(token, info);\n\n if (mapped) {\n selectedValues.push(mapped.value);\n return;\n }\n\n if (info.placeholder) {\n customInputs.push(token);\n return;\n }\n\n selectedValues.push(token);\n });\n\n return {\n selectedValues: selectedValues.length ? selectedValues : undefined,\n inputText: customInputs.length ? customInputs.join(\", \") : undefined,\n };\n};\n\nconst resolveMultiSelectInteractionDefaults = (\n raw: string,\n info: InteractionParseResult\n): InteractionDefaultValues => {\n const selectedValues: string[] = [];\n let remainingRaw = trimVariablePadding(raw);\n\n // Prefer option-aware prefix matching before delimiter splitting so\n // option labels that contain commas can still round-trip correctly.\n while (remainingRaw) {\n const matchedCandidate = matchInteractionOptionPrefix(remainingRaw, info);\n\n if (!matchedCandidate) {\n break;\n }\n\n selectedValues.push(matchedCandidate.value);\n const normalizedRemainingRaw =\n trimLeadingInteractionSeparators(remainingRaw);\n remainingRaw = trimLeadingInteractionSeparators(\n normalizedRemainingRaw.slice(matchedCandidate.token.length)\n );\n }\n\n if (selectedValues.length > 0) {\n return {\n selectedValues,\n inputText:\n info.placeholder && remainingRaw.trim()\n ? remainingRaw.trim()\n : undefined,\n };\n }\n\n const fallbackDefaults = resolveMultiSelectFallbackDefaults(raw, info);\n\n if (fallbackDefaults.selectedValues?.length) {\n return fallbackDefaults;\n }\n\n if (info.placeholder) {\n return {\n inputText: raw.trim(),\n };\n }\n\n return fallbackDefaults;\n};\n\nconst normalizeStructuredInteractionDefaults = (\n payload?: StructuredInteractionPayload | null\n): InteractionDefaultValues | null => {\n if (!payload || Array.isArray(payload)) {\n return null;\n }\n\n const selectedValues = Array.isArray(payload.selectedValues)\n ? payload.selectedValues\n .map((item) => trimVariablePadding(`${item ?? \"\"}`))\n .filter(Boolean)\n : undefined;\n const buttonText = trimVariablePadding(`${payload.buttonText ?? \"\"}`);\n const inputText =\n typeof payload.inputText === \"string\" ? payload.inputText : undefined;\n\n if (!selectedValues?.length && !buttonText && !inputText) {\n return null;\n }\n\n return {\n buttonText: buttonText || undefined,\n inputText,\n selectedValues: selectedValues?.length ? selectedValues : undefined,\n };\n};\n\nconst parseStructuredInteractionDefaults = (rawValue?: string | null) => {\n if (!rawValue) {\n return null;\n }\n\n if (!JSON_LIKE_VALUE_PATTERN.test(trimVariablePadding(rawValue))) {\n return null;\n }\n\n try {\n const parsed = JSON.parse(rawValue) as StructuredInteractionPayload;\n return normalizeStructuredInteractionDefaults(parsed);\n } catch {\n return null;\n }\n};\n\nconst hasPotentialInteractionBlock = (content?: string | null) =>\n Boolean(\n content &&\n (INTERACTION_TAG_PATTERN.test(content) ||\n INTERACTION_SHORTCODE_PATTERN.test(content))\n );\n\nconst resolveCustomInteractionDefaults = (\n content?: string | null,\n rawValue?: string | null,\n interactionInfo?: InteractionParseResult | null,\n options?: InteractionDefaultValueOptions\n) => {\n return (\n options?.resolveDefaultValues?.({\n content,\n rawValue,\n interactionInfo,\n }) ?? null\n );\n};\n\nexport const getInteractionDefaultValues = (\n content?: string | null,\n rawValue?: string | null,\n options?: InteractionDefaultValueOptions\n): InteractionDefaultValues => {\n const normalized =\n rawValue === null || rawValue === undefined\n ? undefined\n : trimVariablePadding(rawValue.toString());\n\n if (!normalized) {\n return {};\n }\n\n const structuredDefaults = parseStructuredInteractionDefaults(normalized);\n\n if (structuredDefaults) {\n return structuredDefaults;\n }\n\n const customDefaults = resolveCustomInteractionDefaults(\n content,\n normalized,\n null,\n options\n );\n\n if (customDefaults) {\n return customDefaults;\n }\n\n if (!hasPotentialInteractionBlock(content)) {\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n }\n\n const interactionInfo = parseInteractionBlock(content);\n const customDefaultsWithInteraction = resolveCustomInteractionDefaults(\n content,\n normalized,\n interactionInfo,\n options\n );\n\n if (customDefaultsWithInteraction) {\n return customDefaultsWithInteraction;\n }\n\n if (!interactionInfo) {\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n }\n\n if (interactionInfo.isMultiSelect) {\n return resolveMultiSelectInteractionDefaults(normalized, interactionInfo);\n }\n\n const mapped = normalizeButtonValue(normalized, interactionInfo);\n\n if (mapped) {\n return {\n buttonText: mapped.value || mapped.display || normalized,\n };\n }\n\n if (interactionInfo.placeholder) {\n return {\n inputText: normalized,\n };\n }\n\n return {\n buttonText: normalized,\n inputText: normalized,\n };\n};\n\nexport const getInteractionDefaultSelectedValues = (\n content?: string | null,\n rawValue?: string | null,\n options?: InteractionDefaultValueOptions\n) => {\n const defaults = getInteractionDefaultValues(content, rawValue, options);\n\n if (defaults.selectedValues) {\n return defaults.selectedValues;\n }\n\n return rawValue\n ? rawValue\n .split(\",\")\n .map((value) => trimVariablePadding(value))\n .filter(Boolean)\n : undefined;\n};\n"],"names":["interactionParser","createInteractionParser","INTERACTION_TAG_PATTERN","INTERACTION_SHORTCODE_PATTERN","INTERACTION_CONTENT_SOURCE","JSON_LIKE_VALUE_PATTERN","findInteractionSource","node","child","source","parseInteractionBlock","content","getMarkdownSourceAnalysis","error","normalizeButtonValue","token","info","cleaned","trimVariablePadding","buttonValues","buttonTexts","valueIndex","textIndex","splitPresetValues","raw","item","trimLeadingInteractionSeparators","index","buildInteractionOptionCandidates","candidates","seenCandidates","buttonValue","normalizedValue","normalizedText","candidateKey","left","right","matchInteractionOptionPrefix","normalizedRaw","candidate","trailingChar","resolveMultiSelectFallbackDefaults","tokens","selectedValues","customInputs","mapped","resolveMultiSelectInteractionDefaults","remainingRaw","matchedCandidate","normalizedRemainingRaw","fallbackDefaults","normalizeStructuredInteractionDefaults","payload","buttonText","inputText","parseStructuredInteractionDefaults","rawValue","parsed","hasPotentialInteractionBlock","resolveCustomInteractionDefaults","interactionInfo","options","getInteractionDefaultValues","normalized","structuredDefaults","customDefaults","customDefaultsWithInteraction","getInteractionDefaultSelectedValues","defaults","value"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),te=require("../../@babel/runtime/helpers/esm/extends.cjs"),i=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),oe=require("../../@babel/runtime/helpers/esm/typeof.cjs"),u=require("../../../_virtual/index4.cjs"),n=require("react"),T=require("./utils/commonUtils.cjs");var de=n.forwardRef(function(e,U){var p,x,y,$=e.inputElement,N=e.children,r=e.prefixCls,k=e.prefix,f=e.suffix,C=e.addonBefore,W=e.addonAfter,z=e.className,J=e.style,m=e.disabled,I=e.readOnly,K=e.focused,E=e.triggerFocus,d=e.allowClear,b=e.value,h=e.handleReset,L=e.hidden,t=e.classes,a=e.classNames,g=e.dataAttrs,o=e.styles,l=e.components,w=e.onClear,M=N??$,Q=l?.affixWrapper||"span",V=l?.groupWrapper||"span",X=l?.wrapper||"span",S=l?.groupAddon||"span",A=n.useRef(null),Y=function(s){var q;(q=A.current)!==null&&q!==void 0&&q.contains(s.target)&&E?.()},j=T.hasPrefixSuffix(e),c=n.cloneElement(M,{value:b,className:u.default((p=M.props)===null||p===void 0?void 0:p.className,!j&&a?.variant)||null}),B=n.useRef(null);if(n.useImperativeHandle(U,function(){return{nativeElement:B.current||A.current}}),j){var D=null;if(d){var Z=!m&&!I&&b,R="".concat(r,"-clear-icon"),P=oe.default(d)==="object"&&d!==null&&d!==void 0&&d.clearIcon?d.clearIcon:"✖";D=n.createElement("button",{type:"button",tabIndex:-1,onClick:function(s){h?.(s),w?.()},onMouseDown:function(s){return s.preventDefault()},className:u.default(R,i.default(i.default({},"".concat(R,"-hidden"),!Z),"".concat(R,"-has-suffix"),!!f))},P)}var v="".concat(r,"-affix-wrapper"),ee=u.default(v,i.default(i.default(i.default(i.default(i.default({},"".concat(r,"-disabled"),m),"".concat(v,"-disabled"),m),"".concat(v,"-focused"),K),"".concat(v,"-readonly"),I),"".concat(v,"-input-with-clear-btn"),f&&d&&b),t?.affixWrapper,a?.affixWrapper,a?.variant),ae=(f||d)&&n.createElement("span",{className:u.default("".concat(r,"-suffix"),a?.suffix),style:o?.suffix},D,f);c=n.createElement(Q,te.default({className:ee,style:o?.affixWrapper,onClick:Y},g?.affixWrapper,{ref:A}),k&&n.createElement("span",{className:u.default("".concat(r,"-prefix"),a?.prefix),style:o?.prefix},k),c,ae)}if(T.hasAddon(e)){var _="".concat(r,"-group"),O="".concat(_,"-addon"),F="".concat(_,"-wrapper"),ne=u.default("".concat(r,"-wrapper"),_,t?.wrapper,a?.wrapper),le=u.default(F,i.default({},"".concat(F,"-disabled"),m),t?.group,a?.groupWrapper);c=n.createElement(V,{className:le,ref:B},n.createElement(X,{className:ne},C&&n.createElement(S,{className:O},C),c,W&&n.createElement(S,{className:O},W)))}return n.cloneElement(c,{className:u.default((x=c.props)===null||x===void 0?void 0:x.className,z)||null,style:H.default(H.default({},(y=c.props)===null||y===void 0?void 0:y.style),J),hidden:L})});exports.default=de;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),te=require("../../@babel/runtime/helpers/esm/extends.cjs"),i=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),oe=require("../../@babel/runtime/helpers/esm/typeof.cjs"),u=require("../../../_virtual/index5.cjs"),n=require("react"),T=require("./utils/commonUtils.cjs");var de=n.forwardRef(function(e,U){var p,x,y,$=e.inputElement,N=e.children,r=e.prefixCls,k=e.prefix,f=e.suffix,C=e.addonBefore,W=e.addonAfter,z=e.className,J=e.style,m=e.disabled,I=e.readOnly,K=e.focused,E=e.triggerFocus,d=e.allowClear,b=e.value,h=e.handleReset,L=e.hidden,t=e.classes,a=e.classNames,g=e.dataAttrs,o=e.styles,l=e.components,w=e.onClear,M=N??$,Q=l?.affixWrapper||"span",V=l?.groupWrapper||"span",X=l?.wrapper||"span",S=l?.groupAddon||"span",A=n.useRef(null),Y=function(s){var q;(q=A.current)!==null&&q!==void 0&&q.contains(s.target)&&E?.()},j=T.hasPrefixSuffix(e),c=n.cloneElement(M,{value:b,className:u.default((p=M.props)===null||p===void 0?void 0:p.className,!j&&a?.variant)||null}),B=n.useRef(null);if(n.useImperativeHandle(U,function(){return{nativeElement:B.current||A.current}}),j){var D=null;if(d){var Z=!m&&!I&&b,R="".concat(r,"-clear-icon"),P=oe.default(d)==="object"&&d!==null&&d!==void 0&&d.clearIcon?d.clearIcon:"✖";D=n.createElement("button",{type:"button",tabIndex:-1,onClick:function(s){h?.(s),w?.()},onMouseDown:function(s){return s.preventDefault()},className:u.default(R,i.default(i.default({},"".concat(R,"-hidden"),!Z),"".concat(R,"-has-suffix"),!!f))},P)}var v="".concat(r,"-affix-wrapper"),ee=u.default(v,i.default(i.default(i.default(i.default(i.default({},"".concat(r,"-disabled"),m),"".concat(v,"-disabled"),m),"".concat(v,"-focused"),K),"".concat(v,"-readonly"),I),"".concat(v,"-input-with-clear-btn"),f&&d&&b),t?.affixWrapper,a?.affixWrapper,a?.variant),ae=(f||d)&&n.createElement("span",{className:u.default("".concat(r,"-suffix"),a?.suffix),style:o?.suffix},D,f);c=n.createElement(Q,te.default({className:ee,style:o?.affixWrapper,onClick:Y},g?.affixWrapper,{ref:A}),k&&n.createElement("span",{className:u.default("".concat(r,"-prefix"),a?.prefix),style:o?.prefix},k),c,ae)}if(T.hasAddon(e)){var _="".concat(r,"-group"),O="".concat(_,"-addon"),F="".concat(_,"-wrapper"),ne=u.default("".concat(r,"-wrapper"),_,t?.wrapper,a?.wrapper),le=u.default(F,i.default({},"".concat(F,"-disabled"),m),t?.group,a?.groupWrapper);c=n.createElement(V,{className:le,ref:B},n.createElement(X,{className:ne},C&&n.createElement(S,{className:O},C),c,W&&n.createElement(S,{className:O},W)))}return n.cloneElement(c,{className:u.default((x=c.props)===null||x===void 0?void 0:x.className,z)||null,style:H.default(H.default({},(y=c.props)===null||y===void 0?void 0:y.style),J),hidden:L})});exports.default=de;
2
2
  //# sourceMappingURL=BaseInput.cjs.map
@@ -2,7 +2,7 @@ import $ from "../../@babel/runtime/helpers/esm/objectSpread2.es.js";
2
2
  import oe from "../../@babel/runtime/helpers/esm/extends.es.js";
3
3
  import r from "../../@babel/runtime/helpers/esm/defineProperty.es.js";
4
4
  import te from "../../@babel/runtime/helpers/esm/typeof.es.js";
5
- import d from "../../../_virtual/index.es4.js";
5
+ import d from "../../../_virtual/index.es5.js";
6
6
  import l, { useRef as q, cloneElement as ie } from "react";
7
7
  import { hasPrefixSuffix as re, hasAddon as de } from "./utils/commonUtils.es.js";
8
8
  var xe = /* @__PURE__ */ l.forwardRef(function(e, z) {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("../../@babel/runtime/helpers/esm/extends.cjs"),F=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),N=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),J=require("../../@babel/runtime/helpers/esm/typeof.cjs"),f=require("../../@babel/runtime/helpers/esm/slicedToArray.cjs"),K=require("../../@babel/runtime/helpers/esm/objectWithoutProperties.cjs"),Q=require("../../../_virtual/index4.cjs"),ee=require("../../rc-resize-observer/es/index.cjs"),j=require("../../rc-util/es/hooks/useLayoutEffect.cjs"),te=require("../../rc-util/es/hooks/useMergedState.cjs"),w=require("../../rc-util/es/raf.cjs"),ae=require("react"),re=require("./calculateNodeHeight.cjs");function ne(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(o,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}return o.default=n,Object.freeze(o)}const t=ne(ae);var ue=["prefixCls","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],g=0,m=1,_=2,le=t.forwardRef(function(n,o){var e=n,s=e.prefixCls,O=e.defaultValue,p=e.value,a=e.autoSize,i=e.onResize,T=e.className,$=e.style,b=e.disabled,c=e.onChange,d=e.onInternalAutoSize,P=K.default(e,ue),V=te.default(O,{value:p,postState:function(r){return r??""}}),y=f.default(V,2),D=y[0],Z=y[1],H=function(r){Z(r.target.value),c?.(r)},S=t.useRef();t.useImperativeHandle(o,function(){return{textArea:S.current}});var L=t.useMemo(function(){return a&&J.default(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),E=f.default(L,2),q=E[0],x=E[1],R=!!a,k=t.useState(_),A=f.default(k,2),u=A[0],v=A[1],B=t.useState(),I=f.default(B,2),G=I[0],U=I[1],M=function(){v(g),process.env.NODE_ENV==="test"&&d?.()};j.default(function(){R&&M()},[p,q,x,R]),j.default(function(){if(u===g)v(m);else if(u===m){var l=re.default(S.current,!1,q,x);v(_),U(l)}},[u]);var h=t.useRef(),C=function(){w.default.cancel(h.current)},W=function(r){u===_&&(i?.(r),a&&(C(),h.current=w.default(function(){M()})))};t.useEffect(function(){return C},[]);var X=R?G:null,z=N.default(N.default({},$),X);return(u===g||u===m)&&(z.overflowY="hidden",z.overflowX="hidden"),t.createElement(ee.default,{onResize:W,disabled:!(a||i)},t.createElement("textarea",Y.default({},P,{ref:S,style:z,className:Q.default(s,T,F.default({},"".concat(s,"-disabled"),b)),disabled:b,value:D,onChange:H})))});exports.default=le;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("../../@babel/runtime/helpers/esm/extends.cjs"),F=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),N=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),J=require("../../@babel/runtime/helpers/esm/typeof.cjs"),f=require("../../@babel/runtime/helpers/esm/slicedToArray.cjs"),K=require("../../@babel/runtime/helpers/esm/objectWithoutProperties.cjs"),Q=require("../../../_virtual/index5.cjs"),ee=require("../../rc-resize-observer/es/index.cjs"),j=require("../../rc-util/es/hooks/useLayoutEffect.cjs"),te=require("../../rc-util/es/hooks/useMergedState.cjs"),w=require("../../rc-util/es/raf.cjs"),ae=require("react"),re=require("./calculateNodeHeight.cjs");function ne(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(o,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}return o.default=n,Object.freeze(o)}const t=ne(ae);var ue=["prefixCls","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],g=0,m=1,_=2,le=t.forwardRef(function(n,o){var e=n,s=e.prefixCls,O=e.defaultValue,p=e.value,a=e.autoSize,i=e.onResize,T=e.className,$=e.style,b=e.disabled,c=e.onChange,d=e.onInternalAutoSize,P=K.default(e,ue),V=te.default(O,{value:p,postState:function(r){return r??""}}),y=f.default(V,2),D=y[0],Z=y[1],H=function(r){Z(r.target.value),c?.(r)},S=t.useRef();t.useImperativeHandle(o,function(){return{textArea:S.current}});var L=t.useMemo(function(){return a&&J.default(a)==="object"?[a.minRows,a.maxRows]:[]},[a]),E=f.default(L,2),q=E[0],x=E[1],R=!!a,k=t.useState(_),A=f.default(k,2),u=A[0],v=A[1],B=t.useState(),I=f.default(B,2),G=I[0],U=I[1],M=function(){v(g),process.env.NODE_ENV==="test"&&d?.()};j.default(function(){R&&M()},[p,q,x,R]),j.default(function(){if(u===g)v(m);else if(u===m){var l=re.default(S.current,!1,q,x);v(_),U(l)}},[u]);var h=t.useRef(),C=function(){w.default.cancel(h.current)},W=function(r){u===_&&(i?.(r),a&&(C(),h.current=w.default(function(){M()})))};t.useEffect(function(){return C},[]);var X=R?G:null,z=N.default(N.default({},$),X);return(u===g||u===m)&&(z.overflowY="hidden",z.overflowX="hidden"),t.createElement(ee.default,{onResize:W,disabled:!(a||i)},t.createElement("textarea",Y.default({},P,{ref:S,style:z,className:Q.default(s,T,F.default({},"".concat(s,"-disabled"),b)),disabled:b,value:D,onChange:H})))});exports.default=le;
2
2
  //# sourceMappingURL=ResizableTextArea.cjs.map
@@ -4,7 +4,7 @@ import w from "../../@babel/runtime/helpers/esm/objectSpread2.es.js";
4
4
  import J from "../../@babel/runtime/helpers/esm/typeof.es.js";
5
5
  import s from "../../@babel/runtime/helpers/esm/slicedToArray.es.js";
6
6
  import K from "../../@babel/runtime/helpers/esm/objectWithoutProperties.es.js";
7
- import Q from "../../../_virtual/index.es4.js";
7
+ import Q from "../../../_virtual/index.es5.js";
8
8
  import ee from "../../rc-resize-observer/es/index.es.js";
9
9
  import M from "../../rc-util/es/hooks/useLayoutEffect.es.js";
10
10
  import te from "../../rc-util/es/hooks/useMergedState.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const be=require("../../@babel/runtime/helpers/esm/extends.cjs"),X=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),d=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),ze=require("../../@babel/runtime/helpers/esm/toConsumableArray.cjs"),x=require("../../@babel/runtime/helpers/esm/slicedToArray.cjs"),qe=require("../../@babel/runtime/helpers/esm/objectWithoutProperties.cjs"),g=require("../../../_virtual/index4.cjs"),Te=require("../../rc-input/es/BaseInput.cjs"),Ae=require("../../rc-util/es/hooks/useMergedState.cjs"),n=require("react"),Fe=require("../../rc-input/es/hooks/useCount.cjs"),Y=require("../../rc-input/es/utils/commonUtils.cjs"),Ne=require("./ResizableTextArea.cjs");var Oe=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize","onClear","onPressEnter","readOnly","autoSize","onKeyDown"],$e=n.forwardRef(function(t,Z){var C,B=t.defaultValue,_=t.value,p=t.onFocus,y=t.onBlur,L=t.onChange,R=t.allowClear,M=t.maxLength,S=t.onCompositionStart,w=t.onCompositionEnd,ee=t.suffix,P=t.prefixCls,s=P===void 0?"rc-textarea":P,E=t.showCount,te=t.count,ae=t.className,v=t.style,m=t.disabled,ne=t.hidden,l=t.classNames,i=t.styles,b=t.onResize,oe=t.onClear,D=t.onPressEnter,K=t.readOnly,V=t.autoSize,z=t.onKeyDown,le=qe.default(t,Oe),re=Ae.default(B,{value:_,defaultValue:B}),W=x.default(re,2),q=W[0],j=W[1],T=q==null?"":String(q),ue=n.useState(!1),k=x.default(ue,2),se=k[0],A=k[1],F=n.useRef(!1),ie=n.useState(null),H=x.default(ie,2),de=H[0],ce=H[1],U=n.useRef(null),N=n.useRef(null),r=function(){var e;return(e=N.current)===null||e===void 0?void 0:e.textArea},G=function(){r().focus()};n.useImperativeHandle(Z,function(){var a;return{resizableTextArea:N.current,focus:G,blur:function(){r().blur()},nativeElement:((a=U.current)===null||a===void 0?void 0:a.nativeElement)||r()}}),n.useEffect(function(){A(function(a){return!m&&a})},[m]);var fe=n.useState(null),J=x.default(fe,2),O=J[0],ve=J[1];n.useEffect(function(){if(O){var a;(a=r()).setSelectionRange.apply(a,ze.default(O))}},[O]);var o=Fe.default(te,E),c=(C=o.max)!==null&&C!==void 0?C:M,me=Number(c)>0,$=o.strategy(T),he=!!c&&$>c,Q=function(e,u){var h=u;!F.current&&o.exceedFormatter&&o.max&&o.strategy(u)>o.max&&(h=o.exceedFormatter(u,{max:o.max}),u!==h&&ve([r().selectionStart||0,r().selectionEnd||0])),j(h),Y.resolveOnChange(e.currentTarget,e,L,h)},xe=function(e){F.current=!0,S?.(e)},ge=function(e){F.current=!1,Q(e,e.currentTarget.value),w?.(e)},Ce=function(e){Q(e,e.target.value)},pe=function(e){e.key==="Enter"&&D&&D(e),z?.(e)},ye=function(e){A(!0),p?.(e)},Re=function(e){A(!1),y?.(e)},Se=function(e){j(""),G(),Y.resolveOnChange(r(),e,L)},I=ee,f;o.show&&(o.showFormatter?f=o.showFormatter({value:T,count:$,maxLength:c}):f="".concat($).concat(me?" / ".concat(c):""),I=n.createElement(n.Fragment,null,I,n.createElement("span",{className:g.default("".concat(s,"-data-count"),l?.count),style:i?.count},f)));var we=function(e){var u;b?.(e),(u=r())!==null&&u!==void 0&&u.style.height&&ce(!0)},Ee=!V&&!E&&!R;return n.createElement(Te.default,{ref:U,value:T,allowClear:R,handleReset:Se,suffix:I,prefixCls:s,classNames:d.default(d.default({},l),{},{affixWrapper:g.default(l?.affixWrapper,X.default(X.default({},"".concat(s,"-show-count"),E),"".concat(s,"-textarea-allow-clear"),R))}),disabled:m,focused:se,className:g.default(ae,he&&"".concat(s,"-out-of-range")),style:d.default(d.default({},v),de&&!Ee?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof f=="string"?f:void 0}},hidden:ne,readOnly:K,onClear:oe},n.createElement(Ne.default,be.default({},le,{autoSize:V,maxLength:M,onKeyDown:pe,onChange:Ce,onFocus:ye,onBlur:Re,onCompositionStart:xe,onCompositionEnd:ge,className:g.default(l?.textarea),style:d.default(d.default({},i?.textarea),{},{resize:v?.resize}),disabled:m,prefixCls:s,onResize:we,ref:N,readOnly:K})))});exports.default=$e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const be=require("../../@babel/runtime/helpers/esm/extends.cjs"),X=require("../../@babel/runtime/helpers/esm/defineProperty.cjs"),d=require("../../@babel/runtime/helpers/esm/objectSpread2.cjs"),ze=require("../../@babel/runtime/helpers/esm/toConsumableArray.cjs"),x=require("../../@babel/runtime/helpers/esm/slicedToArray.cjs"),qe=require("../../@babel/runtime/helpers/esm/objectWithoutProperties.cjs"),g=require("../../../_virtual/index5.cjs"),Te=require("../../rc-input/es/BaseInput.cjs"),Ae=require("../../rc-util/es/hooks/useMergedState.cjs"),n=require("react"),Fe=require("../../rc-input/es/hooks/useCount.cjs"),Y=require("../../rc-input/es/utils/commonUtils.cjs"),Ne=require("./ResizableTextArea.cjs");var Oe=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize","onClear","onPressEnter","readOnly","autoSize","onKeyDown"],$e=n.forwardRef(function(t,Z){var C,B=t.defaultValue,_=t.value,p=t.onFocus,y=t.onBlur,L=t.onChange,R=t.allowClear,M=t.maxLength,S=t.onCompositionStart,w=t.onCompositionEnd,ee=t.suffix,P=t.prefixCls,s=P===void 0?"rc-textarea":P,E=t.showCount,te=t.count,ae=t.className,v=t.style,m=t.disabled,ne=t.hidden,l=t.classNames,i=t.styles,b=t.onResize,oe=t.onClear,D=t.onPressEnter,K=t.readOnly,V=t.autoSize,z=t.onKeyDown,le=qe.default(t,Oe),re=Ae.default(B,{value:_,defaultValue:B}),W=x.default(re,2),q=W[0],j=W[1],T=q==null?"":String(q),ue=n.useState(!1),k=x.default(ue,2),se=k[0],A=k[1],F=n.useRef(!1),ie=n.useState(null),H=x.default(ie,2),de=H[0],ce=H[1],U=n.useRef(null),N=n.useRef(null),r=function(){var e;return(e=N.current)===null||e===void 0?void 0:e.textArea},G=function(){r().focus()};n.useImperativeHandle(Z,function(){var a;return{resizableTextArea:N.current,focus:G,blur:function(){r().blur()},nativeElement:((a=U.current)===null||a===void 0?void 0:a.nativeElement)||r()}}),n.useEffect(function(){A(function(a){return!m&&a})},[m]);var fe=n.useState(null),J=x.default(fe,2),O=J[0],ve=J[1];n.useEffect(function(){if(O){var a;(a=r()).setSelectionRange.apply(a,ze.default(O))}},[O]);var o=Fe.default(te,E),c=(C=o.max)!==null&&C!==void 0?C:M,me=Number(c)>0,$=o.strategy(T),he=!!c&&$>c,Q=function(e,u){var h=u;!F.current&&o.exceedFormatter&&o.max&&o.strategy(u)>o.max&&(h=o.exceedFormatter(u,{max:o.max}),u!==h&&ve([r().selectionStart||0,r().selectionEnd||0])),j(h),Y.resolveOnChange(e.currentTarget,e,L,h)},xe=function(e){F.current=!0,S?.(e)},ge=function(e){F.current=!1,Q(e,e.currentTarget.value),w?.(e)},Ce=function(e){Q(e,e.target.value)},pe=function(e){e.key==="Enter"&&D&&D(e),z?.(e)},ye=function(e){A(!0),p?.(e)},Re=function(e){A(!1),y?.(e)},Se=function(e){j(""),G(),Y.resolveOnChange(r(),e,L)},I=ee,f;o.show&&(o.showFormatter?f=o.showFormatter({value:T,count:$,maxLength:c}):f="".concat($).concat(me?" / ".concat(c):""),I=n.createElement(n.Fragment,null,I,n.createElement("span",{className:g.default("".concat(s,"-data-count"),l?.count),style:i?.count},f)));var we=function(e){var u;b?.(e),(u=r())!==null&&u!==void 0&&u.style.height&&ce(!0)},Ee=!V&&!E&&!R;return n.createElement(Te.default,{ref:U,value:T,allowClear:R,handleReset:Se,suffix:I,prefixCls:s,classNames:d.default(d.default({},l),{},{affixWrapper:g.default(l?.affixWrapper,X.default(X.default({},"".concat(s,"-show-count"),E),"".concat(s,"-textarea-allow-clear"),R))}),disabled:m,focused:se,className:g.default(ae,he&&"".concat(s,"-out-of-range")),style:d.default(d.default({},v),de&&!Ee?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof f=="string"?f:void 0}},hidden:ne,readOnly:K,onClear:oe},n.createElement(Ne.default,be.default({},le,{autoSize:V,maxLength:M,onKeyDown:pe,onChange:Ce,onFocus:ye,onBlur:Re,onCompositionStart:xe,onCompositionEnd:ge,className:g.default(l?.textarea),style:d.default(d.default({},i?.textarea),{},{resize:v?.resize}),disabled:m,prefixCls:s,onResize:we,ref:N,readOnly:K})))});exports.default=$e;
2
2
  //# sourceMappingURL=TextArea.cjs.map
@@ -4,7 +4,7 @@ import d from "../../@babel/runtime/helpers/esm/objectSpread2.es.js";
4
4
  import Ae from "../../@babel/runtime/helpers/esm/toConsumableArray.es.js";
5
5
  import x from "../../@babel/runtime/helpers/esm/slicedToArray.es.js";
6
6
  import Fe from "../../@babel/runtime/helpers/esm/objectWithoutProperties.es.js";
7
- import h from "../../../_virtual/index.es4.js";
7
+ import h from "../../../_virtual/index.es5.js";
8
8
  import Ne from "../../rc-input/es/BaseInput.es.js";
9
9
  import Te from "../../rc-util/es/hooks/useMergedState.es.js";
10
10
  import o, { useRef as Y, useImperativeHandle as $e, useEffect as Ie } from "react";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./TextArea.cjs");require("../../../_virtual/index4.cjs");require("../../rc-resize-observer/es/index.cjs");require("../../rc-util/es/hooks/useLayoutEffect.cjs");require("react");require("../../rc-util/es/raf.cjs");exports.default=e.default;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./TextArea.cjs");require("../../../_virtual/index5.cjs");require("../../rc-resize-observer/es/index.cjs");require("../../rc-util/es/hooks/useLayoutEffect.cjs");require("react");require("../../rc-util/es/raf.cjs");exports.default=e.default;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import t from "./TextArea.es.js";
2
- import "../../../_virtual/index.es4.js";
2
+ import "../../../_virtual/index.es5.js";
3
3
  import "../../rc-resize-observer/es/index.es.js";
4
4
  import "../../rc-util/es/hooks/useLayoutEffect.es.js";
5
5
  import "react";
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../_virtual/escaping.cjs");var u;function o(){return u||(u=1,(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.INTERACTION_CONTENT_SOURCE=i.splitOnEllipsis=i.splitOnSingleUnescapedPipe=i.splitUnescaped=i.findUnescaped=i.unescapeInteractionText=i.escapeInteractionText=i.isEscape=i.ESCAPABLE=void 0,i.ESCAPABLE="|/.]";const t=(n,s)=>s+1<n.length&&n[s]==="\\"&&i.ESCAPABLE.includes(n[s+1]);i.isEscape=t;const p=n=>{let s="",c=0;for(;c<n.length;){const e=n[c];if(e==="."){let l=0;for(;n[c+l]===".";)l+=1;s+=l>=3?"\\.".repeat(l):".".repeat(l),c+=l;continue}i.ESCAPABLE.includes(e)&&(s+="\\"),s+=e,c+=1}return s};i.escapeInteractionText=p;const d=n=>{let s="",c=0;for(;c<n.length;){if((0,i.isEscape)(n,c)){s+=n[c+1],c+=2;continue}s+=n[c],c+=1}return s};i.unescapeInteractionText=d;const r=(n,s,c=0)=>{let e=c;for(;e<n.length;){if((0,i.isEscape)(n,e)){e+=2;continue}if(n.startsWith(s,e))return e;e+=1}return-1};i.findUnescaped=r;const E=(n,s)=>{const c=[];let e=0;for(;;){const l=(0,i.findUnescaped)(n,s,e);if(l<0)return c.push(n.slice(e)),c;c.push(n.slice(e,l)),e=l+s.length}};i.splitUnescaped=E;const f=n=>{const s=[];let c=0,e=0;for(;e<n.length;){if((0,i.isEscape)(n,e)){e+=2;continue}if(n[e]==="|"){if(n.startsWith("||",e)){e+=2;continue}if(e>0&&n[e-1]==="|"&&!(0,i.isEscape)(n,e-1)){e+=1;continue}s.push(n.slice(c,e)),c=e+1}e+=1}return s.push(n.slice(c)),s};i.splitOnSingleUnescapedPipe=f;const h=n=>{const s=n.split(`
2
- `,1)[0],c=(0,i.findUnescaped)(s,"...");return c<0?null:[s.slice(0,c),s.slice(c+3)]};i.splitOnEllipsis=h,i.INTERACTION_CONTENT_SOURCE="(?:\\\\[|/.\\]]|\\\\(?![|/.\\]])|[^\\]\\\\])*"})(a.__exports)),a.__exports}exports.__require=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../_virtual/escaping.cjs"),A=require("./variable-marker.cjs");var o;function U(){return o||(o=1,(function(l){Object.defineProperty(l,"__esModule",{value:!0}),l.readDocumentInteraction=l.readInteraction=l.INTERACTION_CONTENT_SOURCE=l.splitOnEllipsis=l.splitOnSingleUnescapedPipe=l.splitUnescaped=l.findUnescaped=l.unescapeInteractionText=l.escapeInteractionText=l.isEscape=l.ESCAPABLE=void 0;const u=A.__require(),r=(n,i)=>n.startsWith("{{",i)?(0,u.readVariableMarker)(n,i)?.end??n.length:null;l.ESCAPABLE="|/.]";const f=(n,i)=>i+1<n.length&&n[i]==="\\"&&l.ESCAPABLE.includes(n[i+1]);l.isEscape=f;const E=n=>{let i="",c=0;for(;c<n.length;){const e=r(n,c);if(e!==null){i+=n.slice(c,e),c=e;continue}const s=n[c];if(s==="."){let a=0;for(;n[c+a]===".";)a+=1;i+=a>=3?"\\.".repeat(a):".".repeat(a),c+=a;continue}l.ESCAPABLE.includes(s)&&(i+="\\"),i+=s,c+=1}return i};l.escapeInteractionText=E;const h=n=>{let i="",c=0;for(;c<n.length;){const e=r(n,c);if(e!==null){i+=n.slice(c,e),c=e;continue}if((0,l.isEscape)(n,c)){i+=n[c+1],c+=2;continue}i+=n[c],c+=1}return i};l.unescapeInteractionText=h;const p=(n,i,c=0)=>{let e=c;for(;e<n.length;){const s=r(n,e);if(s!==null){e=s;continue}if((0,l.isEscape)(n,e)){e+=2;continue}if(n.startsWith(i,e))return e;e+=1}return-1};l.findUnescaped=p;const _=(n,i)=>{const c=[];let e=0;for(;;){const s=(0,l.findUnescaped)(n,i,e);if(s<0)return c.push(n.slice(e)),c;c.push(n.slice(e,s)),e=s+i.length}};l.splitUnescaped=_;const I=n=>{const i=[];let c=0,e=0;for(;e<n.length;){const s=r(n,e);if(s!==null){e=s;continue}if((0,l.isEscape)(n,e)){e+=2;continue}if(n[e]==="|"){if(n.startsWith("||",e)){e+=2;continue}if(e>0&&n[e-1]==="|"&&!(0,l.isEscape)(n,e-1)){e+=1;continue}i.push(n.slice(c,e)),c=e+1}e+=1}return i.push(n.slice(c)),i};l.splitOnSingleUnescapedPipe=I;const g=n=>{const i=n.split(`
2
+ `,1)[0],c=(0,l.findUnescaped)(i,"...");return c<0?null:[i.slice(0,c),i.slice(c+3)]};l.splitOnEllipsis=g,l.INTERACTION_CONTENT_SOURCE=`(?:${u.RAW_VARIABLE_MARKER_SOURCE}|\\\\[|/.\\]]|\\\\(?![|/.\\]])|\\{(?!\\{)|[^\\]\\\\{])*`;const d=(n,i,c)=>{if(!n.startsWith("?[",i))return null;let e=i+2;for(;e<n.length;){if(n.startsWith("{{",e)){const s=(0,u.readVariableMarker)(n,e);if(!s)break;e=s.end;continue}if(c?.(e))return{start:i,end:e,content:n.slice(i+2,e),complete:!1};if((0,l.isEscape)(n,e)){e+=2;continue}if(n[e]==="]")return n[e+1]==="("?null:{start:i,end:e+1,content:n.slice(i+2,e),complete:!0};e+=1}return{start:i,end:n.length,content:n.slice(i+2),complete:!1}},O=(n,i=0)=>d(n,i);l.readInteraction=O;const T=(n,i,c)=>d(n,i,c);l.readDocumentInteraction=T})(t.__exports)),t.__exports}exports.__require=U;
3
3
  //# sourceMappingURL=escaping.cjs.map