@bikdotai/bik-component-library 0.0.853-beta.0 → 0.0.854

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  2. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  3. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
  4. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
  6. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +11 -11
  8. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +5 -5
  10. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -7
  14. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/MentionField.js +1 -1
  16. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/MentionPicker.js +26 -53
  18. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/RequireVerificationModal.js +1 -1
  20. package/dist/cjs/components/agent-builder/components/RequireVerificationModal.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +5 -6
  22. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +1 -1
  24. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js +2 -2
  26. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  28. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  29. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  30. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  31. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  32. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  33. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -4
  34. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  35. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +1 -1
  36. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -1
  37. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  38. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  39. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js +1 -1
  40. package/dist/cjs/components/agent-listing/AiAgentsEmptyState.js.map +1 -1
  41. package/dist/cjs/components/toaster/Toaster.js +1 -1
  42. package/dist/cjs/components/toaster/Toaster.js.map +1 -1
  43. package/dist/cjs/components/toaster/Toaster.styled.js +7 -7
  44. package/dist/cjs/components/toaster/Toaster.styled.js.map +1 -1
  45. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  46. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  47. package/dist/cjs/components/zeroState/ZeroState.js +3 -3
  48. package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
  49. package/dist/cjs/editor/BikEditor.js +1 -1
  50. package/dist/cjs/editor/BikEditor.js.map +1 -1
  51. package/dist/cjs/editor/BikEditor.styles.js +21 -23
  52. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  53. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  54. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
  55. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  56. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  57. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  58. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  59. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  60. package/dist/cjs/index.js +1 -1
  61. package/dist/esm/components/add-variableV2/index.d.ts +0 -1
  62. package/dist/esm/components/agent-builder/AgentBuilder.js +127 -119
  63. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  64. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +7 -10
  65. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +2 -0
  66. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -26
  67. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  68. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +30 -29
  69. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  70. package/dist/esm/components/agent-builder/components/ConfigToolPanel.d.ts +0 -8
  71. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +136 -182
  72. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  73. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +9 -3
  74. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +230 -222
  75. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  76. package/dist/esm/components/agent-builder/components/GoLiveModal.js +11 -13
  77. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  78. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +0 -12
  79. package/dist/esm/components/agent-builder/components/MentionEditor.js +103 -144
  80. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  81. package/dist/esm/components/agent-builder/components/MentionField.js +45 -48
  82. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -1
  83. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +1 -14
  84. package/dist/esm/components/agent-builder/components/MentionPicker.js +248 -292
  85. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  86. package/dist/esm/components/agent-builder/components/RequireVerificationModal.js +8 -8
  87. package/dist/esm/components/agent-builder/components/RequireVerificationModal.js.map +1 -1
  88. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +0 -8
  89. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +172 -185
  90. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  91. package/dist/esm/components/agent-builder/components/SelectableListSection.js +73 -69
  92. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  93. package/dist/esm/components/agent-builder/components/ToolInstructionsField.d.ts +0 -9
  94. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js +48 -67
  95. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  96. package/dist/esm/components/agent-builder/constants/tools.d.ts +21 -1
  97. package/dist/esm/components/agent-builder/constants/tools.js +33 -23
  98. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  99. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +0 -7
  100. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +96 -99
  101. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  102. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +272 -261
  103. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  104. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +4 -14
  105. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +36 -54
  106. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  107. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +6 -6
  108. package/dist/esm/components/agent-builder/utils/sourceIcons.js +21 -19
  109. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -1
  110. package/dist/esm/components/agent-listing/AgentTableRow.js +26 -23
  111. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  112. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js +3 -2
  113. package/dist/esm/components/agent-listing/AiAgentsEmptyState.js.map +1 -1
  114. package/dist/esm/components/toaster/Toaster.js +30 -25
  115. package/dist/esm/components/toaster/Toaster.js.map +1 -1
  116. package/dist/esm/components/toaster/Toaster.styled.js +5 -5
  117. package/dist/esm/components/toaster/Toaster.styled.js.map +1 -1
  118. package/dist/esm/components/variable-picker-v3/Content.js +15 -16
  119. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  120. package/dist/esm/components/zeroState/ZeroState.d.ts +2 -0
  121. package/dist/esm/components/zeroState/ZeroState.js +18 -17
  122. package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
  123. package/dist/esm/editor/BikEditor.js +229 -222
  124. package/dist/esm/editor/BikEditor.js.map +1 -1
  125. package/dist/esm/editor/BikEditor.styles.js +14 -16
  126. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  127. package/dist/esm/editor/BikEditor.types.d.ts +0 -9
  128. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  129. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +62 -60
  130. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  131. package/dist/esm/editor/extensions/mention/MentionDropdown.js +28 -28
  132. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  133. package/dist/esm/editor/extensions/mention/MentionExtension.js +19 -23
  134. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  135. package/dist/esm/icons/index.d.ts +25 -25
  136. package/dist/esm/index.js +541 -543
  137. package/dist/esm/index.js.map +1 -1
  138. package/package.json +1 -1
  139. package/dist/cjs/components/add-variableV2/AddDataPill.js +0 -10
  140. package/dist/cjs/components/add-variableV2/AddDataPill.js.map +0 -1
  141. package/dist/cjs/components/agent-builder/components/VariableInlineField.js +0 -65
  142. package/dist/cjs/components/agent-builder/components/VariableInlineField.js.map +0 -1
  143. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js +0 -10
  144. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js.map +0 -1
  145. package/dist/esm/components/add-variableV2/AddDataPill.d.ts +0 -24
  146. package/dist/esm/components/add-variableV2/AddDataPill.js +0 -33
  147. package/dist/esm/components/add-variableV2/AddDataPill.js.map +0 -1
  148. package/dist/esm/components/agent-builder/components/VariableInlineField.d.ts +0 -26
  149. package/dist/esm/components/agent-builder/components/VariableInlineField.js +0 -149
  150. package/dist/esm/components/agent-builder/components/VariableInlineField.js.map +0 -1
  151. package/dist/esm/components/agent-builder/components/VariableTriggerArea.d.ts +0 -46
  152. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js +0 -118
  153. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../node_modules/@tiptap/core/dist/index.js"),l=require("@tiptap/pm/state"),d=require("@tiptap/pm/view"),g=require("./tokenizeJson.js"),p={key:"bik-json-key",string:"bik-json-string",number:"bik-json-number",boolean:"bik-json-boolean",null:"bik-json-null",punctuation:"bik-json-punct"};function f(r){return r.trim().length===0?0:r.split(`
