markdown-flow-ui 0.1.100-beta.48 → 0.1.100-beta.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.cjs.js +1 -1
  2. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.cjs.js.map +1 -1
  3. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/@braintree_sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.es.js +1 -1
  4. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.cjs.js +1 -1
  5. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.es.js +1 -1
  6. package/dist/Documents/ai-shifu/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
  7. package/dist/Documents/ai-shifu/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
  8. package/dist/Documents/ai-shifu/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
  9. package/dist/Documents/ai-shifu/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
  10. package/dist/Documents/ai-shifu/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
  11. package/dist/Documents/ai-shifu/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
  12. package/dist/Documents/ai-shifu/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
  13. package/dist/Documents/ai-shifu/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
  14. package/dist/Documents/ai-shifu/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
  15. package/dist/Documents/ai-shifu/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
  16. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.cjs.js +1 -1
  17. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.es.js +1 -1
  18. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.cjs.js +1 -1
  19. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.es.js +1 -1
  20. package/dist/_virtual/index.cjs10.js +1 -1
  21. package/dist/_virtual/index.cjs4.js +1 -1
  22. package/dist/_virtual/index.cjs5.js +1 -1
  23. package/dist/_virtual/index.cjs6.js +1 -1
  24. package/dist/_virtual/index.cjs7.js +1 -1
  25. package/dist/_virtual/index.cjs9.js +1 -1
  26. package/dist/_virtual/index.es10.js +2 -2
  27. package/dist/_virtual/index.es4.js +4 -4
  28. package/dist/_virtual/index.es5.js +4 -4
  29. package/dist/_virtual/index.es6.js +2 -5
  30. package/dist/_virtual/index.es6.js.map +1 -1
  31. package/dist/_virtual/index.es7.js +5 -2
  32. package/dist/_virtual/index.es7.js.map +1 -1
  33. package/dist/_virtual/index.es9.js +2 -2
  34. package/dist/components/Slide/Slide.cjs.js.map +1 -1
  35. package/dist/components/Slide/Slide.es.js.map +1 -1
  36. package/dist/components/ui/inputGroup/textarea.cjs.js +1 -1
  37. package/dist/components/ui/inputGroup/textarea.es.js +1 -1
  38. package/dist/lib/interaction-defaults.cjs.js +1 -1
  39. package/dist/lib/interaction-defaults.cjs.js.map +1 -1
  40. package/dist/lib/interaction-defaults.es.js +84 -58
  41. package/dist/lib/interaction-defaults.es.js.map +1 -1
  42. package/package.json +1 -1
