@bikdotai/bik-component-library 0.0.838-beta.4 → 0.0.838-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@tiptap/extension-character-count"),_=require("@tiptap/extension-color"),k=require("@tiptap/extension-font-family"),b=require("@tiptap/extension-hard-break"),C=require("@tiptap/extension-highlight"),M=require("@tiptap/extension-image"),y=require("@tiptap/extension-link"),T=require("../../node_modules/@tiptap/extension-paragraph/dist/index.js"),g=require("@tiptap/extension-placeholder"),P=require("@tiptap/extension-subscript"),L=require("@tiptap/extension-superscript"),H=require("@tiptap/extension-text-align"),D=require("@tiptap/extension-text-style"),w=require("@tiptap/extension-underline"),A=require("@tiptap/starter-kit"),z=require("../../helpers/sanitize.js"),B=require("./characterLimit/CharacterLimitExtension.js"),F=require("./FontSizeExtension.js"),I=require("./htmlTagStrip/HtmlTagStripExtension.js"),O=require("./jsonHighlight/JsonHighlightExtension.js"),i=require("./mention/MentionExtension.js"),R=require("./paste/PasteExtension.js"),N=require("./plainClipboard/PasteNormalizationExtension.js"),U=require("./sectionDivider/SectionDividerNode.js"),l=require("./sendShortcut/SendShortcutExtension.js"),j=require("./slashCommand/SlashCommandExtension.js"),v=require("./variable/VariableDecorationExtension.js"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},u=n(E),d=n(_),K=n(k),J=n(b),V=n(C),W=n(M),Z=n(y),c=n(g),G=n(P),Q=n(L),X=n(H),Y=n(w),h=n(A);function $(e){if(e.features?.jsonMode)return[h.default.configure({link:!1,underline:!1,bold:!1,italic:!1,strike:!1,code:!1,heading:!1,bulletList:!1,orderedList:!1,blockquote:!1,horizontalRule:!1}),c.default.configure({placeholder:e.placeholder??`{
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@tiptap/extension-character-count"),_=require("@tiptap/extension-color"),k=require("@tiptap/extension-font-family"),b=require("@tiptap/extension-hard-break"),C=require("@tiptap/extension-highlight"),M=require("@tiptap/extension-image"),y=require("@tiptap/extension-link"),T=require("../../node_modules/@tiptap/extension-paragraph/dist/index.js"),g=require("@tiptap/extension-placeholder"),P=require("@tiptap/extension-subscript"),L=require("@tiptap/extension-superscript"),H=require("@tiptap/extension-text-align"),D=require("@tiptap/extension-text-style"),A=require("@tiptap/extension-underline"),w=require("@tiptap/starter-kit"),z=require("../../helpers/sanitize.js"),B=require("./characterLimit/CharacterLimitExtension.js"),F=require("./FontSizeExtension.js"),I=require("./htmlTagStrip/HtmlTagStripExtension.js"),O=require("./jsonHighlight/JsonHighlightExtension.js"),i=require("./mention/MentionExtension.js"),R=require("./paste/PasteExtension.js"),N=require("./plainClipboard/PasteNormalizationExtension.js"),U=require("./sectionDivider/SectionDividerNode.js"),l=require("./sendShortcut/SendShortcutExtension.js"),j=require("./slashCommand/SlashCommandExtension.js"),v=require("./variable/VariableDecorationExtension.js"),n=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},u=n(E),d=n(_),K=n(k),J=n(b),V=n(C),W=n(M),Z=n(y),c=n(g),G=n(P),Q=n(L),X=n(H),Y=n(A),h=n(w);function $(e){if(e.features?.jsonMode)return[h.default.configure({link:!1,underline:!1,bold:!1,italic:!1,strike:!1,code:!1,heading:!1,bulletList:!1,orderedList:!1,blockquote:!1,horizontalRule:!1}),c.default.configure({placeholder:e.placeholder??`{
2
2
 
