markdown-flow-ui 0.1.121 → 0.1.122
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.
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +4 -4
- package/dist/_virtual/index.es6.js +5 -5
- package/dist/components/ui/inputGroup/textarea.cjs.js +1 -1
- package/dist/components/ui/inputGroup/textarea.es.js +1 -1
- package/dist/lib/interaction-defaults.cjs.js +1 -1
- package/dist/lib/interaction-defaults.cjs.js.map +1 -1
- package/dist/lib/interaction-defaults.es.js +130 -81
- package/dist/lib/interaction-defaults.es.js.map +1 -1
- package/dist/lib/interaction-defaults.test.d.ts +1 -0
- package/dist/markdown-flow-ui/node_modules/.pnpm/hast-util-to-jsx-runtime@2.3.6/node_modules/hast-util-to-jsx-runtime/lib/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/hast-util-to-jsx-runtime@2.3.6/node_modules/hast-util-to-jsx-runtime/lib/index.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/ResizableTextArea.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/ResizableTextArea.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/index.es.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/markdown-flow-ui/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.es.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),r=require("../markdown-flow-ui/node_modules/.pnpm/
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),r=require("../markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.cjs.js");var s=r.__require();const t=e.getDefaultExportFromCjs(s);exports.default=t;
|
|
2
2
|
//# sourceMappingURL=index.cjs4.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),r=require("../markdown-flow-ui/node_modules/.pnpm/style-to-js@1.1.18/node_modules/style-to-js/cjs/index.cjs.js");var t=r.__require();const o=e.getDefaultExportFromCjs(t);exports.default=o;
|
|
2
2
|
//# sourceMappingURL=index.cjs5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./_commonjsHelpers.cjs.js"),t=require("../markdown-flow-ui/node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.cjs.js");var r=t.__require();const o=e.getDefaultExportFromCjs(r);exports.default=o;
|
|
2
2
|
//# sourceMappingURL=index.cjs6.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.es.js";
|
|
2
|
-
import { __require as
|
|
3
|
-
var
|
|
4
|
-
const
|
|
2
|
+
import { __require as s } from "../markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.es.js";
|
|
3
|
+
var e = s();
|
|
4
|
+
const t = /* @__PURE__ */ r(e);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
t as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=index.es4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getDefaultExportFromCjs as
|
|
2
|
-
import { __require as
|
|
3
|
-
var t =
|
|
4
|
-
const a = /* @__PURE__ */
|
|
1
|
+
import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.es.js";
|
|
2
|
+
import { __require as o } from "../markdown-flow-ui/node_modules/.pnpm/style-to-js@1.1.18/node_modules/style-to-js/cjs/index.es.js";
|
|
3
|
+
var t = o();
|
|
4
|
+
const a = /* @__PURE__ */ r(t);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { getDefaultExportFromCjs as
|
|
2
|
-
import { __require as
|
|
3
|
-
var
|
|
4
|
-
const
|
|
1
|
+
import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.es.js";
|
|
2
|
+
import { __require as r } from "../markdown-flow-ui/node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.es.js";
|
|
3
|
+
var t = r();
|
|
4
|
+
const a = /* @__PURE__ */ e(t);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
a as default
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=index.es6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../_virtual/jsx-runtime.cjs.js"),s=require("react"),u=require("../../../markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.cjs.js");require("../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../_virtual/jsx-runtime.cjs.js"),s=require("react"),u=require("../../../markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.cjs.js");require("../../../_virtual/index.cjs4.js");require("../../../markdown-flow-ui/node_modules/.pnpm/rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.cjs.js");require("../../../markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.cjs.js");require("../../../markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/raf.cjs.js");const d=require("../../../lib/utils.cjs.js");function c(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const l=c(s),i=l.forwardRef(({className:e,autoSize:t={minRows:1},style:r,...a},n)=>o.jsxRuntimeExports.jsx(u.default,{ref:n,autoSize:t,className:d.cn("border-input placeholder:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 w-full rounded-md border bg-transparent pl-3 py-1.5 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50","resize-none",e),style:{whiteSpace:"pre-wrap",wordBreak:"break-word",...r},...a}));i.displayName="Textarea";exports.Textarea=i;
|
|
2
2
|
//# sourceMappingURL=textarea.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as i } from "../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import * as d from "react";
|
|
3
3
|
import n from "../../../markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.es.js";
|
|
4
|
-
import "../../../_virtual/index.
|
|
4
|
+
import "../../../_virtual/index.es4.js";
|
|
5
5
|
import "../../../markdown-flow-ui/node_modules/.pnpm/rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.es.js";
|
|
6
6
|
import "../../../markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.es.js";
|
|
7
7
|
import "../../../markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/raf.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../_virtual/index.cjs.js"),b=x.distExports.createInteractionParser(),I=/<custom-variable\b/i,h=/\?\[%\{\{([^}]+)\}\}([\s\S]*?)\]/,g=/^[\[{]/,v=/^[\s,,\n]+/,V=t=>{if(!t)return null;const n=t.match(h),s=n?.[1]?.trim(),e=n?.[2]?.trim();if(!e)return null;const r=e.includes("||"),l=r?"||":"|",u=e.split(l).map(a=>a.trim()).filter(Boolean);if(!u.length)return null;const i=[],o=[];let c;return u.forEach(a=>{if(a.startsWith("...")){const f=a.replace(/^\.\.\./,"").trim();f&&(c=f);return}i.push(a),o.push(a)}),{variableName:s,buttonTexts:i.length?i:void 0,buttonValues:o.length?o:void 0,placeholder:c,isMultiSelect:r}},S=t=>{if(!t)return null;try{return b.parseToRemarkFormat(t)}catch(n){console.warn("Failed to parse interaction block",n)}return V(t)},p=(t,n)=>{if(!t)return null;const s=t.trim(),e=n.buttonValues||[],r=n.buttonTexts||[],l=e.indexOf(s);if(l>-1)return{value:e[l],display:r[l]};const u=r.indexOf(s);return u>-1?{value:e[u]||r[u],display:r[u]}:null},E=t=>t.split(/[,,\n]/).map(n=>n.trim()).filter(Boolean),d=t=>t.replace(v,""),A=t=>{const n=t.buttonValues||[],s=t.buttonTexts||[],e=[],r=new Set;return n.forEach((l,u)=>{const i=`${l??""}`.trim(),o=`${s[u]??""}`.trim();[i,o].forEach(c=>{if(!c)return;const a=`${c}::${i||c}`;r.has(a)||(r.add(a),e.push({token:c,value:i||c}))})}),e.sort((l,u)=>u.token.length-l.token.length)},D=(t,n)=>{const s=d(t),e=A(n);for(const r of e){if(!s.startsWith(r.token))continue;const l=s[r.token.length];if(!(l&&!/[\s,,\n]/.test(l)))return r}return null},R=(t,n)=>{const s=E(t);if(!s.length)return{};const e=[],r=[];return s.forEach(l=>{const u=p(l,n);if(u){e.push(u.value);return}if(n.placeholder){r.push(l);return}e.push(l)}),{selectedValues:e.length?e:void 0,inputText:r.length?r.join(", "):void 0}},O=(t,n)=>{const s=[];let e=t.trim();for(;e;){const l=D(e,n);if(!l)break;s.push(l.value);const u=d(e);e=d(u.slice(l.token.length))}if(s.length>0)return{selectedValues:s,inputText:n.placeholder&&e.trim()?e.trim():void 0};const r=R(t,n);return r.selectedValues?.length?r:n.placeholder?{inputText:t.trim()}:r},N=t=>{if(!t||Array.isArray(t))return null;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;return!n?.length&&!s&&!e?null:{buttonText:s||void 0,inputText:e,selectedValues:n?.length?n:void 0}},P=t=>{if(!t||!g.test(t.trim()))return null;try{const n=JSON.parse(t);return N(n)}catch{return null}},_=t=>!!(t&&(I.test(t)||h.test(t))),m=(t,n,s,e)=>e?.resolveDefaultValues?.({content:t,rawValue:n,interactionInfo:s})??null,T=(t,n,s)=>{const e=n?.toString().trim();if(!e)return{};const r=P(e);if(r)return r;const l=m(t,e,null,s);if(l)return l;if(!_(t))return{buttonText:e,inputText:e};const u=S(t),i=m(t,e,u,s);if(i)return i;if(!u)return{buttonText:e,inputText:e};if(u.isMultiSelect)return O(e,u);const o=p(e,u);return o?{buttonText:o.value||o.display||e}:u.placeholder?{inputText:e}:{buttonText:e,inputText:e}},B=(t,n,s)=>{const e=T(t,n,s);return e.selectedValues?e.selectedValues:n?n.split(",").map(r=>r.trim()).filter(Boolean):void 0};exports.getInteractionDefaultSelectedValues=B;exports.getInteractionDefaultValues=T;
|
|
2
2
|
//# sourceMappingURL=interaction-defaults.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-defaults.cjs.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import { createInteractionParser } 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;\nconst INTERACTION_SHORTCODE_PATTERN = /\\?\\[%\\{\\{([^}]+)\\}\\}([\\s\\S]*?)\\]/;\nconst JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\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]?.trim();\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 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 const tokens = splitPresetValues(normalized);\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, interactionInfo);\n\n if (mapped) {\n selectedValues.push(mapped.value);\n return;\n }\n\n if (interactionInfo.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\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","JSON_LIKE_VALUE_PATTERN","parseInteractionShortcode","content","matched","variableName","interactionBody","isMultiSelect","separator","rawOptions","item","buttonTexts","buttonValues","placeholder","option","normalizedPlaceholder","parseInteractionBlock","error","normalizeButtonValue","token","info","cleaned","valueIndex","textIndex","splitPresetValues","raw","normalizeStructuredInteractionDefaults","payload","selectedValues","buttonText","inputText","parseStructuredInteractionDefaults","rawValue","parsed","hasPotentialInteractionBlock","resolveCustomInteractionDefaults","interactionInfo","options","getInteractionDefaultValues","normalized","structuredDefaults","customDefaults","customDefaultsWithInteraction","tokens","customInputs","mapped","getInteractionDefaultSelectedValues","defaults","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interaction-defaults.cjs.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import { createInteractionParser } 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;\nconst INTERACTION_SHORTCODE_PATTERN = /\\?\\[%\\{\\{([^}]+)\\}\\}([\\s\\S]*?)\\]/;\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]?.trim();\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","JSON_LIKE_VALUE_PATTERN","INTERACTION_VALUE_SEPARATOR_PATTERN","parseInteractionShortcode","content","matched","variableName","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,145 +1,194 @@
|
|
|
1
|
-
import { d as
|
|
2
|
-
const
|
|
1
|
+
import { d as T } from "../_virtual/index.es.js";
|
|
2
|
+
const x = T.createInteractionParser(), b = /<custom-variable\b/i, p = /\?\[%\{\{([^}]+)\}\}([\s\S]*?)\]/, I = /^[\[{]/, v = /^[\s,,\n]+/, g = (t) => {
|
|
3
3
|
if (!t)
|
|
4
4
|
return null;
|
|
5
|
-
const
|
|
5
|
+
const n = t.match(p), s = n?.[1]?.trim(), e = n?.[2]?.trim();
|
|
6
6
|
if (!e)
|
|
7
7
|
return null;
|
|
8
|
-
const
|
|
9
|
-
if (!
|
|
8
|
+
const r = e.includes("||"), l = r ? "||" : "|", u = e.split(l).map((a) => a.trim()).filter(Boolean);
|
|
9
|
+
if (!u.length)
|
|
10
10
|
return null;
|
|
11
|
-
const
|
|
12
|
-
let
|
|
13
|
-
return
|
|
14
|
-
if (
|
|
15
|
-
const
|
|
16
|
-
|
|
11
|
+
const o = [], i = [];
|
|
12
|
+
let c;
|
|
13
|
+
return u.forEach((a) => {
|
|
14
|
+
if (a.startsWith("...")) {
|
|
15
|
+
const f = a.replace(/^\.\.\./, "").trim();
|
|
16
|
+
f && (c = f);
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
o.push(a), i.push(a);
|
|
20
20
|
}), {
|
|
21
21
|
variableName: s,
|
|
22
|
-
buttonTexts:
|
|
22
|
+
buttonTexts: o.length ? o : void 0,
|
|
23
23
|
buttonValues: i.length ? i : void 0,
|
|
24
|
-
placeholder:
|
|
25
|
-
isMultiSelect:
|
|
24
|
+
placeholder: c,
|
|
25
|
+
isMultiSelect: r
|
|
26
26
|
};
|
|
27
|
-
},
|
|
27
|
+
}, V = (t) => {
|
|
28
28
|
if (!t)
|
|
29
29
|
return null;
|
|
30
30
|
try {
|
|
31
|
-
return
|
|
31
|
+
return x.parseToRemarkFormat(
|
|
32
32
|
t
|
|
33
33
|
);
|
|
34
|
-
} catch (
|
|
35
|
-
console.warn("Failed to parse interaction block",
|
|
34
|
+
} catch (n) {
|
|
35
|
+
console.warn("Failed to parse interaction block", n);
|
|
36
36
|
}
|
|
37
|
-
return
|
|
38
|
-
},
|
|
37
|
+
return g(t);
|
|
38
|
+
}, h = (t, n) => {
|
|
39
39
|
if (!t)
|
|
40
40
|
return null;
|
|
41
|
-
const s = t.trim(), e =
|
|
42
|
-
if (
|
|
41
|
+
const s = t.trim(), e = n.buttonValues || [], r = n.buttonTexts || [], l = e.indexOf(s);
|
|
42
|
+
if (l > -1)
|
|
43
43
|
return {
|
|
44
|
-
value: e[
|
|
45
|
-
display:
|
|
44
|
+
value: e[l],
|
|
45
|
+
display: r[l]
|
|
46
46
|
};
|
|
47
|
-
const
|
|
48
|
-
return
|
|
49
|
-
value: e[
|
|
50
|
-
display: u
|
|
47
|
+
const u = r.indexOf(s);
|
|
48
|
+
return u > -1 ? {
|
|
49
|
+
value: e[u] || r[u],
|
|
50
|
+
display: r[u]
|
|
51
51
|
} : null;
|
|
52
|
-
},
|
|
52
|
+
}, E = (t) => t.split(/[,,\n]/).map((n) => n.trim()).filter(Boolean), d = (t) => t.replace(v, ""), A = (t) => {
|
|
53
|
+
const n = t.buttonValues || [], s = t.buttonTexts || [], e = [], r = /* @__PURE__ */ new Set();
|
|
54
|
+
return n.forEach((l, u) => {
|
|
55
|
+
const o = `${l ?? ""}`.trim(), i = `${s[u] ?? ""}`.trim();
|
|
56
|
+
[o, i].forEach((c) => {
|
|
57
|
+
if (!c)
|
|
58
|
+
return;
|
|
59
|
+
const a = `${c}::${o || c}`;
|
|
60
|
+
r.has(a) || (r.add(a), e.push({
|
|
61
|
+
token: c,
|
|
62
|
+
value: o || c
|
|
63
|
+
}));
|
|
64
|
+
});
|
|
65
|
+
}), e.sort(
|
|
66
|
+
(l, u) => u.token.length - l.token.length
|
|
67
|
+
);
|
|
68
|
+
}, S = (t, n) => {
|
|
69
|
+
const s = d(t), e = A(n);
|
|
70
|
+
for (const r of e) {
|
|
71
|
+
if (!s.startsWith(r.token))
|
|
72
|
+
continue;
|
|
73
|
+
const l = s[r.token.length];
|
|
74
|
+
if (!(l && !/[\s,,\n]/.test(l)))
|
|
75
|
+
return r;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}, R = (t, n) => {
|
|
79
|
+
const s = E(t);
|
|
80
|
+
if (!s.length)
|
|
81
|
+
return {};
|
|
82
|
+
const e = [], r = [];
|
|
83
|
+
return s.forEach((l) => {
|
|
84
|
+
const u = h(l, n);
|
|
85
|
+
if (u) {
|
|
86
|
+
e.push(u.value);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (n.placeholder) {
|
|
90
|
+
r.push(l);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
e.push(l);
|
|
94
|
+
}), {
|
|
95
|
+
selectedValues: e.length ? e : void 0,
|
|
96
|
+
inputText: r.length ? r.join(", ") : void 0
|
|
97
|
+
};
|
|
98
|
+
}, D = (t, n) => {
|
|
99
|
+
const s = [];
|
|
100
|
+
let e = t.trim();
|
|
101
|
+
for (; e; ) {
|
|
102
|
+
const l = S(e, n);
|
|
103
|
+
if (!l)
|
|
104
|
+
break;
|
|
105
|
+
s.push(l.value);
|
|
106
|
+
const u = d(e);
|
|
107
|
+
e = d(
|
|
108
|
+
u.slice(l.token.length)
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
if (s.length > 0)
|
|
112
|
+
return {
|
|
113
|
+
selectedValues: s,
|
|
114
|
+
inputText: n.placeholder && e.trim() ? e.trim() : void 0
|
|
115
|
+
};
|
|
116
|
+
const r = R(t, n);
|
|
117
|
+
return r.selectedValues?.length ? r : n.placeholder ? {
|
|
118
|
+
inputText: t.trim()
|
|
119
|
+
} : r;
|
|
120
|
+
}, N = (t) => {
|
|
53
121
|
if (!t || Array.isArray(t))
|
|
54
122
|
return null;
|
|
55
|
-
const
|
|
56
|
-
return !
|
|
123
|
+
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;
|
|
124
|
+
return !n?.length && !s && !e ? null : {
|
|
57
125
|
buttonText: s || void 0,
|
|
58
126
|
inputText: e,
|
|
59
|
-
selectedValues:
|
|
127
|
+
selectedValues: n?.length ? n : void 0
|
|
60
128
|
};
|
|
61
|
-
},
|
|
62
|
-
if (!t || !
|
|
129
|
+
}, O = (t) => {
|
|
130
|
+
if (!t || !I.test(t.trim()))
|
|
63
131
|
return null;
|
|
64
132
|
try {
|
|
65
|
-
const
|
|
66
|
-
return
|
|
133
|
+
const n = JSON.parse(t);
|
|
134
|
+
return N(n);
|
|
67
135
|
} catch {
|
|
68
136
|
return null;
|
|
69
137
|
}
|
|
70
|
-
},
|
|
138
|
+
}, P = (t) => !!(t && (b.test(t) || p.test(t))), m = (t, n, s, e) => e?.resolveDefaultValues?.({
|
|
71
139
|
content: t,
|
|
72
|
-
rawValue:
|
|
140
|
+
rawValue: n,
|
|
73
141
|
interactionInfo: s
|
|
74
|
-
}) ?? null,
|
|
75
|
-
const e =
|
|
142
|
+
}) ?? null, _ = (t, n, s) => {
|
|
143
|
+
const e = n?.toString().trim();
|
|
76
144
|
if (!e)
|
|
77
145
|
return {};
|
|
78
|
-
const
|
|
79
|
-
if (
|
|
80
|
-
return
|
|
81
|
-
const
|
|
146
|
+
const r = O(e);
|
|
147
|
+
if (r)
|
|
148
|
+
return r;
|
|
149
|
+
const l = m(
|
|
82
150
|
t,
|
|
83
151
|
e,
|
|
84
152
|
null,
|
|
85
153
|
s
|
|
86
154
|
);
|
|
87
|
-
if (
|
|
88
|
-
return
|
|
89
|
-
if (!
|
|
155
|
+
if (l)
|
|
156
|
+
return l;
|
|
157
|
+
if (!P(t))
|
|
90
158
|
return {
|
|
91
159
|
buttonText: e,
|
|
92
160
|
inputText: e
|
|
93
161
|
};
|
|
94
|
-
const
|
|
162
|
+
const u = V(t), o = m(
|
|
95
163
|
t,
|
|
96
164
|
e,
|
|
97
|
-
|
|
165
|
+
u,
|
|
98
166
|
s
|
|
99
167
|
);
|
|
100
|
-
if (
|
|
101
|
-
return
|
|
102
|
-
if (!
|
|
168
|
+
if (o)
|
|
169
|
+
return o;
|
|
170
|
+
if (!u)
|
|
103
171
|
return {
|
|
104
172
|
buttonText: e,
|
|
105
173
|
inputText: e
|
|
106
174
|
};
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return {};
|
|
111
|
-
const l = [], a = [];
|
|
112
|
-
return f.forEach((d) => {
|
|
113
|
-
const p = m(d, n);
|
|
114
|
-
if (p) {
|
|
115
|
-
l.push(p.value);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (n.placeholder) {
|
|
119
|
-
a.push(d);
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
l.push(d);
|
|
123
|
-
}), {
|
|
124
|
-
selectedValues: l.length ? l : void 0,
|
|
125
|
-
inputText: a.length ? a.join(", ") : void 0
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
const i = m(e, n);
|
|
175
|
+
if (u.isMultiSelect)
|
|
176
|
+
return D(e, u);
|
|
177
|
+
const i = h(e, u);
|
|
129
178
|
return i ? {
|
|
130
179
|
buttonText: i.value || i.display || e
|
|
131
|
-
} :
|
|
180
|
+
} : u.placeholder ? {
|
|
132
181
|
inputText: e
|
|
133
182
|
} : {
|
|
134
183
|
buttonText: e,
|
|
135
184
|
inputText: e
|
|
136
185
|
};
|
|
137
|
-
},
|
|
138
|
-
const e =
|
|
139
|
-
return e.selectedValues ? e.selectedValues :
|
|
186
|
+
}, C = (t, n, s) => {
|
|
187
|
+
const e = _(t, n, s);
|
|
188
|
+
return e.selectedValues ? e.selectedValues : n ? n.split(",").map((r) => r.trim()).filter(Boolean) : void 0;
|
|
140
189
|
};
|
|
141
190
|
export {
|
|
142
|
-
|
|
143
|
-
|
|
191
|
+
C as getInteractionDefaultSelectedValues,
|
|
192
|
+
_ as getInteractionDefaultValues
|
|
144
193
|
};
|
|
145
194
|
//# sourceMappingURL=interaction-defaults.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-defaults.es.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import { createInteractionParser } 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;\nconst INTERACTION_SHORTCODE_PATTERN = /\\?\\[%\\{\\{([^}]+)\\}\\}([\\s\\S]*?)\\]/;\nconst JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\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]?.trim();\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 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 const tokens = splitPresetValues(normalized);\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, interactionInfo);\n\n if (mapped) {\n selectedValues.push(mapped.value);\n return;\n }\n\n if (interactionInfo.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\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","JSON_LIKE_VALUE_PATTERN","parseInteractionShortcode","content","matched","variableName","interactionBody","isMultiSelect","separator","rawOptions","item","buttonTexts","buttonValues","placeholder","option","normalizedPlaceholder","parseInteractionBlock","error","normalizeButtonValue","token","info","cleaned","valueIndex","textIndex","splitPresetValues","raw","normalizeStructuredInteractionDefaults","payload","selectedValues","buttonText","inputText","parseStructuredInteractionDefaults","rawValue","parsed","hasPotentialInteractionBlock","resolveCustomInteractionDefaults","interactionInfo","options","getInteractionDefaultValues","normalized","structuredDefaults","customDefaults","customDefaultsWithInteraction","tokens","customInputs","mapped","getInteractionDefaultSelectedValues","defaults","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interaction-defaults.es.js","sources":["../../src/lib/interaction-defaults.ts"],"sourcesContent":["import { createInteractionParser } 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;\nconst INTERACTION_SHORTCODE_PATTERN = /\\?\\[%\\{\\{([^}]+)\\}\\}([\\s\\S]*?)\\]/;\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]?.trim();\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","JSON_LIKE_VALUE_PATTERN","INTERACTION_VALUE_SEPARATOR_PATTERN","parseInteractionShortcode","content","matched","variableName","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":";AAoCA,MAAMA,IAAoBC,EAAAA,wBAAA,GACpBC,IAA0B,uBAC1BC,IAAgC,oCAChCC,IAA0B,UAC1BC,IAAsC,cAOtCC,IAA4B,CAChCC,MACkC;AAClC,MAAI,CAACA;AACH,WAAO;AAGT,QAAMC,IAAUD,EAAQ,MAAMJ,CAA6B,GACrDM,IAAeD,IAAU,CAAC,GAAG,KAAA,GAC7BE,IAAkBF,IAAU,CAAC,GAAG,KAAA;AAEtC,MAAI,CAACE;AACH,WAAO;AAGT,QAAMC,IAAgBD,EAAgB,SAAS,IAAI,GAC7CE,IAAYD,IAAgB,OAAO,KACnCE,IAAaH,EAChB,MAAME,CAAS,EACf,IAAI,CAACE,MAASA,EAAK,KAAA,CAAM,EACzB,OAAO,OAAO;AAEjB,MAAI,CAACD,EAAW;AACd,WAAO;AAGT,QAAME,IAAwB,CAAA,GACxBC,IAAyB,CAAA;AAC/B,MAAIC;AAEJ,SAAAJ,EAAW,QAAQ,CAACK,MAAW;AAC7B,QAAIA,EAAO,WAAW,KAAK,GAAG;AAC5B,YAAMC,IAAwBD,EAAO,QAAQ,WAAW,EAAE,EAAE,KAAA;AAC5D,MAAIC,MACFF,IAAcE;AAEhB;AAAA,IACF;AAEA,IAAAJ,EAAY,KAAKG,CAAM,GACvBF,EAAa,KAAKE,CAAM;AAAA,EAC1B,CAAC,GAEM;AAAA,IACL,cAAAT;AAAA,IACA,aAAaM,EAAY,SAASA,IAAc;AAAA,IAChD,cAAcC,EAAa,SAASA,IAAe;AAAA,IACnD,aAAAC;AAAA,IACA,eAAAN;AAAA,EAAA;AAEJ,GAEMS,IAAwB,CAC5Bb,MACkC;AAClC,MAAI,CAACA;AACH,WAAO;AAGT,MAAI;AACF,WAAOP,EAAkB;AAAA,MACvBO;AAAA,IAAA;AAAA,EAEJ,SAASc,GAAO;AACd,YAAQ,KAAK,qCAAqCA,CAAK;AAAA,EACzD;AAEA,SAAOf,EAA0BC,CAAO;AAC1C,GAEMe,IAAuB,CAC3BC,GACAC,MAC+C;AAC/C,MAAI,CAACD;AACH,WAAO;AAGT,QAAME,IAAUF,EAAM,KAAA,GAChBP,IAAeQ,EAAK,gBAAgB,CAAA,GACpCT,IAAcS,EAAK,eAAe,CAAA,GAClCE,IAAaV,EAAa,QAAQS,CAAO;AAE/C,MAAIC,IAAa;AACf,WAAO;AAAA,MACL,OAAOV,EAAaU,CAAU;AAAA,MAC9B,SAASX,EAAYW,CAAU;AAAA,IAAA;AAInC,QAAMC,IAAYZ,EAAY,QAAQU,CAAO;AAE7C,SAAIE,IAAY,KACP;AAAA,IACL,OAAOX,EAAaW,CAAS,KAAKZ,EAAYY,CAAS;AAAA,IACvD,SAASZ,EAAYY,CAAS;AAAA,EAAA,IAI3B;AACT,GAEMC,IAAoB,CAACC,MAClBA,EACJ,MAAM,QAAQ,EACd,IAAI,CAACf,MAASA,EAAK,KAAA,CAAM,EACzB,OAAO,OAAO,GAGbgB,IAAmC,CAACD,MACxCA,EAAI,QAAQxB,GAAqC,EAAE,GAE/C0B,IAAmC,CACvCP,MACiC;AACjC,QAAMR,IAAeQ,EAAK,gBAAgB,CAAA,GACpCT,IAAcS,EAAK,eAAe,CAAA,GAClCQ,IAA2C,CAAA,GAC3CC,wBAAqB,IAAA;AAE3B,SAAAjB,EAAa,QAAQ,CAACkB,GAAaC,MAAU;AAC3C,UAAMC,IAAkB,GAAGF,KAAe,EAAE,GAAG,KAAA,GACzCG,IAAiB,GAAGtB,EAAYoB,CAAK,KAAK,EAAE,GAAG,KAAA;AAErD,KAACC,GAAiBC,CAAc,EAAE,QAAQ,CAACd,MAAU;AACnD,UAAI,CAACA;AACH;AAGF,YAAMe,IAAe,GAAGf,CAAK,KAAKa,KAAmBb,CAAK;AAC1D,MAAIU,EAAe,IAAIK,CAAY,MAInCL,EAAe,IAAIK,CAAY,GAC/BN,EAAW,KAAK;AAAA,QACd,OAAAT;AAAA,QACA,OAAOa,KAAmBb;AAAA,MAAA,CAC3B;AAAA,IACH,CAAC;AAAA,EACH,CAAC,GAEMS,EAAW;AAAA,IAChB,CAACO,GAAMC,MAAUA,EAAM,MAAM,SAASD,EAAK,MAAM;AAAA,EAAA;AAErD,GAEME,IAA+B,CACnCZ,GACAL,MACsC;AACtC,QAAMkB,IAAgBZ,EAAiCD,CAAG,GACpDG,IAAaD,EAAiCP,CAAI;AAExD,aAAWmB,KAAaX,GAAY;AAClC,QAAI,CAACU,EAAc,WAAWC,EAAU,KAAK;AAC3C;AAGF,UAAMC,IAAeF,EAAcC,EAAU,MAAM,MAAM;AACzD,QAAI,EAAAC,KAAgB,CAAC,WAAW,KAAKA,CAAY;AAIjD,aAAOD;AAAA,EACT;AAEA,SAAO;AACT,GAEME,IAAqC,CACzChB,GACAL,MAC6B;AAC7B,QAAMsB,IAASlB,EAAkBC,CAAG;AAEpC,MAAI,CAACiB,EAAO;AACV,WAAO,CAAA;AAGT,QAAMC,IAA2B,CAAA,GAC3BC,IAAyB,CAAA;AAE/B,SAAAF,EAAO,QAAQ,CAACvB,MAAU;AACxB,UAAM0B,IAAS3B,EAAqBC,GAAOC,CAAI;AAE/C,QAAIyB,GAAQ;AACV,MAAAF,EAAe,KAAKE,EAAO,KAAK;AAChC;AAAA,IACF;AAEA,QAAIzB,EAAK,aAAa;AACpB,MAAAwB,EAAa,KAAKzB,CAAK;AACvB;AAAA,IACF;AAEA,IAAAwB,EAAe,KAAKxB,CAAK;AAAA,EAC3B,CAAC,GAEM;AAAA,IACL,gBAAgBwB,EAAe,SAASA,IAAiB;AAAA,IACzD,WAAWC,EAAa,SAASA,EAAa,KAAK,IAAI,IAAI;AAAA,EAAA;AAE/D,GAEME,IAAwC,CAC5CrB,GACAL,MAC6B;AAC7B,QAAMuB,IAA2B,CAAA;AACjC,MAAII,IAAetB,EAAI,KAAA;AAIvB,SAAOsB,KAAc;AACnB,UAAMC,IAAmBX,EAA6BU,GAAc3B,CAAI;AAExE,QAAI,CAAC4B;AACH;AAGF,IAAAL,EAAe,KAAKK,EAAiB,KAAK;AAC1C,UAAMC,IACJvB,EAAiCqB,CAAY;AAC/C,IAAAA,IAAerB;AAAA,MACbuB,EAAuB,MAAMD,EAAiB,MAAM,MAAM;AAAA,IAAA;AAAA,EAE9D;AAEA,MAAIL,EAAe,SAAS;AAC1B,WAAO;AAAA,MACL,gBAAAA;AAAA,MACA,WACEvB,EAAK,eAAe2B,EAAa,SAC7BA,EAAa,SACb;AAAA,IAAA;AAIV,QAAMG,IAAmBT,EAAmChB,GAAKL,CAAI;AAErE,SAAI8B,EAAiB,gBAAgB,SAC5BA,IAGL9B,EAAK,cACA;AAAA,IACL,WAAWK,EAAI,KAAA;AAAA,EAAK,IAIjByB;AACT,GAEMC,IAAyC,CAC7CC,MACoC;AACpC,MAAI,CAACA,KAAW,MAAM,QAAQA,CAAO;AACnC,WAAO;AAGT,QAAMT,IAAiB,MAAM,QAAQS,EAAQ,cAAc,IACvDA,EAAQ,eACL,IAAI,CAAC1C,MAAS,GAAGA,KAAQ,EAAE,GAAG,KAAA,CAAM,EACpC,OAAO,OAAO,IACjB,QACE2C,IAAa,GAAGD,EAAQ,cAAc,EAAE,GAAG,KAAA,GAC3CE,IACJ,OAAOF,EAAQ,aAAc,WAAWA,EAAQ,YAAY;AAE9D,SAAI,CAACT,GAAgB,UAAU,CAACU,KAAc,CAACC,IACtC,OAGF;AAAA,IACL,YAAYD,KAAc;AAAA,IAC1B,WAAAC;AAAA,IACA,gBAAgBX,GAAgB,SAASA,IAAiB;AAAA,EAAA;AAE9D,GAEMY,IAAqC,CAACC,MAA6B;AAKvE,MAJI,CAACA,KAID,CAACxD,EAAwB,KAAKwD,EAAS,KAAA,CAAM;AAC/C,WAAO;AAGT,MAAI;AACF,UAAMC,IAAS,KAAK,MAAMD,CAAQ;AAClC,WAAOL,EAAuCM,CAAM;AAAA,EACtD,QAAQ;AACN,WAAO;AAAA,EACT;AACF,GAEMC,IAA+B,CAACvD,MACpC,GACEA,MACGL,EAAwB,KAAKK,CAAO,KACnCJ,EAA8B,KAAKI,CAAO,KAG5CwD,IAAmC,CACvCxD,GACAqD,GACAI,GACAC,MAGEA,GAAS,uBAAuB;AAAA,EAC9B,SAAA1D;AAAA,EACA,UAAAqD;AAAA,EACA,iBAAAI;AAAA,CACD,KAAK,MAIGE,IAA8B,CACzC3D,GACAqD,GACAK,MAC6B;AAC7B,QAAME,IAAaP,GAAU,SAAA,EAAW,KAAA;AAExC,MAAI,CAACO;AACH,WAAO,CAAA;AAGT,QAAMC,IAAqBT,EAAmCQ,CAAU;AAExE,MAAIC;AACF,WAAOA;AAGT,QAAMC,IAAiBN;AAAA,IACrBxD;AAAA,IACA4D;AAAA,IACA;AAAA,IACAF;AAAA,EAAA;AAGF,MAAII;AACF,WAAOA;AAGT,MAAI,CAACP,EAA6BvD,CAAO;AACvC,WAAO;AAAA,MACL,YAAY4D;AAAA,MACZ,WAAWA;AAAA,IAAA;AAIf,QAAMH,IAAkB5C,EAAsBb,CAAO,GAC/C+D,IAAgCP;AAAA,IACpCxD;AAAA,IACA4D;AAAA,IACAH;AAAA,IACAC;AAAA,EAAA;AAGF,MAAIK;AACF,WAAOA;AAGT,MAAI,CAACN;AACH,WAAO;AAAA,MACL,YAAYG;AAAA,MACZ,WAAWA;AAAA,IAAA;AAIf,MAAIH,EAAgB;AAClB,WAAOd,EAAsCiB,GAAYH,CAAe;AAG1E,QAAMf,IAAS3B,EAAqB6C,GAAYH,CAAe;AAE/D,SAAIf,IACK;AAAA,IACL,YAAYA,EAAO,SAASA,EAAO,WAAWkB;AAAA,EAAA,IAI9CH,EAAgB,cACX;AAAA,IACL,WAAWG;AAAA,EAAA,IAIR;AAAA,IACL,YAAYA;AAAA,IACZ,WAAWA;AAAA,EAAA;AAEf,GAEaI,IAAsC,CACjDhE,GACAqD,GACAK,MACG;AACH,QAAMO,IAAWN,EAA4B3D,GAASqD,GAAUK,CAAO;AAEvE,SAAIO,EAAS,iBACJA,EAAS,iBAGXZ,IACHA,EACG,MAAM,GAAG,EACT,IAAI,CAACa,MAAUA,EAAM,KAAA,CAAM,EAC3B,OAAO,OAAO,IACjB;AACN;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../../../../comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.cjs.js"),u=require("../../../../devlop@1.1.0/node_modules/devlop/lib/default.cjs.js"),f=require("../../../../property-information@7.1.0/node_modules/property-information/index.cjs.js"),C=require("../../../../space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.cjs.js"),S=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../../../../comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.cjs.js"),u=require("../../../../devlop@1.1.0/node_modules/devlop/lib/default.cjs.js"),f=require("../../../../property-information@7.1.0/node_modules/property-information/index.cjs.js"),C=require("../../../../space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.cjs.js"),S=require("../../../../../../../_virtual/index.cjs5.js"),N=require("../../../../hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.cjs.js"),x=require("../../../../estree-util-is-identifier-name@3.0.0/node_modules/estree-util-is-identifier-name/lib/index.cjs.js"),h=require("../../../../vfile-message@4.0.3/node_modules/vfile-message/lib/index.cjs.js"),j=require("../../../../property-information@7.1.0/node_modules/property-information/lib/find.cjs.js"),A=require("../../../../property-information@7.1.0/node_modules/property-information/lib/hast-to-react.cjs.js"),T=require("../../../../unist-util-position@5.0.0/node_modules/unist-util-position/lib/index.cjs.js"),m={}.hasOwnProperty,F=new Map,P=/[A-Z]/g,q=new Set(["table","tbody","thead","tfoot","tr"]),J=new Set(["td","th"]),g="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function M(t,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=e.filePath||void 0;let n;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");n=K(r,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");n=k(r,e.jsx,e.jsxs)}const s={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:n,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?f.svg:f.html,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},i=E(s,t,void 0);return i&&typeof i!="string"?i:s.create(t,s.Fragment,{children:i||void 0},void 0)}function E(t,e,r){if(e.type==="element")return I(t,e,r);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return L(t,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return V(t,e,r);if(e.type==="mdxjsEsm")return $(t,e);if(e.type==="root")return D(t,e,r);if(e.type==="text")return O(t,e)}function I(t,e,r){const n=t.schema;let s=n;e.tagName.toLowerCase()==="svg"&&n.space==="html"&&(s=f.svg,t.schema=s),t.ancestors.push(e);const i=b(t,e.tagName,!1),a=R(t,e);let o=d(t,e);return q.has(e.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!N.whitespace(l):!0})),v(t,a,i,e),y(a,o),t.ancestors.pop(),t.schema=n,t.create(e,i,a,r)}function L(t,e){if(e.data&&e.data.estree&&t.evaluater){const n=e.data.estree.body[0];return u.ok(n.type==="ExpressionStatement"),t.evaluater.evaluateExpression(n.expression)}p(t,e.position)}function $(t,e){if(e.data&&e.data.estree&&t.evaluater)return t.evaluater.evaluateProgram(e.data.estree);p(t,e.position)}function V(t,e,r){const n=t.schema;let s=n;e.name==="svg"&&n.space==="html"&&(s=f.svg,t.schema=s),t.ancestors.push(e);const i=e.name===null?t.Fragment:b(t,e.name,!0),a=_(t,e),o=d(t,e);return v(t,a,i,e),y(a,o),t.ancestors.pop(),t.schema=n,t.create(e,i,a,r)}function D(t,e,r){const n={};return y(n,d(t,e)),t.create(e,t.Fragment,n,r)}function O(t,e){return e.value}function v(t,e,r,n){typeof r!="string"&&r!==t.Fragment&&t.passNode&&(e.node=n)}function y(t,e){if(e.length>0){const r=e.length>1?e:e[0];r&&(t.children=r)}}function k(t,e,r){return n;function n(s,i,a,o){const c=Array.isArray(a.children)?r:e;return o?c(i,a,o):c(i,a)}}function K(t,e){return r;function r(n,s,i,a){const o=Array.isArray(i.children),l=T.pointStart(n);return e(s,i,a,o,{columnNumber:l?l.column-1:void 0,fileName:t,lineNumber:l?l.line:void 0},void 0)}}function R(t,e){const r={};let n,s;for(s in e.properties)if(s!=="children"&&m.call(e.properties,s)){const i=B(t,s,e.properties[s]);if(i){const[a,o]=i;t.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&J.has(e.tagName)?n=o:r[a]=o}}if(n){const i=r.style||(r.style={});i[t.stylePropertyNameCase==="css"?"text-align":"textAlign"]=n}return r}function _(t,e){const r={};for(const n of e.attributes)if(n.type==="mdxJsxExpressionAttribute")if(n.data&&n.data.estree&&t.evaluater){const i=n.data.estree.body[0];u.ok(i.type==="ExpressionStatement");const a=i.expression;u.ok(a.type==="ObjectExpression");const o=a.properties[0];u.ok(o.type==="SpreadElement"),Object.assign(r,t.evaluater.evaluateExpression(o.argument))}else p(t,e.position);else{const s=n.name;let i;if(n.value&&typeof n.value=="object")if(n.value.data&&n.value.data.estree&&t.evaluater){const o=n.value.data.estree.body[0];u.ok(o.type==="ExpressionStatement"),i=t.evaluater.evaluateExpression(o.expression)}else p(t,e.position);else i=n.value===null?!0:n.value;r[s]=i}return r}function d(t,e){const r=[];let n=-1;const s=t.passKeys?new Map:F;for(;++n<e.children.length;){const i=e.children[n];let a;if(t.passKeys){const l=i.type==="element"?i.tagName:i.type==="mdxJsxFlowElement"||i.type==="mdxJsxTextElement"?i.name:void 0;if(l){const c=s.get(l)||0;a=l+"-"+c,s.set(l,c+1)}}const o=E(t,i,a);o!==void 0&&r.push(o)}return r}function B(t,e,r){const n=j.find(t.schema,e);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=n.commaSeparated?w.stringify(r):C.stringify(r)),n.property==="style"){let s=typeof r=="object"?r:z(t,String(r));return t.stylePropertyNameCase==="css"&&(s=X(s)),["style",s]}return[t.elementAttributeNameCase==="react"&&n.space?A.hastToReact[n.property]||n.property:n.attribute,r]}}function z(t,e){try{return S.default(e,{reactCompat:!0})}catch(r){if(t.ignoreInvalidStyle)return{};const n=r,s=new h.VFileMessage("Cannot parse `style` attribute",{ancestors:t.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw s.file=t.filePath||void 0,s.url=g+"#cannot-parse-style-attribute",s}}function b(t,e,r){let n;if(!r)n={type:"Literal",value:e};else if(e.includes(".")){const s=e.split(".");let i=-1,a;for(;++i<s.length;){const o=x.name(s[i])?{type:"Identifier",name:s[i]}:{type:"Literal",value:s[i]};a=a?{type:"MemberExpression",object:a,property:o,computed:!!(i&&o.type==="Literal"),optional:!1}:o}n=a}else n=x.name(e)&&!/^[a-z]/.test(e)?{type:"Identifier",name:e}:{type:"Literal",value:e};if(n.type==="Literal"){const s=n.value;return m.call(t.components,s)?t.components[s]:s}if(t.evaluater)return t.evaluater.evaluateExpression(n);p(t)}function p(t,e){const r=new h.VFileMessage("Cannot handle MDX estrees without `createEvaluater`",{ancestors:t.ancestors,place:e,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=t.filePath||void 0,r.url=g+"#cannot-handle-mdx-estrees-without-createevaluater",r}function X(t){const e={};let r;for(r in t)m.call(t,r)&&(e[Z(r)]=t[r]);return e}function Z(t){let e=t.replace(P,G);return e.slice(0,3)==="ms-"&&(e="-"+e),e}function G(t){return"-"+t.toLowerCase()}exports.toJsxRuntime=M;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -2,7 +2,7 @@ import { stringify as w } from "../../../../comma-separated-tokens@2.0.3/node_mo
|
|
|
2
2
|
import { ok as u } from "../../../../devlop@1.1.0/node_modules/devlop/lib/default.es.js";
|
|
3
3
|
import { svg as m, html as C } from "../../../../property-information@7.1.0/node_modules/property-information/index.es.js";
|
|
4
4
|
import { stringify as N } from "../../../../space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.es.js";
|
|
5
|
-
import S from "../../../../../../../_virtual/index.
|
|
5
|
+
import S from "../../../../../../../_virtual/index.es5.js";
|
|
6
6
|
import { whitespace as j } from "../../../../hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.es.js";
|
|
7
7
|
import { name as x } from "../../../../estree-util-is-identifier-name@3.0.0/node_modules/estree-util-is-identifier-name/lib/index.es.js";
|
|
8
8
|
import { VFileMessage as h } from "../../../../vfile-message@4.0.3/node_modules/vfile-message/lib/index.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),te=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),i=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),oe=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),u=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),te=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),i=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),oe=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),u=require("../../../../../../../_virtual/index.cjs4.js"),n=require("react"),T=require("./utils/commonUtils.cjs.js");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.js.map
|
|
@@ -2,7 +2,7 @@ import $ from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
|
|
|
2
2
|
import oe from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.es.js";
|
|
3
3
|
import r from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.es.js";
|
|
4
4
|
import te from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.es.js";
|
|
5
|
-
import d from "../../../../../../../_virtual/index.
|
|
5
|
+
import d from "../../../../../../../_virtual/index.es4.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@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),F=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),N=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),J=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),f=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.cjs.js"),K=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js"),Q=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),F=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),N=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),J=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js"),f=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.cjs.js"),K=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js"),Q=require("../../../../../../../_virtual/index.cjs4.js"),ee=require("../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.cjs.js"),j=require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.cjs.js"),te=require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useMergedState.cjs.js"),w=require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/raf.cjs.js"),ae=require("react"),re=require("./calculateNodeHeight.cjs.js");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.js.map
|
|
@@ -4,7 +4,7 @@ import w from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
|
|
|
4
4
|
import J from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.es.js";
|
|
5
5
|
import s from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.es.js";
|
|
6
6
|
import K from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.es.js";
|
|
7
|
-
import Q from "../../../../../../../_virtual/index.
|
|
7
|
+
import Q from "../../../../../../../_virtual/index.es4.js";
|
|
8
8
|
import ee from "../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.es.js";
|
|
9
9
|
import M from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.es.js";
|
|
10
10
|
import te from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/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@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),X=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),d=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),ze=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toConsumableArray.cjs.js"),x=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.cjs.js"),qe=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js"),g=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const be=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.cjs.js"),X=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js"),d=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectSpread2.cjs.js"),ze=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toConsumableArray.cjs.js"),x=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.cjs.js"),qe=require("../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js"),g=require("../../../../../../../_virtual/index.cjs4.js"),Te=require("../../../../rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.cjs.js"),Ae=require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useMergedState.cjs.js"),n=require("react"),Fe=require("../../../../rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/hooks/useCount.cjs.js"),Y=require("../../../../rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/utils/commonUtils.cjs.js"),Ne=require("./ResizableTextArea.cjs.js");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.js.map
|
|
@@ -4,7 +4,7 @@ import d from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
|
|
|
4
4
|
import Ae from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toConsumableArray.es.js";
|
|
5
5
|
import x from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.es.js";
|
|
6
6
|
import Fe from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.es.js";
|
|
7
|
-
import h from "../../../../../../../_virtual/index.
|
|
7
|
+
import h from "../../../../../../../_virtual/index.es4.js";
|
|
8
8
|
import Ne from "../../../../rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.es.js";
|
|
9
9
|
import Te from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/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.js");require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./TextArea.cjs.js");require("../../../../../../../_virtual/index.cjs4.js");require("../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.cjs.js");require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.cjs.js");require("react");require("../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/raf.cjs.js");exports.default=e.default;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import t from "./TextArea.es.js";
|
|
2
|
-
import "../../../../../../../_virtual/index.
|
|
2
|
+
import "../../../../../../../_virtual/index.es4.js";
|
|
3
3
|
import "../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.es.js";
|
|
4
4
|
import "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.es.js";
|
|
5
5
|
import "react";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../../../../bail@2.0.2/node_modules/bail/index.cjs.js"),w=require("../../../../../../../_virtual/index.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../../../../bail@2.0.2/node_modules/bail/index.cjs.js"),w=require("../../../../../../../_virtual/index.cjs6.js"),z=require("../../../../is-plain-obj@4.1.0/node_modules/is-plain-obj/index.cjs.js"),C=require("./callable-instance.cjs.js"),S=require("../../../../trough@2.2.0/node_modules/trough/lib/index.cjs.js"),A=require("../../../../vfile@6.0.3/node_modules/vfile/lib/index.cjs.js"),F={}.hasOwnProperty;class m extends C.CallableInstance{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=S.trough()}copy(){const e=new m;let n=-1;for(;++n<this.attachers.length;){const t=this.attachers[n];e.use(...t)}return e.data(w.default(!0,{},this.namespace)),e}data(e,n){return typeof e=="string"?arguments.length===2?(x("data",this.frozen),this.namespace[e]=n,this):F.call(this.namespace,e)&&this.namespace[e]||void 0:e?(x("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...t]=this.attachers[this.freezeIndex];if(t[0]===!1)continue;t[0]===!0&&(t[0]=void 0);const i=n.call(e,...t);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const n=y(e),t=this.parser||this.Parser;return g("parse",t),t(String(n),n)}process(e,n){const t=this;return this.freeze(),g("process",this.parser||this.Parser),b("process",this.compiler||this.Compiler),n?i(void 0,n):new Promise(i);function i(a,h){const u=y(e),l=t.parse(u);t.run(l,u,function(o,c,f){if(o||!c||!f)return s(o);const p=c,d=t.stringify(p,f);D(d)?f.value=d:f.result=d,s(o,f)});function s(o,c){o||!c?h(o):a?a(c):n(void 0,c)}}}processSync(e){let n=!1,t;return this.freeze(),g("processSync",this.parser||this.Parser),b("processSync",this.compiler||this.Compiler),this.process(e,i),T("processSync","process",n),t;function i(a,h){n=!0,P.bail(a),t=h}}run(e,n,t){I(e),this.freeze();const i=this.transformers;return!t&&typeof n=="function"&&(t=n,n=void 0),t?a(void 0,t):new Promise(a);function a(h,u){const l=y(n);i.run(e,l,s);function s(o,c,f){const p=c||e;o?u(o):h?h(p):t(void 0,p,f)}}}runSync(e,n){let t=!1,i;return this.run(e,n,a),T("runSync","run",t),i;function a(h,u){P.bail(h),i=u,t=!0}}stringify(e,n){this.freeze();const t=y(n),i=this.compiler||this.Compiler;return b("stringify",i),I(e),i(e,t)}use(e,...n){const t=this.attachers,i=this.namespace;if(x("use",this.frozen),e!=null)if(typeof e=="function")l(e,n);else if(typeof e=="object")Array.isArray(e)?u(e):h(e);else throw new TypeError("Expected usable value, not `"+e+"`");return this;function a(s){if(typeof s=="function")l(s,[]);else if(typeof s=="object")if(Array.isArray(s)){const[o,...c]=s;l(o,c)}else h(s);else throw new TypeError("Expected usable value, not `"+s+"`")}function h(s){if(!("plugins"in s)&&!("settings"in s))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");u(s.plugins),s.settings&&(i.settings=w.default(!0,i.settings,s.settings))}function u(s){let o=-1;if(s!=null)if(Array.isArray(s))for(;++o<s.length;){const c=s[o];a(c)}else throw new TypeError("Expected a list of plugins, not `"+s+"`")}function l(s,o){let c=-1,f=-1;for(;++c<t.length;)if(t[c][0]===s){f=c;break}if(f===-1)t.push([s,...o]);else if(o.length>0){let[p,...d]=o;const E=t[f][1];z.default(E)&&z.default(p)&&(p=w.default(!0,E,p)),t[f]=[s,p,...d]}}}}const q=new m().freeze();function g(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `parser`")}function b(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `compiler`")}function x(r,e){if(e)throw new Error("Cannot call `"+r+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function I(r){if(!z.default(r)||typeof r.type!="string")throw new TypeError("Expected node, got `"+r+"`")}function T(r,e,n){if(!n)throw new Error("`"+r+"` finished async. Use `"+e+"` instead")}function y(r){return j(r)?r:new A.VFile(r)}function j(r){return!!(r&&typeof r=="object"&&"message"in r&&"messages"in r)}function D(r){return typeof r=="string"||L(r)}function L(r){return!!(r&&typeof r=="object"&&"byteLength"in r&&"byteOffset"in r)}exports.Processor=m;exports.unified=q;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/markdown-flow-ui/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bail as P } from "../../../../bail@2.0.2/node_modules/bail/index.es.js";
|
|
2
|
-
import y from "../../../../../../../_virtual/index.
|
|
2
|
+
import y from "../../../../../../../_virtual/index.es6.js";
|
|
3
3
|
import z from "../../../../is-plain-obj@4.1.0/node_modules/is-plain-obj/index.es.js";
|
|
4
4
|
import { CallableInstance as C } from "./callable-instance.es.js";
|
|
5
5
|
import { trough as A } from "../../../../trough@2.2.0/node_modules/trough/lib/index.es.js";
|