2
- `).length}class m{dom;contentDOM;gutter;constructor(n){const t=document.createElement("pre"),e=document.createElement("div");e.className="bik-json-gutter",e.contentEditable="false";const o=document.createElement("code");t.appendChild(e),t.appendChild(o),this.dom=t,this.contentDOM=o,this.gutter=e,this.renderGutter(n)}renderGutter(n){const t=f(n.textContent);if(this.gutter.childElementCount===t)return;const e=[];for(let o=1;o<=t;o++){const s=document.createElement("span");s.className="bik-json-lineno",s.textContent=String(o),e.push(s)}this.gutter.replaceChildren(...e)}update(n){return n.type.name!=="codeBlock"?!1:(this.renderGutter(n),!0)}ignoreMutation(n){return this.gutter===n.target||this.gutter.contains(n.target)}}const k=h.Extension.create({name:"jsonHighlight",priority:1e3,addKeyboardShortcuts(){return{Backspace:()=>{const{selection:r}=this.editor.state,{empty:n,$from:t}=r;return n&&t.parent.type.name==="codeBlock"&&t.parentOffset===0}}},addProseMirrorPlugins(){return[new l.Plugin({key:new l.PluginKey("jsonHighlightGuard"),appendTransaction(r,n,t){if(!r.some(u=>u.docChanged))return null;const{doc:e,schema:o}=t,s=o.nodes.codeBlock;if(!s||e.childCount===1&&e.firstChild?.type===s)return null;let i=!1;if(e.forEach(u=>{u.type===s&&(i=!0)}),i)return null;const a=e.textBetween(0,e.content.size,`
3
- `),c=t.tr;return c.replaceWith(0,e.content.size,s.create(null,a?o.text(a):null)),c.setSelection(l.TextSelection.create(c.doc,1)),c}}),new l.Plugin({key:new l.PluginKey("jsonHighlight"),props:{nodeViews:{codeBlock:r=>new m(r)},handlePaste(r,n){const t=n.clipboardData?.getData("text/plain");if(!t||!t.trim())return!1;let e;try{e=JSON.parse(t)}catch{return!1}const o=JSON.stringify(e,null,2);if(o===t)return!1;const{state:s,dispatch:i}=r,{from:a,to:c}=s.selection;return i(s.tr.insertText(o,a,c).scrollIntoView()),!0},decorations(r){const n=[];return r.doc.descendants((t,e)=>{if(t.type.name!=="codeBlock")return;const o=t.textContent;if(o.length===0)return;const s=e+1;for(const i of g.tokenizeJson(o))n.push(d.Decoration.inline(s+i.start,s+i.end,{class:p[i.type]}))}),d.DecorationSet.create(r.doc,n)}}})]}});exports.JsonHighlightExtension=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../node_modules/@tiptap/core/dist/index.js"),a=require("@tiptap/pm/state"),d=require("@tiptap/pm/view"),g=require("./tokenizeJson.js"),p={key:"bik-json-key",string:"bik-json-string",number:"bik-json-number",boolean:"bik-json-boolean",null:"bik-json-null",punctuation:"bik-json-punct"};function m(o){return o.trim().length===0?0:o.split(`
2
+ `).length}class f{dom;contentDOM;gutter;constructor(e){const t=document.createElement("pre"),n=document.createElement("div");n.className="bik-json-gutter",n.contentEditable="false";const r=document.createElement("code");t.appendChild(n),t.appendChild(r),this.dom=t,this.contentDOM=r,this.gutter=n,this.renderGutter(e)}renderGutter(e){const t=m(e.textContent);if(this.gutter.childElementCount===t)return;const r=Math.max(2,String(Math.max(t,1)).length)*.6+1.1;this.gutter.style.width=`${r}em`,this.dom.style.paddingLeft=`${r+.7}em`;const s=[];for(let i=1;i<=t;i++){const c=document.createElement("span");c.className="bik-json-lineno",c.textContent=String(i),s.push(c)}this.gutter.replaceChildren(...s)}update(e){return e.type.name!=="codeBlock"?!1:(this.renderGutter(e),!0)}ignoreMutation(e){return this.gutter===e.target||this.gutter.contains(e.target)}}const k=h.Extension.create({name:"jsonHighlight",priority:1e3,addKeyboardShortcuts(){return{Backspace:()=>{const{selection:o}=this.editor.state,{empty:e,$from:t}=o;return e&&t.parent.type.name==="codeBlock"&&t.parentOffset===0}}},addProseMirrorPlugins(){return[new a.Plugin({key:new a.PluginKey("jsonHighlightGuard"),appendTransaction(o,e,t){if(!o.some(u=>u.docChanged))return null;const{doc:n,schema:r}=t,s=r.nodes.codeBlock;if(!s||n.childCount===1&&n.firstChild?.type===s)return null;let i=!1;if(n.forEach(u=>{u.type===s&&(i=!0)}),i)return null;const c=n.textBetween(0,n.content.size,`
3
+ `),l=t.tr;return l.replaceWith(0,n.content.size,s.create(null,c?r.text(c):null)),l.setSelection(a.TextSelection.create(l.doc,1)),l}}),new a.Plugin({key:new a.PluginKey("jsonHighlight"),props:{nodeViews:{codeBlock:o=>new f(o)},handlePaste(o,e){const t=e.clipboardData?.getData("text/plain");if(!t||!t.trim())return!1;let n;try{n=JSON.parse(t)}catch{return!1}const r=JSON.stringify(n,null,2);if(r===t)return!1;const{state:s,dispatch:i}=o,{from:c,to:l}=s.selection;return i(s.tr.insertText(r,c,l).scrollIntoView()),!0},decorations(o){const e=[];return o.doc.descendants((t,n)=>{if(t.type.name!=="codeBlock")return;const r=t.textContent;if(r.length===0)return;const s=n+1;for(const i of g.tokenizeJson(r))e.push(d.Decoration.inline(s+i.start,s+i.end,{class:p[i.type]}))}),d.DecorationSet.create(o.doc,e)}}})]}});exports.JsonHighlightExtension=k;
4
4
  //# sourceMappingURL=JsonHighlightExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonHighlightExtension.js","sources":["../../../../../src/editor/extensions/jsonHighlight/JsonHighlightExtension.ts"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport type { Node as ProseMirrorNode } from '@tiptap/pm/model';\nimport { Plugin, PluginKey, TextSelection } from '@tiptap/pm/state';\nimport type { NodeView } from '@tiptap/pm/view';\nimport { Decoration, DecorationSet } from '@tiptap/pm/view';\nimport { JsonTokenType, tokenizeJson } from './tokenizeJson';\n\nconst CLASS_BY_TYPE: Record<JsonTokenType, string> = {\n\tkey: 'bik-json-key',\n\tstring: 'bik-json-string',\n\tnumber: 'bik-json-number',\n\tboolean: 'bik-json-boolean',\n\tnull: 'bik-json-null',\n\tpunctuation: 'bik-json-punct',\n};\n\n/**\n * Visual line count of a code block's text (0 → no gutter). Whitespace-only\n * content counts as 0: that's exactly when BikEditor shows the placeholder\n * overlay (`jsonEmpty = !text.trim()`), so the gutter must be empty too —\n * otherwise a blank field shows a stray \"1\" behind the placeholder.\n */\nfunction lineCount(text: string): number {\n\treturn text.trim().length === 0 ? 0 : text.split('\\n').length;\n}\n\n/**\n * Node view for the JSON `codeBlock` that renders the line-number gutter as a\n * `contenteditable=false` sibling of the editable `<code>` — NOT as ProseMirror\n * widget decorations.\n *\n * Why: widget decorations are re-inserted into the content flow on every\n * decoration recompute (i.e. every keystroke). Re-inserting a node next to the\n * caret reset the contenteditable selection to the line start, so typing a JSON\n * key and then its `:` dropped the caret to the start of the line (MAP-7286).\n * A node view lets us update the gutter DOM independently of `contentDOM`, so\n * the caret is never touched — and we only rebuild it when the line count\n * actually changes.\n */\nclass JsonCodeBlockView implements NodeView {\n\tdom: HTMLPreElement;\n\tcontentDOM: HTMLElement;\n\tprivate gutter: HTMLElement;\n\n\tconstructor(node: ProseMirrorNode) {\n\t\tconst pre = document.createElement('pre');\n\t\tconst gutter = document.createElement('div');\n\t\tgutter.className = 'bik-json-gutter';\n\t\tgutter.contentEditable = 'false';\n\t\tconst code = document.createElement('code');\n\t\t// Gutter is absolutely positioned into the reserved left padding, so its\n\t\t// order relative to <code> doesn't affect the code layout.\n\t\tpre.appendChild(gutter);\n\t\tpre.appendChild(code);\n\n\t\tthis.dom = pre;\n\t\tthis.contentDOM = code;\n\t\tthis.gutter = gutter;\n\t\tthis.renderGutter(node);\n\t}\n\n\tprivate renderGutter(node: ProseMirrorNode): void {\n\t\tconst count = lineCount(node.textContent);\n\t\t// Nothing to do while the line count is unchanged — this is the common case\n\t\t// (typing within a line) and skipping it avoids touching the gutter DOM.\n\t\tif (this.gutter.childElementCount === count) {\n\t\t\treturn;\n\t\t}\n\t\tconst numbers: HTMLElement[] = [];\n\t\tfor (let n = 1; n <= count; n++) {\n\t\t\tconst span = document.createElement('span');\n\t\t\tspan.className = 'bik-json-lineno';\n\t\t\tspan.textContent = String(n);\n\t\t\tnumbers.push(span);\n\t\t}\n\t\tthis.gutter.replaceChildren(...numbers);\n\t}\n\n\tupdate(node: ProseMirrorNode): boolean {\n\t\tif (node.type.name !== 'codeBlock') {\n\t\t\treturn false;\n\t\t}\n\t\tthis.renderGutter(node);\n\t\treturn true;\n\t}\n\n\t// The gutter is ours to manage — never let ProseMirror parse it as content.\n\tignoreMutation(mutation: MutationRecord | { target: Node }): boolean {\n\t\treturn (\n\t\t\tthis.gutter === mutation.target || this.gutter.contains(mutation.target)\n\t\t);\n\t}\n}\n\n/**\n * Colours JSON tokens inside `codeBlock` nodes and renders a line-number gutter\n * (via {@link JsonCodeBlockView}). A code block stores its whole multi-line body\n * in a single text node, so token offsets map 1:1 onto document positions\n * (`nodeStart + offset`) — no cross-node bookkeeping needed.\n *\n * Purely decorative: the document text is never rewritten, so undo/redo,\n * character count and the cursor all behave exactly as with plain text.\n */\nexport const JsonHighlightExtension = Extension.create({\n\tname: 'jsonHighlight',\n\t// Above CodeBlock (default 100) so our Backspace handler runs first and can\n\t// veto CodeBlock's own \"clearNodes at start\" shortcut (which would lift the\n\t// block to a paragraph).\n\tpriority: 1000,\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\t// In JSON mode the document is a single code block. A Backspace at its very\n\t\t\t// start would lift it to a plain paragraph (killing the highlight, the\n\t\t\t// line-number gutter and the monospace font). There's nothing to delete\n\t\t\t// before the caret there anyway, so swallow it. Mid-text Backspace (and\n\t\t\t// deleting a leading `\\n` from line 2+) still works — those have\n\t\t\t// parentOffset > 0.\n\t\t\tBackspace: () => {\n\t\t\t\tconst { selection } = this.editor.state;\n\t\t\t\tconst { empty, $from } = selection;\n\t\t\t\treturn (\n\t\t\t\t\tempty &&\n\t\t\t\t\t$from.parent.type.name === 'codeBlock' &&\n\t\t\t\t\t$from.parentOffset === 0\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t},\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tkey: new PluginKey('jsonHighlightGuard'),\n\t\t\t\t// jsonMode invariant: the whole document is ONE codeBlock. Several\n\t\t\t\t// default Backspace paths can lift it to a plain paragraph — and one\n\t\t\t\t// of them, TipTap core's `clearDocument` appendTransaction (fired when\n\t\t\t\t// the whole doc is selected then deleted, e.g. Cmd-A → Backspace),\n\t\t\t\t// runs AFTER our Backspace shortcut, so a keymap veto can't stop it.\n\t\t\t\t// A paragraph has no gutter and no monospace rule, so the line numbers\n\t\t\t\t// and font vanish. Re-wrap the content back into a codeBlock whenever\n\t\t\t\t// something lifts it, restoring the invariant.\n\t\t\t\tappendTransaction(transactions, _oldState, newState) {\n\t\t\t\t\tif (!transactions.some((tr) => tr.docChanged)) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tconst { doc, schema } = newState;\n\t\t\t\t\tconst codeBlock = schema.nodes['codeBlock'];\n\t\t\t\t\tif (!codeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// Common case: already a single codeBlock → nothing to do.\n\t\t\t\t\tif (doc.childCount === 1 && doc.firstChild?.type === codeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// If a codeBlock survives anywhere, leave it alone (don't fight\n\t\t\t\t\t// legitimate multi-node edits that shouldn't happen in jsonMode).\n\t\t\t\t\tlet hasCodeBlock = false;\n\t\t\t\t\tdoc.forEach((node) => {\n\t\t\t\t\t\tif (node.type === codeBlock) {\n\t\t\t\t\t\t\thasCodeBlock = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (hasCodeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// A lift happened: rebuild a single codeBlock from the text\n\t\t\t\t\t// (block boundaries preserved as newlines, matching JSON lines).\n\t\t\t\t\tconst text = doc.textBetween(0, doc.content.size, '\\n');\n\t\t\t\t\tconst tr = newState.tr;\n\t\t\t\t\ttr.replaceWith(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tdoc.content.size,\n\t\t\t\t\t\tcodeBlock.create(null, text ? schema.text(text) : null),\n\t\t\t\t\t);\n\t\t\t\t\ttr.setSelection(TextSelection.create(tr.doc, 1));\n\t\t\t\t\treturn tr;\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew Plugin({\n\t\t\t\tkey: new PluginKey('jsonHighlight'),\n\t\t\t\tprops: {\n\t\t\t\t\t// The gutter is a node view, not a widget decoration — see\n\t\t\t\t\t// JsonCodeBlockView for why (MAP-7286).\n\t\t\t\t\tnodeViews: {\n\t\t\t\t\t\tcodeBlock: (node) => new JsonCodeBlockView(node),\n\t\t\t\t\t},\n\t\t\t\t\t// Paste beautify: if the clipboard text is valid JSON, drop in a\n\t\t\t\t\t// pretty-printed version (2-space indent, matching the Beautify\n\t\t\t\t\t// button) instead of the raw blob. Non-JSON pastes fall through to\n\t\t\t\t\t// the default handler untouched.\n\t\t\t\t\thandlePaste(view, event) {\n\t\t\t\t\t\tconst raw = event.clipboardData?.getData('text/plain');\n\t\t\t\t\t\tif (!raw || !raw.trim()) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet value: unknown;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvalue = JSON.parse(raw);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pretty = JSON.stringify(value, null, 2);\n\t\t\t\t\t\t// No-op if it was already beautified (avoids a redundant tx).\n\t\t\t\t\t\tif (pretty === raw) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst { state, dispatch } = view;\n\t\t\t\t\t\tconst { from, to } = state.selection;\n\t\t\t\t\t\tdispatch(state.tr.insertText(pretty, from, to).scrollIntoView());\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\t// Inline token colours only. Recolouring an inline span does not\n\t\t\t\t\t// disturb the caret (unlike the old gutter widgets).\n\t\t\t\t\tdecorations(state) {\n\t\t\t\t\t\tconst decorations: Decoration[] = [];\n\t\t\t\t\t\tstate.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (node.type.name !== 'codeBlock') return;\n\t\t\t\t\t\t\tconst text = node.textContent;\n\t\t\t\t\t\t\tif (text.length === 0) return;\n\t\t\t\t\t\t\t// +1: step past the code-block node boundary into its text.\n\t\t\t\t\t\t\tconst base = pos + 1;\n\t\t\t\t\t\t\tfor (const tok of tokenizeJson(text)) {\n\t\t\t\t\t\t\t\tdecorations.push(\n\t\t\t\t\t\t\t\t\tDecoration.inline(base + tok.start, base + tok.end, {\n\t\t\t\t\t\t\t\t\t\tclass: CLASS_BY_TYPE[tok.type],\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn DecorationSet.create(state.doc, decorations);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t];\n\t},\n});\n"],"names":["CLASS_BY_TYPE","lineCount","text","JsonCodeBlockView","node","pre","gutter","code","count","numbers","n","span","mutation","JsonHighlightExtension","Extension","selection","empty","$from","Plugin","PluginKey","transactions","_oldState","newState","tr","doc","schema","codeBlock","hasCodeBlock","TextSelection","view","event","raw","value","pretty","state","dispatch","from","to","decorations","pos","base","tok","tokenizeJson","Decoration","DecorationSet"],"mappings":"8OAOMA,EAA+C,CACpD,IAAK,eACL,OAAQ,kBACR,OAAQ,kBACR,QAAS,mBACT,KAAM,gBACN,YAAa,gBACd,EAQA,SAASC,EAAUC,EAAsB,CACxC,OAAOA,EAAK,OAAO,SAAW,EAAI,EAAIA,EAAK,MAAM;AAAA,CAAI,EAAE,MACxD,CAeA,MAAMC,CAAsC,CAC3C,IACA,WACQ,OAER,YAAYC,EAAuB,CAClC,MAAMC,EAAM,SAAS,cAAc,KAAK,EAClCC,EAAS,SAAS,cAAc,KAAK,EAC3CA,EAAO,UAAY,kBACnBA,EAAO,gBAAkB,QACzB,MAAMC,EAAO,SAAS,cAAc,MAAM,EAG1CF,EAAI,YAAYC,CAAM,EACtBD,EAAI,YAAYE,CAAI,EAEpB,KAAK,IAAMF,EACX,KAAK,WAAaE,EAClB,KAAK,OAASD,EACd,KAAK,aAAaF,CAAI,CACvB,CAEQ,aAAaA,EAA6B,CACjD,MAAMI,EAAQP,EAAUG,EAAK,WAAW,EAGxC,GAAI,KAAK,OAAO,oBAAsBI,EACrC,OAED,MAAMC,EAAyB,CAAA,EAC/B,QAASC,EAAI,EAAGA,GAAKF,EAAOE,IAAK,CAChC,MAAMC,EAAO,SAAS,cAAc,MAAM,EAC1CA,EAAK,UAAY,kBACjBA,EAAK,YAAc,OAAOD,CAAC,EAC3BD,EAAQ,KAAKE,CAAI,CAClB,CACA,KAAK,OAAO,gBAAgB,GAAGF,CAAO,CACvC,CAEA,OAAOL,EAAgC,CACtC,OAAIA,EAAK,KAAK,OAAS,YACf,IAER,KAAK,aAAaA,CAAI,EACf,GACR,CAGA,eAAeQ,EAAsD,CACpE,OACC,KAAK,SAAWA,EAAS,QAAU,KAAK,OAAO,SAASA,EAAS,MAAM,CAEzE,CACD,CAWO,MAAMC,EAAyBC,EAAAA,UAAU,OAAO,CACtD,KAAM,gBAIN,SAAU,IACV,sBAAuB,CACtB,MAAO,CAON,UAAW,IAAM,CAChB,KAAM,CAAE,UAAAC,CAAA,EAAc,KAAK,OAAO,MAC5B,CAAE,MAAAC,EAAO,MAAAC,CAAA,EAAUF,EACzB,OACCC,GACAC,EAAM,OAAO,KAAK,OAAS,aAC3BA,EAAM,eAAiB,CAEzB,CAAA,CAEF,EACA,uBAAwB,CACvB,MAAO,CACN,IAAIC,SAAO,CACV,IAAK,IAAIC,EAAAA,UAAU,oBAAoB,EASvC,kBAAkBC,EAAcC,EAAWC,EAAU,CACpD,GAAI,CAACF,EAAa,KAAMG,GAAOA,EAAG,UAAU,EAC3C,OAAO,KAER,KAAM,CAAE,IAAAC,EAAK,OAAAC,CAAA,EAAWH,EAClBI,EAAYD,EAAO,MAAM,UAK/B,GAJI,CAACC,GAIDF,EAAI,aAAe,GAAKA,EAAI,YAAY,OAASE,EACpD,OAAO,KAIR,IAAIC,EAAe,GAMnB,GALAH,EAAI,QAASpB,GAAS,CACjBA,EAAK,OAASsB,IACjBC,EAAe,GAEjB,CAAC,EACGA,EACH,OAAO,KAIR,MAAMzB,EAAOsB,EAAI,YAAY,EAAGA,EAAI,QAAQ,KAAM;AAAA,CAAI,EAChDD,EAAKD,EAAS,GACpB,OAAAC,EAAG,YACF,EACAC,EAAI,QAAQ,KACZE,EAAU,OAAO,KAAMxB,EAAOuB,EAAO,KAAKvB,CAAI,EAAI,IAAI,CAAA,EAEvDqB,EAAG,aAAaK,gBAAc,OAAOL,EAAG,IAAK,CAAC,CAAC,EACxCA,CACR,CAAA,CACA,EACD,IAAIL,SAAO,CACV,IAAK,IAAIC,EAAAA,UAAU,eAAe,EAClC,MAAO,CAGN,UAAW,CACV,UAAYf,GAAS,IAAID,EAAkBC,CAAI,CAAA,EAMhD,YAAYyB,EAAMC,EAAO,CACxB,MAAMC,EAAMD,EAAM,eAAe,QAAQ,YAAY,EACrD,GAAI,CAACC,GAAO,CAACA,EAAI,OAChB,MAAO,GAER,IAAIC,EACJ,GAAI,CACHA,EAAQ,KAAK,MAAMD,CAAG,CACvB,MAAQ,CACP,MAAO,EACR,CACA,MAAME,EAAS,KAAK,UAAUD,EAAO,KAAM,CAAC,EAE5C,GAAIC,IAAWF,EACd,MAAO,GAER,KAAM,CAAE,MAAAG,EAAO,SAAAC,CAAA,EAAaN,EACtB,CAAE,KAAAO,EAAM,GAAAC,CAAA,EAAOH,EAAM,UAC3B,OAAAC,EAASD,EAAM,GAAG,WAAWD,EAAQG,EAAMC,CAAE,EAAE,gBAAgB,EACxD,EACR,EAGA,YAAYH,EAAO,CAClB,MAAMI,EAA4B,CAAA,EAClC,OAAAJ,EAAM,IAAI,YAAY,CAAC9B,EAAMmC,IAAQ,CACpC,GAAInC,EAAK,KAAK,OAAS,YAAa,OACpC,MAAMF,EAAOE,EAAK,YAClB,GAAIF,EAAK,SAAW,EAAG,OAEvB,MAAMsC,EAAOD,EAAM,EACnB,UAAWE,KAAOC,eAAaxC,CAAI,EAClCoC,EAAY,KACXK,EAAAA,WAAW,OAAOH,EAAOC,EAAI,MAAOD,EAAOC,EAAI,IAAK,CACnD,MAAOzC,EAAcyC,EAAI,IAAI,CAAA,CAC7B,CAAA,CAGJ,CAAC,EACMG,EAAAA,cAAc,OAAOV,EAAM,IAAKI,CAAW,CACnD,CAAA,CACD,CACA,CAAA,CAEH,CACD,CAAC"}
1
+ {"version":3,"file":"JsonHighlightExtension.js","sources":["../../../../../src/editor/extensions/jsonHighlight/JsonHighlightExtension.ts"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport type { Node as ProseMirrorNode } from '@tiptap/pm/model';\nimport { Plugin, PluginKey, TextSelection } from '@tiptap/pm/state';\nimport type { NodeView } from '@tiptap/pm/view';\nimport { Decoration, DecorationSet } from '@tiptap/pm/view';\nimport { JsonTokenType, tokenizeJson } from './tokenizeJson';\n\nconst CLASS_BY_TYPE: Record<JsonTokenType, string> = {\n\tkey: 'bik-json-key',\n\tstring: 'bik-json-string',\n\tnumber: 'bik-json-number',\n\tboolean: 'bik-json-boolean',\n\tnull: 'bik-json-null',\n\tpunctuation: 'bik-json-punct',\n};\n\n/**\n * Visual line count of a code block's text (0 → no gutter). Whitespace-only\n * content counts as 0: that's exactly when BikEditor shows the placeholder\n * overlay (`jsonEmpty = !text.trim()`), so the gutter must be empty too —\n * otherwise a blank field shows a stray \"1\" behind the placeholder.\n */\nfunction lineCount(text: string): number {\n\treturn text.trim().length === 0 ? 0 : text.split('\\n').length;\n}\n\n/**\n * Node view for the JSON `codeBlock` that renders the line-number gutter as a\n * `contenteditable=false` sibling of the editable `<code>` — NOT as ProseMirror\n * widget decorations.\n *\n * Why: widget decorations are re-inserted into the content flow on every\n * decoration recompute (i.e. every keystroke). Re-inserting a node next to the\n * caret reset the contenteditable selection to the line start, so typing a JSON\n * key and then its `:` dropped the caret to the start of the line (MAP-7286).\n * A node view lets us update the gutter DOM independently of `contentDOM`, so\n * the caret is never touched — and we only rebuild it when the line count\n * actually changes.\n */\nclass JsonCodeBlockView implements NodeView {\n\tdom: HTMLPreElement;\n\tcontentDOM: HTMLElement;\n\tprivate gutter: HTMLElement;\n\n\tconstructor(node: ProseMirrorNode) {\n\t\tconst pre = document.createElement('pre');\n\t\tconst gutter = document.createElement('div');\n\t\tgutter.className = 'bik-json-gutter';\n\t\tgutter.contentEditable = 'false';\n\t\tconst code = document.createElement('code');\n\t\t// Gutter is absolutely positioned into the reserved left padding, so its\n\t\t// order relative to <code> doesn't affect the code layout.\n\t\tpre.appendChild(gutter);\n\t\tpre.appendChild(code);\n\n\t\tthis.dom = pre;\n\t\tthis.contentDOM = code;\n\t\tthis.gutter = gutter;\n\t\tthis.renderGutter(node);\n\t}\n\n\tprivate renderGutter(node: ProseMirrorNode): void {\n\t\tconst count = lineCount(node.textContent);\n\t\t// Nothing to do while the line count is unchanged — this is the common case\n\t\t// (typing within a line) and skipping it avoids touching the gutter DOM.\n\t\tif (this.gutter.childElementCount === count) {\n\t\t\treturn;\n\t\t}\n\t\t// Reserve only as much left space as the widest line number needs. Floored\n\t\t// at 2 digits so JSON up to 99 lines (virtually all of it) keeps a stable\n\t\t// compact gutter; 100+ / 1000+ lines widen it (and the code's left padding)\n\t\t// a step at a time instead of always paying for 5 digits.\n\t\tconst digits = Math.max(2, String(Math.max(count, 1)).length);\n\t\tconst gutterEm = digits * 0.6 + 1.1;\n\t\tthis.gutter.style.width = `${gutterEm}em`;\n\t\tthis.dom.style.paddingLeft = `${gutterEm + 0.7}em`;\n\t\tconst numbers: HTMLElement[] = [];\n\t\tfor (let n = 1; n <= count; n++) {\n\t\t\tconst span = document.createElement('span');\n\t\t\tspan.className = 'bik-json-lineno';\n\t\t\tspan.textContent = String(n);\n\t\t\tnumbers.push(span);\n\t\t}\n\t\tthis.gutter.replaceChildren(...numbers);\n\t}\n\n\tupdate(node: ProseMirrorNode): boolean {\n\t\tif (node.type.name !== 'codeBlock') {\n\t\t\treturn false;\n\t\t}\n\t\tthis.renderGutter(node);\n\t\treturn true;\n\t}\n\n\t// The gutter is ours to manage — never let ProseMirror parse it as content.\n\tignoreMutation(mutation: MutationRecord | { target: Node }): boolean {\n\t\treturn (\n\t\t\tthis.gutter === mutation.target || this.gutter.contains(mutation.target)\n\t\t);\n\t}\n}\n\n/**\n * Colours JSON tokens inside `codeBlock` nodes and renders a line-number gutter\n * (via {@link JsonCodeBlockView}). A code block stores its whole multi-line body\n * in a single text node, so token offsets map 1:1 onto document positions\n * (`nodeStart + offset`) — no cross-node bookkeeping needed.\n *\n * Purely decorative: the document text is never rewritten, so undo/redo,\n * character count and the cursor all behave exactly as with plain text.\n */\nexport const JsonHighlightExtension = Extension.create({\n\tname: 'jsonHighlight',\n\t// Above CodeBlock (default 100) so our Backspace handler runs first and can\n\t// veto CodeBlock's own \"clearNodes at start\" shortcut (which would lift the\n\t// block to a paragraph).\n\tpriority: 1000,\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\t// In JSON mode the document is a single code block. A Backspace at its very\n\t\t\t// start would lift it to a plain paragraph (killing the highlight, the\n\t\t\t// line-number gutter and the monospace font). There's nothing to delete\n\t\t\t// before the caret there anyway, so swallow it. Mid-text Backspace (and\n\t\t\t// deleting a leading `\\n` from line 2+) still works — those have\n\t\t\t// parentOffset > 0.\n\t\t\tBackspace: () => {\n\t\t\t\tconst { selection } = this.editor.state;\n\t\t\t\tconst { empty, $from } = selection;\n\t\t\t\treturn (\n\t\t\t\t\tempty &&\n\t\t\t\t\t$from.parent.type.name === 'codeBlock' &&\n\t\t\t\t\t$from.parentOffset === 0\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t},\n\taddProseMirrorPlugins() {\n\t\treturn [\n\t\t\tnew Plugin({\n\t\t\t\tkey: new PluginKey('jsonHighlightGuard'),\n\t\t\t\t// jsonMode invariant: the whole document is ONE codeBlock. Several\n\t\t\t\t// default Backspace paths can lift it to a plain paragraph — and one\n\t\t\t\t// of them, TipTap core's `clearDocument` appendTransaction (fired when\n\t\t\t\t// the whole doc is selected then deleted, e.g. Cmd-A → Backspace),\n\t\t\t\t// runs AFTER our Backspace shortcut, so a keymap veto can't stop it.\n\t\t\t\t// A paragraph has no gutter and no monospace rule, so the line numbers\n\t\t\t\t// and font vanish. Re-wrap the content back into a codeBlock whenever\n\t\t\t\t// something lifts it, restoring the invariant.\n\t\t\t\tappendTransaction(transactions, _oldState, newState) {\n\t\t\t\t\tif (!transactions.some((tr) => tr.docChanged)) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tconst { doc, schema } = newState;\n\t\t\t\t\tconst codeBlock = schema.nodes['codeBlock'];\n\t\t\t\t\tif (!codeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// Common case: already a single codeBlock → nothing to do.\n\t\t\t\t\tif (doc.childCount === 1 && doc.firstChild?.type === codeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// If a codeBlock survives anywhere, leave it alone (don't fight\n\t\t\t\t\t// legitimate multi-node edits that shouldn't happen in jsonMode).\n\t\t\t\t\tlet hasCodeBlock = false;\n\t\t\t\t\tdoc.forEach((node) => {\n\t\t\t\t\t\tif (node.type === codeBlock) {\n\t\t\t\t\t\t\thasCodeBlock = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (hasCodeBlock) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\t// A lift happened: rebuild a single codeBlock from the text\n\t\t\t\t\t// (block boundaries preserved as newlines, matching JSON lines).\n\t\t\t\t\tconst text = doc.textBetween(0, doc.content.size, '\\n');\n\t\t\t\t\tconst tr = newState.tr;\n\t\t\t\t\ttr.replaceWith(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tdoc.content.size,\n\t\t\t\t\t\tcodeBlock.create(null, text ? schema.text(text) : null),\n\t\t\t\t\t);\n\t\t\t\t\ttr.setSelection(TextSelection.create(tr.doc, 1));\n\t\t\t\t\treturn tr;\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew Plugin({\n\t\t\t\tkey: new PluginKey('jsonHighlight'),\n\t\t\t\tprops: {\n\t\t\t\t\t// The gutter is a node view, not a widget decoration — see\n\t\t\t\t\t// JsonCodeBlockView for why (MAP-7286).\n\t\t\t\t\tnodeViews: {\n\t\t\t\t\t\tcodeBlock: (node) => new JsonCodeBlockView(node),\n\t\t\t\t\t},\n\t\t\t\t\t// Paste beautify: if the clipboard text is valid JSON, drop in a\n\t\t\t\t\t// pretty-printed version (2-space indent, matching the Beautify\n\t\t\t\t\t// button) instead of the raw blob. Non-JSON pastes fall through to\n\t\t\t\t\t// the default handler untouched.\n\t\t\t\t\thandlePaste(view, event) {\n\t\t\t\t\t\tconst raw = event.clipboardData?.getData('text/plain');\n\t\t\t\t\t\tif (!raw || !raw.trim()) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet value: unknown;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvalue = JSON.parse(raw);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pretty = JSON.stringify(value, null, 2);\n\t\t\t\t\t\t// No-op if it was already beautified (avoids a redundant tx).\n\t\t\t\t\t\tif (pretty === raw) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst { state, dispatch } = view;\n\t\t\t\t\t\tconst { from, to } = state.selection;\n\t\t\t\t\t\tdispatch(state.tr.insertText(pretty, from, to).scrollIntoView());\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\t// Inline token colours only. Recolouring an inline span does not\n\t\t\t\t\t// disturb the caret (unlike the old gutter widgets).\n\t\t\t\t\tdecorations(state) {\n\t\t\t\t\t\tconst decorations: Decoration[] = [];\n\t\t\t\t\t\tstate.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (node.type.name !== 'codeBlock') return;\n\t\t\t\t\t\t\tconst text = node.textContent;\n\t\t\t\t\t\t\tif (text.length === 0) return;\n\t\t\t\t\t\t\t// +1: step past the code-block node boundary into its text.\n\t\t\t\t\t\t\tconst base = pos + 1;\n\t\t\t\t\t\t\tfor (const tok of tokenizeJson(text)) {\n\t\t\t\t\t\t\t\tdecorations.push(\n\t\t\t\t\t\t\t\t\tDecoration.inline(base + tok.start, base + tok.end, {\n\t\t\t\t\t\t\t\t\t\tclass: CLASS_BY_TYPE[tok.type],\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn DecorationSet.create(state.doc, decorations);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t];\n\t},\n});\n"],"names":["CLASS_BY_TYPE","lineCount","text","JsonCodeBlockView","node","pre","gutter","code","count","gutterEm","numbers","n","span","mutation","JsonHighlightExtension","Extension","selection","empty","$from","Plugin","PluginKey","transactions","_oldState","newState","tr","doc","schema","codeBlock","hasCodeBlock","TextSelection","view","event","raw","value","pretty","state","dispatch","from","to","decorations","pos","base","tok","tokenizeJson","Decoration","DecorationSet"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),c=require("../editorDropdown.styles.js"),p=l.forwardRef(({items:r,query:d,command:f,renderItem:x,renderDropdown:s,dismiss:b},w)=>{const[a,u]=l.useState(0),h=l.useRef(null),i=l.useRef(null),y=l.useCallback(e=>{i.current=e},[]),g=l.useCallback(e=>{const n=h.current;if(!n)return;n.children[e]?.scrollIntoView({block:"nearest"})},[]),j=e=>{r[e]&&f(r[e])};return l.useImperativeHandle(w,()=>({onKeyDown:({event:e})=>s&&i.current?i.current(e):r.length?e.key==="ArrowUp"?(u(n=>{const o=(n+r.length-1)%r.length;return g(o),o}),!0):e.key==="ArrowDown"?(u(n=>{const o=(n+1)%r.length;return g(o),o}),!0):e.key==="Enter"?(j(a),!0):!1:!1})),l.useEffect(()=>u(0),[r]),!r.length&&(!s||d)?null:s?t.jsx(t.Fragment,{children:s({items:r,query:d,activeIndex:a,onSelect:e=>f(e),registerKeyHandler:y,onClose:b})}):t.jsx(c.DropdownContainer,{ref:h,children:r.map((e,n)=>t.jsx(c.DropdownItem,{$isActive:n===a,onMouseEnter:()=>u(n),onClick:()=>j(n),children:x?x(e,n===a):t.jsxs(t.Fragment,{children:[e.avatarUrl?t.jsx(c.MentionAvatar,{src:e.avatarUrl,alt:""}):t.jsx(c.MentionAvatarFallback,{children:e.label.charAt(0).toUpperCase()}),t.jsx(c.MentionLabel,{children:e.label}),e.isOnline!==void 0&&t.jsx(c.MentionPresenceDot,{$online:e.isOnline})]})},e.id))})});p.displayName="MentionDropdown";exports.MentionDropdown=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),c=require("../editorDropdown.styles.js"),g=o.forwardRef(({items:r,query:j,command:d,renderItem:f,renderDropdown:u,dismiss:w},y)=>{const[s,a]=o.useState(0),x=o.useRef(null),i=o.useRef(null),b=o.useCallback(e=>{i.current=e},[]),h=o.useCallback(e=>{const n=x.current;if(!n)return;n.children[e]?.scrollIntoView({block:"nearest"})},[]),p=e=>{r[e]&&d(r[e])};return o.useImperativeHandle(y,()=>({onKeyDown:({event:e})=>u&&i.current?i.current(e):r.length?e.key==="ArrowUp"?(a(n=>{const l=(n+r.length-1)%r.length;return h(l),l}),!0):e.key==="ArrowDown"?(a(n=>{const l=(n+1)%r.length;return h(l),l}),!0):e.key==="Enter"?(p(s),!0):!1:!1})),o.useEffect(()=>a(0),[r]),r.length?u?t.jsx(t.Fragment,{children:u({items:r,query:j,activeIndex:s,onSelect:e=>d(e),registerKeyHandler:b,onClose:w})}):t.jsx(c.DropdownContainer,{ref:x,children:r.map((e,n)=>t.jsx(c.DropdownItem,{$isActive:n===s,onMouseEnter:()=>a(n),onClick:()=>p(n),children:f?f(e,n===s):t.jsxs(t.Fragment,{children:[e.avatarUrl?t.jsx(c.MentionAvatar,{src:e.avatarUrl,alt:""}):t.jsx(c.MentionAvatarFallback,{children:e.label.charAt(0).toUpperCase()}),t.jsx(c.MentionLabel,{children:e.label}),e.isOnline!==void 0&&t.jsx(c.MentionPresenceDot,{$online:e.isOnline})]})},e.id))}):null});g.displayName="MentionDropdown";exports.MentionDropdown=g;
2
2
  //# sourceMappingURL=MentionDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n\t/** Close the menu without selecting (strips the typed trigger). Injected by the extension. */\n\tdismiss?: () => void;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown, dismiss }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\t\t// A custom dropdown (renderDropdown) can claim keyboard nav for itself.\n\t\tconst customKeyHandlerRef = useRef<\n\t\t\t((event: KeyboardEvent) => boolean) | null\n\t\t>(null);\n\n\t\tconst registerKeyHandler = useCallback(\n\t\t\t(handler: ((event: KeyboardEvent) => boolean) | null) => {\n\t\t\t\tcustomKeyHandlerRef.current = handler;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\t// A custom dropdown that registered a handler owns navigation.\n\t\t\t\tif (renderDropdown && customKeyHandlerRef.current) {\n\t\t\t\t\treturn customKeyHandlerRef.current(event);\n\t\t\t\t}\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\t// A custom dropdown owns its own empty state — it can have content even\n\t\t// with zero mention items (e.g. the agent-builder's variables-only mode) —\n\t\t// but only while the query is empty. Once a typed query filters to zero,\n\t\t// bail (unmounting the custom dropdown unregisters its key handler, so\n\t\t// Enter / arrows reach the editor again). Mirrors MentionExtension's\n\t\t// popup.hide() rule.\n\t\tif (!items.length && (!renderDropdown || query)) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t\tregisterKeyHandler,\n\t\t\t\t\t\tonClose: dismiss,\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","dismiss","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","customKeyHandlerRef","registerKeyHandler","useCallback","handler","scrollToIndex","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":"iLAoCaA,EAAkBC,EAAAA,WAC9B,CAAC,CAAE,MAAAC,EAAO,MAAAC,EAAO,QAAAC,EAAS,WAAAC,EAAY,eAAAC,EAAgB,QAAAC,CAAA,EAAWC,IAAQ,CACxE,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAS,CAAC,EAC9CC,EAAeC,EAAAA,OAAuB,IAAI,EAE1CC,EAAsBD,EAAAA,OAE1B,IAAI,EAEAE,EAAqBC,EAAAA,YACzBC,GAAwD,CACxDH,EAAoB,QAAUG,CAC/B,EACA,CAAA,CAAC,EAGIC,EAAgBF,cAAaG,GAAkB,CACpD,MAAMC,EAAYR,EAAa,QAC/B,GAAI,CAACQ,EAAW,OACHA,EAAU,SAASD,CAAK,GAC/B,eAAe,CAAE,MAAO,SAAA,CAAW,CAC1C,EAAG,CAAA,CAAE,EAECE,EAAUC,GAAc,CACzBpB,EAAMoB,CAAC,GAAGlB,EAAQF,EAAMoB,CAAC,CAAC,CAC/B,EAyCA,OAvCAC,EAAAA,oBAAoBf,EAAK,KAAO,CAC/B,UAAW,CAAC,CAAE,MAAAgB,KAETlB,GAAkBQ,EAAoB,QAClCA,EAAoB,QAAQU,CAAK,EAEpCtB,EAAM,OACPsB,EAAM,MAAQ,WACjBd,EAAkBe,GAAS,CAC1B,MAAMC,GAAQD,EAAOvB,EAAM,OAAS,GAAKA,EAAM,OAC/C,OAAAgB,EAAcQ,CAAI,EACXA,CACR,CAAC,EACM,IAEJF,EAAM,MAAQ,aACjBd,EAAkBe,GAAS,CAC1B,MAAMC,GAAQD,EAAO,GAAKvB,EAAM,OAChC,OAAAgB,EAAcQ,CAAI,EACXA,CACR,CAAC,EACM,IAEJF,EAAM,MAAQ,SACjBH,EAAOZ,CAAa,EACb,IAED,GArBmB,EAsB3B,EACC,EAEFkB,EAAAA,UAAU,IAAMjB,EAAiB,CAAC,EAAG,CAACR,CAAK,CAAC,EAQxC,CAACA,EAAM,SAAW,CAACI,GAAkBH,GAAe,KAGpDG,oBAGA,SAAAA,EAAe,CACf,MAAAJ,EACA,MAAAC,EACA,YAAaM,EACb,SAAWmB,GAASxB,EAAQwB,CAAI,EAChC,mBAAAb,EACA,QAASR,CAAA,CACT,EACF,EAKDsB,MAACC,EAAAA,mBAAkB,IAAKlB,EACtB,WAAM,IAAI,CAACgB,EAAMN,IACjBO,EAAAA,IAACE,EAAAA,aAAA,CAEA,UAAWT,IAAMb,EACjB,aAAc,IAAMC,EAAiBY,CAAC,EACtC,QAAS,IAAMD,EAAOC,CAAC,EAEtB,WACAjB,EAAWuB,EAAMN,IAAMb,CAAa,EAEpCuB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAL,EAAK,UACLC,EAAAA,IAACK,gBAAA,CAAc,IAAKN,EAAK,UAAW,IAAI,EAAA,CAAG,EAE3CC,EAAAA,IAACM,EAAAA,uBACC,SAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,cACvB,EAEDC,EAAAA,IAACO,EAAAA,aAAA,CAAc,SAAAR,EAAK,KAAA,CAAM,EACzBA,EAAK,WAAa,cACjBS,EAAAA,mBAAA,CAAmB,QAAST,EAAK,QAAA,CAAU,CAAA,CAAA,CAE9C,CAAA,EApBIA,EAAK,EAAA,CAuBX,EACF,CAEF,CACD,EACA5B,EAAgB,YAAc"}
1
+ {"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n\t/** Close the menu without selecting (strips the typed trigger). Injected by the extension. */\n\tdismiss?: () => void;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown, dismiss }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\t\t// A custom dropdown (renderDropdown) can claim keyboard nav for itself.\n\t\tconst customKeyHandlerRef = useRef<\n\t\t\t((event: KeyboardEvent) => boolean) | null\n\t\t>(null);\n\n\t\tconst registerKeyHandler = useCallback(\n\t\t\t(handler: ((event: KeyboardEvent) => boolean) | null) => {\n\t\t\t\tcustomKeyHandlerRef.current = handler;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\t// A custom dropdown that registered a handler owns navigation.\n\t\t\t\tif (renderDropdown && customKeyHandlerRef.current) {\n\t\t\t\t\treturn customKeyHandlerRef.current(event);\n\t\t\t\t}\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\tif (!items.length) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t\tregisterKeyHandler,\n\t\t\t\t\t\tonClose: dismiss,\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","dismiss","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","customKeyHandlerRef","registerKeyHandler","useCallback","handler","scrollToIndex","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":"iLAoCaA,EAAkBC,EAAAA,WAC9B,CAAC,CAAE,MAAAC,EAAO,MAAAC,EAAO,QAAAC,EAAS,WAAAC,EAAY,eAAAC,EAAgB,QAAAC,CAAA,EAAWC,IAAQ,CACxE,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAS,CAAC,EAC9CC,EAAeC,EAAAA,OAAuB,IAAI,EAE1CC,EAAsBD,EAAAA,OAE1B,IAAI,EAEAE,EAAqBC,EAAAA,YACzBC,GAAwD,CACxDH,EAAoB,QAAUG,CAC/B,EACA,CAAA,CAAC,EAGIC,EAAgBF,cAAaG,GAAkB,CACpD,MAAMC,EAAYR,EAAa,QAC/B,GAAI,CAACQ,EAAW,OACHA,EAAU,SAASD,CAAK,GAC/B,eAAe,CAAE,MAAO,SAAA,CAAW,CAC1C,EAAG,CAAA,CAAE,EAECE,EAAUC,GAAc,CACzBpB,EAAMoB,CAAC,GAAGlB,EAAQF,EAAMoB,CAAC,CAAC,CAC/B,EAmCA,OAjCAC,EAAAA,oBAAoBf,EAAK,KAAO,CAC/B,UAAW,CAAC,CAAE,MAAAgB,KAETlB,GAAkBQ,EAAoB,QAClCA,EAAoB,QAAQU,CAAK,EAEpCtB,EAAM,OACPsB,EAAM,MAAQ,WACjBd,EAAkBe,GAAS,CAC1B,MAAMC,GAAQD,EAAOvB,EAAM,OAAS,GAAKA,EAAM,OAC/C,OAAAgB,EAAcQ,CAAI,EACXA,CACR,CAAC,EACM,IAEJF,EAAM,MAAQ,aACjBd,EAAkBe,GAAS,CAC1B,MAAMC,GAAQD,EAAO,GAAKvB,EAAM,OAChC,OAAAgB,EAAcQ,CAAI,EACXA,CACR,CAAC,EACM,IAEJF,EAAM,MAAQ,SACjBH,EAAOZ,CAAa,EACb,IAED,GArBmB,EAsB3B,EACC,EAEFkB,EAAAA,UAAU,IAAMjB,EAAiB,CAAC,EAAG,CAACR,CAAK,CAAC,EAEvCA,EAAM,OAGPI,oBAGA,SAAAA,EAAe,CACf,MAAAJ,EACA,MAAAC,EACA,YAAaM,EACb,SAAWmB,GAASxB,EAAQwB,CAAI,EAChC,mBAAAb,EACA,QAASR,CAAA,CACT,EACF,EAKDsB,MAACC,EAAAA,mBAAkB,IAAKlB,EACtB,WAAM,IAAI,CAACgB,EAAMN,IACjBO,EAAAA,IAACE,EAAAA,aAAA,CAEA,UAAWT,IAAMb,EACjB,aAAc,IAAMC,EAAiBY,CAAC,EACtC,QAAS,IAAMD,EAAOC,CAAC,EAEtB,WACAjB,EAAWuB,EAAMN,IAAMb,CAAa,EAEpCuB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAL,EAAK,UACLC,EAAAA,IAACK,gBAAA,CAAc,IAAKN,EAAK,UAAW,IAAI,EAAA,CAAG,EAE3CC,EAAAA,IAACM,EAAAA,uBACC,SAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,cACvB,EAEDC,EAAAA,IAACO,EAAAA,aAAA,CAAc,SAAAR,EAAK,KAAA,CAAM,EACzBA,EAAK,WAAa,cACjBS,EAAAA,mBAAA,CAAmB,QAAST,EAAK,QAAA,CAAU,CAAA,CAAA,CAE9C,CAAA,EApBIA,EAAK,EAAA,CAuBX,EACF,EA9CyB,IAgD3B,CACD,EACA5B,EAAgB,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../node_modules/@tiptap/core/dist/index.js"),k=require("@tiptap/extension-mention"),m=require("@tiptap/react"),M=require("../suggestionPopup.js"),w=require("./MentionChipNodeView.js"),h=require("./MentionDropdown.js"),T=i=>i&&typeof i=="object"&&"default"in i?i:{default:i},p=T(k);function D(i,r){const{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c}=i;return()=>{let o,d,e,t=null;const s=()=>{if(r.picked=!0,e?.editor&&e?.range){const{editor:n,range:l}=e;n.chain().focus().deleteRange(l).run()}};return{onStart:n=>{e=n,r.picked=!1,o=new m.ReactRenderer(h.MentionDropdown,{props:{...n,renderItem:u,renderDropdown:a,dismiss:s},editor:n.editor}),d=M.createSuggestionPopup(o.element,n.clientRect),t=l=>{const g=l.target;!g||d.element.contains(g)||e?.editor?.view?.dom?.contains(g)||(r.picked=!0,e?.editor&&e?.range&&e.editor.chain().deleteRange(e.range).run(),d.hide())},document.addEventListener("mousedown",t)},onUpdate:n=>{if(e=n,o.updateProps({...n,renderItem:u,renderDropdown:a,dismiss:s}),!n.items?.length&&(!a||n.query)){d.hide();return}d.show(),d.updatePosition(n.clientRect)},onKeyDown:n=>n.event.key==="Escape"?(d.hide(),!0):o.ref?.onKeyDown(n)??!1,onExit:()=>{if(t&&(document.removeEventListener("mousedown",t),t=null),d.destroy(),o.destroy(),c&&!r.picked&&e?.editor&&e?.range){const{editor:n,range:l}=e;setTimeout(()=>{n.isDestroyed||n.chain().deleteRange(l).run()},0)}}}}}function f(i,r,u,a,c,o){const d={picked:!1};return p.default.extend({name:i,addAttributes(){return{...this.parent?.(),kind:{default:null,parseHTML:e=>e.getAttribute("data-kind"),renderHTML:e=>e.kind?{"data-kind":String(e.kind)}:{}},source:{default:null,parseHTML:e=>e.getAttribute("data-source"),renderHTML:e=>e.source?{"data-source":String(e.source)}:{}}}},...o.renderChipIcon?{addNodeView(){return m.ReactNodeViewRenderer(w.buildMentionChipNodeView({cssClass:r,char:u,renderChipIcon:o.renderChipIcon}))}}:{}}).configure({HTMLAttributes:{class:r},renderText:({options:e,node:t})=>`${t.attrs.kind?"":e.suggestion.char}${t.attrs.label}`,renderHTML:({options:e,node:t})=>["span",b.mergeAttributes(e.HTMLAttributes,t.attrs.kind?{"data-kind":String(t.attrs.kind)}:{},t.attrs.source?{"data-source":String(t.attrs.source)}:{}),`${t.attrs.kind?"":e.suggestion.char}${t.attrs.label}`],suggestion:{char:u,allowSpaces:!0,allowedPrefixes:[" "," "],items:({query:e})=>a.current.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())),command:({editor:e,range:t,props:s})=>{d.picked=!0,e.chain().focus().deleteRange(t).insertContent({type:i,attrs:{id:s.id,label:s.label,kind:s.meta?.kind??null,source:s.meta?.source??null}}).run(),c?.(s,u)},render:D(o,d)}})}function y(i,r,u,a,c,o){return f("mentionAgent","bik-mention bik-mention--agent","@",i,r,{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c,renderChipIcon:o})}function L(i,r,u,a,c){return f("mentionTeam","bik-mention bik-mention--team","#",i,r,{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c})}exports.buildAgentMentionExtension=y;exports.buildTeamMentionExtension=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../node_modules/@tiptap/core/dist/index.js"),k=require("@tiptap/extension-mention"),m=require("@tiptap/react"),M=require("../suggestionPopup.js"),w=require("./MentionChipNodeView.js"),h=require("./MentionDropdown.js"),p=i=>i&&typeof i=="object"&&"default"in i?i:{default:i},T=p(k);function D(i,r){const{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c}=i;return()=>{let o,d,e,t=null;const s=()=>{if(r.picked=!0,e?.editor&&e?.range){const{editor:n,range:l}=e;n.chain().focus().deleteRange(l).run()}};return{onStart:n=>{e=n,r.picked=!1,o=new m.ReactRenderer(h.MentionDropdown,{props:{...n,renderItem:u,renderDropdown:a,dismiss:s},editor:n.editor}),d=M.createSuggestionPopup(o.element,n.clientRect),t=l=>{const g=l.target;!g||d.element.contains(g)||e?.editor?.view?.dom?.contains(g)||(r.picked=!0,e?.editor&&e?.range&&e.editor.chain().deleteRange(e.range).run(),d.hide())},document.addEventListener("mousedown",t)},onUpdate:n=>{if(e=n,o.updateProps({...n,renderItem:u,renderDropdown:a,dismiss:s}),!n.items?.length){d.hide();return}d.show(),d.updatePosition(n.clientRect)},onKeyDown:n=>n.event.key==="Escape"?(d.hide(),!0):o.ref?.onKeyDown(n)??!1,onExit:()=>{if(t&&(document.removeEventListener("mousedown",t),t=null),d.destroy(),o.destroy(),c&&!r.picked&&e?.editor&&e?.range){const{editor:n,range:l}=e;setTimeout(()=>{n.isDestroyed||n.chain().deleteRange(l).run()},0)}}}}}function f(i,r,u,a,c,o){const d={picked:!1};return T.default.extend({name:i,addAttributes(){return{...this.parent?.(),kind:{default:null,parseHTML:e=>e.getAttribute("data-kind"),renderHTML:e=>e.kind?{"data-kind":String(e.kind)}:{}},source:{default:null,parseHTML:e=>e.getAttribute("data-source"),renderHTML:e=>e.source?{"data-source":String(e.source)}:{}}}},...o.renderChipIcon?{addNodeView(){return m.ReactNodeViewRenderer(w.buildMentionChipNodeView({cssClass:r,char:u,renderChipIcon:o.renderChipIcon}))}}:{}}).configure({HTMLAttributes:{class:r},renderText:({options:e,node:t})=>`${t.attrs.kind?"":e.suggestion.char}${t.attrs.label}`,renderHTML:({options:e,node:t})=>["span",b.mergeAttributes(e.HTMLAttributes,t.attrs.kind?{"data-kind":String(t.attrs.kind)}:{},t.attrs.source?{"data-source":String(t.attrs.source)}:{}),`${t.attrs.kind?"":e.suggestion.char}${t.attrs.label}`],suggestion:{char:u,allowSpaces:!0,items:({query:e})=>a.current.filter(t=>t.label.toLowerCase().includes(e.toLowerCase())),command:({editor:e,range:t,props:s})=>{d.picked=!0,e.chain().focus().deleteRange(t).insertContent({type:i,attrs:{id:s.id,label:s.label,kind:s.meta?.kind??null,source:s.meta?.source??null}}).run(),c?.(s,u)},render:D(o,d)}})}function L(i,r,u,a,c,o){return f("mentionAgent","bik-mention bik-mention--agent","@",i,r,{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c,renderChipIcon:o})}function y(i,r,u,a,c){return f("mentionTeam","bik-mention bik-mention--team","#",i,r,{renderItem:u,renderDropdown:a,removeTriggerOnDismiss:c})}exports.buildAgentMentionExtension=L;exports.buildTeamMentionExtension=y;
2
2
  //# sourceMappingURL=MentionExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MentionExtension.js","sources":["../../../../../src/editor/extensions/mention/MentionExtension.ts"],"sourcesContent":["import { mergeAttributes } from '@tiptap/core';\nimport Mention from '@tiptap/extension-mention';\nimport { ReactNodeViewRenderer, ReactRenderer } from '@tiptap/react';\nimport type { ReactNode } from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tcreateSuggestionPopup,\n\ttype SuggestionPopup,\n} from '../suggestionPopup';\nimport { buildMentionChipNodeView } from './MentionChipNodeView';\nimport { MentionDropdown } from './MentionDropdown';\n\ninterface MentionBuildOptions {\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\t/** Remove the typed trigger char + query if the menu closes without a selection. */\n\tremoveTriggerOnDismiss?: boolean;\n\t/**\n\t * Leading glyph rendered inside the chip (e.g. a tool's source icon). Supplying\n\t * it switches the chip to a React node view; omit to keep the plain chip.\n\t */\n\trenderChipIcon?: (source: string | null, kind: string | null) => ReactNode;\n}\n\nfunction buildRender(\n\toptions: MentionBuildOptions,\n\tpickedRef: { picked: boolean },\n) {\n\tconst { renderItem, renderDropdown, removeTriggerOnDismiss } = options;\n\treturn () => {\n\t\tlet component: ReactRenderer;\n\t\tlet popup: SuggestionPopup;\n\t\tlet latestProps: any;\n\t\t// Closes the menu when the user clicks anywhere outside it. The `@` popup\n\t\t// lives on document.body (not inside the editor), so nothing dismisses it on\n\t\t// an outside click otherwise — only Escape / moving the cursor did.\n\t\tlet onDocMouseDown: ((event: MouseEvent) => void) | null = null;\n\n\t\t// Close the menu without a selection: drop the typed \"@query\" so no orphan\n\t\t// trigger is left, and mark as picked so onExit doesn't delete it twice.\n\t\tconst dismiss = () => {\n\t\t\tpickedRef.picked = true;\n\t\t\tif (latestProps?.editor && latestProps?.range) {\n\t\t\t\tconst { editor, range } = latestProps;\n\t\t\t\teditor.chain().focus().deleteRange(range).run();\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\tonStart: (props: any) => {\n\t\t\t\tlatestProps = props;\n\t\t\t\tpickedRef.picked = false;\n\t\t\t\tcomponent = new ReactRenderer(MentionDropdown, {\n\t\t\t\t\tprops: { ...props, renderItem, renderDropdown, dismiss },\n\t\t\t\t\teditor: props.editor,\n\t\t\t\t});\n\t\t\t\tpopup = createSuggestionPopup(component.element, props.clientRect);\n\t\t\t\tonDocMouseDown = (event: MouseEvent) => {\n\t\t\t\t\tconst target = event.target as Node | null;\n\t\t\t\t\tif (!target) return;\n\t\t\t\t\t// Inside the picker → keep open (row clicks fire on `click`).\n\t\t\t\t\tif (popup.element.contains(target)) return;\n\t\t\t\t\t// Inside the editor → the suggestion plugin already closes it.\n\t\t\t\t\tconst editorDom = latestProps?.editor?.view?.dom as\n\t\t\t\t\t\t| HTMLElement\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\tif (editorDom?.contains(target)) return;\n\t\t\t\t\t// Anywhere else → drop the typed \"@query\" (no refocus — clicking\n\t\t\t\t\t// away shouldn't yank focus back) and close.\n\t\t\t\t\tpickedRef.picked = true;\n\t\t\t\t\tif (latestProps?.editor && latestProps?.range) {\n\t\t\t\t\t\tlatestProps.editor.chain().deleteRange(latestProps.range).run();\n\t\t\t\t\t}\n\t\t\t\t\tpopup.hide();\n\t\t\t\t};\n\t\t\t\tdocument.addEventListener('mousedown', onDocMouseDown);\n\t\t\t},\n\t\t\tonUpdate: (props: any) => {\n\t\t\t\tlatestProps = props;\n\t\t\t\tcomponent.updateProps({\n\t\t\t\t\t...props,\n\t\t\t\t\trenderItem,\n\t\t\t\t\trenderDropdown,\n\t\t\t\t\tdismiss,\n\t\t\t\t});\n\t\t\t\t// Empty result list closes the dropdown — EXCEPT a custom dropdown\n\t\t\t\t// (renderDropdown) with an empty QUERY: it may have content of its\n\t\t\t\t// own with zero items (the agent-builder's variables-only mode).\n\t\t\t\t// Once the user has typed a query that matches nothing, hide — the\n\t\t\t\t// picker must not float over (and steal keys from) ordinary typing.\n\t\t\t\tif (!props.items?.length && (!renderDropdown || props.query)) {\n\t\t\t\t\tpopup.hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpopup.show();\n\t\t\t\tpopup.updatePosition(props.clientRect);\n\t\t\t},\n\t\t\tonKeyDown: (props: any) => {\n\t\t\t\tif (props.event.key === 'Escape') {\n\t\t\t\t\tpopup.hide();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn (component.ref as any)?.onKeyDown(props) ?? false;\n\t\t\t},\n\t\t\tonExit: () => {\n\t\t\t\tif (onDocMouseDown) {\n\t\t\t\t\tdocument.removeEventListener('mousedown', onDocMouseDown);\n\t\t\t\t\tonDocMouseDown = null;\n\t\t\t\t}\n\t\t\t\tpopup.destroy();\n\t\t\t\tcomponent.destroy();\n\t\t\t\t// Nothing was picked → strip the orphan \"@query\" the user typed.\n\t\t\t\tif (\n\t\t\t\t\tremoveTriggerOnDismiss &&\n\t\t\t\t\t!pickedRef.picked &&\n\t\t\t\t\tlatestProps?.editor &&\n\t\t\t\t\tlatestProps?.range\n\t\t\t\t) {\n\t\t\t\t\tconst { editor, range } = latestProps;\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (!editor.isDestroyed) {\n\t\t\t\t\t\t\teditor.chain().deleteRange(range).run();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t};\n}\n\n/**\n * Builds a TipTap Mention extension.\n *\n * Each inserted node carries an optional `kind` attribute. When set, the chip is\n * rendered WITHOUT the trigger char (the `label` already encodes the full text)\n * and a `data-kind` attribute is emitted so CSS can colour it per kind. When\n * `kind` is null the legacy `${char}${label}` chip is rendered (back-compatible).\n */\nfunction buildMentionExtension(\n\tname: 'mentionAgent' | 'mentionTeam',\n\tcssClass: string,\n\tchar: '@' | '#',\n\titemsRef: { current: MentionItem[] },\n\tonSelect: ((item: MentionItem, char: '@' | '#') => void) | undefined,\n\toptions: MentionBuildOptions,\n) {\n\tconst pickedRef = { picked: false };\n\n\treturn Mention.extend({\n\t\tname,\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...this.parent?.(),\n\t\t\t\tkind: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) => el.getAttribute('data-kind'),\n\t\t\t\t\trenderHTML: (attrs: Record<string, unknown>) =>\n\t\t\t\t\t\tattrs['kind'] ? { 'data-kind': String(attrs['kind']) } : {},\n\t\t\t\t},\n\t\t\t\t// Tool source bucket (manifest / shopify / …); drives the chip icon.\n\t\t\t\tsource: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) => el.getAttribute('data-source'),\n\t\t\t\t\trenderHTML: (attrs: Record<string, unknown>) =>\n\t\t\t\t\t\tattrs['source'] ? { 'data-source': String(attrs['source']) } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t// A React chip (with the leading source icon) only when the consumer asks for\n\t\t// it — otherwise the plain renderHTML chip is kept (unchanged for CRM etc.).\n\t\t...(options.renderChipIcon\n\t\t\t? {\n\t\t\t\t\taddNodeView() {\n\t\t\t\t\t\treturn ReactNodeViewRenderer(\n\t\t\t\t\t\t\tbuildMentionChipNodeView({\n\t\t\t\t\t\t\t\tcssClass,\n\t\t\t\t\t\t\t\tchar,\n\t\t\t\t\t\t\t\trenderChipIcon: options.renderChipIcon,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t }\n\t\t\t: {}),\n\t}).configure({\n\t\tHTMLAttributes: { class: cssClass },\n\t\trenderText: ({ options: opt, node }: any) =>\n\t\t\t`${node.attrs['kind'] ? '' : opt.suggestion.char}${node.attrs['label']}`,\n\t\trenderHTML: ({ options: opt, node }: any) => [\n\t\t\t'span',\n\t\t\tmergeAttributes(\n\t\t\t\topt.HTMLAttributes,\n\t\t\t\tnode.attrs['kind'] ? { 'data-kind': String(node.attrs['kind']) } : {},\n\t\t\t\tnode.attrs['source']\n\t\t\t\t\t? { 'data-source': String(node.attrs['source']) }\n\t\t\t\t\t: {},\n\t\t\t),\n\t\t\t`${node.attrs['kind'] ? '' : opt.suggestion.char}${node.attrs['label']}`,\n\t\t],\n\t\tsuggestion: {\n\t\t\tchar,\n\t\t\tallowSpaces: true,\n\t\t\t// Chips are always followed by a `&nbsp;` (see MentionEditor's inserts),\n\t\t\t// so U+00A0 must count as a valid prefix or an `@` typed / injected\n\t\t\t// right after a chip never activates the suggestion (default: [' ']).\n\t\t\tallowedPrefixes: [' ', '\\u00a0'],\n\t\t\titems: ({ query }: { query: string }) =>\n\t\t\t\titemsRef.current.filter((a) =>\n\t\t\t\t\ta.label.toLowerCase().includes(query.toLowerCase()),\n\t\t\t\t),\n\t\t\tcommand: ({ editor, range, props }: any) => {\n\t\t\t\tpickedRef.picked = true;\n\t\t\t\teditor\n\t\t\t\t\t.chain()\n\t\t\t\t\t.focus()\n\t\t\t\t\t.deleteRange(range)\n\t\t\t\t\t.insertContent({\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tid: props.id,\n\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\tkind: props.meta?.kind ?? null,\n\t\t\t\t\t\t\tsource: props.meta?.source ?? null,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.run();\n\t\t\t\tonSelect?.(props, char);\n\t\t\t},\n\t\t\trender: buildRender(options, pickedRef),\n\t\t},\n\t});\n}\n\nexport function buildAgentMentionExtension(\n\tagentsRef: { current: MentionItem[] },\n\tonSelect?: (item: MentionItem, char: '@' | '#') => void,\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode,\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode,\n\tremoveTriggerOnDismiss?: boolean,\n\trenderChipIcon?: (source: string | null, kind: string | null) => ReactNode,\n) {\n\treturn buildMentionExtension(\n\t\t'mentionAgent',\n\t\t'bik-mention bik-mention--agent',\n\t\t'@',\n\t\tagentsRef,\n\t\tonSelect,\n\t\t{ renderItem, renderDropdown, removeTriggerOnDismiss, renderChipIcon },\n\t);\n}\n\nexport function buildTeamMentionExtension(\n\tteamsRef: { current: MentionItem[] },\n\tonSelect?: (item: MentionItem, char: '@' | '#') => void,\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode,\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode,\n\tremoveTriggerOnDismiss?: boolean,\n) {\n\treturn buildMentionExtension(\n\t\t'mentionTeam',\n\t\t'bik-mention bik-mention--team',\n\t\t'#',\n\t\tteamsRef,\n\t\tonSelect,\n\t\t{ renderItem, renderDropdown, removeTriggerOnDismiss },\n\t);\n}\n"],"names":["buildRender","options","pickedRef","renderItem","renderDropdown","removeTriggerOnDismiss","component","popup","latestProps","onDocMouseDown","dismiss","editor","range","props","ReactRenderer","MentionDropdown","createSuggestionPopup","event","target","buildMentionExtension","name","cssClass","char","itemsRef","onSelect","Mention","el","attrs","ReactNodeViewRenderer","buildMentionChipNodeView","opt","node","mergeAttributes","query","a","buildAgentMentionExtension","agentsRef","renderChipIcon","buildTeamMentionExtension","teamsRef"],"mappings":"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"}
1
+ {"version":3,"file":"MentionExtension.js","sources":["../../../../../src/editor/extensions/mention/MentionExtension.ts"],"sourcesContent":["import { mergeAttributes } from '@tiptap/core';\nimport Mention from '@tiptap/extension-mention';\nimport { ReactNodeViewRenderer, ReactRenderer } from '@tiptap/react';\nimport type { ReactNode } from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tcreateSuggestionPopup,\n\ttype SuggestionPopup,\n} from '../suggestionPopup';\nimport { buildMentionChipNodeView } from './MentionChipNodeView';\nimport { MentionDropdown } from './MentionDropdown';\n\ninterface MentionBuildOptions {\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\t/** Remove the typed trigger char + query if the menu closes without a selection. */\n\tremoveTriggerOnDismiss?: boolean;\n\t/**\n\t * Leading glyph rendered inside the chip (e.g. a tool's source icon). Supplying\n\t * it switches the chip to a React node view; omit to keep the plain chip.\n\t */\n\trenderChipIcon?: (source: string | null, kind: string | null) => ReactNode;\n}\n\nfunction buildRender(\n\toptions: MentionBuildOptions,\n\tpickedRef: { picked: boolean },\n) {\n\tconst { renderItem, renderDropdown, removeTriggerOnDismiss } = options;\n\treturn () => {\n\t\tlet component: ReactRenderer;\n\t\tlet popup: SuggestionPopup;\n\t\tlet latestProps: any;\n\t\t// Closes the menu when the user clicks anywhere outside it. The `@` popup\n\t\t// lives on document.body (not inside the editor), so nothing dismisses it on\n\t\t// an outside click otherwise — only Escape / moving the cursor did.\n\t\tlet onDocMouseDown: ((event: MouseEvent) => void) | null = null;\n\n\t\t// Close the menu without a selection: drop the typed \"@query\" so no orphan\n\t\t// trigger is left, and mark as picked so onExit doesn't delete it twice.\n\t\tconst dismiss = () => {\n\t\t\tpickedRef.picked = true;\n\t\t\tif (latestProps?.editor && latestProps?.range) {\n\t\t\t\tconst { editor, range } = latestProps;\n\t\t\t\teditor.chain().focus().deleteRange(range).run();\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\tonStart: (props: any) => {\n\t\t\t\tlatestProps = props;\n\t\t\t\tpickedRef.picked = false;\n\t\t\t\tcomponent = new ReactRenderer(MentionDropdown, {\n\t\t\t\t\tprops: { ...props, renderItem, renderDropdown, dismiss },\n\t\t\t\t\teditor: props.editor,\n\t\t\t\t});\n\t\t\t\tpopup = createSuggestionPopup(component.element, props.clientRect);\n\t\t\t\tonDocMouseDown = (event: MouseEvent) => {\n\t\t\t\t\tconst target = event.target as Node | null;\n\t\t\t\t\tif (!target) return;\n\t\t\t\t\t// Inside the picker → keep open (row clicks fire on `click`).\n\t\t\t\t\tif (popup.element.contains(target)) return;\n\t\t\t\t\t// Inside the editor → the suggestion plugin already closes it.\n\t\t\t\t\tconst editorDom = latestProps?.editor?.view?.dom as\n\t\t\t\t\t\t| HTMLElement\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\tif (editorDom?.contains(target)) return;\n\t\t\t\t\t// Anywhere else → drop the typed \"@query\" (no refocus — clicking\n\t\t\t\t\t// away shouldn't yank focus back) and close.\n\t\t\t\t\tpickedRef.picked = true;\n\t\t\t\t\tif (latestProps?.editor && latestProps?.range) {\n\t\t\t\t\t\tlatestProps.editor.chain().deleteRange(latestProps.range).run();\n\t\t\t\t\t}\n\t\t\t\t\tpopup.hide();\n\t\t\t\t};\n\t\t\t\tdocument.addEventListener('mousedown', onDocMouseDown);\n\t\t\t},\n\t\t\tonUpdate: (props: any) => {\n\t\t\t\tlatestProps = props;\n\t\t\t\tcomponent.updateProps({\n\t\t\t\t\t...props,\n\t\t\t\t\trenderItem,\n\t\t\t\t\trenderDropdown,\n\t\t\t\t\tdismiss,\n\t\t\t\t});\n\t\t\t\tif (!props.items?.length) {\n\t\t\t\t\tpopup.hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tpopup.show();\n\t\t\t\tpopup.updatePosition(props.clientRect);\n\t\t\t},\n\t\t\tonKeyDown: (props: any) => {\n\t\t\t\tif (props.event.key === 'Escape') {\n\t\t\t\t\tpopup.hide();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn (component.ref as any)?.onKeyDown(props) ?? false;\n\t\t\t},\n\t\t\tonExit: () => {\n\t\t\t\tif (onDocMouseDown) {\n\t\t\t\t\tdocument.removeEventListener('mousedown', onDocMouseDown);\n\t\t\t\t\tonDocMouseDown = null;\n\t\t\t\t}\n\t\t\t\tpopup.destroy();\n\t\t\t\tcomponent.destroy();\n\t\t\t\t// Nothing was picked → strip the orphan \"@query\" the user typed.\n\t\t\t\tif (\n\t\t\t\t\tremoveTriggerOnDismiss &&\n\t\t\t\t\t!pickedRef.picked &&\n\t\t\t\t\tlatestProps?.editor &&\n\t\t\t\t\tlatestProps?.range\n\t\t\t\t) {\n\t\t\t\t\tconst { editor, range } = latestProps;\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (!editor.isDestroyed) {\n\t\t\t\t\t\t\teditor.chain().deleteRange(range).run();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t};\n}\n\n/**\n * Builds a TipTap Mention extension.\n *\n * Each inserted node carries an optional `kind` attribute. When set, the chip is\n * rendered WITHOUT the trigger char (the `label` already encodes the full text)\n * and a `data-kind` attribute is emitted so CSS can colour it per kind. When\n * `kind` is null the legacy `${char}${label}` chip is rendered (back-compatible).\n */\nfunction buildMentionExtension(\n\tname: 'mentionAgent' | 'mentionTeam',\n\tcssClass: string,\n\tchar: '@' | '#',\n\titemsRef: { current: MentionItem[] },\n\tonSelect: ((item: MentionItem, char: '@' | '#') => void) | undefined,\n\toptions: MentionBuildOptions,\n) {\n\tconst pickedRef = { picked: false };\n\n\treturn Mention.extend({\n\t\tname,\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...this.parent?.(),\n\t\t\t\tkind: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) => el.getAttribute('data-kind'),\n\t\t\t\t\trenderHTML: (attrs: Record<string, unknown>) =>\n\t\t\t\t\t\tattrs['kind'] ? { 'data-kind': String(attrs['kind']) } : {},\n\t\t\t\t},\n\t\t\t\t// Tool source bucket (manifest / shopify / …); drives the chip icon.\n\t\t\t\tsource: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) => el.getAttribute('data-source'),\n\t\t\t\t\trenderHTML: (attrs: Record<string, unknown>) =>\n\t\t\t\t\t\tattrs['source'] ? { 'data-source': String(attrs['source']) } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t// A React chip (with the leading source icon) only when the consumer asks for\n\t\t// it — otherwise the plain renderHTML chip is kept (unchanged for CRM etc.).\n\t\t...(options.renderChipIcon\n\t\t\t? {\n\t\t\t\t\taddNodeView() {\n\t\t\t\t\t\treturn ReactNodeViewRenderer(\n\t\t\t\t\t\t\tbuildMentionChipNodeView({\n\t\t\t\t\t\t\t\tcssClass,\n\t\t\t\t\t\t\t\tchar,\n\t\t\t\t\t\t\t\trenderChipIcon: options.renderChipIcon,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t }\n\t\t\t: {}),\n\t}).configure({\n\t\tHTMLAttributes: { class: cssClass },\n\t\trenderText: ({ options: opt, node }: any) =>\n\t\t\t`${node.attrs['kind'] ? '' : opt.suggestion.char}${node.attrs['label']}`,\n\t\trenderHTML: ({ options: opt, node }: any) => [\n\t\t\t'span',\n\t\t\tmergeAttributes(\n\t\t\t\topt.HTMLAttributes,\n\t\t\t\tnode.attrs['kind'] ? { 'data-kind': String(node.attrs['kind']) } : {},\n\t\t\t\tnode.attrs['source']\n\t\t\t\t\t? { 'data-source': String(node.attrs['source']) }\n\t\t\t\t\t: {},\n\t\t\t),\n\t\t\t`${node.attrs['kind'] ? '' : opt.suggestion.char}${node.attrs['label']}`,\n\t\t],\n\t\tsuggestion: {\n\t\t\tchar,\n\t\t\tallowSpaces: true,\n\t\t\titems: ({ query }: { query: string }) =>\n\t\t\t\titemsRef.current.filter((a) =>\n\t\t\t\t\ta.label.toLowerCase().includes(query.toLowerCase()),\n\t\t\t\t),\n\t\t\tcommand: ({ editor, range, props }: any) => {\n\t\t\t\tpickedRef.picked = true;\n\t\t\t\teditor\n\t\t\t\t\t.chain()\n\t\t\t\t\t.focus()\n\t\t\t\t\t.deleteRange(range)\n\t\t\t\t\t.insertContent({\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\tid: props.id,\n\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\tkind: props.meta?.kind ?? null,\n\t\t\t\t\t\t\tsource: props.meta?.source ?? null,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.run();\n\t\t\t\tonSelect?.(props, char);\n\t\t\t},\n\t\t\trender: buildRender(options, pickedRef),\n\t\t},\n\t});\n}\n\nexport function buildAgentMentionExtension(\n\tagentsRef: { current: MentionItem[] },\n\tonSelect?: (item: MentionItem, char: '@' | '#') => void,\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode,\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode,\n\tremoveTriggerOnDismiss?: boolean,\n\trenderChipIcon?: (source: string | null, kind: string | null) => ReactNode,\n) {\n\treturn buildMentionExtension(\n\t\t'mentionAgent',\n\t\t'bik-mention bik-mention--agent',\n\t\t'@',\n\t\tagentsRef,\n\t\tonSelect,\n\t\t{ renderItem, renderDropdown, removeTriggerOnDismiss, renderChipIcon },\n\t);\n}\n\nexport function buildTeamMentionExtension(\n\tteamsRef: { current: MentionItem[] },\n\tonSelect?: (item: MentionItem, char: '@' | '#') => void,\n\trenderItem?: (item: MentionItem, isActive: boolean) => ReactNode,\n\trenderDropdown?: (props: MentionDropdownRenderProps) => ReactNode,\n\tremoveTriggerOnDismiss?: boolean,\n) {\n\treturn buildMentionExtension(\n\t\t'mentionTeam',\n\t\t'bik-mention bik-mention--team',\n\t\t'#',\n\t\tteamsRef,\n\t\tonSelect,\n\t\t{ renderItem, renderDropdown, removeTriggerOnDismiss },\n\t);\n}\n"],"names":["buildRender","options","pickedRef","renderItem","renderDropdown","removeTriggerOnDismiss","component","popup","latestProps","onDocMouseDown","dismiss","editor","range","props","ReactRenderer","MentionDropdown","createSuggestionPopup","event","target","buildMentionExtension","name","cssClass","char","itemsRef","onSelect","Mention","el","attrs","ReactNodeViewRenderer","buildMentionChipNodeView","opt","node","mergeAttributes","query","a","buildAgentMentionExtension","agentsRef","renderChipIcon","buildTeamMentionExtension","teamsRef"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("./components/template-preview/constants/regexPatterns.js"),J=require("./utils/StringUtils.js"),d=require("./constants/Theme.js"),ee=require("./constants/zindex.js"),e=require("./components/TypographyStyle.js"),re=require("./components/SearchFilter/index.js"),te=require("./components/resizeImage/index.js"),oe=require("./utils/validator.js"),ie=require("./components/input-with-vars/customPortal.js"),ne=require("./components/dropdown/MultilevelDropdownPopover/index.js"),ae=require("./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js"),ue=require("./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js"),k=require("./components/data-source-panel/model.js"),ce=require("./assets/icons/actionButton.svg.js"),se=require("./components/adbanner/AdBanner.js"),le=require("./assets/icons/aiContentIcon.svg.js"),de=require("./assets/icons/AiEdit.svg.js"),Te=require("./assets/icons/Ai_event_generating.svg.js"),pe=require("./assets/icons/alarm.svg.js"),Ce=require("./assets/icons/alert.svg.js"),Ae=require("./assets/icons/alert_triangle.svg.js"),Se=require("./assets/icons/arrow_back.svg.js"),qe=require("./assets/icons/arrow_down.svg.js"),Ie=require("./assets/icons/arrow_left.svg.js"),Ee=require("./assets/icons/arrow_up.svg.js"),he=require("./assets/icons/back_icon.svg.js"),Pe=require("./assets/icons/bik_ai_stars_icon.svg.js"),_e=require("./assets/icons/bik_livechat.svg.js"),Re=require("./assets/icons/Bik_logo.svg.js"),me=require("./assets/icons/bold.svg.js"),ge=require("./assets/icons/box.svg.js"),Oe=require("./assets/icons/box_round.svg.js"),Be=require("./assets/icons/box_search.svg.js"),fe=require("./assets/icons/boxV2.svg.js"),ye=require("./assets/icons/brand_home.svg.js"),Ne=require("./assets/icons/broken_media_image.svg.js"),De=require("./assets/icons/calendar.svg.js"),ke=require("./assets/icons/card_footer_arraw.svg.js"),Le=require("./assets/icons/ChartBar.svg.js"),Me=require("./assets/icons/ChartPie.svg.js"),be=require("./assets/icons/chat.svg.js"),Fe=require("./assets/icons/chat-channel.svg.js"),we=require("./assets/icons/check.svg.js"),Ue=require("./assets/icons/checkCircle.svg.js"),Ve=require("./assets/icons/CheckSquareOffset.svg.js"),ve=require("./assets/icons/checklistIcon.svg.js"),He=require("./assets/icons/chevronDown.svg.js"),Ge=require("./assets/icons/chevronDownOutline.svg.js"),We=require("./assets/icons/chevronLeft.svg.js"),xe=require("./assets/icons/chevronLeft2.svg.js"),Ye=require("./assets/icons/chevronRight.svg.js"),ze=require("./assets/icons/chevronRight2.svg.js"),Ke=require("./assets/icons/chevronRightAlt.svg.js"),Qe=require("./assets/icons/chevronUpOutline.svg.js"),Xe=require("./assets/icons/circular-cross-icon.svg.js"),je=require("./assets/icons/click.svg.js"),$e=require("./assets/icons/clock.svg.js"),Ze=require("./assets/icons/copy-code-icon.svg.js"),Je=require("./assets/icons/cross.svg.js"),er=require("./assets/icons/cubeIcon.svg.js"),rr=require("./assets/icons/cursor.svg.js"),tr=require("./assets/icons/CustomiseIcon.js"),or=require("./assets/icons/delete.svg.js"),ir=require("./assets/icons/desktop_custom.svg.js"),nr=require("./assets/icons/DocsIcon.js"),ar=require("./assets/icons/document_pdf.svg.js"),ur=require("./assets/icons/DoubtIcon.js"),cr=require("./assets/icons/drag_handle.svg.js"),sr=require("./assets/icons/edit.svg.js"),lr=require("./assets/icons/EditLabel.js"),dr=require("./assets/icons/email-channel.svg.js"),Tr=require("./assets/icons/emoji.svg.js"),pr=require("./assets/icons/EnableIcon.js"),Cr=require("./assets/icons/errorIcon.svg.js"),Ar=require("./assets/icons/errorInfo.svg.js"),Sr=require("./assets/icons/expressionless_emoji.svg.js"),qr=require("./assets/icons/facebook_channel.svg.js"),Ir=require("./components/feature-announcements/FeatureAnnouncementProvider.js"),Er=require("./assets/icons/file.svg.js"),hr=require("./assets/icons/filePdf.svg.js"),Pr=require("./assets/icons/gift_icon.svg.js"),_r=require("./assets/icons/gmail.svg.js"),Rr=require("./assets/icons/GoLiveIcon.js"),mr=require("./assets/icons/graph.svg.js"),gr=require("./assets/icons/grid.svg.js"),Or=require("./assets/icons/halfRectangle.svg.js"),Br=require("./assets/icons/HeadsetIcon.js"),fr=require("./assets/icons/help.svg.js"),yr=require("./assets/icons/HelpIcon.svg.js"),Nr=require("./assets/icons/home.svg.js"),Dr=require("./assets/icons/horizontal_dots.svg.js"),kr=require("./assets/icons/hover_home.svg.js"),Lr=require("./assets/icons/Idea.svg.js"),Mr=require("./assets/icons/image.svg.js"),br=require("./assets/icons/info.svg.js"),Fr=require("./assets/icons/instagram.svg.js"),wr=require("./assets/icons/instagram-channel.svg.js"),Ur=require("./assets/icons/italic.svg.js"),Vr=require("./assets/icons/list.svg.js"),vr=require("./assets/icons/ListChecksIcon.js"),Hr=require("./assets/icons/locked.svg.js"),Gr=require("./assets/icons/log_out.svg.js"),Wr=require("./assets/icons/lto_icon.svg.js"),xr=require("./components/feature-announcements/MajorUpdatePopup.js"),Yr=require("./components/markdown/MarkdownRender.js"),zr=require("./assets/icons/MarketingIcon.js"),Kr=require("./assets/icons/maximize.svg.js"),Qr=require("./components/feature-announcements/MinorUpdatePopup.js"),Xr=require("./assets/icons/mobile_custom.svg.js"),jr=require("./assets/icons/more_vertical.svg.js"),$r=require("./assets/icons/NotesIcon.js"),Zr=require("./assets/icons/NudgesIcon.js"),Jr=require("./assets/icons/OnboardingLogo.js"),et=require("./assets/icons/openai.svg.js"),rt=require("./assets/icons/OrderTrackingIcon.js"),tt=require("./assets/icons/paperclip.svg.js"),ot=require("./assets/icons/percentage_icon.svg.js"),it=require("./assets/icons/phone.svg.js"),nt=require("./assets/icons/phone_round.svg.js"),at=require("./assets/icons/play.svg.js"),ut=require("./assets/icons/plus.svg.js"),ct=require("./assets/icons/PlusIcon.js"),st=require("./assets/icons/pointer.svg.js"),lt=require("./assets/icons/profile.svg.js"),dt=require("./components/ProgressChecklist/ProgressChecklist.js"),Tt=require("./assets/icons/qrb.svg.js"),pt=require("./assets/icons/question-mark.svg.js"),Ct=require("./assets/icons/quotes.svg.js"),At=require("./assets/icons/RCS_PDF.svg.js"),St=require("./assets/icons/redirect.svg.js"),qt=require("./assets/icons/RedirectToNew.svg.js"),It=require("./assets/icons/refresh.svg.js"),Et=require("./assets/icons/retry.svg.js"),ht=require("./assets/icons/retryIcon.svg.js"),Pt=require("./assets/icons/sad_emoji.svg.js"),_t=require("./assets/icons/search.svg.js"),Rt=require("./assets/icons/searchIcon.svg.js"),mt=require("./assets/icons/send.svg.js"),gt=require("./assets/icons/send_template.svg.js"),Ot=require("./assets/icons/shipping_icon.svg.js"),Bt=require("./assets/icons/ShoppingIcon.js"),ft=require("./assets/icons/similar.svg.js"),yt=require("./assets/icons/smile_emoji.svg.js"),Nt=require("./assets/icons/smiley_emoji.svg.js"),Dt=require("./assets/icons/sparkle.svg.js"),kt=require("./assets/icons/speedometer.svg.js"),Lt=require("./assets/icons/starEmpty.svg.js"),Mt=require("./assets/icons/starFilled.svg.js"),bt=require("./assets/icons/starFilledV2.svg.js"),Ft=require("./assets/icons/state_icon.svg.js"),wt=require("./assets/icons/StepsIcon.js"),Ut=require("./assets/icons/StoreIcon.js"),Vt=require("./assets/icons/strikeThrough.svg.js"),vt=require("./assets/icons/sub_category.svg.js"),Ht=require("./assets/icons/successIcon.svg.js"),Gt=require("./assets/icons/SupportIcon.js"),Wt=require("./assets/icons/sync.svg.js"),xt=require("./assets/icons/task.svg.js"),Yt=require("./assets/icons/text_t9.svg.js"),zt=require("./assets/icons/ThreeColumnsIcon.js"),Kt=require("./assets/icons/tick.svg.js"),Qt=require("./assets/icons/tick_double.svg.js"),Xt=require("./assets/icons/TrainingIcon.js"),jt=require("./assets/icons/triangle_error.svg.js"),$t=require("./assets/icons/undo.svg.js"),Zt=require("./assets/icons/union.svg.js"),Jt=require("./assets/icons/upload.svg.js"),eo=require("./assets/icons/user_icon.svg.js"),ro=require("./assets/icons/vertical_dots.svg.js"),to=require("./components/vertical-full-screen-modal/component.js"),oo=require("./assets/icons/video_camcorder.svg.js"),io=require("./assets/icons/videoRecorder.svg.js"),no=require("./assets/icons/warning.svg.js"),ao=require("./assets/icons/warningIcon.svg.js"),uo=require("./assets/icons/website.svg.js"),co=require("./assets/icons/whatsNew.svg.js"),so=require("./assets/icons/whatsapp-channel.svg.js"),lo=require("./assets/icons/whatsapp_color.svg.js"),To=require("./assets/icons/WhiteStarFilled.svg.js"),a=require("./components/template-preview/models/TemplateMeta.js"),r=require("./components/QueryBuilder/types/QueryBuilderOperator.type.js"),po=require("./components/agent-builder/constants/charLimits.js"),c=require("./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js"),Co=require("./components/bik-chatbot/components/AIChat.js"),L=require("./components/bik-chatbot/contexts/AIContext.js"),P=require("./components/WhatsAppTextEditor/ai/aiTag.js"),_=require("./components/alerts/AlertHelper.js"),Ao=require("./components/feature-announcements/constants/animations.js"),So=require("./utils/logging/ErrorConstructor/ApiError.js"),T=require("./components/avatar/AvatarHelper.js"),p=require("./components/avatar/Avatar.js"),qo=require("./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js"),Io=require("./components/action-button/ActionButtons.js"),Eo=require("./components/ai-modals/ActivateBikAI.js"),ho=require("./assets/icons/ActiveChecklistIcon.js"),Po=require("./components/add-variableV2/AddDataPill.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"),yo=require("./components/alerts/Alert.js"),No=require("./components/analytics-card/AnalyticsCard.js"),Do=require("./components/analytics-chips-and-dropdowns/AnalyticsChip.js"),M=require("./components/analytics-card/AnalyticsCard.styled.js"),R=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"),m=require("./components/template-preview/models/WhatsAppTemplate.js"),s=require("./components/whats-new/WhatsNew.styles.js"),g=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"),vo=require("./editor/toolbar/BikEditorToolbar.js"),Ho=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"),A=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"),S=require("./components/states/StateComponent.js"),ei=require("./components/buttonGroup/ButtonGroup.js"),ri=require("./components/template-preview/models/Channels.js"),O=require("./components/bik-chatbot/types/chat.js"),i=require("./components/discount-modal/type.js"),B=require("./components/curtain/CurtainHelper.js"),b=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"),F=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"),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/product-picker-v2/constants.js"),mi=require("./components/curtain/Curtain.js"),gi=require("./components/custom-date-time/CustomDateTime.js"),Oi=require("./utils/logging/ErrorConstructor/CustomError.js"),Bi=require("./editor/BikEditor.types.js"),w=require("./components/shimmer-image/ShimmerImage.js"),f=require("./components/bik-chatbot/types/ai.js"),n=require("./components/floating-action-button/FloatingActionButton.styles.js"),fi=require("./components/dashboard-review-popup/DashboardReviewPopUp.js"),yi=require("./components/data-source-panel/DataSourcePanel.js"),q=require("./components/postPicker/postPicker.js"),Ni=require("./components/datePicker/DatePicker.js"),Di=require("./components/datePicker/DatePickerWrapper.js"),ki=require("./components/states-modal/DeleteConfirmationModal.js"),Li=require("./components/discount-modal/DiscountModal.js"),Mi=require("./components/dot-pulse/DotPulse.js"),bi=require("./components/dropShadow/DropShadow.js"),Fi=require("./components/dropdown/Dropdown.js"),wi=require("./components/dropdown-button/DropdownButton.js"),Ui=require("./components/dropdown/DropdownPopover/index.js"),Vi=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"),Gi=require("./utils/logging/ErrorConstructor/ExcelUploadError.js"),Wi=require("./components/fab-menu/FABMenu.js"),xi=require("./components/bik-layout/FeatureModal.js"),Yi=require("./components/bik-layout/FeatureModalV2.js"),zi=require("./components/file-uploader/FileUploader.js"),Ki=require("./utils/logging/ErrorConstructor/FirebaseCallError.js"),Qi=require("./utils/logging/ErrorConstructor/FirebaseSubscriptionError.js"),Xi=require("./firebase/firebaseUserFetcher.js"),ji=require("./components/floater/floater.js"),$i=require("./components/floating-action-button/FloatingActionButton.js"),Zi=require("./components/floating-input-dropdown/FloatingInputDropdown.js"),Ji=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js"),en=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.model.js"),I=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js"),E=require("./request-executor/executor.js"),rn=require("./components/half-doughnut-chart/HalfDoughnutChart.js"),U=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js"),tn=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/HorizontalBar.js"),on=require("./components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js"),nn=require("./components/icon-button/IconButton.js"),an=require("./components/image-compress/ImageCompress.js"),un=require("./assets/icons/InactiveChecklistIcon.js"),cn=require("./components/input/Input.js"),sn=require("./components/input-with-vars/InputWithVariables.js"),ln=require("./components/keywords-input/KeywordsInput.js"),l=require("./firebase/lazyFirebaseApp.js"),dn=require("./components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js"),Tn=require("./components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js"),pn=require("./components/list-item/ListItem.js"),h=require("./components/switch/Switch.js"),Cn=require("./components/dropdown/MenuItem/MenuItem.js"),An=require("./components/multi-level-dropdown/MultiLevelDropdown.js"),V=require("./components/navigation-hyperlink/NavigationHyperlink.js"),Sn=require("./components/plans/NewSubscriptionPlan.js"),v=require("./components/product-picker-v2/type.js"),qn=require("./components/dropdown/OpenedDropdown/components/OpennedDropdown.js"),In=require("./components/feature-announcements/constants/dimensions.js"),En=require("./components/pagination/Pagination.js"),hn=require("./components/variable-picker-v3/model.js"),Pn=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js"),_n=require("./components/post-live-checklist/PostLiveChecklist.js"),Rn=require("./components/post-live-checklist-item/PostLiveChecklistItem.js"),H=require("./components/product-picker/ProductPickerModal.js"),mn=require("./components/product-picker-v2/modal.js"),gn=require("./assets/icons/ProgressBadgeIcon.js"),G=require("./components/progress-bar/ProgressBarComponent.js"),N=require("./components/progress-bar-v2/ProgressBarV2.js"),W=require("./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js"),x=require("./components/spinner/Spinner.js"),On=require("./components/QueryBuilder/QueryBuilder.js"),Bn=require("./components/QueryBuilder/types/QueryBuilderEnum.type.js"),Y=require("./components/thumbnail/Thumbnail.js"),fn=require("./components/radioButton/RadioButton.js"),yn=require("./components/radioList/RadioList.js"),Nn=require("./utils/logging/ErrorConstructor/RechargeFailure.js"),Dn=require("./assets/icons/Redirect2Icon.js"),kn=require("./components/agent-builder/constants/steps.js"),Ln=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.js"),Mn=require("./components/searchBar/searchBar.js"),bn=require("./assets/icons/searchIcon.js"),Fn=require("./components/states/ShopifyScopeWrapper.js"),wn=require("./components/bik-layout/ShowShopifyRestrictedModal.js"),Un=require("./components/side-modal/SideModal.js"),Vn=require("./components/bik-layout/SidebarSkeleton.js"),vn=require("./components/bik-layout/SimpleSidebar.js"),Hn=require("./assets/icons/SmallCheckIcon.js"),Gn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js"),Wn=require("./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.js"),xn=require("./components/star-rating/StarRating.js"),Yn=require("./components/states-modal/StateModalComponent.js"),zn=require("./components/stepper/Stepper.js"),Kn=require("./components/modals/styledModal.js"),Qn=require("./components/plans/SubscriptionPlan.js"),Xn=require("./components/plans/SubscriptionPlansCollected.js"),jn=require("./components/feature-announcements/constants/index.js"),z=require("./components/tabs/Tabs.js"),$n=require("./components/TablePagination/TablePagination.js"),K=require("./components/TablePagination/TablePaginationCard.js"),Zn=require("./components/tag/Tag.js"),Jn=require("./components/template-context-mapper/modalElements/TemplateAnalyticsSkeleton.js"),ea=require("./components/template-context-mapper/TemplateContextMapper.js"),ra=require("./components/template-preview/TemplatePreview.js"),ta=require("./components/testimonial-card/TestimonialCard.js"),oa=require("./components/text-picker/TextPickerModal.js"),ia=require("./components/datePicker/TimePicker.js"),na=require("./components/toaster/Toaster.js"),aa=require("./components/agent-builder/constants/tools.js"),ua=require("./components/tooltips/Tooltip.js"),t=require("./components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js"),ca=require("./components/template-preview/helpers/VariableEditorHelper.js"),sa=require("./components/variable-picker-v3/VariablePicker.js"),la=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js"),da=require("./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js"),Ta=require("./components/feature-announcements/VideoModal.js"),pa=require("./components/template-preview/helpers/WhatsAppFormatToHTML.js"),Ca=require("./components/WhatsAppTextEditor/WhatsAppTextEditor.js"),Aa=require("./components/whats-new/WhatsNew.js"),Sa=require("./components/whats-new/WhatsNewButton.js"),qa=require("./components/whats-new/WhatsNewPanel.js"),Q=require("./components/whats-new/WhatsNewProvider.js"),Ia=require("./utils/logging/ErrorConstructor/WhatsappIntegrationError.js"),Ea=require("./components/template-preview/WhatsApp/WhatsAppLikePreview.js"),ha=require("./components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js"),D=require("./components/agent-builder/utils/mentionSerialization.js"),Pa=require("./firebase/environment.js"),X=require("./components/template-context-mapper/utils/getDataFromTemplateComponent.js"),u=require("./firebase/lazyFirebaseMethods.js"),j=require("./editor/BikEditor.utils.js"),_a=require("./firebase/lazyFirestore.js"),Ra=require("./firebase/lazyFirestoreLite.js"),ma=require("./firebase/lazyStorage.js"),$=require("./components/template-context-mapper/utils/validateIsUrl.js"),ga=require("./components/QueryBuilder/redux/queryBuilderCache.reducer.js"),Oa=require("./components/QueryBuilder/redux/queryBuilder.reducer.js"),Ba=require("./components/template-preview/helpers/SmsTemplateHelper.js"),fa=require("./utils/resizeImage.js"),ya=require("./editor/serializers/toLiveChatText.js"),Na=require("./editor/serializers/toWhatsAppText.js"),Da=require("./components/dropdown/utils.js"),ka=require("./components/bik-chatbot/services/useAIChat.js"),La=require("./components/agent-builder/hooks/useAgentDraft.js"),Ma=require("./components/feature-announcements/hooks/useFeatureAnnouncements.js"),ba=require("./components/whats-new/useWhatsNew.js");exports.regexPatterns=Z;exports.StringUtils=J.default;exports.BASE_COLORS=d.BASE_COLORS;exports.COLORS=d.COLORS;exports.DEFAULT_THEME=d.DEFAULT_THEME;exports.FONTS=d.FONTS;exports.ComponentZindex=ee.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=re.SearchFilter;exports.ResizableImage=te.ResizableImage;exports.validateURL=oe.validateURL;exports.CustomPortal=ie.CustomPortal;exports.MultilevelDropdownPopover=ne.MultilevelDropdownPopover;exports.UnsatisfactoryResponseList=ae.UnsatisfactoryResponseList;exports.UnsatisfactoryCountIntentWiseModal=ue.UnsatisfactoryCountIntentWiseModal;exports.CustomDataCategories=k.CustomDataCategories;exports.CustomDataType=k.CustomDataType;exports.ActionButton=ce.default;exports.AdBanner=se.default;exports.AiContentIcon=le.default;exports.AiEdit=de.default;exports.AiEventGenerating=Te.default;exports.Alarm=pe.default;exports.AlertIcon=Ce.default;exports.AlertTriangle=Ae.default;exports.ArrowBack=Se.default;exports.ArrowDown=qe.default;exports.ArrowLeft=Ie.default;exports.ArrowUp=Ee.default;exports.BackIcon=he.default;exports.BikAiStarsIcon=Pe.default;exports.BikLivechat=_e.default;exports.BikLogo=Re.default;exports.Bold=me.default;exports.Box=ge.default;exports.BoxRound=Oe.default;exports.BoxSearch=Be.default;exports.BoxV2=fe.default;exports.BrandHome=ye.default;exports.BrokenMediaImage=Ne.default;exports.Calendar=De.default;exports.CardFooterArrow=ke.default;exports.ChartBar=Le.default;exports.ChartPie=Me.default;exports.Chat=be.default;exports.ChatChannel=Fe.default;exports.Check=we.default;exports.CheckCircle=Ue.default;exports.CheckSquareOffset=Ve.default;exports.ChecklistIcon=ve.default;exports.ChevronDown=He.default;exports.ChevronDownOutline=Ge.default;exports.ChevronLeft=We.default;exports.ChevronLeft2=xe.default;exports.ChevronRight=Ye.default;exports.ChevronRight2=ze.default;exports.ChevronRightAlt=Ke.default;exports.ChevronUpOutline=Qe.default;exports.CircularCrossIcon=Xe.default;exports.Click=je.default;exports.Clock=$e.default;exports.CopyCodeIcon=Ze.default;exports.Cross=Je.default;exports.CubeIcon=er.default;exports.Cursor=rr.default;exports.CustomiseIcon=tr.default;exports.Delete=or.default;exports.DesktopCustom=ir.default;exports.Docs=nr.default;exports.DocumentPdf=ar.default;exports.Doubt=ur.default;exports.DragHandle=cr.default;exports.Edit=sr.default;exports.EditLabel=lr.default;exports.EmailChannel=dr.default;exports.Emoji=Tr.default;exports.EnableIcon=pr.default;exports.ErrorIcon=Cr.default;exports.ErrorInfo=Ar.default;exports.ExpressionlessEmoji=Sr.default;exports.FacebookChannel=qr.default;exports.FeatureAnnouncementProvider=Ir.default;exports.File=Er.default;exports.FilePdf=hr.default;exports.GiftIcon=Pr.default;exports.Gmail=_r.default;exports.GoLiveIcon=Rr.default;exports.Graph=mr.default;exports.Grid=gr.default;exports.HalfRectangle=Or.default;exports.HeadsetIcon=Br.default;exports.Help=fr.default;exports.HelpIcon=yr.default;exports.Home=Nr.default;exports.HorizontalDots=Dr.default;exports.HoverHome=kr.default;exports.Idea=Lr.default;exports.Image=Mr.default;exports.Info=br.default;exports.Instagram=Fr.default;exports.InstagramChannel=wr.default;exports.Italic=Ur.default;exports.List=Vr.default;exports.ListChecksIcon=vr.default;exports.Locked=Hr.default;exports.LogOut=Gr.default;exports.LtoIcon=Wr.default;exports.MajorUpdatePopup=xr.default;exports.MarkdownRender=Yr.default;exports.MarketingIcon=zr.default;exports.Maximize=Kr.default;exports.MinorUpdatePopup=Qr.default;exports.MobileCustom=Xr.default;exports.MoreVertical=jr.default;exports.Notes=$r.default;exports.NudgesIcon=Zr.default;exports.OnboardingLogo=Jr.default;exports.OpenAI=et.default;exports.OrderTrackingIcon=rt.default;exports.Paperclip=tt.default;exports.PercentageIcon=ot.default;exports.Phone=it.default;exports.PhoneRound=nt.default;exports.Play=at.default;exports.Plus=ut.default;exports.PlusIcon=ct.default;exports.Pointer=st.default;exports.Profile=lt.default;exports.ProgressChecklist=dt.default;exports.Qrb=Tt.default;exports.QuestionMark=pt.default;exports.Quotes=Ct.default;exports.RCSPDF=At.default;exports.Redirect=St.default;exports.RedirectToNew=qt.default;exports.Refresh=It.default;exports.Retry=Et.default;exports.RetryIcon=ht.default;exports.SadEmoji=Pt.default;exports.Search=_t.default;exports.SearchIconSvg=Rt.default;exports.Send=mt.default;exports.SendTemplate=gt.default;exports.ShippingIcon=Ot.default;exports.ShoppingIcon=Bt.default;exports.Similar=ft.default;exports.SmileEmoji=yt.default;exports.SmileyEmoji=Nt.default;exports.Sparkle=Dt.default;exports.Speedometer=kt.default;exports.StarEmpty=Lt.default;exports.StarFilled=Mt.default;exports.StarFilledV2=bt.default;exports.StateIcon=Ft.default;exports.Steps=wt.default;exports.Store=Ut.default;exports.StrikeThrough=Vt.default;exports.SubCategory=vt.default;exports.SuccessIcon=Ht.default;exports.SupportIcon=Gt.default;exports.Sync=Wt.default;exports.Task=xt.default;exports.TextT9=Yt.default;exports.ThreeColumns=zt.default;exports.Tick=Kt.default;exports.TickDouble=Qt.default;exports.TrainingIcon=Xt.default;exports.TriangleError=jt.default;exports.Undo=$t.default;exports.Union=Zt.default;exports.Upload=Jt.default;exports.UserIcon=eo.default;exports.VerticalDots=ro.default;exports.VerticalFullScreenModal=to.default;exports.VideoCamcorder=oo.default;exports.VideoRecorder=io.default;exports.Warning=no.default;exports.WarningIcon=ao.default;exports.Website=uo.default;exports.WhatsNewIcon=co.default;exports.WhatsappChannel=so.default;exports.WhatsappColor=lo.default;exports.WhiteStarFilled=To.default;exports.ACTIONS_TYPES=a.ACTIONS_TYPES;exports.CUSTOM_URL_NAME=a.CUSTOM_URL_NAME;exports.HEADER_TYPES=a.HEADER_TYPES;exports.STATIC_URL_CTA_OPTION=a.STATIC_URL_CTA_OPTION;exports.TEMPLATE_EDITOR=a.TEMPLATE_EDITOR;exports.TEMPLATE_STATUS=a.TEMPLATE_STATUS;exports.UNSUBSCRIBE_URL_OPTION=a.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=po.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=Co.AIChat;exports.AIProvider=L.AIProvider;exports.useAIContext=L.useAIContext;exports.AI_TAG_CHANGE_RATIO_THRESHOLD=P.AI_TAG_CHANGE_RATIO_THRESHOLD;exports.computeAiTagOnAccept=P.computeAiTagOnAccept;exports.levenshteinDistance=P.levenshteinDistance;exports.ALERT_TYPES=_.ALERT_TYPES;exports.COLOR_CONFIG_MAP=_.COLOR_CONFIG_MAP;exports.CONTENT_POSITION=_.CONTENT_POSITION;exports.ANIMATION_TIMING=Ao.ANIMATION_TIMING;exports.APIError=So.APIError;exports.AVATAR_BACKGROUND=T.AVATAR_BACKGROUND;exports.AVATAR_SIZE_MAP=T.AVATAR_SIZE_MAP;exports.AVATAR_TYPES=T.AVATAR_TYPES;exports.SIZE=T.SIZE;exports.AVATAR_SIZE_VS_ICON_SIZE_MAP=p.AVATAR_SIZE_VS_ICON_SIZE_MAP;exports.Avatar=p.Avatar;exports.BACKGROUND_VS_TEXT_COLOR_MAP=p.BACKGROUND_VS_TEXT_COLOR_MAP;exports.MESSAGE_CHANNELS=p.MESSAGE_CHANNELS;exports.AccessTokenTroubleshootDialog=qo.AccessTokenTroubleshootDialog;exports.ActionButtons=Io.ActionButtons;exports.ActivateBikAi=Eo.ActivateBikAi;exports.ActiveChecklistIcon=ho.ActiveChecklistIcon;exports.AddDataPill=Po.AddDataPill;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=yo.Alert;exports.AnalyticsCard=No.AnalyticsCard;exports.AnalyticsChip=Do.AnalyticsChip;exports.AnalyticsContainer=M.AnalyticsContainer;exports.CardDataContainer=M.CardDataContainer;exports.AnalyticsDropdown=R.AnalyticsDropdown;exports.EachItem=R.EachItem;exports.formatDate=R.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=m.BUTTON_TYPE;exports.POD=m.POD;exports.TEMPLATE_QUALITY=m.TEMPLATE_QUALITY;exports.BackgroundImageContainer=s.BackgroundImageContainer;exports.MainCardContainer=s.MainCardContainer;exports.MainContainer=s.MainContainer;exports.WhatsNewIconContainer=s.WhatsNewIconContainer;exports.WhatsNewWrapper=s.WhatsNewWrapper;exports.BannerThirdPartyIcon=g.BannerThirdPartyIcon;exports.BannerType=g.BannerType;exports.getUrlForBannerThirdPartyIcon=g.getUrlForBannerThirdPartyIcon;exports.BaseQueryBuilderNode=Fo.BaseQueryBuilderNode;exports.BaseWhatsappContentLangHelper=wo.BaseWhatsappContentLangHelper;exports.BikAccordion=Uo.BikAccordion;exports.BikEditor=Vo.BikEditor;exports.BikEditorToolbar=vo.BikEditorToolbar;exports.BikGiftedChat=Ho.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=A.BottomWrapper;exports.HeaderWrapper=A.HeaderWrapper;exports.SubscriptionPlanSelector=A.SubscriptionPlanSelector;exports.defaultTabs=A.defaultTabs;exports.BroadcastFlowError=$o.BroadcastFlowError;exports.Bubble=Zo.Bubble;exports.Button=Jo.Button;exports.ButtonActions=S.ButtonActions;exports.ButtonTypes=S.ButtonTypes;exports.StateComponent=S.StateComponent;exports.StateInterface=S.StateInterface;exports.ButtonGroup=ei.ButtonGroup;exports.CHANNEL_TYPE=ri.CHANNEL_TYPE;exports.CHAT_MESSAGE_ROLES=O.CHAT_MESSAGE_ROLES;exports.DEFAULT_CONVERSATION_ID=O.DEFAULT_CONVERSATION_ID;exports.createSessionRecord=O.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=B.CURTAIN_COLOR_CONFIG_MAP;exports.CURTAIN_MODE=B.CURTAIN_MODE;exports.CURTAIN_TYPES=B.CURTAIN_TYPES;exports.Card=b.Card;exports.PieChartAnalytics=b.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=F.ChipDropdown;exports.ChipDropdownContainer=F.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=hi.CountryCodePicker;exports.CountryPicker=Pi.CountryPicker;exports.CouponExpiration=_i.CouponExpiration;exports.CurrencySymbols=Ri.CurrencySymbols;exports.Curtain=mi.Curtain;exports.CustomDateTime=gi.CustomDateTime;exports.CustomError=Oi.CustomError;exports.DEFAULT_ACTIVE_FORMATS=Bi.DEFAULT_FORMAT_STATE;exports.DEFAULT_IMAGE=w.DEFAULT_IMAGE;exports.ShimmerImage=w.ShimmerImage;exports.DEFAULT_MAX_TOOL_CALLS=f.DEFAULT_MAX_TOOL_CALLS;exports.DEFAULT_RESPONSE_FORMAT=f.DEFAULT_RESPONSE_FORMAT;exports.RESPONSE_FORMATS=f.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=fi.DashboardReviewPopUp;exports.DataSourcePanel=yi.DataSourcePanel;exports.DateKeys=q.DateKeys;exports.MEDIA_TYPES=q.MEDIA_TYPES;exports.PostPicker=q.PostPicker;exports.dateOptions=q.dateOptions;exports.DatePicker=Ni.DatePicker;exports.DatePickerWrapper=Di.DatePickerWrapper;exports.DeleteConfirmationModal=ki.DeleteConfirmationModal;exports.DiscountModal=Li.DiscountModal;exports.DotPulse=Mi.DotPulse;exports.DropShadow=bi.DropShadow;exports.Dropdown=Fi.Dropdown;exports.DropdownButton=wi.DropdownButton;exports.DropdownPopover=Ui.DropdownPopover;exports.DualIconButton=Vi.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=Gi.ExcelUploadError;exports.FABMenu=Wi.FABMenu;exports.FeatureModal=xi.FeatureModal;exports.FeatureModalV2=Yi.FeatureModalV2;exports.FileUploader=zi.FileUploader;exports.FirebaseCallError=Ki.FirebaseCallError;exports.FirebaseSubscriptionError=Qi.FirebaseSubscriptionError;exports.FirebaseUserFetcher=Xi.FirebaseUserFetcher;exports.Floater=ji.Floater;exports.FloatingActionButton=$i.FloatingActionButton;exports.FloatingInputDropdown=Zi.FloatingInputDropdown;exports.FunnelVerticalBarGraph=Ji.FunnelVerticalBarGraph;exports.GRAPH_ORIENTATION=en.GRAPH_ORIENTATION;exports.HEAT=I.HEAT;exports.HEAT_COLORS=I.HEAT_COLORS;exports.HEAT_GRADING_TYPE=I.HEAT_GRADING_TYPE;exports.HeatMap=I.HeatMap;exports.HTTPMethods=E.HTTPMethods;exports.HTTP_CODE=E.HTTP_CODE;exports.RequestExecutor=E.RequestExecutor;exports.TRANSACTION_ENABLED_STORE_IDS=E.TRANSACTION_ENABLED_STORE_IDS;exports.HalfDoughnutChart=rn.HalfDoughnutChart;exports.HeatBoxStyled=U.HeatBoxStyled;exports.HeatMapVertical=U.HeatMapVertical;exports.HorinzontalBar=tn.HorinzontalBar;exports.HorizontalGraph=on.HorizontalGraph;exports.IconButton=nn.IconButton;exports.ImageService=an.ImageService;exports.InactiveChecklistIcon=un.InactiveChecklistIcon;exports.Input=cn.Input;exports.InputWithVariables=sn.InputWithVariables;exports.KeywordsInput=ln.KeywordsInput;exports.LAZY_SECONDARY_APP_NAME=l.SECONDARY_APP_NAME;exports.getOrInitFirebaseChatApp=l.getOrInitFirebaseChatApp;exports.lazyChatConfig=l.chatConfig;exports.lazyStagingConfig=l.stagingConfig;exports.rnSecondaryAuth=l.rnSecondaryAuth;exports.LineChart=dn.LineChart;exports.LinearChipGroupedChart=Tn.LinearChipGroupedChart;exports.ListItem=pn.ListItem;exports.Loader=h.Loader;exports.Switch=h.Switch;exports.SwitchContainer=h.SwitchContainer;exports.Thumb=h.Thumb;exports.MenuItemDropdown=Cn.MenuItemDropdown;exports.MultiLevelDropdown=An.MultiLevelDropdown;exports.NaLinkWrapper=V.NaLinkWrapper;exports.NavigationHyperlink=V.NavigationHyperlink;exports.NewSubscriptionPlan=Sn.NewSubscriptionPlan;exports.OUT_OF_STOCK_ACTION=v.OUT_OF_STOCK_ACTION;exports.ScreenName=v.ScreenName;exports.OpenedDropdown=qn.OpenedDropdown;exports.POPUP_DIMENSIONS=In.POPUP_DIMENSIONS;exports.Pagination=En.Pagination;exports.PickerType=hn.PickerType;exports.PieChart=Pn.PieChart;exports.PostLiveChecklist=_n.PostLiveChecklist;exports.PostLiveChecklistItem=Rn.PostLiveChecklistItem;exports.PricePleaseProductPicker=H.PricePleaseProductPicker;exports.ProductPickerContent=H.ProductPickerContent;exports.ProductPickerModal=mn.ProductPickerModal;exports.ProgressBadgeIcon=gn.ProgressBadgeIcon;exports.ProgressBarComponent=G.ProgressBarComponent;exports.ProgressCompletedBar=G.ProgressCompletedBar;exports.ProgressBarType=N.ProgressBarType;exports.ProgressBarV2=N.ProgressBarV2;exports.TextAlignment=N.TextAlignment;exports.PropertyNode=W.PropertyNode;exports.PropertyNodeHeadless=W.PropertyNodeHeadless;exports.PureSpinner=x.PureSpinner;exports.Spinner=x.Spinner;exports.QueryBuilder=On.QueryBuilder;exports.QueryBuilderConnectorType=Bn.QueryBuilderConnectorType;exports.RATIO=Y.RATIO;exports.Thumbnail=Y.Thumbnail;exports.RadioButton=fn.RadioButton;exports.RadioList=yn.RadioList;exports.RechargeError=Nn.RechargeError;exports.Redirect2Icon=Dn.Redirect2Icon;exports.STEP_DEFINITIONS=kn.STEP_DEFINITIONS;exports.ScoreBlock=Ln.ScoreBlock;exports.SearchBar=Mn.SearchBar;exports.SearchIcon=bn.SearchIcon;exports.ShopifyScopeWrapper=Fn.ShopifyScopeWrapper;exports.ShowShopifyRestrictedModal=wn.ShowShopifyRestrictedModal;exports.SideModal=Un.SideModal;exports.SidebarSkeleton=Vn.SidebarSkeleton;exports.SimpleSidebar=vn.SimpleSidebar;exports.SmallCheckIcon=Hn.SmallCheckIcon;exports.StackedBarChart=Gn.StackedBarChart;exports.StackedBarDistributionChart=Wn.StackedBarDistributionChart;exports.StarRating=xn.StarRating;exports.StateModalComponent=Yn.StateModalComponent;exports.Stepper=zn.Stepper;exports.StyledModal=Kn.StyledModal;exports.SubscriptionPlan=Qn.SubscriptionPlan;exports.SubscriptionPlansCollected=Xn.SubscriptionPlansCollected;exports.TEXT=jn.TEXT;exports.TabItemComponent=z.TabItemComponent;exports.Tabs=z.Tabs;exports.TablePagination=$n.TablePagination;exports.TablePaginationCard=K.TablePaginationCard;exports.TablePaginationCardStyled=K.TablePaginationCardStyled;exports.Tag=Zn.Tag;exports.TemplateAnalyticsSkeleton=Jn.TemplateAnalyticsSkeleton;exports.TemplateContextMapper=ea.TemplateContextMapper;exports.TemplatePreview=ra.TemplatePreview;exports.TestimonialCard=ta.TestimonialCard;exports.TextPickerModal=oa.TextPickerModal;exports.TimePicker=ia.TimePicker;exports.Toaster=na.Toaster;exports.ToolSource=aa.ToolSource;exports.Tooltip=ua.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=ca.VariableEditorHelper;exports.VariablePicker=sa.VariablePicker;exports.VerticalBarAndLinearGraph=la.VerticalBarAndLinearGraph;exports.VerticalGraph=da.VerticalGraph;exports.VideoModal=Ta.VideoModal;exports.WhatsAppFormatToHTML=pa.WhatsAppFormatToHTML;exports.WhatsAppTextEditor=Ca.WhatsAppTextEditor;exports.WhatsNew=Aa.WhatsNew;exports.WhatsNewButton=Sa.WhatsNewButton;exports.WhatsNewPanel=qa.WhatsNewPanel;exports.WhatsNewProvider=Q.WhatsNewProvider;exports.useWhatsNewContext=Q.useWhatsNewContext;exports.WhatsappIntegrationError=Ia.WhatsappIntegrationError;exports.WhatsappLikePreview=Ea.WhatsappLikePreview;exports.WhatsappLikePreviewV2=ha.WhatsappLikePreviewV2;exports.buildAgentMentionItems=D.buildAgentMentionItems;exports.editorDocToInstructions=D.editorDocToInstructions;exports.instructionsToEditorHtml=D.instructionsToEditorHtml;exports.environment=Pa.environment;exports.getAllDataFromTemplateComponent=X.getAllDataFromTemplateComponent;exports.getAllDataFromWebpushTemplateComponent=X.getAllDataFromWebpushTemplateComponent;exports.getAuthMethods=u.getAuthMethods;exports.getFirestoreLiteMethods=u.getFirestoreLiteMethods;exports.getFirestoreMethods=u.getFirestoreMethods;exports.getFunctionsMethods=u.getFunctionsMethods;exports.getMessagingMethods=u.getMessagingMethods;exports.getStorageMethods=u.getStorageMethods;exports.getBodyHtml=j.getBodyHtml;exports.getSectionsHtml=j.getSectionsHtml;exports.getFireStoreDb=_a.getFireStoreDb;exports.getFireStoreLiteDb=Ra.getFireStoreLiteDb;exports.getFirebaseChatStorage=ma.getFirebaseChatStorage;exports.isVariable=$.isVariable;exports.validateIsUrl=$.validateIsUrl;exports.queryBuilderCacheSlice=ga.queryBuilderCacheSlice;exports.queryBuilderSlice=Oa.queryBuilderSlice;exports.renderVariableUIForPreview=Ba.renderVariableUIForPreview;exports.resizeImage=fa.resizeImage;exports.toLiveChatText=ya.toLiveChatText;exports.toWhatsAppText=Na.toWhatsAppText;exports.unwrapDropdownValue=Da.unwrapDropdownValue;exports.useAIChat=ka.useAIChat;exports.useAgentDraft=La.useAgentDraft;exports.useFeatureAnnouncements=Ma.useFeatureAnnouncements;exports.useWhatsNew=ba.useWhatsNew;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("./components/template-preview/constants/regexPatterns.js"),J=require("./utils/StringUtils.js"),d=require("./constants/Theme.js"),ee=require("./constants/zindex.js"),e=require("./components/TypographyStyle.js"),re=require("./components/SearchFilter/index.js"),te=require("./components/resizeImage/index.js"),oe=require("./utils/validator.js"),ie=require("./components/input-with-vars/customPortal.js"),ne=require("./components/dropdown/MultilevelDropdownPopover/index.js"),ae=require("./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js"),ue=require("./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js"),k=require("./components/data-source-panel/model.js"),ce=require("./assets/icons/actionButton.svg.js"),se=require("./components/adbanner/AdBanner.js"),le=require("./assets/icons/aiContentIcon.svg.js"),de=require("./assets/icons/AiEdit.svg.js"),Te=require("./assets/icons/Ai_event_generating.svg.js"),pe=require("./assets/icons/alarm.svg.js"),Ce=require("./assets/icons/alert.svg.js"),Ae=require("./assets/icons/alert_triangle.svg.js"),Se=require("./assets/icons/arrow_back.svg.js"),qe=require("./assets/icons/arrow_down.svg.js"),Ie=require("./assets/icons/arrow_left.svg.js"),Ee=require("./assets/icons/arrow_up.svg.js"),he=require("./assets/icons/back_icon.svg.js"),Pe=require("./assets/icons/bik_ai_stars_icon.svg.js"),_e=require("./assets/icons/bik_livechat.svg.js"),Re=require("./assets/icons/Bik_logo.svg.js"),me=require("./assets/icons/bold.svg.js"),ge=require("./assets/icons/box.svg.js"),Oe=require("./assets/icons/box_round.svg.js"),Be=require("./assets/icons/box_search.svg.js"),fe=require("./assets/icons/boxV2.svg.js"),ye=require("./assets/icons/brand_home.svg.js"),Ne=require("./assets/icons/broken_media_image.svg.js"),De=require("./assets/icons/calendar.svg.js"),ke=require("./assets/icons/card_footer_arraw.svg.js"),Le=require("./assets/icons/ChartBar.svg.js"),Me=require("./assets/icons/ChartPie.svg.js"),be=require("./assets/icons/chat.svg.js"),Fe=require("./assets/icons/chat-channel.svg.js"),we=require("./assets/icons/check.svg.js"),Ue=require("./assets/icons/checkCircle.svg.js"),Ve=require("./assets/icons/CheckSquareOffset.svg.js"),ve=require("./assets/icons/checklistIcon.svg.js"),He=require("./assets/icons/chevronDown.svg.js"),Ge=require("./assets/icons/chevronDownOutline.svg.js"),We=require("./assets/icons/chevronLeft.svg.js"),xe=require("./assets/icons/chevronLeft2.svg.js"),Ye=require("./assets/icons/chevronRight.svg.js"),ze=require("./assets/icons/chevronRight2.svg.js"),Ke=require("./assets/icons/chevronRightAlt.svg.js"),Qe=require("./assets/icons/chevronUpOutline.svg.js"),Xe=require("./assets/icons/circular-cross-icon.svg.js"),je=require("./assets/icons/click.svg.js"),$e=require("./assets/icons/clock.svg.js"),Ze=require("./assets/icons/copy-code-icon.svg.js"),Je=require("./assets/icons/cross.svg.js"),er=require("./assets/icons/cubeIcon.svg.js"),rr=require("./assets/icons/cursor.svg.js"),tr=require("./assets/icons/CustomiseIcon.js"),or=require("./assets/icons/delete.svg.js"),ir=require("./assets/icons/desktop_custom.svg.js"),nr=require("./assets/icons/DocsIcon.js"),ar=require("./assets/icons/document_pdf.svg.js"),ur=require("./assets/icons/DoubtIcon.js"),cr=require("./assets/icons/drag_handle.svg.js"),sr=require("./assets/icons/edit.svg.js"),lr=require("./assets/icons/EditLabel.js"),dr=require("./assets/icons/email-channel.svg.js"),Tr=require("./assets/icons/emoji.svg.js"),pr=require("./assets/icons/EnableIcon.js"),Cr=require("./assets/icons/errorIcon.svg.js"),Ar=require("./assets/icons/errorInfo.svg.js"),Sr=require("./assets/icons/expressionless_emoji.svg.js"),qr=require("./assets/icons/facebook_channel.svg.js"),Ir=require("./components/feature-announcements/FeatureAnnouncementProvider.js"),Er=require("./assets/icons/file.svg.js"),hr=require("./assets/icons/filePdf.svg.js"),Pr=require("./assets/icons/gift_icon.svg.js"),_r=require("./assets/icons/gmail.svg.js"),Rr=require("./assets/icons/GoLiveIcon.js"),mr=require("./assets/icons/graph.svg.js"),gr=require("./assets/icons/grid.svg.js"),Or=require("./assets/icons/halfRectangle.svg.js"),Br=require("./assets/icons/HeadsetIcon.js"),fr=require("./assets/icons/help.svg.js"),yr=require("./assets/icons/HelpIcon.svg.js"),Nr=require("./assets/icons/home.svg.js"),Dr=require("./assets/icons/horizontal_dots.svg.js"),kr=require("./assets/icons/hover_home.svg.js"),Lr=require("./assets/icons/Idea.svg.js"),Mr=require("./assets/icons/image.svg.js"),br=require("./assets/icons/info.svg.js"),Fr=require("./assets/icons/instagram.svg.js"),wr=require("./assets/icons/instagram-channel.svg.js"),Ur=require("./assets/icons/italic.svg.js"),Vr=require("./assets/icons/list.svg.js"),vr=require("./assets/icons/ListChecksIcon.js"),Hr=require("./assets/icons/locked.svg.js"),Gr=require("./assets/icons/log_out.svg.js"),Wr=require("./assets/icons/lto_icon.svg.js"),xr=require("./components/feature-announcements/MajorUpdatePopup.js"),Yr=require("./components/markdown/MarkdownRender.js"),zr=require("./assets/icons/MarketingIcon.js"),Kr=require("./assets/icons/maximize.svg.js"),Qr=require("./components/feature-announcements/MinorUpdatePopup.js"),Xr=require("./assets/icons/mobile_custom.svg.js"),jr=require("./assets/icons/more_vertical.svg.js"),$r=require("./assets/icons/NotesIcon.js"),Zr=require("./assets/icons/NudgesIcon.js"),Jr=require("./assets/icons/OnboardingLogo.js"),et=require("./assets/icons/openai.svg.js"),rt=require("./assets/icons/OrderTrackingIcon.js"),tt=require("./assets/icons/paperclip.svg.js"),ot=require("./assets/icons/percentage_icon.svg.js"),it=require("./assets/icons/phone.svg.js"),nt=require("./assets/icons/phone_round.svg.js"),at=require("./assets/icons/play.svg.js"),ut=require("./assets/icons/plus.svg.js"),ct=require("./assets/icons/PlusIcon.js"),st=require("./assets/icons/pointer.svg.js"),lt=require("./assets/icons/profile.svg.js"),dt=require("./components/ProgressChecklist/ProgressChecklist.js"),Tt=require("./assets/icons/qrb.svg.js"),pt=require("./assets/icons/question-mark.svg.js"),Ct=require("./assets/icons/quotes.svg.js"),At=require("./assets/icons/RCS_PDF.svg.js"),St=require("./assets/icons/redirect.svg.js"),qt=require("./assets/icons/RedirectToNew.svg.js"),It=require("./assets/icons/refresh.svg.js"),Et=require("./assets/icons/retry.svg.js"),ht=require("./assets/icons/retryIcon.svg.js"),Pt=require("./assets/icons/sad_emoji.svg.js"),_t=require("./assets/icons/search.svg.js"),Rt=require("./assets/icons/searchIcon.svg.js"),mt=require("./assets/icons/send.svg.js"),gt=require("./assets/icons/send_template.svg.js"),Ot=require("./assets/icons/shipping_icon.svg.js"),Bt=require("./assets/icons/ShoppingIcon.js"),ft=require("./assets/icons/similar.svg.js"),yt=require("./assets/icons/smile_emoji.svg.js"),Nt=require("./assets/icons/smiley_emoji.svg.js"),Dt=require("./assets/icons/sparkle.svg.js"),kt=require("./assets/icons/speedometer.svg.js"),Lt=require("./assets/icons/starEmpty.svg.js"),Mt=require("./assets/icons/starFilled.svg.js"),bt=require("./assets/icons/starFilledV2.svg.js"),Ft=require("./assets/icons/state_icon.svg.js"),wt=require("./assets/icons/StepsIcon.js"),Ut=require("./assets/icons/StoreIcon.js"),Vt=require("./assets/icons/strikeThrough.svg.js"),vt=require("./assets/icons/sub_category.svg.js"),Ht=require("./assets/icons/successIcon.svg.js"),Gt=require("./assets/icons/SupportIcon.js"),Wt=require("./assets/icons/sync.svg.js"),xt=require("./assets/icons/task.svg.js"),Yt=require("./assets/icons/text_t9.svg.js"),zt=require("./assets/icons/ThreeColumnsIcon.js"),Kt=require("./assets/icons/tick.svg.js"),Qt=require("./assets/icons/tick_double.svg.js"),Xt=require("./assets/icons/TrainingIcon.js"),jt=require("./assets/icons/triangle_error.svg.js"),$t=require("./assets/icons/undo.svg.js"),Zt=require("./assets/icons/union.svg.js"),Jt=require("./assets/icons/upload.svg.js"),eo=require("./assets/icons/user_icon.svg.js"),ro=require("./assets/icons/vertical_dots.svg.js"),to=require("./components/vertical-full-screen-modal/component.js"),oo=require("./assets/icons/video_camcorder.svg.js"),io=require("./assets/icons/videoRecorder.svg.js"),no=require("./assets/icons/warning.svg.js"),ao=require("./assets/icons/warningIcon.svg.js"),uo=require("./assets/icons/website.svg.js"),co=require("./assets/icons/whatsNew.svg.js"),so=require("./assets/icons/whatsapp-channel.svg.js"),lo=require("./assets/icons/whatsapp_color.svg.js"),To=require("./assets/icons/WhiteStarFilled.svg.js"),a=require("./components/template-preview/models/TemplateMeta.js"),r=require("./components/QueryBuilder/types/QueryBuilderOperator.type.js"),po=require("./components/agent-builder/constants/charLimits.js"),c=require("./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js"),Co=require("./components/bik-chatbot/components/AIChat.js"),L=require("./components/bik-chatbot/contexts/AIContext.js"),P=require("./components/WhatsAppTextEditor/ai/aiTag.js"),_=require("./components/alerts/AlertHelper.js"),Ao=require("./components/feature-announcements/constants/animations.js"),So=require("./utils/logging/ErrorConstructor/ApiError.js"),T=require("./components/avatar/AvatarHelper.js"),p=require("./components/avatar/Avatar.js"),qo=require("./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js"),Io=require("./components/action-button/ActionButtons.js"),Eo=require("./components/ai-modals/ActivateBikAI.js"),ho=require("./assets/icons/ActiveChecklistIcon.js"),Po=require("./components/add-variableV2/AddVariableV2.js"),_o=require("./components/add-variableV2/AddVariableV2SideModal.js"),Ro=require("./components/agent-builder/AgentBuilder.js"),mo=require("./components/agent-listing/AgentListing.js"),go=require("./components/ai-modals/AiCreditsExhausted.js"),Oo=require("./components/ai-modals/AiCreditsLow.js"),Bo=require("./components/ai-modals/AiSyncProgress.js"),fo=require("./components/alerts/Alert.js"),yo=require("./components/analytics-card/AnalyticsCard.js"),No=require("./components/analytics-chips-and-dropdowns/AnalyticsChip.js"),M=require("./components/analytics-card/AnalyticsCard.styled.js"),R=require("./components/analytics-chips-and-dropdowns/AnalyticsDropdown.js"),C=require("./components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js"),Do=require("./components/analytics-chips-and-dropdowns/AnalyticsMetric.js"),ko=require("./components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js"),Lo=require("./components/analytics-chips-and-dropdowns/AnalyticsTrend.js"),Mo=require("./components/bik-chatbot/components/BIKChatbot.js"),o=require("./components/markdown/utils.js"),m=require("./components/template-preview/models/WhatsAppTemplate.js"),s=require("./components/whats-new/WhatsNew.styles.js"),g=require("./components/adbanner/model.js"),bo=require("./components/QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js"),Fo=require("./helpers/BaseWhatsappContentLang.helper.js"),wo=require("./components/accordion/Accordion.js"),Uo=require("./editor/BikEditor.js"),Vo=require("./editor/toolbar/BikEditorToolbar.js"),vo=require("./components/BikGiftedChat/GiftedChat/GiftedChat.js"),Ho=require("./components/bik-layout/BikHeader.js"),Go=require("./components/image-cropper/BikImageCropper.js"),Wo=require("./components/image-cropper/BikImagePipeline/BikImagePipeline.js"),xo=require("./components/bik-layout/BikLayout.js"),Yo=require("./components/bik-layout/BikProfile.js"),zo=require("./components/shimmer/ShimmerComponent/BikShimmer.js"),Ko=require("./components/bik-layout/BikSidebar.js"),Qo=require("./components/bik-layout/BikSidebarV2/BikSidebarV2.js"),Xo=require("./components/slider/slider.js"),A=require("./components/plans/SubscriptionPlanSelector.js"),jo=require("./utils/logging/ErrorConstructor/BroadcastFlowError.js"),$o=require("./components/BikGiftedChat/Bubble/Bubble.js"),Zo=require("./components/button/Button.js"),S=require("./components/states/StateComponent.js"),Jo=require("./components/buttonGroup/ButtonGroup.js"),ei=require("./components/template-preview/models/Channels.js"),O=require("./components/bik-chatbot/types/chat.js"),i=require("./components/discount-modal/type.js"),B=require("./components/curtain/CurtainHelper.js"),b=require("./components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js"),ri=require("./components/card-selection-modal/CardSelectionModal.js"),ti=require("./components/card-selector/CardSelector.js"),oi=require("./components/card-selector/CardSelectorGroup.js"),ii=require("./components/carousel/carousel.js"),ni=require("./components/carousel-preview/CarouselPreview.js"),ai=require("./components/carousel-secondary/CarouselSecondary.js"),ui=require("./components/carousel-secondary/model.js"),ci=require("./components/checkBox/CheckBox.js"),si=require("./assets/icons/CheckIndicatorIcon.js"),li=require("./components/checkList/CheckList.js"),di=require("./components/analytics-chips-and-dropdowns/chart/scoreBlock/Chip.js"),F=require("./components/dropdown/ChipDropdown.js"),Ti=require("./components/code-block/CodeBlock.js"),pi=require("./components/code-block/types.js"),Ci=require("./utils/logging/ErrorConstructor/CohortError.js"),Ai=require("./components/colourInput/ColourInput.js"),Si=require("./assets/icons/CompletedChecklistIcon.js"),qi=require("./components/connected-app-dialog/ConnectedAppDialog.js"),Ii=require("./components/country-code-picker/CountryCodePicker.modal.js"),Ei=require("./components/country-code-picker/CountryCodePicker.js"),hi=require("./components/country-code-picker/CountryPicker.js"),Pi=require("./components/discount-modal/CouponExpiration/CouponExpiration.js"),_i=require("./components/product-picker-v2/constants.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"),w=require("./components/shimmer-image/ShimmerImage.js"),f=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"),q=require("./components/postPicker/postPicker.js"),yi=require("./components/datePicker/DatePicker.js"),Ni=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"),vi=require("./components/dynamic-tabs/DynamicTabs.js"),y=require("./utils/logging/Logger.js"),Hi=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"),I=require("./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js"),E=require("./request-executor/executor.js"),en=require("./components/half-doughnut-chart/HalfDoughnutChart.js"),U=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"),l=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"),V=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"),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"),H=require("./components/product-picker/ProductPickerModal.js"),Rn=require("./components/product-picker-v2/modal.js"),mn=require("./assets/icons/ProgressBadgeIcon.js"),G=require("./components/progress-bar/ProgressBarComponent.js"),N=require("./components/progress-bar-v2/ProgressBarV2.js"),W=require("./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js"),x=require("./components/spinner/Spinner.js"),gn=require("./components/QueryBuilder/QueryBuilder.js"),On=require("./components/QueryBuilder/types/QueryBuilderEnum.type.js"),Y=require("./components/thumbnail/Thumbnail.js"),Bn=require("./components/radioButton/RadioButton.js"),fn=require("./components/radioList/RadioList.js"),yn=require("./utils/logging/ErrorConstructor/RechargeFailure.js"),Nn=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"),vn=require("./assets/icons/SmallCheckIcon.js"),Hn=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"),z=require("./components/tabs/Tabs.js"),jn=require("./components/TablePagination/TablePagination.js"),K=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"),Ca=require("./components/whats-new/WhatsNew.js"),Aa=require("./components/whats-new/WhatsNewButton.js"),Sa=require("./components/whats-new/WhatsNewPanel.js"),Q=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"),D=require("./components/agent-builder/utils/mentionSerialization.js"),ha=require("./firebase/environment.js"),X=require("./components/template-context-mapper/utils/getDataFromTemplateComponent.js"),u=require("./firebase/lazyFirebaseMethods.js"),j=require("./editor/BikEditor.utils.js"),Pa=require("./firebase/lazyFirestore.js"),_a=require("./firebase/lazyFirestoreLite.js"),Ra=require("./firebase/lazyStorage.js"),$=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"),ya=require("./editor/serializers/toWhatsAppText.js"),Na=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=Z;exports.StringUtils=J.default;exports.BASE_COLORS=d.BASE_COLORS;exports.COLORS=d.COLORS;exports.DEFAULT_THEME=d.DEFAULT_THEME;exports.FONTS=d.FONTS;exports.ComponentZindex=ee.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=re.SearchFilter;exports.ResizableImage=te.ResizableImage;exports.validateURL=oe.validateURL;exports.CustomPortal=ie.CustomPortal;exports.MultilevelDropdownPopover=ne.MultilevelDropdownPopover;exports.UnsatisfactoryResponseList=ae.UnsatisfactoryResponseList;exports.UnsatisfactoryCountIntentWiseModal=ue.UnsatisfactoryCountIntentWiseModal;exports.CustomDataCategories=k.CustomDataCategories;exports.CustomDataType=k.CustomDataType;exports.ActionButton=ce.default;exports.AdBanner=se.default;exports.AiContentIcon=le.default;exports.AiEdit=de.default;exports.AiEventGenerating=Te.default;exports.Alarm=pe.default;exports.AlertIcon=Ce.default;exports.AlertTriangle=Ae.default;exports.ArrowBack=Se.default;exports.ArrowDown=qe.default;exports.ArrowLeft=Ie.default;exports.ArrowUp=Ee.default;exports.BackIcon=he.default;exports.BikAiStarsIcon=Pe.default;exports.BikLivechat=_e.default;exports.BikLogo=Re.default;exports.Bold=me.default;exports.Box=ge.default;exports.BoxRound=Oe.default;exports.BoxSearch=Be.default;exports.BoxV2=fe.default;exports.BrandHome=ye.default;exports.BrokenMediaImage=Ne.default;exports.Calendar=De.default;exports.CardFooterArrow=ke.default;exports.ChartBar=Le.default;exports.ChartPie=Me.default;exports.Chat=be.default;exports.ChatChannel=Fe.default;exports.Check=we.default;exports.CheckCircle=Ue.default;exports.CheckSquareOffset=Ve.default;exports.ChecklistIcon=ve.default;exports.ChevronDown=He.default;exports.ChevronDownOutline=Ge.default;exports.ChevronLeft=We.default;exports.ChevronLeft2=xe.default;exports.ChevronRight=Ye.default;exports.ChevronRight2=ze.default;exports.ChevronRightAlt=Ke.default;exports.ChevronUpOutline=Qe.default;exports.CircularCrossIcon=Xe.default;exports.Click=je.default;exports.Clock=$e.default;exports.CopyCodeIcon=Ze.default;exports.Cross=Je.default;exports.CubeIcon=er.default;exports.Cursor=rr.default;exports.CustomiseIcon=tr.default;exports.Delete=or.default;exports.DesktopCustom=ir.default;exports.Docs=nr.default;exports.DocumentPdf=ar.default;exports.Doubt=ur.default;exports.DragHandle=cr.default;exports.Edit=sr.default;exports.EditLabel=lr.default;exports.EmailChannel=dr.default;exports.Emoji=Tr.default;exports.EnableIcon=pr.default;exports.ErrorIcon=Cr.default;exports.ErrorInfo=Ar.default;exports.ExpressionlessEmoji=Sr.default;exports.FacebookChannel=qr.default;exports.FeatureAnnouncementProvider=Ir.default;exports.File=Er.default;exports.FilePdf=hr.default;exports.GiftIcon=Pr.default;exports.Gmail=_r.default;exports.GoLiveIcon=Rr.default;exports.Graph=mr.default;exports.Grid=gr.default;exports.HalfRectangle=Or.default;exports.HeadsetIcon=Br.default;exports.Help=fr.default;exports.HelpIcon=yr.default;exports.Home=Nr.default;exports.HorizontalDots=Dr.default;exports.HoverHome=kr.default;exports.Idea=Lr.default;exports.Image=Mr.default;exports.Info=br.default;exports.Instagram=Fr.default;exports.InstagramChannel=wr.default;exports.Italic=Ur.default;exports.List=Vr.default;exports.ListChecksIcon=vr.default;exports.Locked=Hr.default;exports.LogOut=Gr.default;exports.LtoIcon=Wr.default;exports.MajorUpdatePopup=xr.default;exports.MarkdownRender=Yr.default;exports.MarketingIcon=zr.default;exports.Maximize=Kr.default;exports.MinorUpdatePopup=Qr.default;exports.MobileCustom=Xr.default;exports.MoreVertical=jr.default;exports.Notes=$r.default;exports.NudgesIcon=Zr.default;exports.OnboardingLogo=Jr.default;exports.OpenAI=et.default;exports.OrderTrackingIcon=rt.default;exports.Paperclip=tt.default;exports.PercentageIcon=ot.default;exports.Phone=it.default;exports.PhoneRound=nt.default;exports.Play=at.default;exports.Plus=ut.default;exports.PlusIcon=ct.default;exports.Pointer=st.default;exports.Profile=lt.default;exports.ProgressChecklist=dt.default;exports.Qrb=Tt.default;exports.QuestionMark=pt.default;exports.Quotes=Ct.default;exports.RCSPDF=At.default;exports.Redirect=St.default;exports.RedirectToNew=qt.default;exports.Refresh=It.default;exports.Retry=Et.default;exports.RetryIcon=ht.default;exports.SadEmoji=Pt.default;exports.Search=_t.default;exports.SearchIconSvg=Rt.default;exports.Send=mt.default;exports.SendTemplate=gt.default;exports.ShippingIcon=Ot.default;exports.ShoppingIcon=Bt.default;exports.Similar=ft.default;exports.SmileEmoji=yt.default;exports.SmileyEmoji=Nt.default;exports.Sparkle=Dt.default;exports.Speedometer=kt.default;exports.StarEmpty=Lt.default;exports.StarFilled=Mt.default;exports.StarFilledV2=bt.default;exports.StateIcon=Ft.default;exports.Steps=wt.default;exports.Store=Ut.default;exports.StrikeThrough=Vt.default;exports.SubCategory=vt.default;exports.SuccessIcon=Ht.default;exports.SupportIcon=Gt.default;exports.Sync=Wt.default;exports.Task=xt.default;exports.TextT9=Yt.default;exports.ThreeColumns=zt.default;exports.Tick=Kt.default;exports.TickDouble=Qt.default;exports.TrainingIcon=Xt.default;exports.TriangleError=jt.default;exports.Undo=$t.default;exports.Union=Zt.default;exports.Upload=Jt.default;exports.UserIcon=eo.default;exports.VerticalDots=ro.default;exports.VerticalFullScreenModal=to.default;exports.VideoCamcorder=oo.default;exports.VideoRecorder=io.default;exports.Warning=no.default;exports.WarningIcon=ao.default;exports.Website=uo.default;exports.WhatsNewIcon=co.default;exports.WhatsappChannel=so.default;exports.WhatsappColor=lo.default;exports.WhiteStarFilled=To.default;exports.ACTIONS_TYPES=a.ACTIONS_TYPES;exports.CUSTOM_URL_NAME=a.CUSTOM_URL_NAME;exports.HEADER_TYPES=a.HEADER_TYPES;exports.STATIC_URL_CTA_OPTION=a.STATIC_URL_CTA_OPTION;exports.TEMPLATE_EDITOR=a.TEMPLATE_EDITOR;exports.TEMPLATE_STATUS=a.TEMPLATE_STATUS;exports.UNSUBSCRIBE_URL_OPTION=a.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=po.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=Co.AIChat;exports.AIProvider=L.AIProvider;exports.useAIContext=L.useAIContext;exports.AI_TAG_CHANGE_RATIO_THRESHOLD=P.AI_TAG_CHANGE_RATIO_THRESHOLD;exports.computeAiTagOnAccept=P.computeAiTagOnAccept;exports.levenshteinDistance=P.levenshteinDistance;exports.ALERT_TYPES=_.ALERT_TYPES;exports.COLOR_CONFIG_MAP=_.COLOR_CONFIG_MAP;exports.CONTENT_POSITION=_.CONTENT_POSITION;exports.ANIMATION_TIMING=Ao.ANIMATION_TIMING;exports.APIError=So.APIError;exports.AVATAR_BACKGROUND=T.AVATAR_BACKGROUND;exports.AVATAR_SIZE_MAP=T.AVATAR_SIZE_MAP;exports.AVATAR_TYPES=T.AVATAR_TYPES;exports.SIZE=T.SIZE;exports.AVATAR_SIZE_VS_ICON_SIZE_MAP=p.AVATAR_SIZE_VS_ICON_SIZE_MAP;exports.Avatar=p.Avatar;exports.BACKGROUND_VS_TEXT_COLOR_MAP=p.BACKGROUND_VS_TEXT_COLOR_MAP;exports.MESSAGE_CHANNELS=p.MESSAGE_CHANNELS;exports.AccessTokenTroubleshootDialog=qo.AccessTokenTroubleshootDialog;exports.ActionButtons=Io.ActionButtons;exports.ActivateBikAi=Eo.ActivateBikAi;exports.ActiveChecklistIcon=ho.ActiveChecklistIcon;exports.AddVariableV2=Po.AddVariableV2;exports.AddVariableV2SideModal=_o.AddVariableV2SideModal;exports.AgentBuilder=Ro.AgentBuilder;exports.AgentListing=mo.AgentListing;exports.AiCreditsExhausted=go.AiCreditsExhausted;exports.AiCreditsLow=Oo.AiCreditsLow;exports.AiSyncProgress=Bo.AiSyncProgress;exports.Alert=fo.Alert;exports.AnalyticsCard=yo.AnalyticsCard;exports.AnalyticsChip=No.AnalyticsChip;exports.AnalyticsContainer=M.AnalyticsContainer;exports.CardDataContainer=M.CardDataContainer;exports.AnalyticsDropdown=R.AnalyticsDropdown;exports.EachItem=R.EachItem;exports.formatDate=R.formatDate;exports.AnalyticsItem=C.AnalyticsItem;exports.QualityTimelineChart=C.QualityTimelineChart;exports.RightPanelTemplateAnalytics=C.RightPanelTemplateAnalytics;exports.TemplateAnalyticsComponent=C.TemplateAnalyticsComponent;exports.AnalyticsMetric=Do.AnalyticsMetric;exports.AnalyticsMultiChip=ko.AnalyticsMultiChip;exports.AnalyticsTrend=Lo.AnalyticsTrend;exports.BIKChatbot=Mo.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=m.BUTTON_TYPE;exports.POD=m.POD;exports.TEMPLATE_QUALITY=m.TEMPLATE_QUALITY;exports.BackgroundImageContainer=s.BackgroundImageContainer;exports.MainCardContainer=s.MainCardContainer;exports.MainContainer=s.MainContainer;exports.WhatsNewIconContainer=s.WhatsNewIconContainer;exports.WhatsNewWrapper=s.WhatsNewWrapper;exports.BannerThirdPartyIcon=g.BannerThirdPartyIcon;exports.BannerType=g.BannerType;exports.getUrlForBannerThirdPartyIcon=g.getUrlForBannerThirdPartyIcon;exports.BaseQueryBuilderNode=bo.BaseQueryBuilderNode;exports.BaseWhatsappContentLangHelper=Fo.BaseWhatsappContentLangHelper;exports.BikAccordion=wo.BikAccordion;exports.BikEditor=Uo.BikEditor;exports.BikEditorToolbar=Vo.BikEditorToolbar;exports.BikGiftedChat=vo.default;exports.BikHeader=Ho.BikHeader;exports.BikImageCropper=Go.BikImageCropper;exports.BikImagePipeline=Wo.BikImagePipeline;exports.BikLayout=xo.BikLayout;exports.BikProfile=Yo.BikProfile;exports.BikShimmer=zo.BikShimmer;exports.BikSidebar=Ko.BikSidebar;exports.BikSidebarV2=Qo.BikSidebarV2;exports.BikSlider=Xo.BikSlider;exports.BottomWrapper=A.BottomWrapper;exports.HeaderWrapper=A.HeaderWrapper;exports.SubscriptionPlanSelector=A.SubscriptionPlanSelector;exports.defaultTabs=A.defaultTabs;exports.BroadcastFlowError=jo.BroadcastFlowError;exports.Bubble=$o.Bubble;exports.Button=Zo.Button;exports.ButtonActions=S.ButtonActions;exports.ButtonTypes=S.ButtonTypes;exports.StateComponent=S.StateComponent;exports.StateInterface=S.StateInterface;exports.ButtonGroup=Jo.ButtonGroup;exports.CHANNEL_TYPE=ei.CHANNEL_TYPE;exports.CHAT_MESSAGE_ROLES=O.CHAT_MESSAGE_ROLES;exports.DEFAULT_CONVERSATION_ID=O.DEFAULT_CONVERSATION_ID;exports.createSessionRecord=O.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=B.CURTAIN_COLOR_CONFIG_MAP;exports.CURTAIN_MODE=B.CURTAIN_MODE;exports.CURTAIN_TYPES=B.CURTAIN_TYPES;exports.Card=b.Card;exports.PieChartAnalytics=b.PieChartAnalytics;exports.CardSelectionModal=ri.CardSelectionModal;exports.CardSelector=ti.CardSelector;exports.CardSelectorGroup=oi.CardSelectorGroup;exports.Carousel=ii.Carousel;exports.CarouselPreview=ni.CarouselPreview;exports.CarouselSecondary=ai.CarouselSecondary;exports.CarouselVersion=ui.CarouselVersion;exports.CheckBox=ci.CheckBox;exports.CheckIndicatorIcon=si.CheckIndicatorIcon;exports.CheckList=li.CheckList;exports.Chip=di.Chip;exports.ChipDropdown=F.ChipDropdown;exports.ChipDropdownContainer=F.ChipDropdownContainer;exports.CodeBlock=Ti.CodeBlock;exports.CodeLanguage=pi.CodeLanguage;exports.CohortError=Ci.CohortError;exports.ColourInput=Ai.ColourInput;exports.CompletedChecklistIcon=Si.CompletedChecklistIcon;exports.ConnectedAppDialog=qi.ConnectedAppDialog;exports.CountriesData=Ii.CountriesData;exports.CountryCodePicker=Ei.CountryCodePicker;exports.CountryPicker=hi.CountryPicker;exports.CouponExpiration=Pi.CouponExpiration;exports.CurrencySymbols=_i.CurrencySymbols;exports.Curtain=Ri.Curtain;exports.CustomDateTime=mi.CustomDateTime;exports.CustomError=gi.CustomError;exports.DEFAULT_ACTIVE_FORMATS=Oi.DEFAULT_FORMAT_STATE;exports.DEFAULT_IMAGE=w.DEFAULT_IMAGE;exports.ShimmerImage=w.ShimmerImage;exports.DEFAULT_MAX_TOOL_CALLS=f.DEFAULT_MAX_TOOL_CALLS;exports.DEFAULT_RESPONSE_FORMAT=f.DEFAULT_RESPONSE_FORMAT;exports.RESPONSE_FORMATS=f.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=q.DateKeys;exports.MEDIA_TYPES=q.MEDIA_TYPES;exports.PostPicker=q.PostPicker;exports.dateOptions=q.dateOptions;exports.DatePicker=yi.DatePicker;exports.DatePickerWrapper=Ni.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=vi.DynamicTabs;exports.ERROR_TYPES=y.ERROR_TYPES;exports.ERROR_TYPE_CLASS_MAP=y.ERROR_TYPE_CLASS_MAP;exports.Logger=y.Logger;exports.ExcelUploadError=Hi.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=I.HEAT;exports.HEAT_COLORS=I.HEAT_COLORS;exports.HEAT_GRADING_TYPE=I.HEAT_GRADING_TYPE;exports.HeatMap=I.HeatMap;exports.HTTPMethods=E.HTTPMethods;exports.HTTP_CODE=E.HTTP_CODE;exports.RequestExecutor=E.RequestExecutor;exports.TRANSACTION_ENABLED_STORE_IDS=E.TRANSACTION_ENABLED_STORE_IDS;exports.HalfDoughnutChart=en.HalfDoughnutChart;exports.HeatBoxStyled=U.HeatBoxStyled;exports.HeatMapVertical=U.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=l.SECONDARY_APP_NAME;exports.getOrInitFirebaseChatApp=l.getOrInitFirebaseChatApp;exports.lazyChatConfig=l.chatConfig;exports.lazyStagingConfig=l.stagingConfig;exports.rnSecondaryAuth=l.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=V.NaLinkWrapper;exports.NavigationHyperlink=V.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=hn.PieChart;exports.PostLiveChecklist=Pn.PostLiveChecklist;exports.PostLiveChecklistItem=_n.PostLiveChecklistItem;exports.PricePleaseProductPicker=H.PricePleaseProductPicker;exports.ProductPickerContent=H.ProductPickerContent;exports.ProductPickerModal=Rn.ProductPickerModal;exports.ProgressBadgeIcon=mn.ProgressBadgeIcon;exports.ProgressBarComponent=G.ProgressBarComponent;exports.ProgressCompletedBar=G.ProgressCompletedBar;exports.ProgressBarType=N.ProgressBarType;exports.ProgressBarV2=N.ProgressBarV2;exports.TextAlignment=N.TextAlignment;exports.PropertyNode=W.PropertyNode;exports.PropertyNodeHeadless=W.PropertyNodeHeadless;exports.PureSpinner=x.PureSpinner;exports.Spinner=x.Spinner;exports.QueryBuilder=gn.QueryBuilder;exports.QueryBuilderConnectorType=On.QueryBuilderConnectorType;exports.RATIO=Y.RATIO;exports.Thumbnail=Y.Thumbnail;exports.RadioButton=Bn.RadioButton;exports.RadioList=fn.RadioList;exports.RechargeError=yn.RechargeError;exports.Redirect2Icon=Nn.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=vn.SmallCheckIcon;exports.StackedBarChart=Hn.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=z.TabItemComponent;exports.Tabs=z.Tabs;exports.TablePagination=jn.TablePagination;exports.TablePaginationCard=K.TablePaginationCard;exports.TablePaginationCardStyled=K.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=Ca.WhatsNew;exports.WhatsNewButton=Aa.WhatsNewButton;exports.WhatsNewPanel=Sa.WhatsNewPanel;exports.WhatsNewProvider=Q.WhatsNewProvider;exports.useWhatsNewContext=Q.useWhatsNewContext;exports.WhatsappIntegrationError=qa.WhatsappIntegrationError;exports.WhatsappLikePreview=Ia.WhatsappLikePreview;exports.WhatsappLikePreviewV2=Ea.WhatsappLikePreviewV2;exports.buildAgentMentionItems=D.buildAgentMentionItems;exports.editorDocToInstructions=D.editorDocToInstructions;exports.instructionsToEditorHtml=D.instructionsToEditorHtml;exports.environment=ha.environment;exports.getAllDataFromTemplateComponent=X.getAllDataFromTemplateComponent;exports.getAllDataFromWebpushTemplateComponent=X.getAllDataFromWebpushTemplateComponent;exports.getAuthMethods=u.getAuthMethods;exports.getFirestoreLiteMethods=u.getFirestoreLiteMethods;exports.getFirestoreMethods=u.getFirestoreMethods;exports.getFunctionsMethods=u.getFunctionsMethods;exports.getMessagingMethods=u.getMessagingMethods;exports.getStorageMethods=u.getStorageMethods;exports.getBodyHtml=j.getBodyHtml;exports.getSectionsHtml=j.getSectionsHtml;exports.getFireStoreDb=Pa.getFireStoreDb;exports.getFireStoreLiteDb=_a.getFireStoreLiteDb;exports.getFirebaseChatStorage=Ra.getFirebaseChatStorage;exports.isVariable=$.isVariable;exports.validateIsUrl=$.validateIsUrl;exports.queryBuilderCacheSlice=ma.queryBuilderCacheSlice;exports.queryBuilderSlice=ga.queryBuilderSlice;exports.renderVariableUIForPreview=Oa.renderVariableUIForPreview;exports.resizeImage=Ba.resizeImage;exports.toLiveChatText=fa.toLiveChatText;exports.toWhatsAppText=ya.toWhatsAppText;exports.unwrapDropdownValue=Na.unwrapDropdownValue;exports.useAIChat=Da.useAIChat;exports.useAgentDraft=ka.useAgentDraft;exports.useFeatureAnnouncements=La.useFeatureAnnouncements;exports.useWhatsNew=Ma.useWhatsNew;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
- export * from './AddDataPill';
2
1
  export * from './AddVariableV2SideModal';
3
2
  export * from './AddVariableV2';