3
- }`}),O.JsonHighlightExtension,l.SendShortcutExtension.configure({onSend:e.onSend,sendShortcut:e.sendShortcut,extraShortcuts:e.shortcuts??[]}),...e.maxCharacters?[u.default.configure({limit:e.maxCharacters})]:[]];const s=e.features?.richPaste??!1,m=e.features?.richTypography??!1,a=e.features?.allowedMarks,r=t=>!a||a.includes(t),f=J.default.extend({addKeyboardShortcuts(){return{"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),o=t=>t==="0"||t==="0px"||t==="0pt"||t==="0em",x=T.default.extend({addAttributes(){return{...this.parent?.()??{},margin:{default:null,parseHTML:t=>o(t.style.marginTop)&&o(t.style.marginBottom)?"0":null,renderHTML:t=>t.margin==="0"?{style:"margin: 0px"}:{}}}}}),S=[h.default.configure({link:!1,underline:!1,hardBreak:!1,paragraph:!1,bold:r("bold")?{}:!1,italic:r("italic")?{}:!1,strike:r("strike")?{}:!1,code:r("code")?{}:!1}),x,f,...r("underline")?[Y.default]:[],Z.default.extend({addPasteRules:()=>[],addInputRules:()=>[]}).configure({openOnClick:!1,autolink:!1,linkOnPaste:!1,isAllowedUri:t=>z.isAllowedLinkUrl(t),HTMLAttributes:{rel:"noopener noreferrer",class:"bik-link"}}),D.TextStyle,c.default.configure({placeholder:e.placeholder??"Type a message..."}),...e.onPaste?[R.PasteExtension.configure({onPaste:e.onPaste})]:[],N.PasteNormalizationExtension.configure({preserveMarks:s,plainOnly:!s}),l.SendShortcutExtension.configure({onSend:e.onSend,sendShortcut:e.sendShortcut,extraShortcuts:e.shortcuts??[]}),v.VariableDecorationExtension,...s?[]:[I.HtmlTagStripExtension],...e.maxCharacters?[u.default.configure({limit:e.maxCharacters})]:[],...e.characterLimit?[B.CharacterLimitExtension.configure({limit:e.characterLimit})]:[],U.SectionDividerNode],p=[...e.mentions?.agents?[i.buildAgentMentionExtension(e.mentions.agents,e.onMentionSelected,e.renderMentionItem,e.renderMentionDropdown,e.removeMentionTriggerOnDismiss)]:[],...e.mentions?.teams?[i.buildTeamMentionExtension(e.mentions.teams,e.onMentionSelected,e.renderMentionItem,e.renderMentionDropdown,e.removeMentionTriggerOnDismiss)]:[],...e.slashCommands?[j.buildSlashCommandExtension(e.slashCommands,e.onSlashCommandSelected,e.renderSlashCommandItem,e.renderSlashCommandDropdown)]:[]],q=m?[d.default,V.default.configure({multicolor:!0}),K.default,F.FontSizeExtension,X.default.configure({types:["heading","paragraph"]}),G.default,Q.default,W.default]:[d.default];return[...S,...p,...q]}exports.buildExtensions=$;
3
+ }`}),O.JsonHighlightExtension,l.SendShortcutExtension.configure({onSend:e.onSend,sendShortcut:e.sendShortcut,extraShortcuts:e.shortcuts??[]}),...e.maxCharacters?[u.default.configure({limit:e.maxCharacters})]:[]];const s=e.features?.richPaste??!1,m=e.features?.richTypography??!1,a=e.features?.allowedMarks,r=t=>!a||a.includes(t),f=J.default.extend({addKeyboardShortcuts(){return{"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),o=t=>t==="0"||t==="0px"||t==="0pt"||t==="0em",x=T.default.extend({addAttributes(){return{...this.parent?.()??{},margin:{default:null,parseHTML:t=>o(t.style.marginTop)&&o(t.style.marginBottom)?"0":null,renderHTML:t=>t.margin==="0"?{style:"margin: 0px"}:{}}}}}),p=[h.default.configure({link:!1,underline:!1,hardBreak:!1,paragraph:!1,bold:r("bold")?{}:!1,italic:r("italic")?{}:!1,strike:r("strike")?{}:!1,code:r("code")?{}:!1}),x,f,...r("underline")?[Y.default]:[],Z.default.extend({addPasteRules:()=>[],addInputRules:()=>[]}).configure({openOnClick:!1,autolink:!1,linkOnPaste:!1,isAllowedUri:t=>z.isAllowedLinkUrl(t),HTMLAttributes:{rel:"noopener noreferrer",class:"bik-link"}}),D.TextStyle,c.default.configure({placeholder:e.placeholder??"Type a message..."}),...e.onPaste?[R.PasteExtension.configure({onPaste:e.onPaste})]:[],N.PasteNormalizationExtension.configure({preserveMarks:s,plainOnly:!s}),l.SendShortcutExtension.configure({onSend:e.onSend,sendShortcut:e.sendShortcut,extraShortcuts:e.shortcuts??[]}),v.VariableDecorationExtension,I.HtmlTagStripExtension.configure({stripAll:!s}),...e.maxCharacters?[u.default.configure({limit:e.maxCharacters})]:[],...e.characterLimit?[B.CharacterLimitExtension.configure({limit:e.characterLimit})]:[],U.SectionDividerNode],S=[...e.mentions?.agents?[i.buildAgentMentionExtension(e.mentions.agents,e.onMentionSelected,e.renderMentionItem,e.renderMentionDropdown,e.removeMentionTriggerOnDismiss)]:[],...e.mentions?.teams?[i.buildTeamMentionExtension(e.mentions.teams,e.onMentionSelected,e.renderMentionItem,e.renderMentionDropdown,e.removeMentionTriggerOnDismiss)]:[],...e.slashCommands?[j.buildSlashCommandExtension(e.slashCommands,e.onSlashCommandSelected,e.renderSlashCommandItem,e.renderSlashCommandDropdown)]:[]],q=m?[d.default,V.default.configure({multicolor:!0}),K.default,F.FontSizeExtension,X.default.configure({types:["heading","paragraph"]}),G.default,Q.default,W.default]:[d.default];return[...p,...S,...q]}exports.buildExtensions=$;
4
4
  //# sourceMappingURL=buildExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport { isAllowedLinkUrl } from '../../helpers/sanitize';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { CharacterLimitExtension } from './characterLimit/CharacterLimitExtension';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport { HtmlTagStripExtension } from './htmlTagStrip/HtmlTagStripExtension';\nimport { JsonHighlightExtension } from './jsonHighlight/JsonHighlightExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\t/**\n\t * Soft character limit. Unlike `maxCharacters` (which hard-blocks all input),\n\t * this blocks typing past the limit but ALLOWS paste to overflow, rendering\n\t * the excess characters greyed (`.bik-editor-overflow`). Purely visual +\n\t * typing-guard; the consumer shows the count/error and gates send itself.\n\t */\n\tcharacterLimit?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\tremoveMentionTriggerOnDismiss?: boolean;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\t// JSON body mode is a dedicated code editor — it deliberately skips the rich\n\t// text stack (mentions, typography, rich paste, sections) and turns the whole\n\t// document into one syntax-highlighted JSON code block, Postman-style.\n\tif (config.features?.jsonMode) {\n\t\treturn [\n\t\t\tStarterKit.configure({\n\t\t\t\tlink: false,\n\t\t\t\tunderline: false,\n\t\t\t\t// Keep codeBlock (the JSON container) and history; drop everything\n\t\t\t\t// that has no meaning inside raw JSON.\n\t\t\t\tbold: false,\n\t\t\t\titalic: false,\n\t\t\t\tstrike: false,\n\t\t\t\tcode: false,\n\t\t\t\theading: false,\n\t\t\t\tbulletList: false,\n\t\t\t\torderedList: false,\n\t\t\t\tblockquote: false,\n\t\t\t\thorizontalRule: false,\n\t\t\t}),\n\t\t\tPlaceholder.configure({\n\t\t\t\tplaceholder: config.placeholder ?? '{\\n \\n}',\n\t\t\t}),\n\t\t\tJsonHighlightExtension,\n\t\t\tSendShortcutExtension.configure({\n\t\t\t\tonSend: config.onSend,\n\t\t\t\tsendShortcut: config.sendShortcut,\n\t\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t\t}),\n\t\t\t...(config.maxCharacters\n\t\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t\t: []),\n\t\t];\n\t}\n\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\t// Block javascript:/data:/vbscript: hrefs. TipTap keeps the href\n\t\t\t// attribute verbatim, so scheme validation must live here.\n\t\t\tisAllowedUri: (url) => isAllowedLinkUrl(url),\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t// Strip complete HTML tags from typed text in non-email channels.\n\t\t// Email (richPaste) keeps tags because the editor legitimately renders HTML.\n\t\t...(!hasRichPaste ? [HtmlTagStripExtension] : []),\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t...(config.characterLimit\n\t\t\t? [CharacterLimitExtension.configure({ limit: config.characterLimit })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","StarterKit","Placeholder","JsonHighlightExtension","SendShortcutExtension","CharacterCount","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","Underline","Link","url","isAllowedLinkUrl","TextStyle","PasteExtension","PasteNormalizationExtension","VariableDecorationExtension","HtmlTagStripExtension","CharacterLimitExtension","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"+7CAkFO,SAASA,EAAgBC,EAAyB,CAIxD,GAAIA,EAAO,UAAU,SACpB,MAAO,CACNC,EAAAA,QAAW,UAAU,CACpB,KAAM,GACN,UAAW,GAGX,KAAM,GACN,OAAQ,GACR,OAAQ,GACR,KAAM,GACN,QAAS,GACT,WAAY,GACZ,YAAa,GACb,WAAY,GACZ,eAAgB,EAAA,CAChB,EACDC,EAAAA,QAAY,UAAU,CACrB,YAAaF,EAAO,aAAe;AAAA;AAAA,EAAA,CACnC,EACDG,EAAAA,uBACAC,EAAAA,sBAAsB,UAAU,CAC/B,OAAQJ,EAAO,OACf,aAAcA,EAAO,aACrB,eAAgBA,EAAO,WAAa,CAAA,CAAC,CACrC,EACD,GAAIA,EAAO,cACR,CAACK,UAAe,UAAU,CAAE,MAAOL,EAAO,aAAA,CAAe,CAAC,EAC1D,CAAA,CAAC,EAIN,MAAMM,EAAeN,EAAO,UAAU,WAAa,GAC7CO,EAAoBP,EAAO,UAAU,gBAAkB,GAKvDQ,EAAeR,EAAO,UAAU,aAChCS,EAAUC,GACf,CAACF,GAAgBA,EAAa,SAASE,CAAC,EAOnCC,EAAYC,EAAAA,QAAU,OAAO,CAClC,sBAAuB,CACtB,MAAO,CACN,cAAe,IAAM,KAAK,OAAO,SAAS,aAAA,CAAa,CAEzD,CAAA,CACA,EAWKC,EAAaC,GAClBA,IAAM,KAAOA,IAAM,OAASA,IAAM,OAASA,IAAM,MAC5CC,EAAsBC,EAAAA,QAAU,OAAO,CAC5C,eAAgB,CACf,MAAO,CACN,GAAI,KAAK,SAAA,GAAc,CAAA,EACvB,OAAQ,CACP,QAAS,KACT,UAAYC,GACXJ,EAAUI,EAAG,MAAM,SAAS,GAAKJ,EAAUI,EAAG,MAAM,YAAY,EAC7D,IACA,KACJ,WAAaC,GACZA,EAAM,SAAW,IAAM,CAAE,MAAO,eAAkB,CAAA,CAAC,CACrD,CAEF,CAAA,CACA,EAEKC,EAAO,CAIZlB,EAAAA,QAAW,UAAU,CACpB,KAAM,GACN,UAAW,GACX,UAAW,GACX,UAAW,GACX,KAAMQ,EAAO,MAAM,EAAI,CAAA,EAAK,GAC5B,OAAQA,EAAO,QAAQ,EAAI,CAAA,EAAK,GAChC,OAAQA,EAAO,QAAQ,EAAI,CAAA,EAAK,GAChC,KAAMA,EAAO,MAAM,EAAI,GAAK,EAAA,CAC5B,EACDM,EACAJ,EACA,GAAIF,EAAO,WAAW,EAAI,CAACW,EAAAA,OAAS,EAAI,CAAA,EAGxCC,EAAAA,QAAK,OAAO,CACX,cAAe,IAAM,CAAA,EACrB,cAAe,IAAM,CAAA,CAAC,CACtB,EAAE,UAAU,CACZ,YAAa,GACb,SAAU,GACV,YAAa,GAGb,aAAeC,GAAQC,EAAAA,iBAAiBD,CAAG,EAC3C,eAAgB,CACf,IAAK,sBACL,MAAO,UAAA,CACR,CACA,EACDE,EAAAA,UACAtB,EAAAA,QAAY,UAAU,CACrB,YAAaF,EAAO,aAAe,mBAAA,CACnC,EAID,GAAIA,EAAO,QACR,CAACyB,EAAAA,eAAe,UAAU,CAAE,QAASzB,EAAO,QAAS,CAAC,EACtD,CAAA,EACH0B,EAAAA,4BAA4B,UAAU,CACrC,cAAepB,EAIf,UAAW,CAACA,CAAA,CACZ,EACDF,EAAAA,sBAAsB,UAAU,CAC/B,OAAQJ,EAAO,OACf,aAAcA,EAAO,aACrB,eAAgBA,EAAO,WAAa,CAAA,CAAC,CACrC,EACD2B,EAAAA,4BAGA,GAAKrB,EAAyC,CAAA,EAA1B,CAACsB,EAAAA,qBAAqB,EAC1C,GAAI5B,EAAO,cACR,CAACK,EAAAA,QAAe,UAAU,CAAE,MAAOL,EAAO,cAAe,CAAC,EAC1D,CAAA,EACH,GAAIA,EAAO,eACR,CAAC6B,EAAAA,wBAAwB,UAAU,CAAE,MAAO7B,EAAO,eAAgB,CAAC,EACpE,CAAA,EAKH8B,EAAAA,kBAAA,EAGKC,EAAoB,CACzB,GAAI/B,EAAO,UAAU,OAClB,CACAgC,EAAAA,2BACChC,EAAO,SAAS,OAChBA,EAAO,kBACPA,EAAO,kBACPA,EAAO,sBACPA,EAAO,6BAAA,CACR,EAEA,CAAA,EACH,GAAIA,EAAO,UAAU,MAClB,CACAiC,EAAAA,0BACCjC,EAAO,SAAS,MAChBA,EAAO,kBACPA,EAAO,kBACPA,EAAO,sBACPA,EAAO,6BAAA,CACR,EAEA,CAAA,EACH,GAAIA,EAAO,cACR,CACAkC,EAAAA,2BACClC,EAAO,cACPA,EAAO,uBACPA,EAAO,uBACPA,EAAO,0BAAA,CACR,EAEA,CAAA,CAAC,EAGCmC,EAAiB5B,EACpB,CACA6B,EAAAA,QACAC,EAAAA,QAAU,UAAU,CAAE,WAAY,GAAM,EACxCC,EAAAA,QACAC,EAAAA,kBACAC,EAAAA,QAAU,UAAU,CAAE,MAAO,CAAC,UAAW,WAAW,EAAG,EACvDC,EAAAA,QACAC,EAAAA,QACAC,EAAAA,OAAA,EAEA,CAACP,EAAAA,OAAK,EAET,MAAO,CAAC,GAAGjB,EAAM,GAAGY,EAAmB,GAAGI,CAAc,CACzD"}
1
+ {"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport { isAllowedLinkUrl } from '../../helpers/sanitize';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { CharacterLimitExtension } from './characterLimit/CharacterLimitExtension';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport { HtmlTagStripExtension } from './htmlTagStrip/HtmlTagStripExtension';\nimport { JsonHighlightExtension } from './jsonHighlight/JsonHighlightExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\t/**\n\t * Soft character limit. Unlike `maxCharacters` (which hard-blocks all input),\n\t * this blocks typing past the limit but ALLOWS paste to overflow, rendering\n\t * the excess characters greyed (`.bik-editor-overflow`). Purely visual +\n\t * typing-guard; the consumer shows the count/error and gates send itself.\n\t */\n\tcharacterLimit?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\tremoveMentionTriggerOnDismiss?: boolean;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\t// JSON body mode is a dedicated code editor — it deliberately skips the rich\n\t// text stack (mentions, typography, rich paste, sections) and turns the whole\n\t// document into one syntax-highlighted JSON code block, Postman-style.\n\tif (config.features?.jsonMode) {\n\t\treturn [\n\t\t\tStarterKit.configure({\n\t\t\t\tlink: false,\n\t\t\t\tunderline: false,\n\t\t\t\t// Keep codeBlock (the JSON container) and history; drop everything\n\t\t\t\t// that has no meaning inside raw JSON.\n\t\t\t\tbold: false,\n\t\t\t\titalic: false,\n\t\t\t\tstrike: false,\n\t\t\t\tcode: false,\n\t\t\t\theading: false,\n\t\t\t\tbulletList: false,\n\t\t\t\torderedList: false,\n\t\t\t\tblockquote: false,\n\t\t\t\thorizontalRule: false,\n\t\t\t}),\n\t\t\tPlaceholder.configure({\n\t\t\t\tplaceholder: config.placeholder ?? '{\\n \\n}',\n\t\t\t}),\n\t\t\tJsonHighlightExtension,\n\t\t\tSendShortcutExtension.configure({\n\t\t\t\tonSend: config.onSend,\n\t\t\t\tsendShortcut: config.sendShortcut,\n\t\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t\t}),\n\t\t\t...(config.maxCharacters\n\t\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t\t: []),\n\t\t];\n\t}\n\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\t// Block javascript:/data:/vbscript: hrefs. TipTap keeps the href\n\t\t\t// attribute verbatim, so scheme validation must live here.\n\t\t\tisAllowedUri: (url) => isAllowedLinkUrl(url),\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t// Strip HTML tags from typed text.\n\t\t// Non-email (WhatsApp, IG, private note): strip ALL tags.\n\t\t// Email (richPaste): strip only dangerous tags (script, iframe, form, etc.)\n\t\t// while preserving legitimate email tags (h1, table, div, etc.).\n\t\tHtmlTagStripExtension.configure({ stripAll: !hasRichPaste }),\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t...(config.characterLimit\n\t\t\t? [CharacterLimitExtension.configure({ limit: config.characterLimit })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","StarterKit","Placeholder","JsonHighlightExtension","SendShortcutExtension","CharacterCount","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","Underline","Link","url","isAllowedLinkUrl","TextStyle","PasteExtension","PasteNormalizationExtension","VariableDecorationExtension","HtmlTagStripExtension","CharacterLimitExtension","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"+7CAkFO,SAASA,EAAgBC,EAAyB,CAIxD,GAAIA,EAAO,UAAU,SACpB,MAAO,CACNC,EAAAA,QAAW,UAAU,CACpB,KAAM,GACN,UAAW,GAGX,KAAM,GACN,OAAQ,GACR,OAAQ,GACR,KAAM,GACN,QAAS,GACT,WAAY,GACZ,YAAa,GACb,WAAY,GACZ,eAAgB,EAAA,CAChB,EACDC,EAAAA,QAAY,UAAU,CACrB,YAAaF,EAAO,aAAe;AAAA;AAAA,EAAA,CACnC,EACDG,EAAAA,uBACAC,EAAAA,sBAAsB,UAAU,CAC/B,OAAQJ,EAAO,OACf,aAAcA,EAAO,aACrB,eAAgBA,EAAO,WAAa,CAAA,CAAC,CACrC,EACD,GAAIA,EAAO,cACR,CAACK,UAAe,UAAU,CAAE,MAAOL,EAAO,aAAA,CAAe,CAAC,EAC1D,CAAA,CAAC,EAIN,MAAMM,EAAeN,EAAO,UAAU,WAAa,GAC7CO,EAAoBP,EAAO,UAAU,gBAAkB,GAKvDQ,EAAeR,EAAO,UAAU,aAChCS,EAAUC,GACf,CAACF,GAAgBA,EAAa,SAASE,CAAC,EAOnCC,EAAYC,EAAAA,QAAU,OAAO,CAClC,sBAAuB,CACtB,MAAO,CACN,cAAe,IAAM,KAAK,OAAO,SAAS,aAAA,CAAa,CAEzD,CAAA,CACA,EAWKC,EAAaC,GAClBA,IAAM,KAAOA,IAAM,OAASA,IAAM,OAASA,IAAM,MAC5CC,EAAsBC,EAAAA,QAAU,OAAO,CAC5C,eAAgB,CACf,MAAO,CACN,GAAI,KAAK,SAAA,GAAc,CAAA,EACvB,OAAQ,CACP,QAAS,KACT,UAAYC,GACXJ,EAAUI,EAAG,MAAM,SAAS,GAAKJ,EAAUI,EAAG,MAAM,YAAY,EAC7D,IACA,KACJ,WAAaC,GACZA,EAAM,SAAW,IAAM,CAAE,MAAO,eAAkB,CAAA,CAAC,CACrD,CAEF,CAAA,CACA,EAEKC,EAAO,CAIZlB,EAAAA,QAAW,UAAU,CACpB,KAAM,GACN,UAAW,GACX,UAAW,GACX,UAAW,GACX,KAAMQ,EAAO,MAAM,EAAI,CAAA,EAAK,GAC5B,OAAQA,EAAO,QAAQ,EAAI,CAAA,EAAK,GAChC,OAAQA,EAAO,QAAQ,EAAI,CAAA,EAAK,GAChC,KAAMA,EAAO,MAAM,EAAI,GAAK,EAAA,CAC5B,EACDM,EACAJ,EACA,GAAIF,EAAO,WAAW,EAAI,CAACW,EAAAA,OAAS,EAAI,CAAA,EAGxCC,EAAAA,QAAK,OAAO,CACX,cAAe,IAAM,CAAA,EACrB,cAAe,IAAM,CAAA,CAAC,CACtB,EAAE,UAAU,CACZ,YAAa,GACb,SAAU,GACV,YAAa,GAGb,aAAeC,GAAQC,EAAAA,iBAAiBD,CAAG,EAC3C,eAAgB,CACf,IAAK,sBACL,MAAO,UAAA,CACR,CACA,EACDE,EAAAA,UACAtB,EAAAA,QAAY,UAAU,CACrB,YAAaF,EAAO,aAAe,mBAAA,CACnC,EAID,GAAIA,EAAO,QACR,CAACyB,EAAAA,eAAe,UAAU,CAAE,QAASzB,EAAO,QAAS,CAAC,EACtD,CAAA,EACH0B,EAAAA,4BAA4B,UAAU,CACrC,cAAepB,EAIf,UAAW,CAACA,CAAA,CACZ,EACDF,EAAAA,sBAAsB,UAAU,CAC/B,OAAQJ,EAAO,OACf,aAAcA,EAAO,aACrB,eAAgBA,EAAO,WAAa,CAAA,CAAC,CACrC,EACD2B,EAAAA,4BAKAC,EAAAA,sBAAsB,UAAU,CAAE,SAAU,CAACtB,EAAc,EAC3D,GAAIN,EAAO,cACR,CAACK,EAAAA,QAAe,UAAU,CAAE,MAAOL,EAAO,cAAe,CAAC,EAC1D,CAAA,EACH,GAAIA,EAAO,eACR,CAAC6B,EAAAA,wBAAwB,UAAU,CAAE,MAAO7B,EAAO,eAAgB,CAAC,EACpE,CAAA,EAKH8B,EAAAA,kBAAA,EAGKC,EAAoB,CACzB,GAAI/B,EAAO,UAAU,OAClB,CACAgC,EAAAA,2BACChC,EAAO,SAAS,OAChBA,EAAO,kBACPA,EAAO,kBACPA,EAAO,sBACPA,EAAO,6BAAA,CACR,EAEA,CAAA,EACH,GAAIA,EAAO,UAAU,MAClB,CACAiC,EAAAA,0BACCjC,EAAO,SAAS,MAChBA,EAAO,kBACPA,EAAO,kBACPA,EAAO,sBACPA,EAAO,6BAAA,CACR,EAEA,CAAA,EACH,GAAIA,EAAO,cACR,CACAkC,EAAAA,2BACClC,EAAO,cACPA,EAAO,uBACPA,EAAO,uBACPA,EAAO,0BAAA,CACR,EAEA,CAAA,CAAC,EAGCmC,EAAiB5B,EACpB,CACA6B,EAAAA,QACAC,EAAAA,QAAU,UAAU,CAAE,WAAY,GAAM,EACxCC,EAAAA,QACAC,EAAAA,kBACAC,EAAAA,QAAU,UAAU,CAAE,MAAO,CAAC,UAAW,WAAW,EAAG,EACvDC,EAAAA,QACAC,EAAAA,QACAC,EAAAA,OAAA,EAEA,CAACP,EAAAA,OAAK,EAET,MAAO,CAAC,GAAGjB,EAAM,GAAGY,EAAmB,GAAGI,CAAc,CACzD"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../node_modules/@tiptap/core/dist/index.js"),u=require("@tiptap/pm/state"),r=/<\/?[a-zA-Z][a-zA-Z0-9]*(?:\s[^>]*)?\/?>/g,m=c.Extension.create({name:"htmlTagStrip",addProseMirrorPlugins(){return[new u.Plugin({appendTransaction(p,o,n){if(!p.some(t=>t.docChanged))return null;const{tr:e}=n;let s=!1;return n.doc.descendants((t,a)=>{if(!t.isText||!t.text||(r.lastIndex=0,!r.test(t.text)))return;r.lastIndex=0;const i=t.text.replace(r,"");if(i===t.text)return;const l=a+t.nodeSize;i?e.replaceWith(e.mapping.map(a),e.mapping.map(l),n.schema.text(i,t.marks)):e.delete(e.mapping.map(a),e.mapping.map(l)),s=!0}),s?(e.setMeta("addToHistory",!1),e):null}})]}});exports.HtmlTagStripExtension=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../../node_modules/@tiptap/core/dist/index.js"),d=require("@tiptap/pm/state"),r=/<\/?[a-zA-Z][a-zA-Z0-9]*(?:\s[^>]*)?\/?>/g,g=new Set(["script","iframe","object","embed","applet","form","input","button","select","option","textarea","style","link","meta","base","svg","math","noscript","template"]),f=/<\/?([a-zA-Z][a-zA-Z0-9]*)/;function x(s){const n=s.match(f);return n?g.has(n[1].toLowerCase()):!1}const A=m.Extension.create({name:"htmlTagStrip",addOptions(){return{stripAll:!0}},addProseMirrorPlugins(){const{stripAll:s}=this.options,n=s?()=>!0:a=>x(a);return[new d.Plugin({appendTransaction(a,T,i){if(!a.some(t=>t.docChanged))return null;const{tr:e}=i;let p=!1;return i.doc.descendants((t,o)=>{if(!t.isText||!t.text||(r.lastIndex=0,!r.test(t.text)))return;r.lastIndex=0;const l=t.text.replace(r,u=>n(u)?"":u);if(l===t.text)return;const c=o+t.nodeSize;l?e.replaceWith(e.mapping.map(o),e.mapping.map(c),i.schema.text(l,t.marks)):e.delete(e.mapping.map(o),e.mapping.map(c)),p=!0}),p?(e.setMeta("addToHistory",!1),e):null}})]}});exports.HtmlTagStripExtension=A;
2
2
  //# sourceMappingURL=HtmlTagStripExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlTagStripExtension.js","sources":["../../../../../src/editor/extensions/htmlTagStrip/HtmlTagStripExtension.ts"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin } from '@tiptap/pm/state';\n\nconst COMPLETE_TAG = /<\\/?[a-zA-Z][a-zA-Z0-9]*(?:\\s[^>]*)?\\/?>/g;\n\n/**\n * Strips complete HTML tags from typed text in real time.\n *\n * Enabled for non-email channels (WhatsApp, IG, private note, etc.) where\n * HTML has no meaning. When the user types `<h1>Hello</h1>`, the tags are\n * removed as soon as the closing `>` completes each tag, leaving just `Hello`.\n *\n * Incomplete tags like `<h` are preserved (the regex requires a closing `>`).\n * Non-tag angle brackets like `2 < 3` are also preserved.\n *\n * Uses `appendTransaction` so the strip happens in the same undo step as\n * the keystroke Cmd+Z undoes both the tag and the strip together.\n */\nexport const HtmlTagStripExtension = Extension.create({\n\tname: 'htmlTagStrip',\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tappendTransaction(transactions, _oldState, newState) {\n\t\t\t\t\tif (!transactions.some((t) => t.docChanged)) return null;\n\n\t\t\t\t\tconst { tr } = newState;\n\t\t\t\t\tlet changed = false;\n\n\t\t\t\t\tnewState.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (!node.isText || !node.text) return;\n\t\t\t\t\t\tCOMPLETE_TAG.lastIndex = 0;\n\t\t\t\t\t\tif (!COMPLETE_TAG.test(node.text)) return;\n\n\t\t\t\t\t\tCOMPLETE_TAG.lastIndex = 0;\n\t\t\t\t\t\tconst stripped = node.text.replace(COMPLETE_TAG, '');\n\t\t\t\t\t\tif (stripped === node.text) return;\n\n\t\t\t\t\t\tconst end = pos + node.nodeSize;\n\t\t\t\t\t\tif (stripped) {\n\t\t\t\t\t\t\ttr.replaceWith(\n\t\t\t\t\t\t\t\ttr.mapping.map(pos),\n\t\t\t\t\t\t\t\ttr.mapping.map(end),\n\t\t\t\t\t\t\t\tnewState.schema.text(stripped, node.marks),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttr.delete(tr.mapping.map(pos), tr.mapping.map(end));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!changed) return null;\n\t\t\t\t\ttr.setMeta('addToHistory', false);\n\t\t\t\t\treturn tr;\n\t\t\t\t},\n\t\t\t}),\n\t\t];\n\t},\n});\n"],"names":["COMPLETE_TAG","HtmlTagStripExtension","Extension","Plugin","transactions","_oldState","newState","tr","changed","node","pos","stripped","end"],"mappings":"kLAGMA,EAAe,4CAeRC,EAAwBC,EAAAA,UAAU,OAAO,CACrD,KAAM,eACN,uBAAwB,CACvB,MAAO,CACN,IAAIC,SAAO,CACV,kBAAkBC,EAAcC,EAAWC,EAAU,CACpD,GAAI,CAACF,EAAa,KAAM,GAAM,EAAE,UAAU,EAAG,OAAO,KAEpD,KAAM,CAAE,GAAAG,GAAOD,EACf,IAAIE,EAAU,GAwBd,OAtBAF,EAAS,IAAI,YAAY,CAACG,EAAMC,IAAQ,CAGvC,GAFI,CAACD,EAAK,QAAU,CAACA,EAAK,OAC1BT,EAAa,UAAY,EACrB,CAACA,EAAa,KAAKS,EAAK,IAAI,GAAG,OAEnCT,EAAa,UAAY,EACzB,MAAMW,EAAWF,EAAK,KAAK,QAAQT,EAAc,EAAE,EACnD,GAAIW,IAAaF,EAAK,KAAM,OAE5B,MAAMG,EAAMF,EAAMD,EAAK,SACnBE,EACHJ,EAAG,YACFA,EAAG,QAAQ,IAAIG,CAAG,EAClBH,EAAG,QAAQ,IAAIK,CAAG,EAClBN,EAAS,OAAO,KAAKK,EAAUF,EAAK,KAAK,CAAA,EAG1CF,EAAG,OAAOA,EAAG,QAAQ,IAAIG,CAAG,EAAGH,EAAG,QAAQ,IAAIK,CAAG,CAAC,EAEnDJ,EAAU,EACX,CAAC,EAEIA,GACLD,EAAG,QAAQ,eAAgB,EAAK,EACzBA,GAFc,IAGtB,CAAA,CACA,CAAA,CAEH,CACD,CAAC"}
1
+ {"version":3,"file":"HtmlTagStripExtension.js","sources":["../../../../../src/editor/extensions/htmlTagStrip/HtmlTagStripExtension.ts"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin } from '@tiptap/pm/state';\n\nconst COMPLETE_TAG = /<\\/?[a-zA-Z][a-zA-Z0-9]*(?:\\s[^>]*)?\\/?>/g;\n\n// Tags that have no business in an email — stripped even in rich-paste mode.\nconst DANGEROUS_TAG_NAMES = new Set([\n\t'script',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'applet',\n\t'form',\n\t'input',\n\t'button',\n\t'select',\n\t'option',\n\t'textarea',\n\t'style',\n\t'link',\n\t'meta',\n\t'base',\n\t'svg',\n\t'math',\n\t'noscript',\n\t'template',\n]);\n\nconst TAG_NAME_RE = /<\\/?([a-zA-Z][a-zA-Z0-9]*)/;\n\nfunction isDangerousTag(tag: string): boolean {\n\tconst m = tag.match(TAG_NAME_RE);\n\treturn m ? DANGEROUS_TAG_NAMES.has(m[1].toLowerCase()) : false;\n}\n\n/**\n * Strips HTML tags from typed text in real time.\n *\n * Two modes controlled by `stripAll`:\n * - `true` (non-email): strip ALL complete tags `<h1>Hello</h1>` → `Hello`\n * - `false` (email): strip only DANGEROUS tags `<script>`, `<iframe>`,\n * `<form>`, etc. while preserving legitimate email tags like `<h1>`, `<table>`\n *\n * Incomplete tags like `<h` are preserved (the regex requires a closing `>`).\n * Non-tag angle brackets like `2 < 3` are also preserved.\n */\nexport const HtmlTagStripExtension = Extension.create({\n\tname: 'htmlTagStrip',\n\taddOptions() {\n\t\treturn { stripAll: true };\n\t},\n\taddProseMirrorPlugins() {\n\t\tconst { stripAll } = this.options;\n\t\tconst shouldStrip = stripAll\n\t\t\t? () => true\n\t\t\t: (tag: string) => isDangerousTag(tag);\n\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tappendTransaction(transactions, _oldState, newState) {\n\t\t\t\t\tif (!transactions.some((t) => t.docChanged)) return null;\n\n\t\t\t\t\tconst { tr } = newState;\n\t\t\t\t\tlet changed = false;\n\n\t\t\t\t\tnewState.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (!node.isText || !node.text) return;\n\t\t\t\t\t\tCOMPLETE_TAG.lastIndex = 0;\n\t\t\t\t\t\tif (!COMPLETE_TAG.test(node.text)) return;\n\n\t\t\t\t\t\tCOMPLETE_TAG.lastIndex = 0;\n\t\t\t\t\t\tconst stripped = node.text.replace(COMPLETE_TAG, (match) =>\n\t\t\t\t\t\t\tshouldStrip(match) ? '' : match,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (stripped === node.text) return;\n\n\t\t\t\t\t\tconst end = pos + node.nodeSize;\n\t\t\t\t\t\tif (stripped) {\n\t\t\t\t\t\t\ttr.replaceWith(\n\t\t\t\t\t\t\t\ttr.mapping.map(pos),\n\t\t\t\t\t\t\t\ttr.mapping.map(end),\n\t\t\t\t\t\t\t\tnewState.schema.text(stripped, node.marks),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttr.delete(tr.mapping.map(pos), tr.mapping.map(end));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!changed) return null;\n\t\t\t\t\ttr.setMeta('addToHistory', false);\n\t\t\t\t\treturn tr;\n\t\t\t\t},\n\t\t\t}),\n\t\t];\n\t},\n});\n"],"names":["COMPLETE_TAG","DANGEROUS_TAG_NAMES","TAG_NAME_RE","isDangerousTag","tag","m","HtmlTagStripExtension","Extension","stripAll","shouldStrip","Plugin","transactions","_oldState","newState","tr","changed","node","pos","stripped","match","end"],"mappings":"kLAGMA,EAAe,4CAGfC,MAA0B,IAAI,CACnC,SACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,SACA,SACA,WACA,QACA,OACA,OACA,OACA,MACA,OACA,WACA,UACD,CAAC,EAEKC,EAAc,6BAEpB,SAASC,EAAeC,EAAsB,CAC7C,MAAMC,EAAID,EAAI,MAAMF,CAAW,EAC/B,OAAOG,EAAIJ,EAAoB,IAAII,EAAE,CAAC,EAAE,YAAA,CAAa,EAAI,EAC1D,CAaO,MAAMC,EAAwBC,EAAAA,UAAU,OAAO,CACrD,KAAM,eACN,YAAa,CACZ,MAAO,CAAE,SAAU,EAAA,CACpB,EACA,uBAAwB,CACvB,KAAM,CAAE,SAAAC,GAAa,KAAK,QACpBC,EAAcD,EACjB,IAAM,GACLJ,GAAgBD,EAAeC,CAAG,EAEtC,MAAO,CACN,IAAIM,SAAO,CACV,kBAAkBC,EAAcC,EAAWC,EAAU,CACpD,GAAI,CAACF,EAAa,KAAM,GAAM,EAAE,UAAU,EAAG,OAAO,KAEpD,KAAM,CAAE,GAAAG,GAAOD,EACf,IAAIE,EAAU,GA0Bd,OAxBAF,EAAS,IAAI,YAAY,CAACG,EAAMC,IAAQ,CAGvC,GAFI,CAACD,EAAK,QAAU,CAACA,EAAK,OAC1BhB,EAAa,UAAY,EACrB,CAACA,EAAa,KAAKgB,EAAK,IAAI,GAAG,OAEnChB,EAAa,UAAY,EACzB,MAAMkB,EAAWF,EAAK,KAAK,QAAQhB,EAAemB,GACjDV,EAAYU,CAAK,EAAI,GAAKA,CAAA,EAE3B,GAAID,IAAaF,EAAK,KAAM,OAE5B,MAAMI,EAAMH,EAAMD,EAAK,SACnBE,EACHJ,EAAG,YACFA,EAAG,QAAQ,IAAIG,CAAG,EAClBH,EAAG,QAAQ,IAAIM,CAAG,EAClBP,EAAS,OAAO,KAAKK,EAAUF,EAAK,KAAK,CAAA,EAG1CF,EAAG,OAAOA,EAAG,QAAQ,IAAIG,CAAG,EAAGH,EAAG,QAAQ,IAAIM,CAAG,CAAC,EAEnDL,EAAU,EACX,CAAC,EAEIA,GACLD,EAAG,QAAQ,eAAgB,EAAK,EACzBA,GAFc,IAGtB,CAAA,CACA,CAAA,CAEH,CACD,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("dompurify"),i=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},e=i(o),l=()=>typeof window<"u",r=/<\/?[^>]+(>|$)/g,c=new Set(["https:","mailto:","tel:"]),u=new Set(["https:","data:"]),s=(t,a)=>{if(!t)return null;try{const n=new URL(t,"https://bik.local");return a.has(n.protocol)?t:null}catch{return null}},d=t=>s(t,c)!==null,f=t=>s(t,u)!==null,A=/<\/?[a-zA-Z][a-zA-Z0-9]*(?:\s[^>]*)?\/?>/g,L=t=>t?t.replace(A,""):"",O=/^[=+\-@\t\r]/,T=t=>t?O.test(t)?`'${t}`:t:"",_=t=>t?l()?e.default.sanitize(t,{ALLOWED_TAGS:[],ALLOWED_ATTR:[],KEEP_CONTENT:!0}):t.replace(r,""):"",g=t=>t?l()?e.default.sanitize(t,{ALLOWED_TAGS:["p","br","b","strong","i","em","u","s","span","a","ul","ol","li","blockquote"],ALLOWED_ATTR:["href","target","rel","class"],FORBID_TAGS:["style"],FORBID_ATTR:["style"],ALLOWED_URI_REGEXP:/^(?:https|mailto|tel):/i}):t.replace(r,""):"",h=t=>t?l()?e.default.sanitize(t,{ALLOWED_TAGS:["p","br","div","span","strong","b","em","i","u","s","ul","ol","li","blockquote","h1","h2","h3","h4","h5","h6","a","img","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col","center","font","hr","pre","code","sub","sup","small","big","figure","figcaption","section","article","header","footer","abbr","cite","mark","del","ins"],ALLOWED_ATTR:["href","target","rel","src","alt","title","width","height","style","class","align","valign","colspan","rowspan","cellpadding","cellspacing","border","color","bgcolor"],ALLOW_UNKNOWN_PROTOCOLS:!1}):t.replace(r,""):"";exports.escapeFormulaInjection=T;exports.isAllowedImageUrl=f;exports.isAllowedLinkUrl=d;exports.isAllowedUrl=s;exports.sanitizeBasicHtml=g;exports.sanitizeEmailHtml=h;exports.sanitizePlainText=_;exports.stripHtmlTags=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("dompurify"),u=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},i=u(f),l=()=>typeof window<"u",n=/<\/?[^>]+(>|$)/g,p=new Set(["https:","mailto:","tel:"]),g=new Set(["https:","data:"]),a=(t,e)=>{if(!t)return null;try{const r=new URL(t,"https://bik.local");return e.has(r.protocol)?t:null}catch{return null}},m=t=>a(t,p)!==null,b=t=>a(t,g)!==null,h=/<\/?[a-zA-Z][a-zA-Z0-9]*(?:\s[^>]*)?\/?>/g,A=t=>t?t.replace(h,""):"",O=/^[=+\-@\t\r]/,L=t=>t?O.test(t)?`'${t}`:t:"",w=t=>t?l()?i.default.sanitize(t,{ALLOWED_TAGS:[],ALLOWED_ATTR:[],KEEP_CONTENT:!0}):t.replace(n,""):"",_=t=>t?l()?i.default.sanitize(t,{ALLOWED_TAGS:["p","br","b","strong","i","em","u","s","span","a","ul","ol","li","blockquote"],ALLOWED_ATTR:["href","target","rel","class"],FORBID_TAGS:["style"],FORBID_ATTR:["style"],ALLOWED_URI_REGEXP:/^(?:https|mailto|tel):/i}):t.replace(n,""):"",T=new Set(["color","background-color","background","font-family","font-size","font-weight","font-style","font-variant","font","line-height","letter-spacing","word-spacing","text-align","text-decoration","text-transform","text-indent","vertical-align","white-space","word-wrap","word-break","overflow-wrap","direction","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-collapse","border-spacing","border-radius","width","min-width","max-width","height","min-height","max-height","display","visibility","opacity","float","clear","overflow","overflow-x","overflow-y","table-layout","list-style","list-style-type","list-style-position","box-sizing"]),E=/url\s*\(|expression\s*\(|-moz-binding|behavior\s*:|@import|javascript:|data:/i,d=t=>t.split(";").map(e=>e.trim()).filter(e=>{if(!e)return!1;const r=e.indexOf(":");if(r<0)return!1;const s=e.slice(0,r).trim().toLowerCase(),o=e.slice(r+1).trim();return T.has(s)&&!E.test(o)}).join("; "),y=t=>{if(!t)return"";if(!l())return t.replace(n,"");const e=(s,o)=>{if(o.attrName!=="style")return;const c=d(o.attrValue);c?o.attrValue=c:o.keepAttr=!1};i.default.addHook("uponSanitizeAttribute",e);const r=i.default.sanitize(t,{ALLOWED_TAGS:["p","br","div","span","strong","b","em","i","u","s","ul","ol","li","blockquote","h1","h2","h3","h4","h5","h6","a","img","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col","center","font","hr","pre","code","sub","sup","small","big","figure","figcaption","section","article","header","footer","abbr","cite","mark","del","ins"],ALLOWED_ATTR:["href","target","rel","src","alt","title","width","height","style","class","align","valign","colspan","rowspan","cellpadding","cellspacing","border","color","bgcolor"],ALLOW_UNKNOWN_PROTOCOLS:!1});return i.default.removeHook("uponSanitizeAttribute"),r};exports.escapeFormulaInjection=L;exports.isAllowedImageUrl=b;exports.isAllowedLinkUrl=m;exports.isAllowedUrl=a;exports.sanitizeBasicHtml=_;exports.sanitizeCssProperties=d;exports.sanitizeEmailHtml=y;exports.sanitizePlainText=w;exports.stripHtmlTags=A;
2
2
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sources":["../../../src/helpers/sanitize.ts"],"sourcesContent":["import DOMPurify from 'dompurify';\n\n/**\n * Central HTML/CSS-injection sanitisation for the component library.\n *\n * Two categories:\n *\n * INPUT layer (onChange) — strips tags, keeps plain text:\n * - stripHtmlTags: remove every HTML tag, return raw text\n * - escapeFormulaInjection: prefix CSV-dangerous leading chars with '\n *\n * RENDER layer (dangerouslySetInnerHTML / innerHTML) — DOMPurify-based:\n * - sanitizePlainText: ALLOWED_TAGS: [] (for sinks that must show plain text)\n * - sanitizeBasicHtml: formatting allowlist (chat bubbles, rich previews)\n * - sanitizeEmailHtml: full email allowlist (tables, images, inline style)\n */\n\nconst hasDOM = (): boolean => typeof window !== 'undefined';\n\nconst REGEX_TAG_STRIP = /<\\/?[^>]+(>|$)/g;\n\nconst ALLOWED_LINK_PROTOCOLS = new Set(['https:', 'mailto:', 'tel:']);\nconst ALLOWED_IMG_PROTOCOLS = new Set(['https:', 'data:']);\n\nexport const isAllowedUrl = (\n\turl: string | null | undefined,\n\tallowed: Set<string>,\n): string | null => {\n\tif (!url) return null;\n\ttry {\n\t\tconst parsed = new URL(url, 'https://bik.local');\n\t\treturn allowed.has(parsed.protocol) ? url : null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const isAllowedLinkUrl = (url?: string | null): boolean =>\n\tisAllowedUrl(url, ALLOWED_LINK_PROTOCOLS) !== null;\n\nexport const isAllowedImageUrl = (url?: string | null): boolean =>\n\tisAllowedUrl(url, ALLOWED_IMG_PROTOCOLS) !== null;\n\n// ---------------------------------------------------------------------------\n// INPUT layer — for onChange handlers on plain-text inputs\n// ---------------------------------------------------------------------------\n\n/**\n * Strip complete HTML tags from the input, return the raw text content.\n * Uses a regex that only matches tags with both < and >, so partial input\n * like \"<h\" while typing is preserved (no closing >, not a tag yet).\n *\n * \"<h1>Hello</h1>\" → \"Hello\"\n * \"<h\" → \"<h\" (incomplete, kept)\n * \"2 < 3\" → \"2 < 3\"\n * \"<script>x</script>\" → \"x\"\n */\nconst COMPLETE_TAG = /<\\/?[a-zA-Z][a-zA-Z0-9]*(?:\\s[^>]*)?\\/?>/g;\n\nexport const stripHtmlTags = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\treturn input.replace(COMPLETE_TAG, '');\n};\n\nconst CSV_FORMULA_PREFIX = /^[=+\\-@\\t\\r]/;\n\n/**\n * Escape CSV/Excel formula injection. Prefixes values starting with a\n * formula-triggering character (=, +, -, @, tab, CR) with a single quote\n * so spreadsheet software treats them as literal text.\n */\nexport const escapeFormulaInjection = (\n\tinput: string | null | undefined,\n): string => {\n\tif (!input) return '';\n\treturn CSV_FORMULA_PREFIX.test(input) ? `'${input}` : input;\n};\n\n// ---------------------------------------------------------------------------\n// RENDER layer — for dangerouslySetInnerHTML / innerHTML sinks\n// ---------------------------------------------------------------------------\n\n/**\n * Render-safe plain text. Strips every tag and returns safe HTML (with\n * entities). Use at render sinks that must show plain text via innerHTML.\n * For input onChange, use stripHtmlTags instead.\n */\nexport const sanitizePlainText = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\treturn DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [],\n\t\tALLOWED_ATTR: [],\n\t\tKEEP_CONTENT: true,\n\t});\n};\n\n/**\n * Basic rich text. A small formatting allowlist; no style tag/attr, links\n * restricted to safe protocols.\n */\nexport const sanitizeBasicHtml = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\treturn DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [\n\t\t\t'p',\n\t\t\t'br',\n\t\t\t'b',\n\t\t\t'strong',\n\t\t\t'i',\n\t\t\t'em',\n\t\t\t'u',\n\t\t\t's',\n\t\t\t'span',\n\t\t\t'a',\n\t\t\t'ul',\n\t\t\t'ol',\n\t\t\t'li',\n\t\t\t'blockquote',\n\t\t],\n\t\tALLOWED_ATTR: ['href', 'target', 'rel', 'class'],\n\t\tFORBID_TAGS: ['style'],\n\t\tFORBID_ATTR: ['style'],\n\t\tALLOWED_URI_REGEXP: /^(?:https|mailto|tel):/i,\n\t});\n};\n\n/**\n * Full rich text / inbound email HTML. Allowlist of tags and attributes an\n * email needs to render; everything else is stripped.\n */\nexport const sanitizeEmailHtml = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\treturn DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [\n\t\t\t'p',\n\t\t\t'br',\n\t\t\t'div',\n\t\t\t'span',\n\t\t\t'strong',\n\t\t\t'b',\n\t\t\t'em',\n\t\t\t'i',\n\t\t\t'u',\n\t\t\t's',\n\t\t\t'ul',\n\t\t\t'ol',\n\t\t\t'li',\n\t\t\t'blockquote',\n\t\t\t'h1',\n\t\t\t'h2',\n\t\t\t'h3',\n\t\t\t'h4',\n\t\t\t'h5',\n\t\t\t'h6',\n\t\t\t'a',\n\t\t\t'img',\n\t\t\t'table',\n\t\t\t'thead',\n\t\t\t'tbody',\n\t\t\t'tfoot',\n\t\t\t'tr',\n\t\t\t'th',\n\t\t\t'td',\n\t\t\t'caption',\n\t\t\t'colgroup',\n\t\t\t'col',\n\t\t\t'center',\n\t\t\t'font',\n\t\t\t'hr',\n\t\t\t'pre',\n\t\t\t'code',\n\t\t\t'sub',\n\t\t\t'sup',\n\t\t\t'small',\n\t\t\t'big',\n\t\t\t'figure',\n\t\t\t'figcaption',\n\t\t\t'section',\n\t\t\t'article',\n\t\t\t'header',\n\t\t\t'footer',\n\t\t\t'abbr',\n\t\t\t'cite',\n\t\t\t'mark',\n\t\t\t'del',\n\t\t\t'ins',\n\t\t],\n\t\tALLOWED_ATTR: [\n\t\t\t'href',\n\t\t\t'target',\n\t\t\t'rel',\n\t\t\t'src',\n\t\t\t'alt',\n\t\t\t'title',\n\t\t\t'width',\n\t\t\t'height',\n\t\t\t'style',\n\t\t\t'class',\n\t\t\t'align',\n\t\t\t'valign',\n\t\t\t'colspan',\n\t\t\t'rowspan',\n\t\t\t'cellpadding',\n\t\t\t'cellspacing',\n\t\t\t'border',\n\t\t\t'color',\n\t\t\t'bgcolor',\n\t\t],\n\t\tALLOW_UNKNOWN_PROTOCOLS: false,\n\t});\n};\n"],"names":["hasDOM","REGEX_TAG_STRIP","ALLOWED_LINK_PROTOCOLS","ALLOWED_IMG_PROTOCOLS","isAllowedUrl","url","allowed","parsed","isAllowedLinkUrl","isAllowedImageUrl","COMPLETE_TAG","stripHtmlTags","input","CSV_FORMULA_PREFIX","escapeFormulaInjection","sanitizePlainText","DOMPurify","sanitizeBasicHtml","sanitizeEmailHtml"],"mappings":"4KAiBMA,EAAS,IAAe,OAAO,OAAW,IAE1CC,EAAkB,kBAElBC,EAAyB,IAAI,IAAI,CAAC,SAAU,UAAW,MAAM,CAAC,EAC9DC,EAAwB,IAAI,IAAI,CAAC,SAAU,OAAO,CAAC,EAE5CC,EAAe,CAC3BC,EACAC,IACmB,CACnB,GAAI,CAACD,EAAK,OAAO,KACjB,GAAI,CACH,MAAME,EAAS,IAAI,IAAIF,EAAK,mBAAmB,EAC/C,OAAOC,EAAQ,IAAIC,EAAO,QAAQ,EAAIF,EAAM,IAC7C,MAAQ,CACP,OAAO,IACR,CACD,EAEaG,EAAoBH,GAChCD,EAAaC,EAAKH,CAAsB,IAAM,KAElCO,EAAqBJ,GACjCD,EAAaC,EAAKF,CAAqB,IAAM,KAgBxCO,EAAe,4CAERC,EAAiBC,GACxBA,EACEA,EAAM,QAAQF,EAAc,EAAE,EADlB,GAIdG,EAAqB,eAOdC,EACZF,GAEKA,EACEC,EAAmB,KAAKD,CAAK,EAAI,IAAIA,CAAK,GAAKA,EADnC,GAaPG,EAAqBH,GAC5BA,EACAZ,EAAA,EACEgB,EAAAA,QAAU,SAASJ,EAAO,CAChC,aAAc,CAAA,EACd,aAAc,CAAA,EACd,aAAc,EAAA,CACd,EALqBA,EAAM,QAAQX,EAAiB,EAAE,EADpC,GAaPgB,EAAqBL,GAC5BA,EACAZ,EAAA,EACEgB,EAAAA,QAAU,SAASJ,EAAO,CAChC,aAAc,CACb,IACA,KACA,IACA,SACA,IACA,KACA,IACA,IACA,OACA,IACA,KACA,KACA,KACA,YAAA,EAED,aAAc,CAAC,OAAQ,SAAU,MAAO,OAAO,EAC/C,YAAa,CAAC,OAAO,EACrB,YAAa,CAAC,OAAO,EACrB,mBAAoB,yBAAA,CACpB,EAtBqBA,EAAM,QAAQX,EAAiB,EAAE,EADpC,GA8BPiB,EAAqBN,GAC5BA,EACAZ,EAAA,EACEgB,EAAAA,QAAU,SAASJ,EAAO,CAChC,aAAc,CACb,IACA,KACA,MACA,OACA,SACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,aACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,QACA,QACA,QACA,QACA,KACA,KACA,KACA,UACA,WACA,MACA,SACA,OACA,KACA,MACA,OACA,MACA,MACA,QACA,MACA,SACA,aACA,UACA,UACA,SACA,SACA,OACA,OACA,OACA,MACA,KAAA,EAED,aAAc,CACb,OACA,SACA,MACA,MACA,MACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,UACA,UACA,cACA,cACA,SACA,QACA,SAAA,EAED,wBAAyB,EAAA,CACzB,EA9EqBA,EAAM,QAAQX,EAAiB,EAAE,EADpC"}
1
+ {"version":3,"file":"sanitize.js","sources":["../../../src/helpers/sanitize.ts"],"sourcesContent":["import DOMPurify from 'dompurify';\n\n/**\n * Central HTML/CSS-injection sanitisation for the component library.\n *\n * Two categories:\n *\n * INPUT layer (onChange) — strips tags, keeps plain text:\n * - stripHtmlTags: remove every HTML tag, return raw text\n * - escapeFormulaInjection: prefix CSV-dangerous leading chars with '\n *\n * RENDER layer (dangerouslySetInnerHTML / innerHTML) — DOMPurify-based:\n * - sanitizePlainText: ALLOWED_TAGS: [] (for sinks that must show plain text)\n * - sanitizeBasicHtml: formatting allowlist (chat bubbles, rich previews)\n * - sanitizeEmailHtml: full email allowlist (tables, images, inline style)\n */\n\nconst hasDOM = (): boolean => typeof window !== 'undefined';\n\nconst REGEX_TAG_STRIP = /<\\/?[^>]+(>|$)/g;\n\nconst ALLOWED_LINK_PROTOCOLS = new Set(['https:', 'mailto:', 'tel:']);\nconst ALLOWED_IMG_PROTOCOLS = new Set(['https:', 'data:']);\n\nexport const isAllowedUrl = (\n\turl: string | null | undefined,\n\tallowed: Set<string>,\n): string | null => {\n\tif (!url) return null;\n\ttry {\n\t\tconst parsed = new URL(url, 'https://bik.local');\n\t\treturn allowed.has(parsed.protocol) ? url : null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const isAllowedLinkUrl = (url?: string | null): boolean =>\n\tisAllowedUrl(url, ALLOWED_LINK_PROTOCOLS) !== null;\n\nexport const isAllowedImageUrl = (url?: string | null): boolean =>\n\tisAllowedUrl(url, ALLOWED_IMG_PROTOCOLS) !== null;\n\n// ---------------------------------------------------------------------------\n// INPUT layer — for onChange handlers on plain-text inputs\n// ---------------------------------------------------------------------------\n\n/**\n * Strip complete HTML tags from the input, return the raw text content.\n * Uses a regex that only matches tags with both < and >, so partial input\n * like \"<h\" while typing is preserved (no closing >, not a tag yet).\n *\n * \"<h1>Hello</h1>\" → \"Hello\"\n * \"<h\" → \"<h\" (incomplete, kept)\n * \"2 < 3\" → \"2 < 3\"\n * \"<script>x</script>\" → \"x\"\n */\nconst COMPLETE_TAG = /<\\/?[a-zA-Z][a-zA-Z0-9]*(?:\\s[^>]*)?\\/?>/g;\n\nexport const stripHtmlTags = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\treturn input.replace(COMPLETE_TAG, '');\n};\n\nconst CSV_FORMULA_PREFIX = /^[=+\\-@\\t\\r]/;\n\n/**\n * Escape CSV/Excel formula injection. Prefixes values starting with a\n * formula-triggering character (=, +, -, @, tab, CR) with a single quote\n * so spreadsheet software treats them as literal text.\n */\nexport const escapeFormulaInjection = (\n\tinput: string | null | undefined,\n): string => {\n\tif (!input) return '';\n\treturn CSV_FORMULA_PREFIX.test(input) ? `'${input}` : input;\n};\n\n// ---------------------------------------------------------------------------\n// RENDER layer — for dangerouslySetInnerHTML / innerHTML sinks\n// ---------------------------------------------------------------------------\n\n/**\n * Render-safe plain text. Strips every tag and returns safe HTML (with\n * entities). Use at render sinks that must show plain text via innerHTML.\n * For input onChange, use stripHtmlTags instead.\n */\nexport const sanitizePlainText = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\treturn DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [],\n\t\tALLOWED_ATTR: [],\n\t\tKEEP_CONTENT: true,\n\t});\n};\n\n/**\n * Basic rich text. A small formatting allowlist; no style tag/attr, links\n * restricted to safe protocols.\n */\nexport const sanitizeBasicHtml = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\treturn DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [\n\t\t\t'p',\n\t\t\t'br',\n\t\t\t'b',\n\t\t\t'strong',\n\t\t\t'i',\n\t\t\t'em',\n\t\t\t'u',\n\t\t\t's',\n\t\t\t'span',\n\t\t\t'a',\n\t\t\t'ul',\n\t\t\t'ol',\n\t\t\t'li',\n\t\t\t'blockquote',\n\t\t],\n\t\tALLOWED_ATTR: ['href', 'target', 'rel', 'class'],\n\t\tFORBID_TAGS: ['style'],\n\t\tFORBID_ATTR: ['style'],\n\t\tALLOWED_URI_REGEXP: /^(?:https|mailto|tel):/i,\n\t});\n};\n\n// CSS properties safe for email rendering. Everything else is stripped from\n// inline style attributes to block position-overlay, url()-exfiltration,\n// expression(), and -moz-binding attacks.\nconst SAFE_CSS_PROPERTIES = new Set([\n\t'color',\n\t'background-color',\n\t'background',\n\t'font-family',\n\t'font-size',\n\t'font-weight',\n\t'font-style',\n\t'font-variant',\n\t'font',\n\t'line-height',\n\t'letter-spacing',\n\t'word-spacing',\n\t'text-align',\n\t'text-decoration',\n\t'text-transform',\n\t'text-indent',\n\t'vertical-align',\n\t'white-space',\n\t'word-wrap',\n\t'word-break',\n\t'overflow-wrap',\n\t'direction',\n\t'margin',\n\t'margin-top',\n\t'margin-right',\n\t'margin-bottom',\n\t'margin-left',\n\t'padding',\n\t'padding-top',\n\t'padding-right',\n\t'padding-bottom',\n\t'padding-left',\n\t'border',\n\t'border-top',\n\t'border-right',\n\t'border-bottom',\n\t'border-left',\n\t'border-width',\n\t'border-style',\n\t'border-color',\n\t'border-collapse',\n\t'border-spacing',\n\t'border-radius',\n\t'width',\n\t'min-width',\n\t'max-width',\n\t'height',\n\t'min-height',\n\t'max-height',\n\t'display',\n\t'visibility',\n\t'opacity',\n\t'float',\n\t'clear',\n\t'overflow',\n\t'overflow-x',\n\t'overflow-y',\n\t'table-layout',\n\t'list-style',\n\t'list-style-type',\n\t'list-style-position',\n\t'box-sizing',\n]);\n\n// Values that indicate CSS injection attempts regardless of property.\nconst DANGEROUS_CSS_VALUE =\n\t/url\\s*\\(|expression\\s*\\(|-moz-binding|behavior\\s*:|@import|javascript:|data:/i;\n\n/**\n * Filter an inline style string to only safe CSS properties with safe values.\n * Returns the cleaned style string (empty string if nothing survives).\n */\nexport const sanitizeCssProperties = (style: string): string => {\n\treturn style\n\t\t.split(';')\n\t\t.map((decl) => decl.trim())\n\t\t.filter((decl) => {\n\t\t\tif (!decl) return false;\n\t\t\tconst colonIdx = decl.indexOf(':');\n\t\t\tif (colonIdx < 0) return false;\n\t\t\tconst prop = decl.slice(0, colonIdx).trim().toLowerCase();\n\t\t\tconst value = decl.slice(colonIdx + 1).trim();\n\t\t\treturn SAFE_CSS_PROPERTIES.has(prop) && !DANGEROUS_CSS_VALUE.test(value);\n\t\t})\n\t\t.join('; ');\n};\n\n/**\n * Full rich text / inbound email HTML. Allowlist of tags and attributes an\n * email needs to render; everything else is stripped. Inline style attributes\n * are filtered to a safe CSS property allowlist.\n */\nexport const sanitizeEmailHtml = (input: string | null | undefined): string => {\n\tif (!input) return '';\n\tif (!hasDOM()) return input.replace(REGEX_TAG_STRIP, '');\n\n\tconst hook = (\n\t\t_node: Element,\n\t\tdata: { attrName: string; attrValue: string; keepAttr: boolean },\n\t) => {\n\t\tif (data.attrName !== 'style') return;\n\t\tconst clean = sanitizeCssProperties(data.attrValue);\n\t\tif (clean) {\n\t\t\tdata.attrValue = clean;\n\t\t} else {\n\t\t\tdata.keepAttr = false;\n\t\t}\n\t};\n\tDOMPurify.addHook('uponSanitizeAttribute', hook);\n\n\tconst result = DOMPurify.sanitize(input, {\n\t\tALLOWED_TAGS: [\n\t\t\t'p',\n\t\t\t'br',\n\t\t\t'div',\n\t\t\t'span',\n\t\t\t'strong',\n\t\t\t'b',\n\t\t\t'em',\n\t\t\t'i',\n\t\t\t'u',\n\t\t\t's',\n\t\t\t'ul',\n\t\t\t'ol',\n\t\t\t'li',\n\t\t\t'blockquote',\n\t\t\t'h1',\n\t\t\t'h2',\n\t\t\t'h3',\n\t\t\t'h4',\n\t\t\t'h5',\n\t\t\t'h6',\n\t\t\t'a',\n\t\t\t'img',\n\t\t\t'table',\n\t\t\t'thead',\n\t\t\t'tbody',\n\t\t\t'tfoot',\n\t\t\t'tr',\n\t\t\t'th',\n\t\t\t'td',\n\t\t\t'caption',\n\t\t\t'colgroup',\n\t\t\t'col',\n\t\t\t'center',\n\t\t\t'font',\n\t\t\t'hr',\n\t\t\t'pre',\n\t\t\t'code',\n\t\t\t'sub',\n\t\t\t'sup',\n\t\t\t'small',\n\t\t\t'big',\n\t\t\t'figure',\n\t\t\t'figcaption',\n\t\t\t'section',\n\t\t\t'article',\n\t\t\t'header',\n\t\t\t'footer',\n\t\t\t'abbr',\n\t\t\t'cite',\n\t\t\t'mark',\n\t\t\t'del',\n\t\t\t'ins',\n\t\t],\n\t\tALLOWED_ATTR: [\n\t\t\t'href',\n\t\t\t'target',\n\t\t\t'rel',\n\t\t\t'src',\n\t\t\t'alt',\n\t\t\t'title',\n\t\t\t'width',\n\t\t\t'height',\n\t\t\t'style',\n\t\t\t'class',\n\t\t\t'align',\n\t\t\t'valign',\n\t\t\t'colspan',\n\t\t\t'rowspan',\n\t\t\t'cellpadding',\n\t\t\t'cellspacing',\n\t\t\t'border',\n\t\t\t'color',\n\t\t\t'bgcolor',\n\t\t],\n\t\tALLOW_UNKNOWN_PROTOCOLS: false,\n\t});\n\n\tDOMPurify.removeHook('uponSanitizeAttribute');\n\treturn result;\n};\n"],"names":["hasDOM","REGEX_TAG_STRIP","ALLOWED_LINK_PROTOCOLS","ALLOWED_IMG_PROTOCOLS","isAllowedUrl","url","allowed","parsed","isAllowedLinkUrl","isAllowedImageUrl","COMPLETE_TAG","stripHtmlTags","input","CSV_FORMULA_PREFIX","escapeFormulaInjection","sanitizePlainText","DOMPurify","sanitizeBasicHtml","SAFE_CSS_PROPERTIES","DANGEROUS_CSS_VALUE","sanitizeCssProperties","style","decl","colonIdx","prop","value","sanitizeEmailHtml","hook","_node","data","clean","result"],"mappings":"4KAiBMA,EAAS,IAAe,OAAO,OAAW,IAE1CC,EAAkB,kBAElBC,EAAyB,IAAI,IAAI,CAAC,SAAU,UAAW,MAAM,CAAC,EAC9DC,EAAwB,IAAI,IAAI,CAAC,SAAU,OAAO,CAAC,EAE5CC,EAAe,CAC3BC,EACAC,IACmB,CACnB,GAAI,CAACD,EAAK,OAAO,KACjB,GAAI,CACH,MAAME,EAAS,IAAI,IAAIF,EAAK,mBAAmB,EAC/C,OAAOC,EAAQ,IAAIC,EAAO,QAAQ,EAAIF,EAAM,IAC7C,MAAQ,CACP,OAAO,IACR,CACD,EAEaG,EAAoBH,GAChCD,EAAaC,EAAKH,CAAsB,IAAM,KAElCO,EAAqBJ,GACjCD,EAAaC,EAAKF,CAAqB,IAAM,KAgBxCO,EAAe,4CAERC,EAAiBC,GACxBA,EACEA,EAAM,QAAQF,EAAc,EAAE,EADlB,GAIdG,EAAqB,eAOdC,EACZF,GAEKA,EACEC,EAAmB,KAAKD,CAAK,EAAI,IAAIA,CAAK,GAAKA,EADnC,GAaPG,EAAqBH,GAC5BA,EACAZ,EAAA,EACEgB,EAAAA,QAAU,SAASJ,EAAO,CAChC,aAAc,CAAA,EACd,aAAc,CAAA,EACd,aAAc,EAAA,CACd,EALqBA,EAAM,QAAQX,EAAiB,EAAE,EADpC,GAaPgB,EAAqBL,GAC5BA,EACAZ,EAAA,EACEgB,EAAAA,QAAU,SAASJ,EAAO,CAChC,aAAc,CACb,IACA,KACA,IACA,SACA,IACA,KACA,IACA,IACA,OACA,IACA,KACA,KACA,KACA,YAAA,EAED,aAAc,CAAC,OAAQ,SAAU,MAAO,OAAO,EAC/C,YAAa,CAAC,OAAO,EACrB,YAAa,CAAC,OAAO,EACrB,mBAAoB,yBAAA,CACpB,EAtBqBA,EAAM,QAAQX,EAAiB,EAAE,EADpC,GA6BdiB,MAA0B,IAAI,CACnC,QACA,mBACA,aACA,cACA,YACA,cACA,aACA,eACA,OACA,cACA,iBACA,eACA,aACA,kBACA,iBACA,cACA,iBACA,cACA,YACA,aACA,gBACA,YACA,SACA,aACA,eACA,gBACA,cACA,UACA,cACA,gBACA,iBACA,eACA,SACA,aACA,eACA,gBACA,cACA,eACA,eACA,eACA,kBACA,iBACA,gBACA,QACA,YACA,YACA,SACA,aACA,aACA,UACA,aACA,UACA,QACA,QACA,WACA,aACA,aACA,eACA,aACA,kBACA,sBACA,YACD,CAAC,EAGKC,EACL,gFAMYC,EAAyBC,GAC9BA,EACL,MAAM,GAAG,EACT,IAAKC,GAASA,EAAK,KAAA,CAAM,EACzB,OAAQA,GAAS,CACjB,GAAI,CAACA,EAAM,MAAO,GAClB,MAAMC,EAAWD,EAAK,QAAQ,GAAG,EACjC,GAAIC,EAAW,EAAG,MAAO,GACzB,MAAMC,EAAOF,EAAK,MAAM,EAAGC,CAAQ,EAAE,KAAA,EAAO,YAAA,EACtCE,EAAQH,EAAK,MAAMC,EAAW,CAAC,EAAE,KAAA,EACvC,OAAOL,EAAoB,IAAIM,CAAI,GAAK,CAACL,EAAoB,KAAKM,CAAK,CACxE,CAAC,EACA,KAAK,IAAI,EAQCC,EAAqBd,GAA6C,CAC9E,GAAI,CAACA,EAAO,MAAO,GACnB,GAAI,CAACZ,EAAA,SAAiBY,EAAM,QAAQX,EAAiB,EAAE,EAEvD,MAAM0B,EAAO,CACZC,EACAC,IACI,CACJ,GAAIA,EAAK,WAAa,QAAS,OAC/B,MAAMC,EAAQV,EAAsBS,EAAK,SAAS,EAC9CC,EACHD,EAAK,UAAYC,EAEjBD,EAAK,SAAW,EAElB,EACAb,UAAU,QAAQ,wBAAyBW,CAAI,EAE/C,MAAMI,EAASf,EAAAA,QAAU,SAASJ,EAAO,CACxC,aAAc,CACb,IACA,KACA,MACA,OACA,SACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,aACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,QACA,QACA,QACA,QACA,KACA,KACA,KACA,UACA,WACA,MACA,SACA,OACA,KACA,MACA,OACA,MACA,MACA,QACA,MACA,SACA,aACA,UACA,UACA,SACA,SACA,OACA,OACA,OACA,MACA,KAAA,EAED,aAAc,CACb,OACA,SACA,MACA,MACA,MACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,UACA,UACA,cACA,cACA,SACA,QACA,SAAA,EAED,wBAAyB,EAAA,CACzB,EAEDI,OAAAA,EAAAA,QAAU,WAAW,uBAAuB,EACrCe,CACR"}
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("./components/template-preview/constants/regexPatterns.js"),ee=require("./utils/StringUtils.js"),T=require("./constants/Theme.js"),re=require("./constants/zindex.js"),e=require("./components/TypographyStyle.js"),te=require("./components/SearchFilter/index.js"),oe=require("./components/resizeImage/index.js"),ie=require("./utils/validator.js"),ne=require("./components/input-with-vars/customPortal.js"),ae=require("./components/dropdown/MultilevelDropdownPopover/index.js"),ue=require("./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js"),ce=require("./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js"),L=require("./components/data-source-panel/model.js"),se=require("./assets/icons/actionButton.svg.js"),le=require("./components/adbanner/AdBanner.js"),de=require("./assets/icons/aiContentIcon.svg.js"),Te=require("./assets/icons/AiEdit.svg.js"),pe=require("./assets/icons/Ai_event_generating.svg.js"),Ae=require("./assets/icons/alarm.svg.js"),Ce=require("./assets/icons/alert.svg.js"),Se=require("./assets/icons/alert_triangle.svg.js"),qe=require("./assets/icons/arrow_back.svg.js"),Ie=require("./assets/icons/arrow_down.svg.js"),Ee=require("./assets/icons/arrow_left.svg.js"),he=require("./assets/icons/arrow_up.svg.js"),Pe=require("./assets/icons/back_icon.svg.js"),_e=require("./assets/icons/bik_ai_stars_icon.svg.js"),Re=require("./assets/icons/bik_livechat.svg.js"),me=require("./assets/icons/Bik_logo.svg.js"),ge=require("./assets/icons/bold.svg.js"),Oe=require("./assets/icons/box.svg.js"),Be=require("./assets/icons/box_round.svg.js"),fe=require("./assets/icons/box_search.svg.js"),Ne=require("./assets/icons/boxV2.svg.js"),ye=require("./assets/icons/brand_home.svg.js"),De=require("./assets/icons/broken_media_image.svg.js"),ke=require("./assets/icons/calendar.svg.js"),Le=require("./assets/icons/card_footer_arraw.svg.js"),Me=require("./assets/icons/ChartBar.svg.js"),be=require("./assets/icons/ChartPie.svg.js"),Fe=require("./assets/icons/chat.svg.js"),we=require("./assets/icons/chat-channel.svg.js"),Ue=require("./assets/icons/check.svg.js"),Ve=require("./assets/icons/checkCircle.svg.js"),He=require("./assets/icons/CheckSquareOffset.svg.js"),ve=require("./assets/icons/checklistIcon.svg.js"),Ge=require("./assets/icons/chevronDown.svg.js"),We=require("./assets/icons/chevronDownOutline.svg.js"),xe=require("./assets/icons/chevronLeft.svg.js"),Ye=require("./assets/icons/chevronLeft2.svg.js"),ze=require("./assets/icons/chevronRight.svg.js"),Ke=require("./assets/icons/chevronRight2.svg.js"),Qe=require("./assets/icons/chevronRightAlt.svg.js"),Xe=require("./assets/icons/chevronUpOutline.svg.js"),je=require("./assets/icons/circular-cross-icon.svg.js"),$e=require("./assets/icons/click.svg.js"),Ze=require("./assets/icons/clock.svg.js"),Je=require("./assets/icons/copy-code-icon.svg.js"),er=require("./assets/icons/cross.svg.js"),rr=require("./assets/icons/cubeIcon.svg.js"),tr=require("./assets/icons/cursor.svg.js"),or=require("./assets/icons/CustomiseIcon.js"),ir=require("./assets/icons/delete.svg.js"),nr=require("./assets/icons/desktop_custom.svg.js"),ar=require("./assets/icons/DocsIcon.js"),ur=require("./assets/icons/document_pdf.svg.js"),cr=require("./assets/icons/DoubtIcon.js"),sr=require("./assets/icons/drag_handle.svg.js"),lr=require("./assets/icons/edit.svg.js"),dr=require("./assets/icons/EditLabel.js"),Tr=require("./assets/icons/email-channel.svg.js"),pr=require("./assets/icons/emoji.svg.js"),Ar=require("./assets/icons/EnableIcon.js"),Cr=require("./assets/icons/errorIcon.svg.js"),Sr=require("./assets/icons/errorInfo.svg.js"),qr=require("./assets/icons/expressionless_emoji.svg.js"),Ir=require("./assets/icons/facebook_channel.svg.js"),Er=require("./components/feature-announcements/FeatureAnnouncementProvider.js"),hr=require("./assets/icons/file.svg.js"),Pr=require("./assets/icons/filePdf.svg.js"),_r=require("./assets/icons/gift_icon.svg.js"),Rr=require("./assets/icons/gmail.svg.js"),mr=require("./assets/icons/GoLiveIcon.js"),gr=require("./assets/icons/graph.svg.js"),Or=require("./assets/icons/grid.svg.js"),Br=require("./assets/icons/halfRectangle.svg.js"),fr=require("./assets/icons/HeadsetIcon.js"),Nr=require("./assets/icons/help.svg.js"),yr=require("./assets/icons/HelpIcon.svg.js"),Dr=require("./assets/icons/home.svg.js"),kr=require("./assets/icons/horizontal_dots.svg.js"),Lr=require("./assets/icons/hover_home.svg.js"),Mr=require("./assets/icons/Idea.svg.js"),br=require("./assets/icons/image.svg.js"),Fr=require("./assets/icons/info.svg.js"),wr=require("./assets/icons/instagram.svg.js"),Ur=require("./assets/icons/instagram-channel.svg.js"),Vr=require("./assets/icons/italic.svg.js"),Hr=require("./assets/icons/list.svg.js"),vr=require("./assets/icons/ListChecksIcon.js"),Gr=require("./assets/icons/locked.svg.js"),Wr=require("./assets/icons/log_out.svg.js"),xr=require("./assets/icons/lto_icon.svg.js"),Yr=require("./components/feature-announcements/MajorUpdatePopup.js"),zr=require("./components/markdown/MarkdownRender.js"),Kr=require("./assets/icons/MarketingIcon.js"),Qr=require("./assets/icons/maximize.svg.js"),Xr=require("./components/feature-announcements/MinorUpdatePopup.js"),jr=require("./assets/icons/mobile_custom.svg.js"),$r=require("./assets/icons/more_vertical.svg.js"),Zr=require("./assets/icons/NotesIcon.js"),Jr=require("./assets/icons/NudgesIcon.js"),et=require("./assets/icons/OnboardingLogo.js"),rt=require("./assets/icons/openai.svg.js"),tt=require("./assets/icons/OrderTrackingIcon.js"),ot=require("./assets/icons/paperclip.svg.js"),it=require("./assets/icons/percentage_icon.svg.js"),nt=require("./assets/icons/phone.svg.js"),at=require("./assets/icons/phone_round.svg.js"),ut=require("./assets/icons/play.svg.js"),ct=require("./assets/icons/plus.svg.js"),st=require("./assets/icons/PlusIcon.js"),lt=require("./assets/icons/pointer.svg.js"),dt=require("./assets/icons/profile.svg.js"),Tt=require("./components/ProgressChecklist/ProgressChecklist.js"),pt=require("./assets/icons/qrb.svg.js"),At=require("./assets/icons/question-mark.svg.js"),Ct=require("./assets/icons/quotes.svg.js"),St=require("./assets/icons/RCS_PDF.svg.js"),qt=require("./assets/icons/redirect.svg.js"),It=require("./assets/icons/RedirectToNew.svg.js"),Et=require("./assets/icons/refresh.svg.js"),ht=require("./assets/icons/retry.svg.js"),Pt=require("./assets/icons/retryIcon.svg.js"),_t=require("./assets/icons/sad_emoji.svg.js"),Rt=require("./assets/icons/search.svg.js"),mt=require("./assets/icons/searchIcon.svg.js"),gt=require("./assets/icons/send.svg.js"),Ot=require("./assets/icons/send_template.svg.js"),Bt=require("./assets/icons/shipping_icon.svg.js"),ft=require("./assets/icons/ShoppingIcon.js"),Nt=require("./assets/icons/similar.svg.js"),yt=require("./assets/icons/smile_emoji.svg.js"),Dt=require("./assets/icons/smiley_emoji.svg.js"),kt=require("./assets/icons/sparkle.svg.js"),Lt=require("./assets/icons/speedometer.svg.js"),Mt=require("./assets/icons/starEmpty.svg.js"),bt=require("./assets/icons/starFilled.svg.js"),Ft=require("./assets/icons/starFilledV2.svg.js"),wt=require("./assets/icons/state_icon.svg.js"),Ut=require("./assets/icons/StepsIcon.js"),Vt=require("./assets/icons/StoreIcon.js"),Ht=require("./assets/icons/strikeThrough.svg.js"),vt=require("./assets/icons/sub_category.svg.js"),Gt=require("./assets/icons/successIcon.svg.js"),Wt=require("./assets/icons/SupportIcon.js"),xt=require("./assets/icons/sync.svg.js"),Yt=require("./assets/icons/task.svg.js"),zt=require("./assets/icons/text_t9.svg.js"),Kt=require("./assets/icons/ThreeColumnsIcon.js"),Qt=require("./assets/icons/tick.svg.js"),Xt=require("./assets/icons/tick_double.svg.js"),jt=require("./assets/icons/TrainingIcon.js"),$t=require("./assets/icons/triangle_error.svg.js"),Zt=require("./assets/icons/undo.svg.js"),Jt=require("./assets/icons/union.svg.js"),eo=require("./assets/icons/upload.svg.js"),ro=require("./assets/icons/user_icon.svg.js"),to=require("./assets/icons/vertical_dots.svg.js"),oo=require("./components/vertical-full-screen-modal/component.js"),io=require("./assets/icons/video_camcorder.svg.js"),no=require("./assets/icons/videoRecorder.svg.js"),ao=require("./assets/icons/warning.svg.js"),uo=require("./assets/icons/warningIcon.svg.js"),co=require("./assets/icons/website.svg.js"),so=require("./assets/icons/whatsNew.svg.js"),lo=require("./assets/icons/whatsapp-channel.svg.js"),To=require("./assets/icons/whatsapp_color.svg.js"),po=require("./assets/icons/WhiteStarFilled.svg.js"),u=require("./components/template-preview/models/TemplateMeta.js"),r=require("./components/QueryBuilder/types/QueryBuilderOperator.type.js"),Ao=require("./components/agent-builder/constants/charLimits.js"),s=require("./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js"),Co=require("./components/bik-chatbot/components/AIChat.js"),M=require("./components/bik-chatbot/contexts/AIContext.js"),_=require("./components/WhatsAppTextEditor/ai/aiTag.js"),R=require("./components/alerts/AlertHelper.js"),So=require("./components/feature-announcements/constants/animations.js"),qo=require("./utils/logging/ErrorConstructor/ApiError.js"),p=require("./components/avatar/AvatarHelper.js"),A=require("./components/avatar/Avatar.js"),Io=require("./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js"),Eo=require("./components/action-button/ActionButtons.js"),ho=require("./components/ai-modals/ActivateBikAI.js"),Po=require("./assets/icons/ActiveChecklistIcon.js"),_o=require("./components/add-variableV2/AddVariableV2.js"),Ro=require("./components/add-variableV2/AddVariableV2SideModal.js"),mo=require("./components/agent-builder/AgentBuilder.js"),go=require("./components/agent-listing/AgentListing.js"),Oo=require("./components/ai-modals/AiCreditsExhausted.js"),Bo=require("./components/ai-modals/AiCreditsLow.js"),fo=require("./components/ai-modals/AiSyncProgress.js"),No=require("./components/alerts/Alert.js"),yo=require("./components/analytics-card/AnalyticsCard.js"),Do=require("./components/analytics-chips-and-dropdowns/AnalyticsChip.js"),b=require("./components/analytics-card/AnalyticsCard.styled.js"),m=require("./components/analytics-chips-and-dropdowns/AnalyticsDropdown.js"),C=require("./components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js"),ko=require("./components/analytics-chips-and-dropdowns/AnalyticsMetric.js"),Lo=require("./components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js"),Mo=require("./components/analytics-chips-and-dropdowns/AnalyticsTrend.js"),bo=require("./components/bik-chatbot/components/BIKChatbot.js"),o=require("./components/markdown/utils.js"),g=require("./components/template-preview/models/WhatsAppTemplate.js"),l=require("./components/whats-new/WhatsNew.styles.js"),O=require("./components/adbanner/model.js"),Fo=require("./components/QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js"),wo=require("./helpers/BaseWhatsappContentLang.helper.js"),Uo=require("./components/accordion/Accordion.js"),Vo=require("./editor/BikEditor.js"),Ho=require("./editor/toolbar/BikEditorToolbar.js"),vo=require("./components/BikGiftedChat/GiftedChat/GiftedChat.js"),Go=require("./components/bik-layout/BikHeader.js"),Wo=require("./components/image-cropper/BikImageCropper.js"),xo=require("./components/image-cropper/BikImagePipeline/BikImagePipeline.js"),Yo=require("./components/bik-layout/BikLayout.js"),zo=require("./components/bik-layout/BikProfile.js"),Ko=require("./components/shimmer/ShimmerComponent/BikShimmer.js"),Qo=require("./components/bik-layout/BikSidebar.js"),Xo=require("./components/bik-layout/BikSidebarV2/BikSidebarV2.js"),jo=require("./components/slider/slider.js"),S=require("./components/plans/SubscriptionPlanSelector.js"),$o=require("./utils/logging/ErrorConstructor/BroadcastFlowError.js"),Zo=require("./components/BikGiftedChat/Bubble/Bubble.js"),Jo=require("./components/button/Button.js"),q=require("./components/states/StateComponent.js"),ei=require("./components/buttonGroup/ButtonGroup.js"),ri=require("./components/template-preview/models/Channels.js"),B=require("./components/bik-chatbot/types/chat.js"),i=require("./components/discount-modal/type.js"),f=require("./components/curtain/CurtainHelper.js"),F=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js"),ti=require("./components/card-selection-modal/CardSelectionModal.js"),oi=require("./components/card-selector/CardSelector.js"),ii=require("./components/card-selector/CardSelectorGroup.js"),ni=require("./components/carousel/carousel.js"),ai=require("./components/carousel-preview/CarouselPreview.js"),ui=require("./components/carousel-secondary/CarouselSecondary.js"),ci=require("./components/carousel-secondary/model.js"),si=require("./components/checkBox/CheckBox.js"),li=require("./assets/icons/CheckIndicatorIcon.js"),di=require("./components/checkList/CheckList.js"),Ti=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js"),w=require("./components/dropdown/ChipDropdown.js"),pi=require("./components/code-block/CodeBlock.js"),Ai=require("./components/code-block/types.js"),Ci=require("./utils/logging/ErrorConstructor/CohortError.js"),Si=require("./components/colourInput/ColourInput.js"),qi=require("./assets/icons/CompletedChecklistIcon.js"),Ii=require("./components/connected-app-dialog/ConnectedAppDialog.js"),Ei=require("./components/country-code-picker/CountryCodePicker.modal.js"),hi=require("./components/country-code-picker/CountryCodePicker.js"),Pi=require("./components/country-code-picker/CountryPicker.js"),_i=require("./components/discount-modal/CouponExpiration/CouponExpiration.js"),Ri=require("./components/curtain/Curtain.js"),mi=require("./components/custom-date-time/CustomDateTime.js"),gi=require("./utils/logging/ErrorConstructor/CustomError.js"),Oi=require("./editor/BikEditor.types.js"),U=require("./components/shimmer-image/ShimmerImage.js"),N=require("./components/bik-chatbot/types/ai.js"),n=require("./components/floating-action-button/FloatingActionButton.styles.js"),Bi=require("./components/dashboard-review-popup/DashboardReviewPopUp.js"),fi=require("./components/data-source-panel/DataSourcePanel.js"),I=require("./components/postPicker/postPicker.js"),Ni=require("./components/datePicker/DatePicker.js"),yi=require("./components/datePicker/DatePickerWrapper.js"),Di=require("./components/states-modal/DeleteConfirmationModal.js"),ki=require("./components/discount-modal/DiscountModal.js"),Li=require("./components/dot-pulse/DotPulse.js"),Mi=require("./components/dropShadow/DropShadow.js"),bi=require("./components/dropdown/Dropdown.js"),Fi=require("./components/dropdown-button/DropdownButton.js"),wi=require("./components/dropdown/DropdownPopover/index.js"),Ui=require("./components/dual-icon-button/DualIconButton.js"),Vi=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/types.js"),Hi=require("./components/dynamic-tabs/DynamicTabs.js"),y=require("./utils/logging/Logger.js"),vi=require("./utils/logging/ErrorConstructor/ExcelUploadError.js"),Gi=require("./components/fab-menu/FABMenu.js"),Wi=require("./components/bik-layout/FeatureModal.js"),xi=require("./components/bik-layout/FeatureModalV2.js"),Yi=require("./components/file-uploader/FileUploader.js"),zi=require("./utils/logging/ErrorConstructor/FirebaseCallError.js"),Ki=require("./utils/logging/ErrorConstructor/FirebaseSubscriptionError.js"),Qi=require("./firebase/firebaseUserFetcher.js"),Xi=require("./components/floater/floater.js"),ji=require("./components/floating-action-button/FloatingActionButton.js"),$i=require("./components/floating-input-dropdown/FloatingInputDropdown.js"),Zi=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js"),Ji=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.model.js"),E=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js"),h=require("./request-executor/executor.js"),en=require("./components/half-doughnut-chart/HalfDoughnutChart.js"),V=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js"),rn=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js"),tn=require("./components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js"),on=require("./components/icon-button/IconButton.js"),nn=require("./components/image-compress/ImageCompress.js"),an=require("./assets/icons/InactiveChecklistIcon.js"),un=require("./components/input/Input.js"),cn=require("./components/input-with-vars/InputWithVariables.js"),sn=require("./components/keywords-input/KeywordsInput.js"),d=require("./firebase/lazyFirebaseApp.js"),ln=require("./components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js"),dn=require("./components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js"),Tn=require("./components/list-item/ListItem.js"),P=require("./components/switch/Switch.js"),pn=require("./components/dropdown/MenuItem/MenuItem.js"),An=require("./components/multi-level-dropdown/MultiLevelDropdown.js"),H=require("./components/navigation-hyperlink/NavigationHyperlink.js"),Cn=require("./components/plans/NewSubscriptionPlan.js"),v=require("./components/product-picker-v2/type.js"),Sn=require("./components/dropdown/OpenedDropdown/components/OpennedDropdown.js"),qn=require("./components/feature-announcements/constants/dimensions.js"),In=require("./components/pagination/Pagination.js"),En=require("./components/variable-picker-v3/model.js"),hn=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js"),Pn=require("./components/post-live-checklist/PostLiveChecklist.js"),_n=require("./components/post-live-checklist-item/PostLiveChecklistItem.js"),G=require("./components/product-picker/ProductPickerModal.js"),Rn=require("./components/product-picker-v2/modal.js"),mn=require("./assets/icons/ProgressBadgeIcon.js"),W=require("./components/progress-bar/ProgressBarComponent.js"),D=require("./components/progress-bar-v2/ProgressBarV2.js"),x=require("./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js"),Y=require("./components/spinner/Spinner.js"),gn=require("./components/QueryBuilder/QueryBuilder.js"),On=require("./components/QueryBuilder/types/QueryBuilderEnum.type.js"),z=require("./components/thumbnail/Thumbnail.js"),Bn=require("./components/radioButton/RadioButton.js"),fn=require("./components/radioList/RadioList.js"),Nn=require("./utils/logging/ErrorConstructor/RechargeFailure.js"),yn=require("./assets/icons/Redirect2Icon.js"),Dn=require("./components/agent-builder/constants/steps.js"),kn=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js"),Ln=require("./components/searchBar/searchBar.js"),Mn=require("./assets/icons/searchIcon.js"),bn=require("./components/states/ShopifyScopeWrapper.js"),Fn=require("./components/bik-layout/ShowShopifyRestrictedModal.js"),wn=require("./components/side-modal/SideModal.js"),Un=require("./components/bik-layout/SidebarSkeleton.js"),Vn=require("./components/bik-layout/SimpleSidebar.js"),Hn=require("./assets/icons/SmallCheckIcon.js"),vn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js"),Gn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.js"),Wn=require("./components/star-rating/StarRating.js"),xn=require("./components/states-modal/StateModalComponent.js"),Yn=require("./components/stepper/Stepper.js"),zn=require("./components/modals/styledModal.js"),Kn=require("./components/plans/SubscriptionPlan.js"),Qn=require("./components/plans/SubscriptionPlansCollected.js"),Xn=require("./components/feature-announcements/constants/index.js"),K=require("./components/tabs/Tabs.js"),jn=require("./components/TablePagination/TablePagination.js"),Q=require("./components/TablePagination/TablePaginationCard.js"),$n=require("./components/tag/Tag.js"),Zn=require("./components/template-context-mapper/modalElements/TemplateAnalyticsSkeleton.js"),Jn=require("./components/template-context-mapper/TemplateContextMapper.js"),ea=require("./components/template-preview/TemplatePreview.js"),ra=require("./components/testimonial-card/TestimonialCard.js"),ta=require("./components/text-picker/TextPickerModal.js"),oa=require("./components/datePicker/TimePicker.js"),ia=require("./components/toaster/Toaster.js"),na=require("./components/agent-builder/constants/tools.js"),aa=require("./components/tooltips/Tooltip.js"),t=require("./components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js"),ua=require("./components/template-preview/helpers/VariableEditorHelper.js"),ca=require("./components/variable-picker-v3/VariablePicker.js"),sa=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js"),la=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js"),da=require("./components/feature-announcements/VideoModal.js"),Ta=require("./components/template-preview/helpers/WhatsAppFormatToHTML.js"),pa=require("./components/WhatsAppTextEditor/WhatsAppTextEditor.js"),Aa=require("./components/whats-new/WhatsNew.js"),Ca=require("./components/whats-new/WhatsNewButton.js"),Sa=require("./components/whats-new/WhatsNewPanel.js"),X=require("./components/whats-new/WhatsNewProvider.js"),qa=require("./utils/logging/ErrorConstructor/WhatsappIntegrationError.js"),Ia=require("./components/template-preview/WhatsApp/WhatsAppLikePreview.js"),Ea=require("./components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js"),k=require("./components/agent-builder/utils/mentionSerialization.js"),ha=require("./firebase/environment.js"),a=require("./helpers/sanitize.js"),j=require("./components/template-context-mapper/utils/getDataFromTemplateComponent.js"),c=require("./firebase/lazyFirebaseMethods.js"),$=require("./editor/BikEditor.utils.js"),Pa=require("./firebase/lazyFirestore.js"),_a=require("./firebase/lazyFirestoreLite.js"),Ra=require("./firebase/lazyStorage.js"),Z=require("./components/template-context-mapper/utils/validateIsUrl.js"),ma=require("./components/QueryBuilder/redux/queryBuilderCache.reducer.js"),ga=require("./components/QueryBuilder/redux/queryBuilder.reducer.js"),Oa=require("./components/template-preview/helpers/SmsTemplateHelper.js"),Ba=require("./utils/resizeImage.js"),fa=require("./editor/serializers/toLiveChatText.js"),Na=require("./editor/serializers/toWhatsAppText.js"),ya=require("./components/dropdown/utils.js"),Da=require("./components/bik-chatbot/services/useAIChat.js"),ka=require("./components/agent-builder/hooks/useAgentDraft.js"),La=require("./components/feature-announcements/hooks/useFeatureAnnouncements.js"),Ma=require("./components/whats-new/useWhatsNew.js");exports.regexPatterns=J;exports.StringUtils=ee.default;exports.BASE_COLORS=T.BASE_COLORS;exports.COLORS=T.COLORS;exports.DEFAULT_THEME=T.DEFAULT_THEME;exports.FONTS=T.FONTS;exports.ComponentZindex=re.ComponentZindex;exports.AiBodyCaption=e.AiBodyCaption;exports.AiBodyTiny=e.AiBodyTiny;exports.BodyCaption=e.BodyCaption;exports.BodyLarge=e.BodyLarge;exports.BodyPrimary=e.BodyPrimary;exports.BodyPrimaryLink=e.BodyPrimaryLink;exports.BodyRegular=e.BodyRegular;exports.BodySecondary=e.BodySecondary;exports.BodySecondaryLink=e.BodySecondaryLink;exports.BodySmall=e.BodySmall;exports.BodyTiny=e.BodyTiny;exports.BodyTinySemiBold=e.BodyTinySemiBold;exports.ButtonLarge=e.ButtonLarge;exports.ButtonLargeAI=e.ButtonLargeAI;exports.ButtonRegular=e.ButtonRegular;exports.ButtonRegularAI=e.ButtonRegularAI;exports.Caption=e.Caption;exports.CaptionBold=e.CaptionBold;exports.Display=e.Display;exports.SmallRegular=e.SmallRegular;exports.SubHeading=e.SubHeading;exports.TextPlaceholder=e.TextPlaceholder;exports.Tiny=e.Tiny;exports.TitleFour=e.TitleFour;exports.TitleLarge=e.TitleLarge;exports.TitleMedium=e.TitleMedium;exports.TitleRegular=e.TitleRegular;exports.TitleSmall=e.TitleSmall;exports.TitleTiny=e.TitleTiny;exports.TitleXlarge=e.TitleXlarge;exports.SearchFilter=te.SearchFilter;exports.ResizableImage=oe.ResizableImage;exports.validateURL=ie.validateURL;exports.CustomPortal=ne.CustomPortal;exports.MultilevelDropdownPopover=ae.MultilevelDropdownPopover;exports.UnsatisfactoryResponseList=ue.UnsatisfactoryResponseList;exports.UnsatisfactoryCountIntentWiseModal=ce.UnsatisfactoryCountIntentWiseModal;exports.CustomDataCategories=L.CustomDataCategories;exports.CustomDataType=L.CustomDataType;exports.ActionButton=se.default;exports.AdBanner=le.default;exports.AiContentIcon=de.default;exports.AiEdit=Te.default;exports.AiEventGenerating=pe.default;exports.Alarm=Ae.default;exports.AlertIcon=Ce.default;exports.AlertTriangle=Se.default;exports.ArrowBack=qe.default;exports.ArrowDown=Ie.default;exports.ArrowLeft=Ee.default;exports.ArrowUp=he.default;exports.BackIcon=Pe.default;exports.BikAiStarsIcon=_e.default;exports.BikLivechat=Re.default;exports.BikLogo=me.default;exports.Bold=ge.default;exports.Box=Oe.default;exports.BoxRound=Be.default;exports.BoxSearch=fe.default;exports.BoxV2=Ne.default;exports.BrandHome=ye.default;exports.BrokenMediaImage=De.default;exports.Calendar=ke.default;exports.CardFooterArrow=Le.default;exports.ChartBar=Me.default;exports.ChartPie=be.default;exports.Chat=Fe.default;exports.ChatChannel=we.default;exports.Check=Ue.default;exports.CheckCircle=Ve.default;exports.CheckSquareOffset=He.default;exports.ChecklistIcon=ve.default;exports.ChevronDown=Ge.default;exports.ChevronDownOutline=We.default;exports.ChevronLeft=xe.default;exports.ChevronLeft2=Ye.default;exports.ChevronRight=ze.default;exports.ChevronRight2=Ke.default;exports.ChevronRightAlt=Qe.default;exports.ChevronUpOutline=Xe.default;exports.CircularCrossIcon=je.default;exports.Click=$e.default;exports.Clock=Ze.default;exports.CopyCodeIcon=Je.default;exports.Cross=er.default;exports.CubeIcon=rr.default;exports.Cursor=tr.default;exports.CustomiseIcon=or.default;exports.Delete=ir.default;exports.DesktopCustom=nr.default;exports.Docs=ar.default;exports.DocumentPdf=ur.default;exports.Doubt=cr.default;exports.DragHandle=sr.default;exports.Edit=lr.default;exports.EditLabel=dr.default;exports.EmailChannel=Tr.default;exports.Emoji=pr.default;exports.EnableIcon=Ar.default;exports.ErrorIcon=Cr.default;exports.ErrorInfo=Sr.default;exports.ExpressionlessEmoji=qr.default;exports.FacebookChannel=Ir.default;exports.FeatureAnnouncementProvider=Er.default;exports.File=hr.default;exports.FilePdf=Pr.default;exports.GiftIcon=_r.default;exports.Gmail=Rr.default;exports.GoLiveIcon=mr.default;exports.Graph=gr.default;exports.Grid=Or.default;exports.HalfRectangle=Br.default;exports.HeadsetIcon=fr.default;exports.Help=Nr.default;exports.HelpIcon=yr.default;exports.Home=Dr.default;exports.HorizontalDots=kr.default;exports.HoverHome=Lr.default;exports.Idea=Mr.default;exports.Image=br.default;exports.Info=Fr.default;exports.Instagram=wr.default;exports.InstagramChannel=Ur.default;exports.Italic=Vr.default;exports.List=Hr.default;exports.ListChecksIcon=vr.default;exports.Locked=Gr.default;exports.LogOut=Wr.default;exports.LtoIcon=xr.default;exports.MajorUpdatePopup=Yr.default;exports.MarkdownRender=zr.default;exports.MarketingIcon=Kr.default;exports.Maximize=Qr.default;exports.MinorUpdatePopup=Xr.default;exports.MobileCustom=jr.default;exports.MoreVertical=$r.default;exports.Notes=Zr.default;exports.NudgesIcon=Jr.default;exports.OnboardingLogo=et.default;exports.OpenAI=rt.default;exports.OrderTrackingIcon=tt.default;exports.Paperclip=ot.default;exports.PercentageIcon=it.default;exports.Phone=nt.default;exports.PhoneRound=at.default;exports.Play=ut.default;exports.Plus=ct.default;exports.PlusIcon=st.default;exports.Pointer=lt.default;exports.Profile=dt.default;exports.ProgressChecklist=Tt.default;exports.Qrb=pt.default;exports.QuestionMark=At.default;exports.Quotes=Ct.default;exports.RCSPDF=St.default;exports.Redirect=qt.default;exports.RedirectToNew=It.default;exports.Refresh=Et.default;exports.Retry=ht.default;exports.RetryIcon=Pt.default;exports.SadEmoji=_t.default;exports.Search=Rt.default;exports.SearchIconSvg=mt.default;exports.Send=gt.default;exports.SendTemplate=Ot.default;exports.ShippingIcon=Bt.default;exports.ShoppingIcon=ft.default;exports.Similar=Nt.default;exports.SmileEmoji=yt.default;exports.SmileyEmoji=Dt.default;exports.Sparkle=kt.default;exports.Speedometer=Lt.default;exports.StarEmpty=Mt.default;exports.StarFilled=bt.default;exports.StarFilledV2=Ft.default;exports.StateIcon=wt.default;exports.Steps=Ut.default;exports.Store=Vt.default;exports.StrikeThrough=Ht.default;exports.SubCategory=vt.default;exports.SuccessIcon=Gt.default;exports.SupportIcon=Wt.default;exports.Sync=xt.default;exports.Task=Yt.default;exports.TextT9=zt.default;exports.ThreeColumns=Kt.default;exports.Tick=Qt.default;exports.TickDouble=Xt.default;exports.TrainingIcon=jt.default;exports.TriangleError=$t.default;exports.Undo=Zt.default;exports.Union=Jt.default;exports.Upload=eo.default;exports.UserIcon=ro.default;exports.VerticalDots=to.default;exports.VerticalFullScreenModal=oo.default;exports.VideoCamcorder=io.default;exports.VideoRecorder=no.default;exports.Warning=ao.default;exports.WarningIcon=uo.default;exports.Website=co.default;exports.WhatsNewIcon=so.default;exports.WhatsappChannel=lo.default;exports.WhatsappColor=To.default;exports.WhiteStarFilled=po.default;exports.ACTIONS_TYPES=u.ACTIONS_TYPES;exports.CUSTOM_URL_NAME=u.CUSTOM_URL_NAME;exports.HEADER_TYPES=u.HEADER_TYPES;exports.STATIC_URL_CTA_OPTION=u.STATIC_URL_CTA_OPTION;exports.TEMPLATE_EDITOR=u.TEMPLATE_EDITOR;exports.TEMPLATE_STATUS=u.TEMPLATE_STATUS;exports.UNSUBSCRIBE_URL_OPTION=u.UNSUBSCRIBE_URL_OPTION;exports.AD_STRING_OPERATORS=r.AD_STRING_OPERATORS;exports.ANY_AD_OPERATORS=r.ANY_AD_OPERATORS;exports.ANY_IG_OPERATORS=r.ANY_IG_OPERATORS;exports.BOOLEAN_OPERATORS=r.BOOLEAN_OPERATORS;exports.DATE_OPERATORS=r.DATE_OPERATORS;exports.EVENT_VALUES=r.EVENT_VALUES;exports.EXACTLY_OPERATORS=r.EXACTLY_OPERATORS;exports.FREQUENCY_OPERATORS=r.FREQUENCY_OPERATORS;exports.ICE_BREAKER_OPERATORS=r.ICE_BREAKER_OPERATORS;exports.IG_STRING_OPERATORS=r.IG_STRING_OPERATORS;exports.INTEGER_OPERATORS=r.INTEGER_OPERATORS;exports.MAIL_SUBJECT_OPERATORS=r.MAIL_SUBJECT_OPERATORS;exports.REACTION_OPERATORS=r.REACTION_OPERATORS;exports.SPECIFIC_IG_OPERATORS=r.SPECIFIC_IG_OPERATORS;exports.STRING_OPERATORS=r.STRING_OPERATORS;exports.STRING_RESTRICTED_OPERATORS=r.STRING_RESTRICTED_OPERATORS;exports.STRING_RESTRICTED_OPERATORS_2=r.STRING_RESTRICTED_OPERATORS_2;exports.STRING_RESTRICTED_OPERATORS_3=r.STRING_RESTRICTED_OPERATORS_3;exports.AGENT_CHAR_LIMITS=Ao.AGENT_CHAR_LIMITS;exports.AIActionVariant=s.AIActionVariant;exports.AIEditorActionTypes=s.AIEditorActionTypes;exports.CustomRightBorder=s.CustomRightBorder;exports.EditorActionTypes=s.EditorActionTypes;exports.WhatsAppTextEditorHeader=s.WhatsAppTextEditorHeader;exports.AIChat=Co.AIChat;exports.AIProvider=M.AIProvider;exports.useAIContext=M.useAIContext;exports.AI_TAG_CHANGE_RATIO_THRESHOLD=_.AI_TAG_CHANGE_RATIO_THRESHOLD;exports.computeAiTagOnAccept=_.computeAiTagOnAccept;exports.levenshteinDistance=_.levenshteinDistance;exports.ALERT_TYPES=R.ALERT_TYPES;exports.COLOR_CONFIG_MAP=R.COLOR_CONFIG_MAP;exports.CONTENT_POSITION=R.CONTENT_POSITION;exports.ANIMATION_TIMING=So.ANIMATION_TIMING;exports.APIError=qo.APIError;exports.AVATAR_BACKGROUND=p.AVATAR_BACKGROUND;exports.AVATAR_SIZE_MAP=p.AVATAR_SIZE_MAP;exports.AVATAR_TYPES=p.AVATAR_TYPES;exports.SIZE=p.SIZE;exports.AVATAR_SIZE_VS_ICON_SIZE_MAP=A.AVATAR_SIZE_VS_ICON_SIZE_MAP;exports.Avatar=A.Avatar;exports.BACKGROUND_VS_TEXT_COLOR_MAP=A.BACKGROUND_VS_TEXT_COLOR_MAP;exports.MESSAGE_CHANNELS=A.MESSAGE_CHANNELS;exports.AccessTokenTroubleshootDialog=Io.AccessTokenTroubleshootDialog;exports.ActionButtons=Eo.ActionButtons;exports.ActivateBikAi=ho.ActivateBikAi;exports.ActiveChecklistIcon=Po.ActiveChecklistIcon;exports.AddVariableV2=_o.AddVariableV2;exports.AddVariableV2SideModal=Ro.AddVariableV2SideModal;exports.AgentBuilder=mo.AgentBuilder;exports.AgentListing=go.AgentListing;exports.AiCreditsExhausted=Oo.AiCreditsExhausted;exports.AiCreditsLow=Bo.AiCreditsLow;exports.AiSyncProgress=fo.AiSyncProgress;exports.Alert=No.Alert;exports.AnalyticsCard=yo.AnalyticsCard;exports.AnalyticsChip=Do.AnalyticsChip;exports.AnalyticsContainer=b.AnalyticsContainer;exports.CardDataContainer=b.CardDataContainer;exports.AnalyticsDropdown=m.AnalyticsDropdown;exports.EachItem=m.EachItem;exports.formatDate=m.formatDate;exports.AnalyticsItem=C.AnalyticsItem;exports.QualityTimelineChart=C.QualityTimelineChart;exports.RightPanelTemplateAnalytics=C.RightPanelTemplateAnalytics;exports.TemplateAnalyticsComponent=C.TemplateAnalyticsComponent;exports.AnalyticsMetric=ko.AnalyticsMetric;exports.AnalyticsMultiChip=Lo.AnalyticsMultiChip;exports.AnalyticsTrend=Mo.AnalyticsTrend;exports.BIKChatbot=bo.BIKChatbot;exports.BOLD_TEXT_PATTERN=o.BOLD_TEXT_PATTERN;exports.CODE_TEXT_PATTERN=o.CODE_TEXT_PATTERN;exports.EMAIL_PATTERN=o.EMAIL_PATTERN;exports.ITALIC_TEXT_PATTERN=o.ITALIC_TEXT_PATTERN;exports.MARKDOWN_LINK_PATTERN=o.MARKDOWN_LINK_PATTERN;exports.RAW_PHONE_CANDIDATE_PATTERN=o.RAW_PHONE_CANDIDATE_PATTERN;exports.URL_PATTERN=o.URL_PATTERN;exports.filterPhoneCandidates=o.filterPhoneCandidates;exports.isCompleteFormatting=o.isCompleteFormatting;exports.isCompleteMarkdownLink=o.isCompleteMarkdownLink;exports.isCompleteUrl=o.isCompleteUrl;exports.stripMarkdownFormatting=o.stripMarkdownFormatting;exports.BUTTON_TYPE=g.BUTTON_TYPE;exports.POD=g.POD;exports.TEMPLATE_QUALITY=g.TEMPLATE_QUALITY;exports.BackgroundImageContainer=l.BackgroundImageContainer;exports.MainCardContainer=l.MainCardContainer;exports.MainContainer=l.MainContainer;exports.WhatsNewIconContainer=l.WhatsNewIconContainer;exports.WhatsNewWrapper=l.WhatsNewWrapper;exports.BannerThirdPartyIcon=O.BannerThirdPartyIcon;exports.BannerType=O.BannerType;exports.getUrlForBannerThirdPartyIcon=O.getUrlForBannerThirdPartyIcon;exports.BaseQueryBuilderNode=Fo.BaseQueryBuilderNode;exports.BaseWhatsappContentLangHelper=wo.BaseWhatsappContentLangHelper;exports.BikAccordion=Uo.BikAccordion;exports.BikEditor=Vo.BikEditor;exports.BikEditorToolbar=Ho.BikEditorToolbar;exports.BikGiftedChat=vo.default;exports.BikHeader=Go.BikHeader;exports.BikImageCropper=Wo.BikImageCropper;exports.BikImagePipeline=xo.BikImagePipeline;exports.BikLayout=Yo.BikLayout;exports.BikProfile=zo.BikProfile;exports.BikShimmer=Ko.BikShimmer;exports.BikSidebar=Qo.BikSidebar;exports.BikSidebarV2=Xo.BikSidebarV2;exports.BikSlider=jo.BikSlider;exports.BottomWrapper=S.BottomWrapper;exports.HeaderWrapper=S.HeaderWrapper;exports.SubscriptionPlanSelector=S.SubscriptionPlanSelector;exports.defaultTabs=S.defaultTabs;exports.BroadcastFlowError=$o.BroadcastFlowError;exports.Bubble=Zo.Bubble;exports.Button=Jo.Button;exports.ButtonActions=q.ButtonActions;exports.ButtonTypes=q.ButtonTypes;exports.StateComponent=q.StateComponent;exports.StateInterface=q.StateInterface;exports.ButtonGroup=ei.ButtonGroup;exports.CHANNEL_TYPE=ri.CHANNEL_TYPE;exports.CHAT_MESSAGE_ROLES=B.CHAT_MESSAGE_ROLES;exports.DEFAULT_CONVERSATION_ID=B.DEFAULT_CONVERSATION_ID;exports.createSessionRecord=B.createSessionRecord;exports.COUPON_EXPIRATION=i.COUPON_EXPIRATION;exports.DISCOUNT_APPLIES_TO=i.DISCOUNT_APPLIES_TO;exports.DISCOUNT_TARGET_SELECTION=i.DISCOUNT_TARGET_SELECTION;exports.DISCOUNT_TARGET_TYPES=i.DISCOUNT_TARGET_TYPES;exports.DISCOUNT_TYPES=i.DISCOUNT_TYPES;exports.DISCOUNT_VALUE_TYPES=i.DISCOUNT_VALUE_TYPES;exports.MIN_PURCHASE_REQUIREMENT=i.MIN_PURCHASE_REQUIREMENT;exports.OFFER_APPLIES_TO=i.OFFER_APPLIES_TO;exports.initialDynamicCouponErrorState=i.initialDynamicCouponErrorState;exports.initialStaticCouponErrorState=i.initialStaticCouponErrorState;exports.CURTAIN_COLOR_CONFIG_MAP=f.CURTAIN_COLOR_CONFIG_MAP;exports.CURTAIN_MODE=f.CURTAIN_MODE;exports.CURTAIN_TYPES=f.CURTAIN_TYPES;exports.Card=F.Card;exports.PieChartAnalytics=F.PieChartAnalytics;exports.CardSelectionModal=ti.CardSelectionModal;exports.CardSelector=oi.CardSelector;exports.CardSelectorGroup=ii.CardSelectorGroup;exports.Carousel=ni.Carousel;exports.CarouselPreview=ai.CarouselPreview;exports.CarouselSecondary=ui.CarouselSecondary;exports.CarouselVersion=ci.CarouselVersion;exports.CheckBox=si.CheckBox;exports.CheckIndicatorIcon=li.CheckIndicatorIcon;exports.CheckList=di.CheckList;exports.Chip=Ti.Chip;exports.ChipDropdown=w.ChipDropdown;exports.ChipDropdownContainer=w.ChipDropdownContainer;exports.CodeBlock=pi.CodeBlock;exports.CodeLanguage=Ai.CodeLanguage;exports.CohortError=Ci.CohortError;exports.ColourInput=Si.ColourInput;exports.CompletedChecklistIcon=qi.CompletedChecklistIcon;exports.ConnectedAppDialog=Ii.ConnectedAppDialog;exports.CountriesData=Ei.CountriesData;exports.CountryCodePicker=hi.CountryCodePicker;exports.CountryPicker=Pi.CountryPicker;exports.CouponExpiration=_i.CouponExpiration;exports.Curtain=Ri.Curtain;exports.CustomDateTime=mi.CustomDateTime;exports.CustomError=gi.CustomError;exports.DEFAULT_ACTIVE_FORMATS=Oi.DEFAULT_FORMAT_STATE;exports.DEFAULT_IMAGE=U.DEFAULT_IMAGE;exports.ShimmerImage=U.ShimmerImage;exports.DEFAULT_MAX_TOOL_CALLS=N.DEFAULT_MAX_TOOL_CALLS;exports.DEFAULT_RESPONSE_FORMAT=N.DEFAULT_RESPONSE_FORMAT;exports.RESPONSE_FORMATS=N.RESPONSE_FORMATS;exports.DROP_POSITION=n.DROP_POSITION;exports.DropdownToggleContainer=n.DropdownToggleContainer;exports.FAB_POSITION=n.FAB_POSITION;exports.FloatingActionButtonContainer=n.FloatingActionButtonContainer;exports.FloatingActionButtonOuterContainer=n.FloatingActionButtonOuterContainer;exports.MENU_ALIGNMENT=n.MENU_ALIGNMENT;exports.StyledDropdown=n.StyledDropdown;exports.TooltipStyled=n.TooltipStyled;exports.DashboardReviewPopUp=Bi.DashboardReviewPopUp;exports.DataSourcePanel=fi.DataSourcePanel;exports.DateKeys=I.DateKeys;exports.MEDIA_TYPES=I.MEDIA_TYPES;exports.PostPicker=I.PostPicker;exports.dateOptions=I.dateOptions;exports.DatePicker=Ni.DatePicker;exports.DatePickerWrapper=yi.DatePickerWrapper;exports.DeleteConfirmationModal=Di.DeleteConfirmationModal;exports.DiscountModal=ki.DiscountModal;exports.DotPulse=Li.DotPulse;exports.DropShadow=Mi.DropShadow;exports.Dropdown=bi.Dropdown;exports.DropdownButton=Fi.DropdownButton;exports.DropdownPopover=wi.DropdownPopover;exports.DualIconButton=Ui.DualIconButton;exports.DurationUnit=Vi.DurationUnit;exports.DynamicTabs=Hi.DynamicTabs;exports.ERROR_TYPES=y.ERROR_TYPES;exports.ERROR_TYPE_CLASS_MAP=y.ERROR_TYPE_CLASS_MAP;exports.Logger=y.Logger;exports.ExcelUploadError=vi.ExcelUploadError;exports.FABMenu=Gi.FABMenu;exports.FeatureModal=Wi.FeatureModal;exports.FeatureModalV2=xi.FeatureModalV2;exports.FileUploader=Yi.FileUploader;exports.FirebaseCallError=zi.FirebaseCallError;exports.FirebaseSubscriptionError=Ki.FirebaseSubscriptionError;exports.FirebaseUserFetcher=Qi.FirebaseUserFetcher;exports.Floater=Xi.Floater;exports.FloatingActionButton=ji.FloatingActionButton;exports.FloatingInputDropdown=$i.FloatingInputDropdown;exports.FunnelVerticalBarGraph=Zi.FunnelVerticalBarGraph;exports.GRAPH_ORIENTATION=Ji.GRAPH_ORIENTATION;exports.HEAT=E.HEAT;exports.HEAT_COLORS=E.HEAT_COLORS;exports.HEAT_GRADING_TYPE=E.HEAT_GRADING_TYPE;exports.HeatMap=E.HeatMap;exports.HTTPMethods=h.HTTPMethods;exports.HTTP_CODE=h.HTTP_CODE;exports.RequestExecutor=h.RequestExecutor;exports.TRANSACTION_ENABLED_STORE_IDS=h.TRANSACTION_ENABLED_STORE_IDS;exports.HalfDoughnutChart=en.HalfDoughnutChart;exports.HeatBoxStyled=V.HeatBoxStyled;exports.HeatMapVertical=V.HeatMapVertical;exports.HorinzontalBar=rn.HorinzontalBar;exports.HorizontalGraph=tn.HorizontalGraph;exports.IconButton=on.IconButton;exports.ImageService=nn.ImageService;exports.InactiveChecklistIcon=an.InactiveChecklistIcon;exports.Input=un.Input;exports.InputWithVariables=cn.InputWithVariables;exports.KeywordsInput=sn.KeywordsInput;exports.LAZY_SECONDARY_APP_NAME=d.SECONDARY_APP_NAME;exports.getOrInitFirebaseChatApp=d.getOrInitFirebaseChatApp;exports.lazyChatConfig=d.chatConfig;exports.lazyStagingConfig=d.stagingConfig;exports.rnSecondaryAuth=d.rnSecondaryAuth;exports.LineChart=ln.LineChart;exports.LinearChipGroupedChart=dn.LinearChipGroupedChart;exports.ListItem=Tn.ListItem;exports.Loader=P.Loader;exports.Switch=P.Switch;exports.SwitchContainer=P.SwitchContainer;exports.Thumb=P.Thumb;exports.MenuItemDropdown=pn.MenuItemDropdown;exports.MultiLevelDropdown=An.MultiLevelDropdown;exports.NaLinkWrapper=H.NaLinkWrapper;exports.NavigationHyperlink=H.NavigationHyperlink;exports.NewSubscriptionPlan=Cn.NewSubscriptionPlan;exports.OUT_OF_STOCK_ACTION=v.OUT_OF_STOCK_ACTION;exports.ScreenName=v.ScreenName;exports.OpenedDropdown=Sn.OpenedDropdown;exports.POPUP_DIMENSIONS=qn.POPUP_DIMENSIONS;exports.Pagination=In.Pagination;exports.PickerType=En.PickerType;exports.PieChart=hn.PieChart;exports.PostLiveChecklist=Pn.PostLiveChecklist;exports.PostLiveChecklistItem=_n.PostLiveChecklistItem;exports.PricePleaseProductPicker=G.PricePleaseProductPicker;exports.ProductPickerContent=G.ProductPickerContent;exports.ProductPickerModal=Rn.ProductPickerModal;exports.ProgressBadgeIcon=mn.ProgressBadgeIcon;exports.ProgressBarComponent=W.ProgressBarComponent;exports.ProgressCompletedBar=W.ProgressCompletedBar;exports.ProgressBarType=D.ProgressBarType;exports.ProgressBarV2=D.ProgressBarV2;exports.TextAlignment=D.TextAlignment;exports.PropertyNode=x.PropertyNode;exports.PropertyNodeHeadless=x.PropertyNodeHeadless;exports.PureSpinner=Y.PureSpinner;exports.Spinner=Y.Spinner;exports.QueryBuilder=gn.QueryBuilder;exports.QueryBuilderConnectorType=On.QueryBuilderConnectorType;exports.RATIO=z.RATIO;exports.Thumbnail=z.Thumbnail;exports.RadioButton=Bn.RadioButton;exports.RadioList=fn.RadioList;exports.RechargeError=Nn.RechargeError;exports.Redirect2Icon=yn.Redirect2Icon;exports.STEP_DEFINITIONS=Dn.STEP_DEFINITIONS;exports.ScoreBlock=kn.ScoreBlock;exports.SearchBar=Ln.SearchBar;exports.SearchIcon=Mn.SearchIcon;exports.ShopifyScopeWrapper=bn.ShopifyScopeWrapper;exports.ShowShopifyRestrictedModal=Fn.ShowShopifyRestrictedModal;exports.SideModal=wn.SideModal;exports.SidebarSkeleton=Un.SidebarSkeleton;exports.SimpleSidebar=Vn.SimpleSidebar;exports.SmallCheckIcon=Hn.SmallCheckIcon;exports.StackedBarChart=vn.StackedBarChart;exports.StackedBarDistributionChart=Gn.StackedBarDistributionChart;exports.StarRating=Wn.StarRating;exports.StateModalComponent=xn.StateModalComponent;exports.Stepper=Yn.Stepper;exports.StyledModal=zn.StyledModal;exports.SubscriptionPlan=Kn.SubscriptionPlan;exports.SubscriptionPlansCollected=Qn.SubscriptionPlansCollected;exports.TEXT=Xn.TEXT;exports.TabItemComponent=K.TabItemComponent;exports.Tabs=K.Tabs;exports.TablePagination=jn.TablePagination;exports.TablePaginationCard=Q.TablePaginationCard;exports.TablePaginationCardStyled=Q.TablePaginationCardStyled;exports.Tag=$n.Tag;exports.TemplateAnalyticsSkeleton=Zn.TemplateAnalyticsSkeleton;exports.TemplateContextMapper=Jn.TemplateContextMapper;exports.TemplatePreview=ea.TemplatePreview;exports.TestimonialCard=ra.TestimonialCard;exports.TextPickerModal=ta.TextPickerModal;exports.TimePicker=oa.TimePicker;exports.Toaster=ia.Toaster;exports.ToolSource=na.ToolSource;exports.Tooltip=aa.Tooltip;exports.TruncateValue=t.TruncateValue;exports.calculatePercentage=t.calculatePercentage;exports.roundNumber=t.roundNumber;exports.truncateValueForIndianStore=t.truncateValueForIndianStore;exports.truncateValueForInternationalStore=t.truncateValueForInternationalStore;exports.truncateValueTo10K=t.truncateValueTo10K;exports.truncateValueToA=t.truncateValueToA;exports.truncateValueToB=t.truncateValueToB;exports.truncateValueToC=t.truncateValueToC;exports.truncateValueToK=t.truncateValueToK;exports.truncateValueToL=t.truncateValueToL;exports.truncateValueToM=t.truncateValueToM;exports.truncateValueToT=t.truncateValueToT;exports.VariableEditorHelper=ua.VariableEditorHelper;exports.VariablePicker=ca.VariablePicker;exports.VerticalBarAndLinearGraph=sa.VerticalBarAndLinearGraph;exports.VerticalGraph=la.VerticalGraph;exports.VideoModal=da.VideoModal;exports.WhatsAppFormatToHTML=Ta.WhatsAppFormatToHTML;exports.WhatsAppTextEditor=pa.WhatsAppTextEditor;exports.WhatsNew=Aa.WhatsNew;exports.WhatsNewButton=Ca.WhatsNewButton;exports.WhatsNewPanel=Sa.WhatsNewPanel;exports.WhatsNewProvider=X.WhatsNewProvider;exports.useWhatsNewContext=X.useWhatsNewContext;exports.WhatsappIntegrationError=qa.WhatsappIntegrationError;exports.WhatsappLikePreview=Ia.WhatsappLikePreview;exports.WhatsappLikePreviewV2=Ea.WhatsappLikePreviewV2;exports.buildAgentMentionItems=k.buildAgentMentionItems;exports.editorDocToInstructions=k.editorDocToInstructions;exports.instructionsToEditorHtml=k.instructionsToEditorHtml;exports.environment=ha.environment;exports.escapeFormulaInjection=a.escapeFormulaInjection;exports.isAllowedImageUrl=a.isAllowedImageUrl;exports.isAllowedLinkUrl=a.isAllowedLinkUrl;exports.isAllowedUrl=a.isAllowedUrl;exports.sanitizeBasicHtml=a.sanitizeBasicHtml;exports.sanitizeEmailHtml=a.sanitizeEmailHtml;exports.sanitizePlainText=a.sanitizePlainText;exports.stripHtmlTags=a.stripHtmlTags;exports.getAllDataFromTemplateComponent=j.getAllDataFromTemplateComponent;exports.getAllDataFromWebpushTemplateComponent=j.getAllDataFromWebpushTemplateComponent;exports.getAuthMethods=c.getAuthMethods;exports.getFirestoreLiteMethods=c.getFirestoreLiteMethods;exports.getFirestoreMethods=c.getFirestoreMethods;exports.getFunctionsMethods=c.getFunctionsMethods;exports.getMessagingMethods=c.getMessagingMethods;exports.getStorageMethods=c.getStorageMethods;exports.getBodyHtml=$.getBodyHtml;exports.getSectionsHtml=$.getSectionsHtml;exports.getFireStoreDb=Pa.getFireStoreDb;exports.getFireStoreLiteDb=_a.getFireStoreLiteDb;exports.getFirebaseChatStorage=Ra.getFirebaseChatStorage;exports.isVariable=Z.isVariable;exports.validateIsUrl=Z.validateIsUrl;exports.queryBuilderCacheSlice=ma.queryBuilderCacheSlice;exports.queryBuilderSlice=ga.queryBuilderSlice;exports.renderVariableUIForPreview=Oa.renderVariableUIForPreview;exports.resizeImage=Ba.resizeImage;exports.toLiveChatText=fa.toLiveChatText;exports.toWhatsAppText=Na.toWhatsAppText;exports.unwrapDropdownValue=ya.unwrapDropdownValue;exports.useAIChat=Da.useAIChat;exports.useAgentDraft=ka.useAgentDraft;exports.useFeatureAnnouncements=La.useFeatureAnnouncements;exports.useWhatsNew=Ma.useWhatsNew;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("./components/template-preview/constants/regexPatterns.js"),ee=require("./utils/StringUtils.js"),T=require("./constants/Theme.js"),re=require("./constants/zindex.js"),e=require("./components/TypographyStyle.js"),te=require("./components/SearchFilter/index.js"),oe=require("./components/resizeImage/index.js"),ie=require("./utils/validator.js"),ne=require("./components/input-with-vars/customPortal.js"),ae=require("./components/dropdown/MultilevelDropdownPopover/index.js"),ue=require("./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js"),se=require("./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js"),L=require("./components/data-source-panel/model.js"),ce=require("./assets/icons/actionButton.svg.js"),le=require("./components/adbanner/AdBanner.js"),de=require("./assets/icons/aiContentIcon.svg.js"),Te=require("./assets/icons/AiEdit.svg.js"),pe=require("./assets/icons/Ai_event_generating.svg.js"),Ce=require("./assets/icons/alarm.svg.js"),Ae=require("./assets/icons/alert.svg.js"),Se=require("./assets/icons/alert_triangle.svg.js"),qe=require("./assets/icons/arrow_back.svg.js"),Ie=require("./assets/icons/arrow_down.svg.js"),Ee=require("./assets/icons/arrow_left.svg.js"),Pe=require("./assets/icons/arrow_up.svg.js"),he=require("./assets/icons/back_icon.svg.js"),_e=require("./assets/icons/bik_ai_stars_icon.svg.js"),Re=require("./assets/icons/bik_livechat.svg.js"),me=require("./assets/icons/Bik_logo.svg.js"),ge=require("./assets/icons/bold.svg.js"),Oe=require("./assets/icons/box.svg.js"),Be=require("./assets/icons/box_round.svg.js"),fe=require("./assets/icons/box_search.svg.js"),Ne=require("./assets/icons/boxV2.svg.js"),ye=require("./assets/icons/brand_home.svg.js"),De=require("./assets/icons/broken_media_image.svg.js"),ke=require("./assets/icons/calendar.svg.js"),Le=require("./assets/icons/card_footer_arraw.svg.js"),Me=require("./assets/icons/ChartBar.svg.js"),be=require("./assets/icons/ChartPie.svg.js"),Fe=require("./assets/icons/chat.svg.js"),we=require("./assets/icons/chat-channel.svg.js"),Ue=require("./assets/icons/check.svg.js"),Ve=require("./assets/icons/checkCircle.svg.js"),He=require("./assets/icons/CheckSquareOffset.svg.js"),ve=require("./assets/icons/checklistIcon.svg.js"),Ge=require("./assets/icons/chevronDown.svg.js"),We=require("./assets/icons/chevronDownOutline.svg.js"),xe=require("./assets/icons/chevronLeft.svg.js"),Ye=require("./assets/icons/chevronLeft2.svg.js"),ze=require("./assets/icons/chevronRight.svg.js"),Ke=require("./assets/icons/chevronRight2.svg.js"),Qe=require("./assets/icons/chevronRightAlt.svg.js"),Xe=require("./assets/icons/chevronUpOutline.svg.js"),je=require("./assets/icons/circular-cross-icon.svg.js"),$e=require("./assets/icons/click.svg.js"),Ze=require("./assets/icons/clock.svg.js"),Je=require("./assets/icons/copy-code-icon.svg.js"),er=require("./assets/icons/cross.svg.js"),rr=require("./assets/icons/cubeIcon.svg.js"),tr=require("./assets/icons/cursor.svg.js"),or=require("./assets/icons/CustomiseIcon.js"),ir=require("./assets/icons/delete.svg.js"),nr=require("./assets/icons/desktop_custom.svg.js"),ar=require("./assets/icons/DocsIcon.js"),ur=require("./assets/icons/document_pdf.svg.js"),sr=require("./assets/icons/DoubtIcon.js"),cr=require("./assets/icons/drag_handle.svg.js"),lr=require("./assets/icons/edit.svg.js"),dr=require("./assets/icons/EditLabel.js"),Tr=require("./assets/icons/email-channel.svg.js"),pr=require("./assets/icons/emoji.svg.js"),Cr=require("./assets/icons/EnableIcon.js"),Ar=require("./assets/icons/errorIcon.svg.js"),Sr=require("./assets/icons/errorInfo.svg.js"),qr=require("./assets/icons/expressionless_emoji.svg.js"),Ir=require("./assets/icons/facebook_channel.svg.js"),Er=require("./components/feature-announcements/FeatureAnnouncementProvider.js"),Pr=require("./assets/icons/file.svg.js"),hr=require("./assets/icons/filePdf.svg.js"),_r=require("./assets/icons/gift_icon.svg.js"),Rr=require("./assets/icons/gmail.svg.js"),mr=require("./assets/icons/GoLiveIcon.js"),gr=require("./assets/icons/graph.svg.js"),Or=require("./assets/icons/grid.svg.js"),Br=require("./assets/icons/halfRectangle.svg.js"),fr=require("./assets/icons/HeadsetIcon.js"),Nr=require("./assets/icons/help.svg.js"),yr=require("./assets/icons/HelpIcon.svg.js"),Dr=require("./assets/icons/home.svg.js"),kr=require("./assets/icons/horizontal_dots.svg.js"),Lr=require("./assets/icons/hover_home.svg.js"),Mr=require("./assets/icons/Idea.svg.js"),br=require("./assets/icons/image.svg.js"),Fr=require("./assets/icons/info.svg.js"),wr=require("./assets/icons/instagram.svg.js"),Ur=require("./assets/icons/instagram-channel.svg.js"),Vr=require("./assets/icons/italic.svg.js"),Hr=require("./assets/icons/list.svg.js"),vr=require("./assets/icons/ListChecksIcon.js"),Gr=require("./assets/icons/locked.svg.js"),Wr=require("./assets/icons/log_out.svg.js"),xr=require("./assets/icons/lto_icon.svg.js"),Yr=require("./components/feature-announcements/MajorUpdatePopup.js"),zr=require("./components/markdown/MarkdownRender.js"),Kr=require("./assets/icons/MarketingIcon.js"),Qr=require("./assets/icons/maximize.svg.js"),Xr=require("./components/feature-announcements/MinorUpdatePopup.js"),jr=require("./assets/icons/mobile_custom.svg.js"),$r=require("./assets/icons/more_vertical.svg.js"),Zr=require("./assets/icons/NotesIcon.js"),Jr=require("./assets/icons/NudgesIcon.js"),et=require("./assets/icons/OnboardingLogo.js"),rt=require("./assets/icons/openai.svg.js"),tt=require("./assets/icons/OrderTrackingIcon.js"),ot=require("./assets/icons/paperclip.svg.js"),it=require("./assets/icons/percentage_icon.svg.js"),nt=require("./assets/icons/phone.svg.js"),at=require("./assets/icons/phone_round.svg.js"),ut=require("./assets/icons/play.svg.js"),st=require("./assets/icons/plus.svg.js"),ct=require("./assets/icons/PlusIcon.js"),lt=require("./assets/icons/pointer.svg.js"),dt=require("./assets/icons/profile.svg.js"),Tt=require("./components/ProgressChecklist/ProgressChecklist.js"),pt=require("./assets/icons/qrb.svg.js"),Ct=require("./assets/icons/question-mark.svg.js"),At=require("./assets/icons/quotes.svg.js"),St=require("./assets/icons/RCS_PDF.svg.js"),qt=require("./assets/icons/redirect.svg.js"),It=require("./assets/icons/RedirectToNew.svg.js"),Et=require("./assets/icons/refresh.svg.js"),Pt=require("./assets/icons/retry.svg.js"),ht=require("./assets/icons/retryIcon.svg.js"),_t=require("./assets/icons/sad_emoji.svg.js"),Rt=require("./assets/icons/search.svg.js"),mt=require("./assets/icons/searchIcon.svg.js"),gt=require("./assets/icons/send.svg.js"),Ot=require("./assets/icons/send_template.svg.js"),Bt=require("./assets/icons/shipping_icon.svg.js"),ft=require("./assets/icons/ShoppingIcon.js"),Nt=require("./assets/icons/similar.svg.js"),yt=require("./assets/icons/smile_emoji.svg.js"),Dt=require("./assets/icons/smiley_emoji.svg.js"),kt=require("./assets/icons/sparkle.svg.js"),Lt=require("./assets/icons/speedometer.svg.js"),Mt=require("./assets/icons/starEmpty.svg.js"),bt=require("./assets/icons/starFilled.svg.js"),Ft=require("./assets/icons/starFilledV2.svg.js"),wt=require("./assets/icons/state_icon.svg.js"),Ut=require("./assets/icons/StepsIcon.js"),Vt=require("./assets/icons/StoreIcon.js"),Ht=require("./assets/icons/strikeThrough.svg.js"),vt=require("./assets/icons/sub_category.svg.js"),Gt=require("./assets/icons/successIcon.svg.js"),Wt=require("./assets/icons/SupportIcon.js"),xt=require("./assets/icons/sync.svg.js"),Yt=require("./assets/icons/task.svg.js"),zt=require("./assets/icons/text_t9.svg.js"),Kt=require("./assets/icons/ThreeColumnsIcon.js"),Qt=require("./assets/icons/tick.svg.js"),Xt=require("./assets/icons/tick_double.svg.js"),jt=require("./assets/icons/TrainingIcon.js"),$t=require("./assets/icons/triangle_error.svg.js"),Zt=require("./assets/icons/undo.svg.js"),Jt=require("./assets/icons/union.svg.js"),eo=require("./assets/icons/upload.svg.js"),ro=require("./assets/icons/user_icon.svg.js"),to=require("./assets/icons/vertical_dots.svg.js"),oo=require("./components/vertical-full-screen-modal/component.js"),io=require("./assets/icons/video_camcorder.svg.js"),no=require("./assets/icons/videoRecorder.svg.js"),ao=require("./assets/icons/warning.svg.js"),uo=require("./assets/icons/warningIcon.svg.js"),so=require("./assets/icons/website.svg.js"),co=require("./assets/icons/whatsNew.svg.js"),lo=require("./assets/icons/whatsapp-channel.svg.js"),To=require("./assets/icons/whatsapp_color.svg.js"),po=require("./assets/icons/WhiteStarFilled.svg.js"),u=require("./components/template-preview/models/TemplateMeta.js"),r=require("./components/QueryBuilder/types/QueryBuilderOperator.type.js"),Co=require("./components/agent-builder/constants/charLimits.js"),c=require("./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js"),Ao=require("./components/bik-chatbot/components/AIChat.js"),M=require("./components/bik-chatbot/contexts/AIContext.js"),_=require("./components/WhatsAppTextEditor/ai/aiTag.js"),R=require("./components/alerts/AlertHelper.js"),So=require("./components/feature-announcements/constants/animations.js"),qo=require("./utils/logging/ErrorConstructor/ApiError.js"),p=require("./components/avatar/AvatarHelper.js"),C=require("./components/avatar/Avatar.js"),Io=require("./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js"),Eo=require("./components/action-button/ActionButtons.js"),Po=require("./components/ai-modals/ActivateBikAI.js"),ho=require("./assets/icons/ActiveChecklistIcon.js"),_o=require("./components/add-variableV2/AddVariableV2.js"),Ro=require("./components/add-variableV2/AddVariableV2SideModal.js"),mo=require("./components/agent-builder/AgentBuilder.js"),go=require("./components/agent-listing/AgentListing.js"),Oo=require("./components/ai-modals/AiCreditsExhausted.js"),Bo=require("./components/ai-modals/AiCreditsLow.js"),fo=require("./components/ai-modals/AiSyncProgress.js"),No=require("./components/alerts/Alert.js"),yo=require("./components/analytics-card/AnalyticsCard.js"),Do=require("./components/analytics-chips-and-dropdowns/AnalyticsChip.js"),b=require("./components/analytics-card/AnalyticsCard.styled.js"),m=require("./components/analytics-chips-and-dropdowns/AnalyticsDropdown.js"),A=require("./components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js"),ko=require("./components/analytics-chips-and-dropdowns/AnalyticsMetric.js"),Lo=require("./components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js"),Mo=require("./components/analytics-chips-and-dropdowns/AnalyticsTrend.js"),bo=require("./components/bik-chatbot/components/BIKChatbot.js"),o=require("./components/markdown/utils.js"),g=require("./components/template-preview/models/WhatsAppTemplate.js"),l=require("./components/whats-new/WhatsNew.styles.js"),O=require("./components/adbanner/model.js"),Fo=require("./components/QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js"),wo=require("./helpers/BaseWhatsappContentLang.helper.js"),Uo=require("./components/accordion/Accordion.js"),Vo=require("./editor/BikEditor.js"),Ho=require("./editor/toolbar/BikEditorToolbar.js"),vo=require("./components/BikGiftedChat/GiftedChat/GiftedChat.js"),Go=require("./components/bik-layout/BikHeader.js"),Wo=require("./components/image-cropper/BikImageCropper.js"),xo=require("./components/image-cropper/BikImagePipeline/BikImagePipeline.js"),Yo=require("./components/bik-layout/BikLayout.js"),zo=require("./components/bik-layout/BikProfile.js"),Ko=require("./components/shimmer/ShimmerComponent/BikShimmer.js"),Qo=require("./components/bik-layout/BikSidebar.js"),Xo=require("./components/bik-layout/BikSidebarV2/BikSidebarV2.js"),jo=require("./components/slider/slider.js"),S=require("./components/plans/SubscriptionPlanSelector.js"),$o=require("./utils/logging/ErrorConstructor/BroadcastFlowError.js"),Zo=require("./components/BikGiftedChat/Bubble/Bubble.js"),Jo=require("./components/button/Button.js"),q=require("./components/states/StateComponent.js"),ei=require("./components/buttonGroup/ButtonGroup.js"),ri=require("./components/template-preview/models/Channels.js"),B=require("./components/bik-chatbot/types/chat.js"),i=require("./components/discount-modal/type.js"),f=require("./components/curtain/CurtainHelper.js"),F=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js"),ti=require("./components/card-selection-modal/CardSelectionModal.js"),oi=require("./components/card-selector/CardSelector.js"),ii=require("./components/card-selector/CardSelectorGroup.js"),ni=require("./components/carousel/carousel.js"),ai=require("./components/carousel-preview/CarouselPreview.js"),ui=require("./components/carousel-secondary/CarouselSecondary.js"),si=require("./components/carousel-secondary/model.js"),ci=require("./components/checkBox/CheckBox.js"),li=require("./assets/icons/CheckIndicatorIcon.js"),di=require("./components/checkList/CheckList.js"),Ti=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js"),w=require("./components/dropdown/ChipDropdown.js"),pi=require("./components/code-block/CodeBlock.js"),Ci=require("./components/code-block/types.js"),Ai=require("./utils/logging/ErrorConstructor/CohortError.js"),Si=require("./components/colourInput/ColourInput.js"),qi=require("./assets/icons/CompletedChecklistIcon.js"),Ii=require("./components/connected-app-dialog/ConnectedAppDialog.js"),Ei=require("./components/country-code-picker/CountryCodePicker.modal.js"),Pi=require("./components/country-code-picker/CountryCodePicker.js"),hi=require("./components/country-code-picker/CountryPicker.js"),_i=require("./components/discount-modal/CouponExpiration/CouponExpiration.js"),Ri=require("./components/curtain/Curtain.js"),mi=require("./components/custom-date-time/CustomDateTime.js"),gi=require("./utils/logging/ErrorConstructor/CustomError.js"),Oi=require("./editor/BikEditor.types.js"),U=require("./components/shimmer-image/ShimmerImage.js"),N=require("./components/bik-chatbot/types/ai.js"),a=require("./components/floating-action-button/FloatingActionButton.styles.js"),Bi=require("./components/dashboard-review-popup/DashboardReviewPopUp.js"),fi=require("./components/data-source-panel/DataSourcePanel.js"),I=require("./components/postPicker/postPicker.js"),Ni=require("./components/datePicker/DatePicker.js"),yi=require("./components/datePicker/DatePickerWrapper.js"),Di=require("./components/states-modal/DeleteConfirmationModal.js"),ki=require("./components/discount-modal/DiscountModal.js"),Li=require("./components/dot-pulse/DotPulse.js"),Mi=require("./components/dropShadow/DropShadow.js"),bi=require("./components/dropdown/Dropdown.js"),Fi=require("./components/dropdown-button/DropdownButton.js"),wi=require("./components/dropdown/DropdownPopover/index.js"),Ui=require("./components/dual-icon-button/DualIconButton.js"),Vi=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/types.js"),Hi=require("./components/dynamic-tabs/DynamicTabs.js"),y=require("./utils/logging/Logger.js"),vi=require("./utils/logging/ErrorConstructor/ExcelUploadError.js"),Gi=require("./components/fab-menu/FABMenu.js"),Wi=require("./components/bik-layout/FeatureModal.js"),xi=require("./components/bik-layout/FeatureModalV2.js"),Yi=require("./components/file-uploader/FileUploader.js"),zi=require("./utils/logging/ErrorConstructor/FirebaseCallError.js"),Ki=require("./utils/logging/ErrorConstructor/FirebaseSubscriptionError.js"),Qi=require("./firebase/firebaseUserFetcher.js"),Xi=require("./components/floater/floater.js"),ji=require("./components/floating-action-button/FloatingActionButton.js"),$i=require("./components/floating-input-dropdown/FloatingInputDropdown.js"),Zi=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js"),Ji=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.model.js"),E=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js"),P=require("./request-executor/executor.js"),en=require("./components/half-doughnut-chart/HalfDoughnutChart.js"),V=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js"),rn=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js"),tn=require("./components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js"),on=require("./components/icon-button/IconButton.js"),nn=require("./components/image-compress/ImageCompress.js"),an=require("./assets/icons/InactiveChecklistIcon.js"),un=require("./components/input/Input.js"),sn=require("./components/input-with-vars/InputWithVariables.js"),cn=require("./components/keywords-input/KeywordsInput.js"),d=require("./firebase/lazyFirebaseApp.js"),ln=require("./components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js"),dn=require("./components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js"),Tn=require("./components/list-item/ListItem.js"),h=require("./components/switch/Switch.js"),pn=require("./components/dropdown/MenuItem/MenuItem.js"),Cn=require("./components/multi-level-dropdown/MultiLevelDropdown.js"),H=require("./components/navigation-hyperlink/NavigationHyperlink.js"),An=require("./components/plans/NewSubscriptionPlan.js"),v=require("./components/product-picker-v2/type.js"),Sn=require("./components/dropdown/OpenedDropdown/components/OpennedDropdown.js"),qn=require("./components/feature-announcements/constants/dimensions.js"),In=require("./components/pagination/Pagination.js"),En=require("./components/variable-picker-v3/model.js"),Pn=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js"),hn=require("./components/post-live-checklist/PostLiveChecklist.js"),_n=require("./components/post-live-checklist-item/PostLiveChecklistItem.js"),G=require("./components/product-picker/ProductPickerModal.js"),Rn=require("./components/product-picker-v2/modal.js"),mn=require("./assets/icons/ProgressBadgeIcon.js"),W=require("./components/progress-bar/ProgressBarComponent.js"),D=require("./components/progress-bar-v2/ProgressBarV2.js"),x=require("./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js"),Y=require("./components/spinner/Spinner.js"),gn=require("./components/QueryBuilder/QueryBuilder.js"),On=require("./components/QueryBuilder/types/QueryBuilderEnum.type.js"),z=require("./components/thumbnail/Thumbnail.js"),Bn=require("./components/radioButton/RadioButton.js"),fn=require("./components/radioList/RadioList.js"),Nn=require("./utils/logging/ErrorConstructor/RechargeFailure.js"),yn=require("./assets/icons/Redirect2Icon.js"),Dn=require("./components/agent-builder/constants/steps.js"),kn=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js"),Ln=require("./components/searchBar/searchBar.js"),Mn=require("./assets/icons/searchIcon.js"),bn=require("./components/states/ShopifyScopeWrapper.js"),Fn=require("./components/bik-layout/ShowShopifyRestrictedModal.js"),wn=require("./components/side-modal/SideModal.js"),Un=require("./components/bik-layout/SidebarSkeleton.js"),Vn=require("./components/bik-layout/SimpleSidebar.js"),Hn=require("./assets/icons/SmallCheckIcon.js"),vn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js"),Gn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.js"),Wn=require("./components/star-rating/StarRating.js"),xn=require("./components/states-modal/StateModalComponent.js"),Yn=require("./components/stepper/Stepper.js"),zn=require("./components/modals/styledModal.js"),Kn=require("./components/plans/SubscriptionPlan.js"),Qn=require("./components/plans/SubscriptionPlansCollected.js"),Xn=require("./components/feature-announcements/constants/index.js"),K=require("./components/tabs/Tabs.js"),jn=require("./components/TablePagination/TablePagination.js"),Q=require("./components/TablePagination/TablePaginationCard.js"),$n=require("./components/tag/Tag.js"),Zn=require("./components/template-context-mapper/modalElements/TemplateAnalyticsSkeleton.js"),Jn=require("./components/template-context-mapper/TemplateContextMapper.js"),ea=require("./components/template-preview/TemplatePreview.js"),ra=require("./components/testimonial-card/TestimonialCard.js"),ta=require("./components/text-picker/TextPickerModal.js"),oa=require("./components/datePicker/TimePicker.js"),ia=require("./components/toaster/Toaster.js"),na=require("./components/agent-builder/constants/tools.js"),aa=require("./components/tooltips/Tooltip.js"),t=require("./components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js"),ua=require("./components/template-preview/helpers/VariableEditorHelper.js"),sa=require("./components/variable-picker-v3/VariablePicker.js"),ca=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js"),la=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js"),da=require("./components/feature-announcements/VideoModal.js"),Ta=require("./components/template-preview/helpers/WhatsAppFormatToHTML.js"),pa=require("./components/WhatsAppTextEditor/WhatsAppTextEditor.js"),Ca=require("./components/whats-new/WhatsNew.js"),Aa=require("./components/whats-new/WhatsNewButton.js"),Sa=require("./components/whats-new/WhatsNewPanel.js"),X=require("./components/whats-new/WhatsNewProvider.js"),qa=require("./utils/logging/ErrorConstructor/WhatsappIntegrationError.js"),Ia=require("./components/template-preview/WhatsApp/WhatsAppLikePreview.js"),Ea=require("./components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js"),k=require("./components/agent-builder/utils/mentionSerialization.js"),Pa=require("./firebase/environment.js"),n=require("./helpers/sanitize.js"),j=require("./components/template-context-mapper/utils/getDataFromTemplateComponent.js"),s=require("./firebase/lazyFirebaseMethods.js"),$=require("./editor/BikEditor.utils.js"),ha=require("./firebase/lazyFirestore.js"),_a=require("./firebase/lazyFirestoreLite.js"),Ra=require("./firebase/lazyStorage.js"),Z=require("./components/template-context-mapper/utils/validateIsUrl.js"),ma=require("./components/QueryBuilder/redux/queryBuilderCache.reducer.js"),ga=require("./components/QueryBuilder/redux/queryBuilder.reducer.js"),Oa=require("./components/template-preview/helpers/SmsTemplateHelper.js"),Ba=require("./utils/resizeImage.js"),fa=require("./editor/serializers/toLiveChatText.js"),Na=require("./editor/serializers/toWhatsAppText.js"),ya=require("./components/dropdown/utils.js"),Da=require("./components/bik-chatbot/services/useAIChat.js"),ka=require("./components/agent-builder/hooks/useAgentDraft.js"),La=require("./components/feature-announcements/hooks/useFeatureAnnouncements.js"),Ma=require("./components/whats-new/useWhatsNew.js");exports.regexPatterns=J;exports.StringUtils=ee.default;exports.BASE_COLORS=T.BASE_COLORS;exports.COLORS=T.COLORS;exports.DEFAULT_THEME=T.DEFAULT_THEME;exports.FONTS=T.FONTS;exports.ComponentZindex=re.ComponentZindex;exports.AiBodyCaption=e.AiBodyCaption;exports.AiBodyTiny=e.AiBodyTiny;exports.BodyCaption=e.BodyCaption;exports.BodyLarge=e.BodyLarge;exports.BodyPrimary=e.BodyPrimary;exports.BodyPrimaryLink=e.BodyPrimaryLink;exports.BodyRegular=e.BodyRegular;exports.BodySecondary=e.BodySecondary;exports.BodySecondaryLink=e.BodySecondaryLink;exports.BodySmall=e.BodySmall;exports.BodyTiny=e.BodyTiny;exports.BodyTinySemiBold=e.BodyTinySemiBold;exports.ButtonLarge=e.ButtonLarge;exports.ButtonLargeAI=e.ButtonLargeAI;exports.ButtonRegular=e.ButtonRegular;exports.ButtonRegularAI=e.ButtonRegularAI;exports.Caption=e.Caption;exports.CaptionBold=e.CaptionBold;exports.Display=e.Display;exports.SmallRegular=e.SmallRegular;exports.SubHeading=e.SubHeading;exports.TextPlaceholder=e.TextPlaceholder;exports.Tiny=e.Tiny;exports.TitleFour=e.TitleFour;exports.TitleLarge=e.TitleLarge;exports.TitleMedium=e.TitleMedium;exports.TitleRegular=e.TitleRegular;exports.TitleSmall=e.TitleSmall;exports.TitleTiny=e.TitleTiny;exports.TitleXlarge=e.TitleXlarge;exports.SearchFilter=te.SearchFilter;exports.ResizableImage=oe.ResizableImage;exports.validateURL=ie.validateURL;exports.CustomPortal=ne.CustomPortal;exports.MultilevelDropdownPopover=ae.MultilevelDropdownPopover;exports.UnsatisfactoryResponseList=ue.UnsatisfactoryResponseList;exports.UnsatisfactoryCountIntentWiseModal=se.UnsatisfactoryCountIntentWiseModal;exports.CustomDataCategories=L.CustomDataCategories;exports.CustomDataType=L.CustomDataType;exports.ActionButton=ce.default;exports.AdBanner=le.default;exports.AiContentIcon=de.default;exports.AiEdit=Te.default;exports.AiEventGenerating=pe.default;exports.Alarm=Ce.default;exports.AlertIcon=Ae.default;exports.AlertTriangle=Se.default;exports.ArrowBack=qe.default;exports.ArrowDown=Ie.default;exports.ArrowLeft=Ee.default;exports.ArrowUp=Pe.default;exports.BackIcon=he.default;exports.BikAiStarsIcon=_e.default;exports.BikLivechat=Re.default;exports.BikLogo=me.default;exports.Bold=ge.default;exports.Box=Oe.default;exports.BoxRound=Be.default;exports.BoxSearch=fe.default;exports.BoxV2=Ne.default;exports.BrandHome=ye.default;exports.BrokenMediaImage=De.default;exports.Calendar=ke.default;exports.CardFooterArrow=Le.default;exports.ChartBar=Me.default;exports.ChartPie=be.default;exports.Chat=Fe.default;exports.ChatChannel=we.default;exports.Check=Ue.default;exports.CheckCircle=Ve.default;exports.CheckSquareOffset=He.default;exports.ChecklistIcon=ve.default;exports.ChevronDown=Ge.default;exports.ChevronDownOutline=We.default;exports.ChevronLeft=xe.default;exports.ChevronLeft2=Ye.default;exports.ChevronRight=ze.default;exports.ChevronRight2=Ke.default;exports.ChevronRightAlt=Qe.default;exports.ChevronUpOutline=Xe.default;exports.CircularCrossIcon=je.default;exports.Click=$e.default;exports.Clock=Ze.default;exports.CopyCodeIcon=Je.default;exports.Cross=er.default;exports.CubeIcon=rr.default;exports.Cursor=tr.default;exports.CustomiseIcon=or.default;exports.Delete=ir.default;exports.DesktopCustom=nr.default;exports.Docs=ar.default;exports.DocumentPdf=ur.default;exports.Doubt=sr.default;exports.DragHandle=cr.default;exports.Edit=lr.default;exports.EditLabel=dr.default;exports.EmailChannel=Tr.default;exports.Emoji=pr.default;exports.EnableIcon=Cr.default;exports.ErrorIcon=Ar.default;exports.ErrorInfo=Sr.default;exports.ExpressionlessEmoji=qr.default;exports.FacebookChannel=Ir.default;exports.FeatureAnnouncementProvider=Er.default;exports.File=Pr.default;exports.FilePdf=hr.default;exports.GiftIcon=_r.default;exports.Gmail=Rr.default;exports.GoLiveIcon=mr.default;exports.Graph=gr.default;exports.Grid=Or.default;exports.HalfRectangle=Br.default;exports.HeadsetIcon=fr.default;exports.Help=Nr.default;exports.HelpIcon=yr.default;exports.Home=Dr.default;exports.HorizontalDots=kr.default;exports.HoverHome=Lr.default;exports.Idea=Mr.default;exports.Image=br.default;exports.Info=Fr.default;exports.Instagram=wr.default;exports.InstagramChannel=Ur.default;exports.Italic=Vr.default;exports.List=Hr.default;exports.ListChecksIcon=vr.default;exports.Locked=Gr.default;exports.LogOut=Wr.default;exports.LtoIcon=xr.default;exports.MajorUpdatePopup=Yr.default;exports.MarkdownRender=zr.default;exports.MarketingIcon=Kr.default;exports.Maximize=Qr.default;exports.MinorUpdatePopup=Xr.default;exports.MobileCustom=jr.default;exports.MoreVertical=$r.default;exports.Notes=Zr.default;exports.NudgesIcon=Jr.default;exports.OnboardingLogo=et.default;exports.OpenAI=rt.default;exports.OrderTrackingIcon=tt.default;exports.Paperclip=ot.default;exports.PercentageIcon=it.default;exports.Phone=nt.default;exports.PhoneRound=at.default;exports.Play=ut.default;exports.Plus=st.default;exports.PlusIcon=ct.default;exports.Pointer=lt.default;exports.Profile=dt.default;exports.ProgressChecklist=Tt.default;exports.Qrb=pt.default;exports.QuestionMark=Ct.default;exports.Quotes=At.default;exports.RCSPDF=St.default;exports.Redirect=qt.default;exports.RedirectToNew=It.default;exports.Refresh=Et.default;exports.Retry=Pt.default;exports.RetryIcon=ht.default;exports.SadEmoji=_t.default;exports.Search=Rt.default;exports.SearchIconSvg=mt.default;exports.Send=gt.default;exports.SendTemplate=Ot.default;exports.ShippingIcon=Bt.default;exports.ShoppingIcon=ft.default;exports.Similar=Nt.default;exports.SmileEmoji=yt.default;exports.SmileyEmoji=Dt.default;exports.Sparkle=kt.default;exports.Speedometer=Lt.default;exports.StarEmpty=Mt.default;exports.StarFilled=bt.default;exports.StarFilledV2=Ft.default;exports.StateIcon=wt.default;exports.Steps=Ut.default;exports.Store=Vt.default;exports.StrikeThrough=Ht.default;exports.SubCategory=vt.default;exports.SuccessIcon=Gt.default;exports.SupportIcon=Wt.default;exports.Sync=xt.default;exports.Task=Yt.default;exports.TextT9=zt.default;exports.ThreeColumns=Kt.default;exports.Tick=Qt.default;exports.TickDouble=Xt.default;exports.TrainingIcon=jt.default;exports.TriangleError=$t.default;exports.Undo=Zt.default;exports.Union=Jt.default;exports.Upload=eo.default;exports.UserIcon=ro.default;exports.VerticalDots=to.default;exports.VerticalFullScreenModal=oo.default;exports.VideoCamcorder=io.default;exports.VideoRecorder=no.default;exports.Warning=ao.default;exports.WarningIcon=uo.default;exports.Website=so.default;exports.WhatsNewIcon=co.default;exports.WhatsappChannel=lo.default;exports.WhatsappColor=To.default;exports.WhiteStarFilled=po.default;exports.ACTIONS_TYPES=u.ACTIONS_TYPES;exports.CUSTOM_URL_NAME=u.CUSTOM_URL_NAME;exports.HEADER_TYPES=u.HEADER_TYPES;exports.STATIC_URL_CTA_OPTION=u.STATIC_URL_CTA_OPTION;exports.TEMPLATE_EDITOR=u.TEMPLATE_EDITOR;exports.TEMPLATE_STATUS=u.TEMPLATE_STATUS;exports.UNSUBSCRIBE_URL_OPTION=u.UNSUBSCRIBE_URL_OPTION;exports.AD_STRING_OPERATORS=r.AD_STRING_OPERATORS;exports.ANY_AD_OPERATORS=r.ANY_AD_OPERATORS;exports.ANY_IG_OPERATORS=r.ANY_IG_OPERATORS;exports.BOOLEAN_OPERATORS=r.BOOLEAN_OPERATORS;exports.DATE_OPERATORS=r.DATE_OPERATORS;exports.EVENT_VALUES=r.EVENT_VALUES;exports.EXACTLY_OPERATORS=r.EXACTLY_OPERATORS;exports.FREQUENCY_OPERATORS=r.FREQUENCY_OPERATORS;exports.ICE_BREAKER_OPERATORS=r.ICE_BREAKER_OPERATORS;exports.IG_STRING_OPERATORS=r.IG_STRING_OPERATORS;exports.INTEGER_OPERATORS=r.INTEGER_OPERATORS;exports.MAIL_SUBJECT_OPERATORS=r.MAIL_SUBJECT_OPERATORS;exports.REACTION_OPERATORS=r.REACTION_OPERATORS;exports.SPECIFIC_IG_OPERATORS=r.SPECIFIC_IG_OPERATORS;exports.STRING_OPERATORS=r.STRING_OPERATORS;exports.STRING_RESTRICTED_OPERATORS=r.STRING_RESTRICTED_OPERATORS;exports.STRING_RESTRICTED_OPERATORS_2=r.STRING_RESTRICTED_OPERATORS_2;exports.STRING_RESTRICTED_OPERATORS_3=r.STRING_RESTRICTED_OPERATORS_3;exports.AGENT_CHAR_LIMITS=Co.AGENT_CHAR_LIMITS;exports.AIActionVariant=c.AIActionVariant;exports.AIEditorActionTypes=c.AIEditorActionTypes;exports.CustomRightBorder=c.CustomRightBorder;exports.EditorActionTypes=c.EditorActionTypes;exports.WhatsAppTextEditorHeader=c.WhatsAppTextEditorHeader;exports.AIChat=Ao.AIChat;exports.AIProvider=M.AIProvider;exports.useAIContext=M.useAIContext;exports.AI_TAG_CHANGE_RATIO_THRESHOLD=_.AI_TAG_CHANGE_RATIO_THRESHOLD;exports.computeAiTagOnAccept=_.computeAiTagOnAccept;exports.levenshteinDistance=_.levenshteinDistance;exports.ALERT_TYPES=R.ALERT_TYPES;exports.COLOR_CONFIG_MAP=R.COLOR_CONFIG_MAP;exports.CONTENT_POSITION=R.CONTENT_POSITION;exports.ANIMATION_TIMING=So.ANIMATION_TIMING;exports.APIError=qo.APIError;exports.AVATAR_BACKGROUND=p.AVATAR_BACKGROUND;exports.AVATAR_SIZE_MAP=p.AVATAR_SIZE_MAP;exports.AVATAR_TYPES=p.AVATAR_TYPES;exports.SIZE=p.SIZE;exports.AVATAR_SIZE_VS_ICON_SIZE_MAP=C.AVATAR_SIZE_VS_ICON_SIZE_MAP;exports.Avatar=C.Avatar;exports.BACKGROUND_VS_TEXT_COLOR_MAP=C.BACKGROUND_VS_TEXT_COLOR_MAP;exports.MESSAGE_CHANNELS=C.MESSAGE_CHANNELS;exports.AccessTokenTroubleshootDialog=Io.AccessTokenTroubleshootDialog;exports.ActionButtons=Eo.ActionButtons;exports.ActivateBikAi=Po.ActivateBikAi;exports.ActiveChecklistIcon=ho.ActiveChecklistIcon;exports.AddVariableV2=_o.AddVariableV2;exports.AddVariableV2SideModal=Ro.AddVariableV2SideModal;exports.AgentBuilder=mo.AgentBuilder;exports.AgentListing=go.AgentListing;exports.AiCreditsExhausted=Oo.AiCreditsExhausted;exports.AiCreditsLow=Bo.AiCreditsLow;exports.AiSyncProgress=fo.AiSyncProgress;exports.Alert=No.Alert;exports.AnalyticsCard=yo.AnalyticsCard;exports.AnalyticsChip=Do.AnalyticsChip;exports.AnalyticsContainer=b.AnalyticsContainer;exports.CardDataContainer=b.CardDataContainer;exports.AnalyticsDropdown=m.AnalyticsDropdown;exports.EachItem=m.EachItem;exports.formatDate=m.formatDate;exports.AnalyticsItem=A.AnalyticsItem;exports.QualityTimelineChart=A.QualityTimelineChart;exports.RightPanelTemplateAnalytics=A.RightPanelTemplateAnalytics;exports.TemplateAnalyticsComponent=A.TemplateAnalyticsComponent;exports.AnalyticsMetric=ko.AnalyticsMetric;exports.AnalyticsMultiChip=Lo.AnalyticsMultiChip;exports.AnalyticsTrend=Mo.AnalyticsTrend;exports.BIKChatbot=bo.BIKChatbot;exports.BOLD_TEXT_PATTERN=o.BOLD_TEXT_PATTERN;exports.CODE_TEXT_PATTERN=o.CODE_TEXT_PATTERN;exports.EMAIL_PATTERN=o.EMAIL_PATTERN;exports.ITALIC_TEXT_PATTERN=o.ITALIC_TEXT_PATTERN;exports.MARKDOWN_LINK_PATTERN=o.MARKDOWN_LINK_PATTERN;exports.RAW_PHONE_CANDIDATE_PATTERN=o.RAW_PHONE_CANDIDATE_PATTERN;exports.URL_PATTERN=o.URL_PATTERN;exports.filterPhoneCandidates=o.filterPhoneCandidates;exports.isCompleteFormatting=o.isCompleteFormatting;exports.isCompleteMarkdownLink=o.isCompleteMarkdownLink;exports.isCompleteUrl=o.isCompleteUrl;exports.stripMarkdownFormatting=o.stripMarkdownFormatting;exports.BUTTON_TYPE=g.BUTTON_TYPE;exports.POD=g.POD;exports.TEMPLATE_QUALITY=g.TEMPLATE_QUALITY;exports.BackgroundImageContainer=l.BackgroundImageContainer;exports.MainCardContainer=l.MainCardContainer;exports.MainContainer=l.MainContainer;exports.WhatsNewIconContainer=l.WhatsNewIconContainer;exports.WhatsNewWrapper=l.WhatsNewWrapper;exports.BannerThirdPartyIcon=O.BannerThirdPartyIcon;exports.BannerType=O.BannerType;exports.getUrlForBannerThirdPartyIcon=O.getUrlForBannerThirdPartyIcon;exports.BaseQueryBuilderNode=Fo.BaseQueryBuilderNode;exports.BaseWhatsappContentLangHelper=wo.BaseWhatsappContentLangHelper;exports.BikAccordion=Uo.BikAccordion;exports.BikEditor=Vo.BikEditor;exports.BikEditorToolbar=Ho.BikEditorToolbar;exports.BikGiftedChat=vo.default;exports.BikHeader=Go.BikHeader;exports.BikImageCropper=Wo.BikImageCropper;exports.BikImagePipeline=xo.BikImagePipeline;exports.BikLayout=Yo.BikLayout;exports.BikProfile=zo.BikProfile;exports.BikShimmer=Ko.BikShimmer;exports.BikSidebar=Qo.BikSidebar;exports.BikSidebarV2=Xo.BikSidebarV2;exports.BikSlider=jo.BikSlider;exports.BottomWrapper=S.BottomWrapper;exports.HeaderWrapper=S.HeaderWrapper;exports.SubscriptionPlanSelector=S.SubscriptionPlanSelector;exports.defaultTabs=S.defaultTabs;exports.BroadcastFlowError=$o.BroadcastFlowError;exports.Bubble=Zo.Bubble;exports.Button=Jo.Button;exports.ButtonActions=q.ButtonActions;exports.ButtonTypes=q.ButtonTypes;exports.StateComponent=q.StateComponent;exports.StateInterface=q.StateInterface;exports.ButtonGroup=ei.ButtonGroup;exports.CHANNEL_TYPE=ri.CHANNEL_TYPE;exports.CHAT_MESSAGE_ROLES=B.CHAT_MESSAGE_ROLES;exports.DEFAULT_CONVERSATION_ID=B.DEFAULT_CONVERSATION_ID;exports.createSessionRecord=B.createSessionRecord;exports.COUPON_EXPIRATION=i.COUPON_EXPIRATION;exports.DISCOUNT_APPLIES_TO=i.DISCOUNT_APPLIES_TO;exports.DISCOUNT_TARGET_SELECTION=i.DISCOUNT_TARGET_SELECTION;exports.DISCOUNT_TARGET_TYPES=i.DISCOUNT_TARGET_TYPES;exports.DISCOUNT_TYPES=i.DISCOUNT_TYPES;exports.DISCOUNT_VALUE_TYPES=i.DISCOUNT_VALUE_TYPES;exports.MIN_PURCHASE_REQUIREMENT=i.MIN_PURCHASE_REQUIREMENT;exports.OFFER_APPLIES_TO=i.OFFER_APPLIES_TO;exports.initialDynamicCouponErrorState=i.initialDynamicCouponErrorState;exports.initialStaticCouponErrorState=i.initialStaticCouponErrorState;exports.CURTAIN_COLOR_CONFIG_MAP=f.CURTAIN_COLOR_CONFIG_MAP;exports.CURTAIN_MODE=f.CURTAIN_MODE;exports.CURTAIN_TYPES=f.CURTAIN_TYPES;exports.Card=F.Card;exports.PieChartAnalytics=F.PieChartAnalytics;exports.CardSelectionModal=ti.CardSelectionModal;exports.CardSelector=oi.CardSelector;exports.CardSelectorGroup=ii.CardSelectorGroup;exports.Carousel=ni.Carousel;exports.CarouselPreview=ai.CarouselPreview;exports.CarouselSecondary=ui.CarouselSecondary;exports.CarouselVersion=si.CarouselVersion;exports.CheckBox=ci.CheckBox;exports.CheckIndicatorIcon=li.CheckIndicatorIcon;exports.CheckList=di.CheckList;exports.Chip=Ti.Chip;exports.ChipDropdown=w.ChipDropdown;exports.ChipDropdownContainer=w.ChipDropdownContainer;exports.CodeBlock=pi.CodeBlock;exports.CodeLanguage=Ci.CodeLanguage;exports.CohortError=Ai.CohortError;exports.ColourInput=Si.ColourInput;exports.CompletedChecklistIcon=qi.CompletedChecklistIcon;exports.ConnectedAppDialog=Ii.ConnectedAppDialog;exports.CountriesData=Ei.CountriesData;exports.CountryCodePicker=Pi.CountryCodePicker;exports.CountryPicker=hi.CountryPicker;exports.CouponExpiration=_i.CouponExpiration;exports.Curtain=Ri.Curtain;exports.CustomDateTime=mi.CustomDateTime;exports.CustomError=gi.CustomError;exports.DEFAULT_ACTIVE_FORMATS=Oi.DEFAULT_FORMAT_STATE;exports.DEFAULT_IMAGE=U.DEFAULT_IMAGE;exports.ShimmerImage=U.ShimmerImage;exports.DEFAULT_MAX_TOOL_CALLS=N.DEFAULT_MAX_TOOL_CALLS;exports.DEFAULT_RESPONSE_FORMAT=N.DEFAULT_RESPONSE_FORMAT;exports.RESPONSE_FORMATS=N.RESPONSE_FORMATS;exports.DROP_POSITION=a.DROP_POSITION;exports.DropdownToggleContainer=a.DropdownToggleContainer;exports.FAB_POSITION=a.FAB_POSITION;exports.FloatingActionButtonContainer=a.FloatingActionButtonContainer;exports.FloatingActionButtonOuterContainer=a.FloatingActionButtonOuterContainer;exports.MENU_ALIGNMENT=a.MENU_ALIGNMENT;exports.StyledDropdown=a.StyledDropdown;exports.TooltipStyled=a.TooltipStyled;exports.DashboardReviewPopUp=Bi.DashboardReviewPopUp;exports.DataSourcePanel=fi.DataSourcePanel;exports.DateKeys=I.DateKeys;exports.MEDIA_TYPES=I.MEDIA_TYPES;exports.PostPicker=I.PostPicker;exports.dateOptions=I.dateOptions;exports.DatePicker=Ni.DatePicker;exports.DatePickerWrapper=yi.DatePickerWrapper;exports.DeleteConfirmationModal=Di.DeleteConfirmationModal;exports.DiscountModal=ki.DiscountModal;exports.DotPulse=Li.DotPulse;exports.DropShadow=Mi.DropShadow;exports.Dropdown=bi.Dropdown;exports.DropdownButton=Fi.DropdownButton;exports.DropdownPopover=wi.DropdownPopover;exports.DualIconButton=Ui.DualIconButton;exports.DurationUnit=Vi.DurationUnit;exports.DynamicTabs=Hi.DynamicTabs;exports.ERROR_TYPES=y.ERROR_TYPES;exports.ERROR_TYPE_CLASS_MAP=y.ERROR_TYPE_CLASS_MAP;exports.Logger=y.Logger;exports.ExcelUploadError=vi.ExcelUploadError;exports.FABMenu=Gi.FABMenu;exports.FeatureModal=Wi.FeatureModal;exports.FeatureModalV2=xi.FeatureModalV2;exports.FileUploader=Yi.FileUploader;exports.FirebaseCallError=zi.FirebaseCallError;exports.FirebaseSubscriptionError=Ki.FirebaseSubscriptionError;exports.FirebaseUserFetcher=Qi.FirebaseUserFetcher;exports.Floater=Xi.Floater;exports.FloatingActionButton=ji.FloatingActionButton;exports.FloatingInputDropdown=$i.FloatingInputDropdown;exports.FunnelVerticalBarGraph=Zi.FunnelVerticalBarGraph;exports.GRAPH_ORIENTATION=Ji.GRAPH_ORIENTATION;exports.HEAT=E.HEAT;exports.HEAT_COLORS=E.HEAT_COLORS;exports.HEAT_GRADING_TYPE=E.HEAT_GRADING_TYPE;exports.HeatMap=E.HeatMap;exports.HTTPMethods=P.HTTPMethods;exports.HTTP_CODE=P.HTTP_CODE;exports.RequestExecutor=P.RequestExecutor;exports.TRANSACTION_ENABLED_STORE_IDS=P.TRANSACTION_ENABLED_STORE_IDS;exports.HalfDoughnutChart=en.HalfDoughnutChart;exports.HeatBoxStyled=V.HeatBoxStyled;exports.HeatMapVertical=V.HeatMapVertical;exports.HorinzontalBar=rn.HorinzontalBar;exports.HorizontalGraph=tn.HorizontalGraph;exports.IconButton=on.IconButton;exports.ImageService=nn.ImageService;exports.InactiveChecklistIcon=an.InactiveChecklistIcon;exports.Input=un.Input;exports.InputWithVariables=sn.InputWithVariables;exports.KeywordsInput=cn.KeywordsInput;exports.LAZY_SECONDARY_APP_NAME=d.SECONDARY_APP_NAME;exports.getOrInitFirebaseChatApp=d.getOrInitFirebaseChatApp;exports.lazyChatConfig=d.chatConfig;exports.lazyStagingConfig=d.stagingConfig;exports.rnSecondaryAuth=d.rnSecondaryAuth;exports.LineChart=ln.LineChart;exports.LinearChipGroupedChart=dn.LinearChipGroupedChart;exports.ListItem=Tn.ListItem;exports.Loader=h.Loader;exports.Switch=h.Switch;exports.SwitchContainer=h.SwitchContainer;exports.Thumb=h.Thumb;exports.MenuItemDropdown=pn.MenuItemDropdown;exports.MultiLevelDropdown=Cn.MultiLevelDropdown;exports.NaLinkWrapper=H.NaLinkWrapper;exports.NavigationHyperlink=H.NavigationHyperlink;exports.NewSubscriptionPlan=An.NewSubscriptionPlan;exports.OUT_OF_STOCK_ACTION=v.OUT_OF_STOCK_ACTION;exports.ScreenName=v.ScreenName;exports.OpenedDropdown=Sn.OpenedDropdown;exports.POPUP_DIMENSIONS=qn.POPUP_DIMENSIONS;exports.Pagination=In.Pagination;exports.PickerType=En.PickerType;exports.PieChart=Pn.PieChart;exports.PostLiveChecklist=hn.PostLiveChecklist;exports.PostLiveChecklistItem=_n.PostLiveChecklistItem;exports.PricePleaseProductPicker=G.PricePleaseProductPicker;exports.ProductPickerContent=G.ProductPickerContent;exports.ProductPickerModal=Rn.ProductPickerModal;exports.ProgressBadgeIcon=mn.ProgressBadgeIcon;exports.ProgressBarComponent=W.ProgressBarComponent;exports.ProgressCompletedBar=W.ProgressCompletedBar;exports.ProgressBarType=D.ProgressBarType;exports.ProgressBarV2=D.ProgressBarV2;exports.TextAlignment=D.TextAlignment;exports.PropertyNode=x.PropertyNode;exports.PropertyNodeHeadless=x.PropertyNodeHeadless;exports.PureSpinner=Y.PureSpinner;exports.Spinner=Y.Spinner;exports.QueryBuilder=gn.QueryBuilder;exports.QueryBuilderConnectorType=On.QueryBuilderConnectorType;exports.RATIO=z.RATIO;exports.Thumbnail=z.Thumbnail;exports.RadioButton=Bn.RadioButton;exports.RadioList=fn.RadioList;exports.RechargeError=Nn.RechargeError;exports.Redirect2Icon=yn.Redirect2Icon;exports.STEP_DEFINITIONS=Dn.STEP_DEFINITIONS;exports.ScoreBlock=kn.ScoreBlock;exports.SearchBar=Ln.SearchBar;exports.SearchIcon=Mn.SearchIcon;exports.ShopifyScopeWrapper=bn.ShopifyScopeWrapper;exports.ShowShopifyRestrictedModal=Fn.ShowShopifyRestrictedModal;exports.SideModal=wn.SideModal;exports.SidebarSkeleton=Un.SidebarSkeleton;exports.SimpleSidebar=Vn.SimpleSidebar;exports.SmallCheckIcon=Hn.SmallCheckIcon;exports.StackedBarChart=vn.StackedBarChart;exports.StackedBarDistributionChart=Gn.StackedBarDistributionChart;exports.StarRating=Wn.StarRating;exports.StateModalComponent=xn.StateModalComponent;exports.Stepper=Yn.Stepper;exports.StyledModal=zn.StyledModal;exports.SubscriptionPlan=Kn.SubscriptionPlan;exports.SubscriptionPlansCollected=Qn.SubscriptionPlansCollected;exports.TEXT=Xn.TEXT;exports.TabItemComponent=K.TabItemComponent;exports.Tabs=K.Tabs;exports.TablePagination=jn.TablePagination;exports.TablePaginationCard=Q.TablePaginationCard;exports.TablePaginationCardStyled=Q.TablePaginationCardStyled;exports.Tag=$n.Tag;exports.TemplateAnalyticsSkeleton=Zn.TemplateAnalyticsSkeleton;exports.TemplateContextMapper=Jn.TemplateContextMapper;exports.TemplatePreview=ea.TemplatePreview;exports.TestimonialCard=ra.TestimonialCard;exports.TextPickerModal=ta.TextPickerModal;exports.TimePicker=oa.TimePicker;exports.Toaster=ia.Toaster;exports.ToolSource=na.ToolSource;exports.Tooltip=aa.Tooltip;exports.TruncateValue=t.TruncateValue;exports.calculatePercentage=t.calculatePercentage;exports.roundNumber=t.roundNumber;exports.truncateValueForIndianStore=t.truncateValueForIndianStore;exports.truncateValueForInternationalStore=t.truncateValueForInternationalStore;exports.truncateValueTo10K=t.truncateValueTo10K;exports.truncateValueToA=t.truncateValueToA;exports.truncateValueToB=t.truncateValueToB;exports.truncateValueToC=t.truncateValueToC;exports.truncateValueToK=t.truncateValueToK;exports.truncateValueToL=t.truncateValueToL;exports.truncateValueToM=t.truncateValueToM;exports.truncateValueToT=t.truncateValueToT;exports.VariableEditorHelper=ua.VariableEditorHelper;exports.VariablePicker=sa.VariablePicker;exports.VerticalBarAndLinearGraph=ca.VerticalBarAndLinearGraph;exports.VerticalGraph=la.VerticalGraph;exports.VideoModal=da.VideoModal;exports.WhatsAppFormatToHTML=Ta.WhatsAppFormatToHTML;exports.WhatsAppTextEditor=pa.WhatsAppTextEditor;exports.WhatsNew=Ca.WhatsNew;exports.WhatsNewButton=Aa.WhatsNewButton;exports.WhatsNewPanel=Sa.WhatsNewPanel;exports.WhatsNewProvider=X.WhatsNewProvider;exports.useWhatsNewContext=X.useWhatsNewContext;exports.WhatsappIntegrationError=qa.WhatsappIntegrationError;exports.WhatsappLikePreview=Ia.WhatsappLikePreview;exports.WhatsappLikePreviewV2=Ea.WhatsappLikePreviewV2;exports.buildAgentMentionItems=k.buildAgentMentionItems;exports.editorDocToInstructions=k.editorDocToInstructions;exports.instructionsToEditorHtml=k.instructionsToEditorHtml;exports.environment=Pa.environment;exports.escapeFormulaInjection=n.escapeFormulaInjection;exports.isAllowedImageUrl=n.isAllowedImageUrl;exports.isAllowedLinkUrl=n.isAllowedLinkUrl;exports.isAllowedUrl=n.isAllowedUrl;exports.sanitizeBasicHtml=n.sanitizeBasicHtml;exports.sanitizeCssProperties=n.sanitizeCssProperties;exports.sanitizeEmailHtml=n.sanitizeEmailHtml;exports.sanitizePlainText=n.sanitizePlainText;exports.stripHtmlTags=n.stripHtmlTags;exports.getAllDataFromTemplateComponent=j.getAllDataFromTemplateComponent;exports.getAllDataFromWebpushTemplateComponent=j.getAllDataFromWebpushTemplateComponent;exports.getAuthMethods=s.getAuthMethods;exports.getFirestoreLiteMethods=s.getFirestoreLiteMethods;exports.getFirestoreMethods=s.getFirestoreMethods;exports.getFunctionsMethods=s.getFunctionsMethods;exports.getMessagingMethods=s.getMessagingMethods;exports.getStorageMethods=s.getStorageMethods;exports.getBodyHtml=$.getBodyHtml;exports.getSectionsHtml=$.getSectionsHtml;exports.getFireStoreDb=ha.getFireStoreDb;exports.getFireStoreLiteDb=_a.getFireStoreLiteDb;exports.getFirebaseChatStorage=Ra.getFirebaseChatStorage;exports.isVariable=Z.isVariable;exports.validateIsUrl=Z.validateIsUrl;exports.queryBuilderCacheSlice=ma.queryBuilderCacheSlice;exports.queryBuilderSlice=ga.queryBuilderSlice;exports.renderVariableUIForPreview=Oa.renderVariableUIForPreview;exports.resizeImage=Ba.resizeImage;exports.toLiveChatText=fa.toLiveChatText;exports.toWhatsAppText=Na.toWhatsAppText;exports.unwrapDropdownValue=ya.unwrapDropdownValue;exports.useAIChat=Da.useAIChat;exports.useAgentDraft=ka.useAgentDraft;exports.useFeatureAnnouncements=La.useFeatureAnnouncements;exports.useWhatsNew=Ma.useWhatsNew;
2
2
  //# sourceMappingURL=index.js.map