@@ -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 JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\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 return null;\n }\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(content && INTERACTION_TAG_PATTERN.test(content));\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","JSON_LIKE_VALUE_PATTERN","parseInteractionBlock","content","error","normalizeButtonValue","token","info","cleaned","buttonValues","buttonTexts","valueIndex","textIndex","splitPresetValues","raw","item","normalizeStructuredInteractionDefaults","payload","selectedValues","buttonText","inputText","parseStructuredInteractionDefaults","rawValue","parsed","hasPotentialInteractionBlock","resolveCustomInteractionDefaults","interactionInfo","options","getInteractionDefaultValues","normalized","structuredDefaults","customDefaults","customDefaultsWithInteraction","tokens","customInputs","mapped","getInteractionDefaultSelectedValues","defaults","value"],"mappings":"4HAoCMA,EAAoBC,EAAAA,YAAAA,wBAAA,EACpBC,EAA0B,sBAC1BC,EAA0B,SAE1BC,EACJC,GACkC,CAClC,GAAI,CAACA,EACH,OAAO,KAGT,GAAI,CACF,OAAOL,EAAkB,oBACvBK,CAAA,CAEJ,OAASC,EAAO,CACd,eAAQ,KAAK,oCAAqCA,CAAK,EAChD,IACT,CACF,EAEMC,EAAuB,CAC3BC,EACAC,IAC+C,CAC/C,GAAI,CAACD,EACH,OAAO,KAGT,MAAME,EAAUF,EAAM,KAAA,EAChBG,EAAeF,EAAK,cAAgB,CAAA,EACpCG,EAAcH,EAAK,aAAe,CAAA,EAClCI,EAAaF,EAAa,QAAQD,CAAO,EAE/C,GAAIG,EAAa,GACf,MAAO,CACL,MAAOF,EAAaE,CAAU,EAC9B,QAASD,EAAYC,CAAU,CAAA,EAInC,MAAMC,EAAYF,EAAY,QAAQF,CAAO,EAE7C,OAAII,EAAY,GACP,CACL,MAAOH,EAAaG,CAAS,GAAKF,EAAYE,CAAS,EACvD,QAASF,EAAYE,CAAS,CAAA,EAI3B,IACT,EAEMC,EAAqBC,GAClBA,EACJ,MAAM,QAAQ,EACd,IAAKC,GAASA,EAAK,KAAA,CAAM,EACzB,OAAO,OAAO,EAGbC,EACJC,GACoC,CACpC,GAAI,CAACA,GAAW,MAAM,QAAQA,CAAO,EACnC,OAAO,KAGT,MAAMC,EAAiB,MAAM,QAAQD,EAAQ,cAAc,EACvDA,EAAQ,eACL,IAAKF,GAAS,GAAGA,GAAQ,EAAE,GAAG,KAAA,CAAM,EACpC,OAAO,OAAO,EACjB,OACEI,EAAa,GAAGF,EAAQ,YAAc,EAAE,GAAG,KAAA,EAC3CG,EACJ,OAAOH,EAAQ,WAAc,SAAWA,EAAQ,UAAY,OAE9D,MAAI,CAACC,GAAgB,QAAU,CAACC,GAAc,CAACC,EACtC,KAGF,CACL,WAAYD,GAAc,OAC1B,UAAAC,EACA,eAAgBF,GAAgB,OAASA,EAAiB,MAAA,CAE9D,EAEMG,EAAsCC,GAA6B,CAKvE,GAJI,CAACA,GAID,CAACrB,EAAwB,KAAKqB,EAAS,KAAA,CAAM,EAC/C,OAAO,KAGT,GAAI,CACF,MAAMC,EAAS,KAAK,MAAMD,CAAQ,EAClC,OAAON,EAAuCO,CAAM,CACtD,MAAQ,CACN,OAAO,IACT,CACF,EAEMC,EAAgCrB,GACpC,GAAQA,GAAWH,EAAwB,KAAKG,CAAO,GAEnDsB,EAAmC,CACvCtB,EACAmB,EACAI,EACAC,IAGEA,GAAS,uBAAuB,CAC9B,QAAAxB,EACA,SAAAmB,EACA,gBAAAI,CAAA,CACD,GAAK,KAIGE,EAA8B,CACzCzB,EACAmB,EACAK,IAC6B,CAC7B,MAAME,EAAaP,GAAU,SAAA,EAAW,KAAA,EAExC,GAAI,CAACO,EACH,MAAO,CAAA,EAGT,MAAMC,EAAqBT,EAAmCQ,CAAU,EAExE,GAAIC,EACF,OAAOA,EAGT,MAAMC,EAAiBN,EACrBtB,EACA0B,EACA,KACAF,CAAA,EAGF,GAAII,EACF,OAAOA,EAGT,GAAI,CAACP,EAA6BrB,CAAO,EACvC,MAAO,CACL,WAAY0B,EACZ,UAAWA,CAAA,EAIf,MAAMH,EAAkBxB,EAAsBC,CAAO,EAC/C6B,EAAgCP,EACpCtB,EACA0B,EACAH,EACAC,CAAA,EAGF,GAAIK,EACF,OAAOA,EAGT,GAAI,CAACN,EACH,MAAO,CACL,WAAYG,EACZ,UAAWA,CAAA,EAIf,GAAIH,EAAgB,cAAe,CACjC,MAAMO,EAASpB,EAAkBgB,CAAU,EAE3C,GAAI,CAACI,EAAO,OACV,MAAO,CAAA,EAGT,MAAMf,EAA2B,CAAA,EAC3BgB,EAAyB,CAAA,EAE/B,OAAAD,EAAO,QAAS3B,GAAU,CACxB,MAAM6B,EAAS9B,EAAqBC,EAAOoB,CAAe,EAE1D,GAAIS,EAAQ,CACVjB,EAAe,KAAKiB,EAAO,KAAK,EAChC,MACF,CAEA,GAAIT,EAAgB,YAAa,CAC/BQ,EAAa,KAAK5B,CAAK,EACvB,MACF,CAEAY,EAAe,KAAKZ,CAAK,CAC3B,CAAC,EAEM,CACL,eAAgBY,EAAe,OAASA,EAAiB,OACzD,UAAWgB,EAAa,OAASA,EAAa,KAAK,IAAI,EAAI,MAAA,CAE/D,CAEA,MAAMC,EAAS9B,EAAqBwB,EAAYH,CAAe,EAE/D,OAAIS,EACK,CACL,WAAYA,EAAO,OAASA,EAAO,SAAWN,CAAA,EAI9CH,EAAgB,YACX,CACL,UAAWG,CAAA,EAIR,CACL,WAAYA,EACZ,UAAWA,CAAA,CAEf,EAEaO,EAAsC,CACjDjC,EACAmB,EACAK,IACG,CACH,MAAMU,EAAWT,EAA4BzB,EAASmB,EAAUK,CAAO,EAEvE,OAAIU,EAAS,eACJA,EAAS,eAGXf,EACHA,EACG,MAAM,GAAG,EACT,IAAKgB,GAAUA,EAAM,KAAA,CAAM,EAC3B,OAAO,OAAO,EACjB,MACN"}
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,119 +1,145 @@
1
1
  import { d as x } from "../_virtual/index.es.js";