@@ -13,10 +13,10 @@ import L from "@tiptap/extension-text-align";
13
13
  import { TextStyle as P } from "@tiptap/extension-text-style";
14
14
  import H from "@tiptap/extension-underline";
15
15
  import m from "@tiptap/starter-kit";
16
- import { isAllowedLinkUrl as w } from "../../helpers/sanitize.js";
17
- import { CharacterLimitExtension as D } from "./characterLimit/CharacterLimitExtension.js";
18
- import { FontSizeExtension as g } from "./FontSizeExtension.js";
19
- import { HtmlTagStripExtension as A } from "./htmlTagStrip/HtmlTagStripExtension.js";
16
+ import { isAllowedLinkUrl as g } from "../../helpers/sanitize.js";
17
+ import { CharacterLimitExtension as w } from "./characterLimit/CharacterLimitExtension.js";
18
+ import { FontSizeExtension as A } from "./FontSizeExtension.js";
19
+ import { HtmlTagStripExtension as D } from "./htmlTagStrip/HtmlTagStripExtension.js";
20
20
  import { JsonHighlightExtension as B } from "./jsonHighlight/JsonHighlightExtension.js";
21
21
  import { buildAgentMentionExtension as I, buildTeamMentionExtension as O } from "./mention/MentionExtension.js";