2
- const I = x.createInteractionParser(), h = /<custom-variable\b/i, v = /^[\[{]/, b = (t) => {
2
+ const b = x.createInteractionParser(), I = /<custom-variable\b/i, h = /\?\[%\{\{([^}]+)\}\}([\s\S]*?)\]/, v = /^[\[{]/, V = (t) => {
3
+ if (!t)
4
+ return null;
5
+ const r = t.match(h), s = r?.[1]?.trim(), e = r?.[2]?.trim();
6
+ if (!e)
7
+ return null;
8
+ const u = e.includes("||"), o = u ? "||" : "|", n = e.split(o).map((l) => l.trim()).filter(Boolean);
9
+ if (!n.length)
10
+ return null;
11
+ const c = [], i = [];
12
+ let f;
13
+ return n.forEach((l) => {
14
+ if (l.startsWith("...")) {
15
+ const a = l.replace(/^\.\.\./, "").trim();
16
+ a && (f = a);
17
+ return;
18
+ }
19
+ c.push(l), i.push(l);
20
+ }), {
21
+ variableName: s,
22
+ buttonTexts: c.length ? c : void 0,
23
+ buttonValues: i.length ? i : void 0,
24
+ placeholder: f,
25
+ isMultiSelect: u
26
+ };
27
+ }, g = (t) => {
3
28
  if (!t)
4
29
  return null;
5
30
  try {
6
- return I.parseToRemarkFormat(
31
+ return b.parseToRemarkFormat(
7
32
  t
8
33
  );
9
- } catch (n) {
10
- return console.warn("Failed to parse interaction block", n), null;
34
+ } catch (r) {
35
+ console.warn("Failed to parse interaction block", r);
11
36
  }
12
- }, T = (t, n) => {
37
+ return V(t);
38
+ }, m = (t, r) => {
13
39
  if (!t)
14
40
  return null;
15
- const r = t.trim(), e = n.buttonValues || [], s = n.buttonTexts || [], l = e.indexOf(r);
16
- if (l > -1)
41
+ const s = t.trim(), e = r.buttonValues || [], u = r.buttonTexts || [], o = e.indexOf(s);
42
+ if (o > -1)
17
43
  return {
18
- value: e[l],
19
- display: s[l]
44
+ value: e[o],
45
+ display: u[o]
20
46
  };
21
- const u = s.indexOf(r);
22
- return u > -1 ? {
23
- value: e[u] || s[u],
24
- display: s[u]
47
+ const n = u.indexOf(s);
48
+ return n > -1 ? {
49
+ value: e[n] || u[n],
50
+ display: u[n]
25
51
  } : null;
26
- }, V = (t) => t.split(/[,,\n]/).map((n) => n.trim()).filter(Boolean), g = (t) => {
52
+ }, A = (t) => t.split(/[,,\n]/).map((r) => r.trim()).filter(Boolean), E = (t) => {
27
53
  if (!t || Array.isArray(t))
28
54
  return null;
29
- const n = Array.isArray(t.selectedValues) ? t.selectedValues.map((s) => `${s ?? ""}`.trim()).filter(Boolean) : void 0, r = `${t.buttonText ?? ""}`.trim(), e = typeof t.inputText == "string" ? t.inputText : void 0;
30
- return !n?.length && !r && !e ? null : {
31
- buttonText: r || void 0,
55
+ const r = Array.isArray(t.selectedValues) ? t.selectedValues.map((u) => `${u ?? ""}`.trim()).filter(Boolean) : void 0, s = `${t.buttonText ?? ""}`.trim(), e = typeof t.inputText == "string" ? t.inputText : void 0;
56
+ return !r?.length && !s && !e ? null : {
57
+ buttonText: s || void 0,
32
58
  inputText: e,
33
- selectedValues: n?.length ? n : void 0
59
+ selectedValues: r?.length ? r : void 0
34
60
  };
35
- }, A = (t) => {
61
+ }, S = (t) => {
36
62
  if (!t || !v.test(t.trim()))
37
63
  return null;
38
64
  try {
39
- const n = JSON.parse(t);
40
- return g(n);
65
+ const r = JSON.parse(t);
66
+ return E(r);
41
67
  } catch {
42
68
  return null;
43
69
  }
44
- }, D = (t) => !!(t && h.test(t)), m = (t, n, r, e) => e?.resolveDefaultValues?.({
70
+ }, D = (t) => !!(t && (I.test(t) || h.test(t))), T = (t, r, s, e) => e?.resolveDefaultValues?.({
45
71
  content: t,
46
- rawValue: n,
47
- interactionInfo: r
48
- }) ?? null, B = (t, n, r) => {
49
- const e = n?.toString().trim();
72
+ rawValue: r,
73
+ interactionInfo: s
74
+ }) ?? null, N = (t, r, s) => {
75
+ const e = r?.toString().trim();
50
76
  if (!e)
51
77
  return {};
52
- const s = A(e);
53
- if (s)
54
- return s;
55
- const l = m(
78
+ const u = S(e);
79
+ if (u)
80
+ return u;
81
+ const o = T(
56
82
  t,
57
83
  e,
58
84
  null,
59
- r
85
+ s
60
86
  );
61
- if (l)
62
- return l;
87
+ if (o)
88
+ return o;
63
89
  if (!D(t))
64
90
  return {
65
91
  buttonText: e,
66
92
  inputText: e
67
93
  };
68
- const u = b(t), f = m(
94
+ const n = g(t), c = T(
69
95
  t,
70
96
  e,
71
- u,
72
- r
97
+ n,
98
+ s
73
99
  );
74
- if (f)
75
- return f;
76
- if (!u)
100
+ if (c)
101
+ return c;
102
+ if (!n)
77
103
  return {
78
104
  buttonText: e,
79
105
  inputText: e
80
106
  };
81
- if (u.isMultiSelect) {
82
- const d = V(e);
83
- if (!d.length)
107
+ if (n.isMultiSelect) {
108
+ const f = A(e);
109
+ if (!f.length)
84
110
  return {};
85
- const o = [], c = [];
86
- return d.forEach((a) => {
87
- const p = T(a, u);
111
+ const l = [], a = [];
112
+ return f.forEach((d) => {
113
+ const p = m(d, n);
88
114
  if (p) {
89
- o.push(p.value);
115
+ l.push(p.value);
90
116
  return;
91
117
  }
92
- if (u.placeholder) {
93
- c.push(a);
118
+ if (n.placeholder) {
119
+ a.push(d);
94
120
  return;
95
121
  }
96
- o.push(a);
122
+ l.push(d);
97
123
  }), {
98
- selectedValues: o.length ? o : void 0,
99
- inputText: c.length ? c.join(", ") : void 0
124
+ selectedValues: l.length ? l : void 0,
125
+ inputText: a.length ? a.join(", ") : void 0
100
126
  };
101
127
  }
102
- const i = T(e, u);
128
+ const i = m(e, n);
103
129
  return i ? {
104
130
  buttonText: i.value || i.display || e
105
- } : u.placeholder ? {
131
+ } : n.placeholder ? {
106
132
  inputText: e
107
133
  } : {
108
134
  buttonText: e,
109
135
  inputText: e
110
136
  };
111
- }, S = (t, n, r) => {
112
- const e = B(t, n, r);
113
- return e.selectedValues ? e.selectedValues : n ? n.split(",").map((s) => s.trim()).filter(Boolean) : void 0;
137
+ }, O = (t, r, s) => {
138
+ const e = N(t, r, s);
139
+ return e.selectedValues ? e.selectedValues : r ? r.split(",").map((u) => u.trim()).filter(Boolean) : void 0;
114
140
  };
115
141
  export {
116
- S as getInteractionDefaultSelectedValues,
117
- B as getInteractionDefaultValues
142
+ O as getInteractionDefaultSelectedValues,
143
+ N as getInteractionDefaultValues
118
144
  };
119
145
  //# 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 JSON_LIKE_VALUE_PATTERN = /^[\\[{]/;\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 return null;\n }\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(content && INTERACTION_TAG_PATTERN.test(content));\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","JSON_LIKE_VALUE_PATTERN","parseInteractionBlock","content","error","normalizeButtonValue","token","info","cleaned","buttonValues","buttonTexts","valueIndex","textIndex","splitPresetValues","raw","item","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 = /^[\\[{]/;\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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"}
package/package.json CHANGED
@@ -174,7 +174,7 @@
174
174
  ]
175
175
  }
176
176
  },
177
- "version": "0.1.100-beta.48",
177
+ "version": "0.1.100-beta.49",
178
178
  "type": "module",
179
179
  "exports": {
180
180
  ".": {