22
22
  import { PasteExtension as R } from "./paste/PasteExtension.js";
@@ -101,7 +101,7 @@ function he(e) {
101
101
  linkOnPaste: !1,
102
102
  // Block javascript:/data:/vbscript: hrefs. TipTap keeps the href
103
103
  // attribute verbatim, so scheme validation must live here.
104
- isAllowedUri: (r) => w(r),
104
+ isAllowedUri: (r) => g(r),
105
105
  HTMLAttributes: {
106
106
  rel: "noopener noreferrer",
107
107
  class: "bik-link"
@@ -128,11 +128,13 @@ function he(e) {
128
128
  extraShortcuts: e.shortcuts ?? []
129
129
  }),
130
130
  K,
131
- // Strip complete HTML tags from typed text in non-email channels.
132
- // Email (richPaste) keeps tags because the editor legitimately renders HTML.
133
- ...o ? [] : [A],
131
+ // Strip HTML tags from typed text.
132
+ // Non-email (WhatsApp, IG, private note): strip ALL tags.
133
+ // Email (richPaste): strip only dangerous tags (script, iframe, form, etc.)
134
+ // while preserving legitimate email tags (h1, table, div, etc.).
135
+ D.configure({ stripAll: !o }),
134
136
  ...e.maxCharacters ? [s.configure({ limit: e.maxCharacters })] : [],
135
- ...e.characterLimit ? [D.configure({ limit: e.characterLimit })] : [],
137
+ ...e.characterLimit ? [w.configure({ limit: e.characterLimit })] : [],
136
138
  // Always register SectionDividerNode so the custom <div data-section-divider>
137
139
  // node is part of the schema in every editor instance. This means imperative
138
140
  // callers (setBodyAndSections / setSectionContent) work even when no
@@ -169,7 +171,7 @@ function he(e) {
169
171
  i,
170
172
  M.configure({ multicolor: !0 }),
171
173
  S,
172
- g,
174
+ A,
173
175
  L.configure({ types: ["heading", "paragraph"] }),
174
176
  y,
175
177
  T,