@fluentui-copilot/react-chat-input-plugins 0.4.10-hotfix.1 → 0.4.10-hotfix.2

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 (108) hide show
  1. package/CHANGELOG.json +4 -4
  2. package/CHANGELOG.md +5 -5
  3. package/lib/BasicFunctionality.js +1 -0
  4. package/lib/ChatInputEntity.js +1 -0
  5. package/lib/ChatInputToken.js +1 -0
  6. package/lib/GhostText.js +1 -0
  7. package/lib/ImperativeControl.js +1 -0
  8. package/lib/PasteUnfurling.js +1 -0
  9. package/lib/components/ChatInputEntity/ChatInputEntity.js +5 -4
  10. package/lib/components/ChatInputEntity/ChatInputEntity.types.js +3 -2
  11. package/lib/components/ChatInputEntity/index.js +1 -0
  12. package/lib/components/ChatInputEntity/renderChatInputEntity.js +8 -9
  13. package/lib/components/ChatInputEntity/useChatInputEntity.js +44 -40
  14. package/lib/components/ChatInputEntity/useChatInputEntityStyles.styles.raw.js +35 -31
  15. package/lib/components/ChatInputToken/ChatInputToken.js +5 -4
  16. package/lib/components/ChatInputToken/ChatInputToken.node.js +50 -49
  17. package/lib/components/ChatInputToken/ChatInputToken.types.js +2 -1
  18. package/lib/components/ChatInputToken/index.js +1 -0
  19. package/lib/components/ChatInputToken/renderChatInputToken.js +6 -4
  20. package/lib/components/ChatInputToken/useChatInputToken.js +14 -12
  21. package/lib/components/ChatInputToken/useChatInputTokenStyles.styles.raw.js +19 -15
  22. package/lib/components/GhostText/GhostText.js +5 -4
  23. package/lib/components/GhostText/GhostText.types.js +3 -2
  24. package/lib/components/GhostText/index.js +1 -0
  25. package/lib/components/GhostText/renderGhostText.js +8 -9
  26. package/lib/components/GhostText/useGhostText.js +39 -36
  27. package/lib/components/GhostText/useGhostTextStyles.styles.raw.js +29 -25
  28. package/lib/index.js +1 -0
  29. package/lib/plugins/BasicFunctionality/BasicFunctionality.js +53 -67
  30. package/lib/plugins/BasicFunctionality/index.js +1 -0
  31. package/lib/plugins/ChatInputEntity/ChatInputEntity.node.js +68 -67
  32. package/lib/plugins/ChatInputEntity/ChatInputEntityPlugin.js +38 -37
  33. package/lib/plugins/ChatInputEntity/ChatInputEntityPlugin.types.js +2 -1
  34. package/lib/plugins/ChatInputEntity/index.js +1 -0
  35. package/lib/plugins/GhostText/GhostText.js +37 -43
  36. package/lib/plugins/GhostText/GhostText.node.js +57 -56
  37. package/lib/plugins/GhostText/index.js +1 -0
  38. package/lib/plugins/ImperativeControl/ImperativeControl.js +5 -6
  39. package/lib/plugins/ImperativeControl/index.js +1 -0
  40. package/lib/plugins/ManualGhostText/ManualGhostText.js +8 -8
  41. package/lib/plugins/ManualGhostText/index.js +1 -0
  42. package/lib/plugins/PasteUnfurling/PasteUnfurling.js +14 -14
  43. package/lib/plugins/PasteUnfurling/index.js +1 -0
  44. package/lib-commonjs/BasicFunctionality.js +1 -0
  45. package/lib-commonjs/ChatInputEntity.js +1 -0
  46. package/lib-commonjs/ChatInputToken.js +1 -0
  47. package/lib-commonjs/GhostText.js +1 -0
  48. package/lib-commonjs/ImperativeControl.js +1 -0
  49. package/lib-commonjs/PasteUnfurling.js +1 -0
  50. package/lib-commonjs/components/ChatInputEntity/ChatInputEntity.js +1 -1
  51. package/lib-commonjs/components/ChatInputEntity/ChatInputEntity.js.map +1 -1
  52. package/lib-commonjs/components/ChatInputEntity/ChatInputEntity.types.js +1 -0
  53. package/lib-commonjs/components/ChatInputEntity/ChatInputEntity.types.js.map +1 -1
  54. package/lib-commonjs/components/ChatInputEntity/index.js +1 -0
  55. package/lib-commonjs/components/ChatInputEntity/renderChatInputEntity.js +1 -1
  56. package/lib-commonjs/components/ChatInputEntity/renderChatInputEntity.js.map +1 -1
  57. package/lib-commonjs/components/ChatInputEntity/useChatInputEntity.js +1 -1
  58. package/lib-commonjs/components/ChatInputEntity/useChatInputEntity.js.map +1 -1
  59. package/lib-commonjs/components/ChatInputEntity/useChatInputEntityStyles.styles.raw.js +1 -1
  60. package/lib-commonjs/components/ChatInputEntity/useChatInputEntityStyles.styles.raw.js.map +1 -1
  61. package/lib-commonjs/components/ChatInputToken/ChatInputToken.js +1 -1
  62. package/lib-commonjs/components/ChatInputToken/ChatInputToken.js.map +1 -1
  63. package/lib-commonjs/components/ChatInputToken/ChatInputToken.node.js +1 -1
  64. package/lib-commonjs/components/ChatInputToken/ChatInputToken.node.js.map +1 -1
  65. package/lib-commonjs/components/ChatInputToken/ChatInputToken.types.js +1 -0
  66. package/lib-commonjs/components/ChatInputToken/index.js +1 -0
  67. package/lib-commonjs/components/ChatInputToken/renderChatInputToken.js +1 -1
  68. package/lib-commonjs/components/ChatInputToken/renderChatInputToken.js.map +1 -1
  69. package/lib-commonjs/components/ChatInputToken/useChatInputToken.js +1 -1
  70. package/lib-commonjs/components/ChatInputToken/useChatInputToken.js.map +1 -1
  71. package/lib-commonjs/components/ChatInputToken/useChatInputTokenStyles.styles.raw.js +1 -1
  72. package/lib-commonjs/components/ChatInputToken/useChatInputTokenStyles.styles.raw.js.map +1 -1
  73. package/lib-commonjs/components/GhostText/GhostText.js +1 -1
  74. package/lib-commonjs/components/GhostText/GhostText.js.map +1 -1
  75. package/lib-commonjs/components/GhostText/GhostText.types.js +1 -0
  76. package/lib-commonjs/components/GhostText/GhostText.types.js.map +1 -1
  77. package/lib-commonjs/components/GhostText/index.js +1 -0
  78. package/lib-commonjs/components/GhostText/renderGhostText.js +1 -1
  79. package/lib-commonjs/components/GhostText/renderGhostText.js.map +1 -1
  80. package/lib-commonjs/components/GhostText/useGhostText.js +1 -1
  81. package/lib-commonjs/components/GhostText/useGhostText.js.map +1 -1
  82. package/lib-commonjs/components/GhostText/useGhostTextStyles.styles.raw.js +1 -1
  83. package/lib-commonjs/components/GhostText/useGhostTextStyles.styles.raw.js.map +1 -1
  84. package/lib-commonjs/index.js +1 -0
  85. package/lib-commonjs/plugins/BasicFunctionality/BasicFunctionality.js +1 -1
  86. package/lib-commonjs/plugins/BasicFunctionality/BasicFunctionality.js.map +1 -1
  87. package/lib-commonjs/plugins/BasicFunctionality/index.js +1 -0
  88. package/lib-commonjs/plugins/ChatInputEntity/ChatInputEntity.node.js +1 -1
  89. package/lib-commonjs/plugins/ChatInputEntity/ChatInputEntity.node.js.map +1 -1
  90. package/lib-commonjs/plugins/ChatInputEntity/ChatInputEntityPlugin.js +1 -1
  91. package/lib-commonjs/plugins/ChatInputEntity/ChatInputEntityPlugin.js.map +1 -1
  92. package/lib-commonjs/plugins/ChatInputEntity/ChatInputEntityPlugin.types.js +1 -0
  93. package/lib-commonjs/plugins/ChatInputEntity/index.js +1 -0
  94. package/lib-commonjs/plugins/GhostText/GhostText.js +3 -2
  95. package/lib-commonjs/plugins/GhostText/GhostText.js.map +1 -1
  96. package/lib-commonjs/plugins/GhostText/GhostText.node.js +1 -1
  97. package/lib-commonjs/plugins/GhostText/GhostText.node.js.map +1 -1
  98. package/lib-commonjs/plugins/GhostText/index.js +1 -0
  99. package/lib-commonjs/plugins/ImperativeControl/ImperativeControl.js +1 -1
  100. package/lib-commonjs/plugins/ImperativeControl/ImperativeControl.js.map +1 -1
  101. package/lib-commonjs/plugins/ImperativeControl/index.js +1 -0
  102. package/lib-commonjs/plugins/ManualGhostText/ManualGhostText.js +1 -1
  103. package/lib-commonjs/plugins/ManualGhostText/ManualGhostText.js.map +1 -1
  104. package/lib-commonjs/plugins/ManualGhostText/index.js +1 -0
  105. package/lib-commonjs/plugins/PasteUnfurling/PasteUnfurling.js +1 -1
  106. package/lib-commonjs/plugins/PasteUnfurling/PasteUnfurling.js.map +1 -1
  107. package/lib-commonjs/plugins/PasteUnfurling/index.js +1 -0
  108. package/package.json +5 -5
@@ -48,4 +48,4 @@ const useGhostTextStyles_unstable = (state)=>{
48
48
  state.indicator.className = (0, _reactcomponents.mergeClasses)(ghostTextClassNames.indicator, styles.indicator, state.indicator.className);
49
49
  }
50
50
  return state;
51
- };
51
+ }; //# sourceMappingURL=useGhostTextStyles.styles.raw.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useGhostTextStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, typographyStyles } from '@fluentui/react-components';\nimport { tokens } from '@fluentui-copilot/tokens';\nimport type { GhostTextSlots, GhostTextState } from './GhostText.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const ghostTextClassNames: SlotClassNames<GhostTextSlots> = {\n root: 'fai-GhostText',\n indicator: 'fai-GhostText__indicator',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n color: tokens.colorNeutralForeground4,\n whiteSpace: 'pre-wrap',\n gap: tokens.spacingHorizontalXS,\n },\n\n indicator: {\n ...typographyStyles.caption2Strong,\n color: tokens.colorNeutralForeground3,\n backgroundColor: tokens.colorNeutralBackground5,\n padding: `${tokens.spacingVerticalNone} ${tokens.spacingHorizontalSNudge}`,\n borderRadius: tokens.borderRadiusSmall,\n marginLeft: tokens.spacingHorizontalXS,\n merginRight: tokens.spacingHorizontalXS,\n },\n});\n\n/**\n * Apply styling to the GhostText slots based on the state\n */\nexport const useGhostTextStyles_unstable = (state: GhostTextState): GhostTextState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(ghostTextClassNames.root, styles.root, state.root.className);\n\n if (state.indicator) {\n state.indicator.className = mergeClasses(\n ghostTextClassNames.indicator,\n styles.indicator,\n state.indicator.className,\n );\n }\n\n return state;\n};\n"],"names":["ghostTextClassNames","useGhostTextStyles_unstable","root","indicator","useStyles","makeStyles","color","tokens","colorNeutralForeground4","whiteSpace","gap","spacingHorizontalXS","typographyStyles","caption2Strong","colorNeutralForeground3","backgroundColor","colorNeutralBackground5","padding","spacingVerticalNone","spacingHorizontalSNudge","borderRadius","borderRadiusSmall","marginLeft","merginRight","state","styles","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,mBAAAA;eAAAA;;IA6BAC,2BAAAA;eAAAA;;;iCAlC8C;wBACpC;AAIhB,MAAMD,sBAAsD;IACjEE,MAAM;IACNC,WAAW;AACb;AAEA;;CAEC,GACD,MAAMC,YAAYC,IAAAA,2BAAAA,EAAW;IAC3BH,MAAM;QACJI,OAAOC,cAAAA,CAAOC,uBAAuB;QACrCC,YAAY;QACZC,KAAKH,cAAAA,CAAOI,mBAAmB;IACjC;IAEAR,WAAW;QACT,GAAGS,iCAAAA,CAAiBC,cAAc;QAClCP,OAAOC,cAAAA,CAAOO,uBAAuB;QACrCC,iBAAiBR,cAAAA,CAAOS,uBAAuB;QAC/CC,SAAS,CAAC,EAAEV,cAAAA,CAAOW,mBAAmB,CAAC,CAAC,EAAEX,cAAAA,CAAOY,uBAAuB,CAAC,CAAC;QAC1EC,cAAcb,cAAAA,CAAOc,iBAAiB;QACtCC,YAAYf,cAAAA,CAAOI,mBAAmB;QACtCY,aAAahB,cAAAA,CAAOI,mBAAmB;IACzC;AACF;AAKO,MAAMV,8BAA8B,CAACuB;IAC1C;IAEA,MAAMC,SAASrB;IACfoB,MAAMtB,IAAI,CAACwB,SAAS,GAAGC,IAAAA,6BAAAA,EAAa3B,oBAAoBE,IAAI,EAAEuB,OAAOvB,IAAI,EAAEsB,MAAMtB,IAAI,CAACwB,SAAS;IAE/F,IAAIF,MAAMrB,SAAS,EAAE;QACnBqB,MAAMrB,SAAS,CAACuB,SAAS,GAAGC,IAAAA,6BAAAA,EAC1B3B,oBAAoBG,SAAS,EAC7BsB,OAAOtB,SAAS,EAChBqB,MAAMrB,SAAS,CAACuB,SAAS;IAE7B;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["useGhostTextStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, typographyStyles } from '@fluentui/react-components';\nimport { tokens } from '@fluentui-copilot/tokens';\nimport type { GhostTextSlots, GhostTextState } from './GhostText.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const ghostTextClassNames: SlotClassNames<GhostTextSlots> = {\n root: 'fai-GhostText',\n indicator: 'fai-GhostText__indicator',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n color: tokens.colorNeutralForeground4,\n whiteSpace: 'pre-wrap',\n gap: tokens.spacingHorizontalXS,\n },\n\n indicator: {\n ...typographyStyles.caption2Strong,\n color: tokens.colorNeutralForeground3,\n backgroundColor: tokens.colorNeutralBackground5,\n padding: `${tokens.spacingVerticalNone} ${tokens.spacingHorizontalSNudge}`,\n borderRadius: tokens.borderRadiusSmall,\n marginLeft: tokens.spacingHorizontalXS,\n merginRight: tokens.spacingHorizontalXS,\n },\n});\n\n/**\n * Apply styling to the GhostText slots based on the state\n */\nexport const useGhostTextStyles_unstable = (state: GhostTextState): GhostTextState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(ghostTextClassNames.root, styles.root, state.root.className);\n\n if (state.indicator) {\n state.indicator.className = mergeClasses(\n ghostTextClassNames.indicator,\n styles.indicator,\n state.indicator.className,\n );\n }\n\n return state;\n};\n"],"names":["ghostTextClassNames","styles","useStyles","root","indicator","makeStyles","color","whiteSpace","tokens","gap","spacingHorizontalXS","typographyStyles","colorNeutralForeground3","backgroundColor","colorNeutralBackground5","spacingVerticalNone","borderRadius","borderRadiusSmall","spacingHorizontalSNudge","marginLeft","merginRight","state","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,mBAAAA;eAAAA;;IAgCLC,2BAASC;eAATD;;;iCArCmD;wBACpC;AAIhB,MAAMD,sBAAsD;UACjEG;eACAC;AACF;AAEA;;CAEC,SAECD,YAAME,IAAAA,2BAAA,EAAA;UACJC;eACAC,cAAAA,CAAAA,uBAAY;oBACPC;QACPC,KAAAD,cAAA,CAAAE,mBAAA;;eAGKC;4CACWC,CAAAA,cAAAA;eACdC,cAAAA,CAAAA,uBAAwBC;yBACZN,cAAOO,CAAAA,uBAAuBP;iBAC1CQ,CAAAA,EAAAA,cAAcR,CAAAA,mBAAOS,CAAAA,CAAAA,EAAiBT,cAAA,CAAAU,uBAAA,CAAA,CAAA;sBACtCC,cAAYX,CAAAA,iBAAOE;oBACnBU,cAAaZ,CAAAA,mBAAOE;QACtBU,aAAAZ,cAAA,CAAAE,mBAAA;IACF;AAEA;AAME,MAAMT,8BAASC,CAAAA;;UAIbmB,SAAMjB;UAKRD,IAAA,CAAAmB,SAAA,GAAAC,IAAAA,6BAAA,EAAAvB,oBAAAG,IAAA,EAAAF,OAAAE,IAAA,EAAAkB,MAAAlB,IAAA,CAAAmB,SAAA;QAEAD,MAAOA,SAAAA,EAAAA;QACPA,MAAAjB,SAAA,CAAAkB,SAAA,GAAAC,IAAAA,6BAAA,EAAAvB,oBAAAI,SAAA,EAAAH,OAAAG,SAAA,EAAAiB,MAAAjB,SAAA,CAAAkB,SAAA"}
@@ -106,3 +106,4 @@ const _ChatInputToken = require("./ChatInputToken");
106
106
  const _BasicFunctionality = require("./BasicFunctionality");
107
107
  const _ImperativeControl = require("./ImperativeControl");
108
108
  const _PasteUnfurling = require("./PasteUnfurling");
109
+ //# sourceMappingURL=index.js.map
@@ -80,4 +80,4 @@ const BasicFunctionalityPlugin = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
80
80
  trimWhitespace
81
81
  ]);
82
82
  return null;
83
- });
83
+ }); //# sourceMappingURL=BasicFunctionality.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["BasicFunctionality.ts"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-components';\nimport type { IBasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\nimport { BasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type BasicFunctionalityPluginProps = {\n defaultValue?: string;\n // Whether or not to clear the input when only whitespace is remaining\n trimWhitespace?: boolean;\n onCountChanged?: (count: number) => void;\n onContentChange?: (value: string) => void;\n onPaste?: (event: ClipboardEvent) => void;\n isSentinelNodeEnabled?: boolean;\n};\n\nexport type BasicFunctionalityPluginRef = {\n setIsDisabled: (isDisabled: boolean) => void;\n};\n\nexport const BasicFunctionalityPlugin = React.forwardRef<BasicFunctionalityPluginRef, BasicFunctionalityPluginProps>(\n (props, ref) => {\n const { defaultValue, trimWhitespace, onCountChanged, onContentChange, onPaste, isSentinelNodeEnabled } = props;\n\n const [editor] = useLexicalComposerContext();\n\n const [basicFunctionalityImpl, setBasicFunctionalityImpl] = React.useState<IBasicFunctionalityBase | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n setBasicFunctionalityImpl(new BasicFunctionalityBase(editor, isSentinelNodeEnabled));\n\n return () => {\n setBasicFunctionalityImpl(prev => {\n prev?.cleanup();\n return null;\n });\n };\n }, [editor, isSentinelNodeEnabled]);\n\n React.useImperativeHandle<BasicFunctionalityPluginRef, BasicFunctionalityPluginRef>(\n ref,\n () => ({\n setIsDisabled(isDisabled: boolean) {\n basicFunctionalityImpl?.setIsDisabled(isDisabled);\n },\n }),\n [basicFunctionalityImpl],\n );\n\n const setDefaultValue = React.useRef(false);\n // useIsomorphicLayoutEffect is used to avoid flickering on first render\n useIsomorphicLayoutEffect(() => {\n if (basicFunctionalityImpl && !setDefaultValue.current) {\n if (defaultValue) {\n basicFunctionalityImpl.insertDefaultValue(defaultValue);\n }\n setDefaultValue.current = true;\n }\n }, [basicFunctionalityImpl, defaultValue, editor]);\n\n React.useEffect(() => {\n basicFunctionalityImpl?.activateContentCallbacks(onContentChange, onCountChanged);\n return () => basicFunctionalityImpl?.deactivateContentCallbacks();\n }, [basicFunctionalityImpl, editor, onContentChange, onCountChanged]);\n\n React.useEffect(() => {\n if (onPaste) {\n basicFunctionalityImpl?.activatePasteCallback(onPaste);\n }\n return () => basicFunctionalityImpl?.deactivatePasteCallback();\n }, [basicFunctionalityImpl, editor, onPaste]);\n\n React.useEffect(() => {\n if (trimWhitespace) {\n basicFunctionalityImpl?.activateTrimWhitespace();\n }\n return () => basicFunctionalityImpl?.deactivateTrimWhitespace();\n }, [basicFunctionalityImpl, editor, trimWhitespace]);\n\n return null;\n },\n);\n"],"names":["BasicFunctionalityPlugin","React","forwardRef","props","ref","defaultValue","trimWhitespace","onCountChanged","onContentChange","onPaste","isSentinelNodeEnabled","editor","useLexicalComposerContext","basicFunctionalityImpl","setBasicFunctionalityImpl","useState","useIsomorphicLayoutEffect","BasicFunctionalityBase","prev","cleanup","useImperativeHandle","setIsDisabled","isDisabled","setDefaultValue","useRef","current","insertDefaultValue","useEffect","activateContentCallbacks","deactivateContentCallbacks","activatePasteCallback","deactivatePasteCallback","activateTrimWhitespace","deactivateTrimWhitespace"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAoBaA;;;eAAAA;;;;iEApBU;iCACmB;iCACA;kCAEH;AAgBhC,MAAMA,yCAA2BC,OAAMC,UAAU,CACtD,CAACC,OAAOC;IACN,MAAM,EAAEC,YAAY,EAAEC,cAAc,EAAEC,cAAc,EAAEC,eAAe,EAAEC,OAAO,EAAEC,qBAAqB,EAAE,GAAGP;IAE1G,MAAM,CAACQ,OAAO,GAAGC,IAAAA,0CAAAA;IAEjB,MAAM,CAACC,wBAAwBC,0BAA0B,GAAGb,OAAMc,QAAQ,CAAiC;IAE3GC,IAAAA,0CAAAA,EAA0B;QACxBF,0BAA0B,IAAIG,wCAAAA,CAAuBN,QAAQD;QAE7D,OAAO;YACLI,0BAA0BI,CAAAA;gBACxBA,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAMC,OAAO;gBACb,OAAO;YACT;QACF;IACF,GAAG;QAACR;QAAQD;KAAsB;IAElCT,OAAMmB,mBAAmB,CACvBhB,KACA,IAAO,CAAA;YACLiB,eAAcC,UAAmB;gBAC/BT,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBQ,aAAa,CAACC;YACxC;QACF,CAAA,GACA;QAACT;KAAuB;IAG1B,MAAMU,kBAAkBtB,OAAMuB,MAAM,CAAC;IACrC,wEAAwE;IACxER,IAAAA,0CAAAA,EAA0B;QACxB,IAAIH,0BAA0B,CAACU,gBAAgBE,OAAO,EAAE;YACtD,IAAIpB,cAAc;gBAChBQ,uBAAuBa,kBAAkB,CAACrB;YAC5C;YACAkB,gBAAgBE,OAAO,GAAG;QAC5B;IACF,GAAG;QAACZ;QAAwBR;QAAcM;KAAO;IAEjDV,OAAM0B,SAAS,CAAC;QACdd,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBe,wBAAwB,CAACpB,iBAAiBD;QAClE,OAAO,IAAMM,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBgB,0BAA0B;IACjE,GAAG;QAAChB;QAAwBF;QAAQH;QAAiBD;KAAe;IAEpEN,OAAM0B,SAAS,CAAC;QACd,IAAIlB,SAAS;YACXI,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBiB,qBAAqB,CAACrB;QAChD;QACA,OAAO,IAAMI,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBkB,uBAAuB;IAC9D,GAAG;QAAClB;QAAwBF;QAAQF;KAAQ;IAE5CR,OAAM0B,SAAS,CAAC;QACd,IAAIrB,gBAAgB;YAClBO,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBmB,sBAAsB;QAChD;QACA,OAAO,IAAMnB,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAwBoB,wBAAwB;IAC/D,GAAG;QAACpB;QAAwBF;QAAQL;KAAe;IAEnD,OAAO;AACT"}
1
+ {"version":3,"sources":["BasicFunctionality.ts"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-components';\nimport type { IBasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\nimport { BasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type BasicFunctionalityPluginProps = {\n defaultValue?: string;\n // Whether or not to clear the input when only whitespace is remaining\n trimWhitespace?: boolean;\n onCountChanged?: (count: number) => void;\n onContentChange?: (value: string) => void;\n onPaste?: (event: ClipboardEvent) => void;\n isSentinelNodeEnabled?: boolean;\n};\n\nexport type BasicFunctionalityPluginRef = {\n setIsDisabled: (isDisabled: boolean) => void;\n};\n\nexport const BasicFunctionalityPlugin = React.forwardRef<BasicFunctionalityPluginRef, BasicFunctionalityPluginProps>(\n (props, ref) => {\n const { defaultValue, trimWhitespace, onCountChanged, onContentChange, onPaste, isSentinelNodeEnabled } = props;\n\n const [editor] = useLexicalComposerContext();\n\n const [basicFunctionalityImpl, setBasicFunctionalityImpl] = React.useState<IBasicFunctionalityBase | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n setBasicFunctionalityImpl(new BasicFunctionalityBase(editor, isSentinelNodeEnabled));\n\n return () => {\n setBasicFunctionalityImpl(prev => {\n prev?.cleanup();\n return null;\n });\n };\n }, [editor, isSentinelNodeEnabled]);\n\n React.useImperativeHandle<BasicFunctionalityPluginRef, BasicFunctionalityPluginRef>(\n ref,\n () => ({\n setIsDisabled(isDisabled: boolean) {\n basicFunctionalityImpl?.setIsDisabled(isDisabled);\n },\n }),\n [basicFunctionalityImpl],\n );\n\n const setDefaultValue = React.useRef(false);\n // useIsomorphicLayoutEffect is used to avoid flickering on first render\n useIsomorphicLayoutEffect(() => {\n if (basicFunctionalityImpl && !setDefaultValue.current) {\n if (defaultValue) {\n basicFunctionalityImpl.insertDefaultValue(defaultValue);\n }\n setDefaultValue.current = true;\n }\n }, [basicFunctionalityImpl, defaultValue, editor]);\n\n React.useEffect(() => {\n basicFunctionalityImpl?.activateContentCallbacks(onContentChange, onCountChanged);\n return () => basicFunctionalityImpl?.deactivateContentCallbacks();\n }, [basicFunctionalityImpl, editor, onContentChange, onCountChanged]);\n\n React.useEffect(() => {\n if (onPaste) {\n basicFunctionalityImpl?.activatePasteCallback(onPaste);\n }\n return () => basicFunctionalityImpl?.deactivatePasteCallback();\n }, [basicFunctionalityImpl, editor, onPaste]);\n\n React.useEffect(() => {\n if (trimWhitespace) {\n basicFunctionalityImpl?.activateTrimWhitespace();\n }\n return () => basicFunctionalityImpl?.deactivateTrimWhitespace();\n }, [basicFunctionalityImpl, editor, trimWhitespace]);\n\n return null;\n },\n);\n"],"names":["BasicFunctionalityPlugin","React","forwardRef","props","ref","defaultValue","editor","trimWhitespace","basicFunctionalityImpl","useIsomorphicLayoutEffect","setBasicFunctionalityImpl","useLexicalComposerContext","useState","BasicFunctionalityBase","isSentinelNodeEnabled","prev","cleanup","useImperativeHandle","setIsDisabled","isDisabled","useRef","insertDefaultValue","current","setDefaultValue","activateContentCallbacks","onContentChange","onCountChanged","useEffect","deactivateContentCallbacks","onPaste","activateTrimWhitespace","deactivateTrimWhitespace"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAoBaA;;;eAAAA;;;;iEApBU;iCACmB;iCACA;kCAEH;AAgBhC,MAAMA,yCAA2BC,OAAMC,UAAU,CACtD,CAACC,OAAOC;UACN,EAEAC,YAAOC,EAEPC,cAAOC,EAEPC,cAAAA,iBACEC,SAEA,uBACEA;kBAEE,GAAAC,IAAAA,0CAAO;mCACTD,0BAAA,GAAAT,OAAAW,QAAA,CAAA;kDACF,EAAA;QACFF,0BAAG,IAAAG,wCAAA,CAAAP,QAAAQ;eAACR;sCAAQQ,CAAAA;gBAAsBC,SAAA,QAAAA,SAAA,KAAA,IAAA,KAAA,IAAAA,KAAAC,OAAA;gBAElCf,OAAMgB;;;;;QAKFH;KAAA;WACFG,mBACA,CAAAb,KAAA,IAAA,CAAA;2BAACI,UAAAA;gBAAuBA,2BAAA,QAAAA,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAU,aAAA,CAAAC;YAG1B;YACA;QAAAX;KAAA;UACAC,kBAAAA,OAA0BW,MAAA,CAAA;4EACgC;kDAClDf,EAAAA;sCACFG,CAAAA,gBAAuBa,OAAmBhB,EAAAA;8BAC5C;uCACgBiB,kBAAU,CAAAjB;;YAE9BkB,gBAAGD,OAAA,GAAA;;;;QAAyBjB;QAAAA;KAAAA;WAAcC,SAAAA,CAAAA;mCAAO,QAAAE,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAgB,wBAAA,CAAAC,iBAAAC;QAEjDzB,OAAM0B,IAAAA,2BAAU,QAAAnB,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAoB,0BAAA;;;QACdpB;QAAAA;QAAAA;KAAAA;WACAmB,SAAO,CAAA;QACT,IAAGE,SAAA;uCAACrB,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,qBAAAA,CAAAA;;eAAgCiB,IAAAA,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,uBAAAA;;;QAAiBC;QAAAA;KAAAA;WAAeC,SAAA,CAAA;QAEpE1B,IAAAA,gBAAgB;uCACD,QAAAO,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAsB,sBAAA;;eAEb,IAAAtB,2BAAA,QAAAA,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAuB,wBAAA;;;QACavB;QAAAA;KAAAA;WACZ;kDAAyBF"}
@@ -9,3 +9,4 @@ Object.defineProperty(exports, "BasicFunctionalityPlugin", {
9
9
  }
10
10
  });
11
11
  const _BasicFunctionality = require("./BasicFunctionality");
12
+ //# sourceMappingURL=index.js.map
@@ -97,4 +97,4 @@ function $createChatInputEntityNode(pluginId, text, data, entityProps, key) {
97
97
  }
98
98
  function $isChatInputEntityNode(node) {
99
99
  return node instanceof ChatInputEntityNode;
100
- }
100
+ } //# sourceMappingURL=ChatInputEntity.node.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ChatInputEntity.node.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { DecoratorNode } from '@fluentui-copilot/text-editor';\nimport type {\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedLexicalNode,\n Spread,\n} from '@fluentui-copilot/text-editor';\nimport type { ChatInputEntityProps } from '../../ChatInputEntity';\nimport { ChatInputEntity } from '../../ChatInputEntity';\nimport type { ChatInputEntityData } from '@fluentui-copilot/chat-input-plugins';\n\nexport type SerializedChatInputEntityNode<T> = Spread<\n { pluginId: string; text: string; data?: T; entityProps?: ChatInputEntityProps },\n SerializedLexicalNode\n>;\n\nexport class ChatInputEntityNode<T> extends DecoratorNode<JSX.Element | null> {\n __pluginId: string;\n __text: string;\n __entityProps?: ChatInputEntityProps;\n __data?: T;\n\n static getType(): string {\n return 'entity';\n }\n static clone<T>(node: ChatInputEntityNode<T>): ChatInputEntityNode<T> {\n return new ChatInputEntityNode(node.__pluginId, node.__text, node.__data, node.__entityProps, node.__key);\n }\n\n static importJSON<T>(serializedNode: SerializedChatInputEntityNode<T>): ChatInputEntityNode<T> {\n return $createChatInputEntityNode(\n serializedNode.pluginId,\n serializedNode.text,\n serializedNode.data,\n serializedNode.entityProps,\n );\n }\n\n isIsolated() {\n return true;\n }\n isInline() {\n return true;\n }\n\n getTextContent(): string {\n return this.__text;\n }\n\n exportJSON(): SerializedChatInputEntityNode<T> {\n return {\n pluginId: this.__pluginId,\n text: this.__text,\n data: this.__data,\n entityProps: this.__entityProps,\n type: ChatInputEntityNode.getType(),\n version: 1,\n };\n }\n\n constructor(pluginId: string, text: string, data?: T, entityProps?: ChatInputEntityProps, key?: NodeKey) {\n super(key);\n this.__pluginId = pluginId;\n this.__text = text;\n this.__data = data;\n this.__entityProps = entityProps;\n }\n\n createDOM(): HTMLElement {\n // eslint-disable-next-line no-restricted-globals\n return document.createElement('span');\n }\n\n updateDOM() {\n return false;\n }\n\n decorate(_editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n if (this.__entityProps?.children) {\n return <ChatInputEntity {...this.__entityProps} />;\n }\n return <ChatInputEntity {...this.__entityProps}>{this.__text}</ChatInputEntity>;\n }\n\n getEntityData(): ChatInputEntityData<T, ChatInputEntityProps> {\n return {\n text: this.__text,\n data: this.__data,\n entityProps: this.__entityProps,\n };\n }\n\n updateEntityData(data: ChatInputEntityData<T, ChatInputEntityProps>) {\n const writable = this.getWritable();\n writable.__text = data.text;\n writable.__data = data.data;\n writable.__entityProps = data.entityProps;\n }\n}\n\nexport function $createChatInputEntityNode<T>(\n pluginId: string,\n text: string,\n data?: T,\n entityProps?: ChatInputEntityProps,\n key?: NodeKey,\n): ChatInputEntityNode<T> {\n return new ChatInputEntityNode(pluginId, text, data, entityProps, key);\n}\n\nexport function $isChatInputEntityNode<T>(node: LexicalNode | null | undefined): node is ChatInputEntityNode<T> {\n return node instanceof ChatInputEntityNode;\n}\n"],"names":["$createChatInputEntityNode","$isChatInputEntityNode","ChatInputEntityNode","DecoratorNode","getType","clone","node","__pluginId","__text","__data","__entityProps","__key","importJSON","serializedNode","pluginId","text","data","entityProps","isIsolated","isInline","getTextContent","exportJSON","type","version","createDOM","document","createElement","updateDOM","decorate","_editor","config","_this___entityProps","children","React","ChatInputEntity","getEntityData","updateEntityData","writable","getWritable","constructor","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAwGgBA,0BAAAA;eAAAA;;IAUAC,sBAAAA;eAAAA;;IA9FHC,mBAAAA;eAAAA;;;;;iEApBU;4BAEO;iCAUE;AAQzB,MAAMA,4BAA+BC,yBAAAA;IAM1C,OAAOC,UAAkB;QACvB,OAAO;IACT;IACA,OAAOC,MAASC,IAA4B,EAA0B;QACpE,OAAO,IAAIJ,oBAAoBI,KAAKC,UAAU,EAAED,KAAKE,MAAM,EAAEF,KAAKG,MAAM,EAAEH,KAAKI,aAAa,EAAEJ,KAAKK,KAAK;IAC1G;IAEA,OAAOC,WAAcC,cAAgD,EAA0B;QAC7F,OAAOb,2BACLa,eAAeC,QAAQ,EACvBD,eAAeE,IAAI,EACnBF,eAAeG,IAAI,EACnBH,eAAeI,WAAW;IAE9B;IAEAC,aAAa;QACX,OAAO;IACT;IACAC,WAAW;QACT,OAAO;IACT;IAEAC,iBAAyB;QACvB,OAAO,IAAI,CAACZ,MAAM;IACpB;IAEAa,aAA+C;QAC7C,OAAO;YACLP,UAAU,IAAI,CAACP,UAAU;YACzBQ,MAAM,IAAI,CAACP,MAAM;YACjBQ,MAAM,IAAI,CAACP,MAAM;YACjBQ,aAAa,IAAI,CAACP,aAAa;YAC/BY,MAAMpB,oBAAoBE,OAAO;YACjCmB,SAAS;QACX;IACF;IAUAC,YAAyB;QACvB,iDAAiD;QACjD,OAAOC,SAASC,aAAa,CAAC;IAChC;IAEAC,YAAY;QACV,OAAO;IACT;IAEAC,SAASC,OAAsB,EAAEC,MAAoB,EAAsB;YACrEC;QAAJ,IAAA,AAAIA,CAAAA,sBAAA,IAAI,CAACrB,aAAa,AAAbA,MAAa,QAAlBqB,wBAAA,KAAA,IAAA,KAAA,IAAAA,oBAAoBC,QAAQ,EAAE;YAChC,OAAA,WAAA,GAAOC,OAAAP,aAAA,CAACQ,gCAAAA,EAAoB,IAAI,CAACxB,aAAa;QAChD;QACA,OAAA,WAAA,GAAOuB,OAAAP,aAAA,CAACQ,gCAAAA,EAAoB,IAAI,CAACxB,aAAa,EAAG,IAAI,CAACF,MAAM;IAC9D;IAEA2B,gBAA8D;QAC5D,OAAO;YACLpB,MAAM,IAAI,CAACP,MAAM;YACjBQ,MAAM,IAAI,CAACP,MAAM;YACjBQ,aAAa,IAAI,CAACP,aAAa;QACjC;IACF;IAEA0B,iBAAiBpB,IAAkD,EAAE;QACnE,MAAMqB,WAAW,IAAI,CAACC,WAAW;QACjCD,SAAS7B,MAAM,GAAGQ,KAAKD,IAAI;QAC3BsB,SAAS5B,MAAM,GAAGO,KAAKA,IAAI;QAC3BqB,SAAS3B,aAAa,GAAGM,KAAKC,WAAW;IAC3C;IArCAsB,YAAYzB,QAAgB,EAAEC,IAAY,EAAEC,IAAQ,EAAEC,WAAkC,EAAEuB,GAAa,CAAE;QACvG,KAAK,CAACA;QA5CRjC,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,cAAAA,KAAAA;QACAC,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,UAAAA,KAAAA;QACAE,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,iBAAAA,KAAAA;QACAD,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,UAAAA,KAAAA;QA0CE,IAAI,CAACF,UAAU,GAAGO;QAClB,IAAI,CAACN,MAAM,GAAGO;QACd,IAAI,CAACN,MAAM,GAAGO;QACd,IAAI,CAACN,aAAa,GAAGO;IACvB;AAgCF;AAEO,SAASjB,2BACdc,QAAgB,EAChBC,IAAY,EACZC,IAAQ,EACRC,WAAkC,EAClCuB,GAAa;IAEb,OAAO,IAAItC,oBAAoBY,UAAUC,MAAMC,MAAMC,aAAauB;AACpE;AAEO,SAASvC,uBAA0BK,IAAoC;IAC5E,OAAOA,gBAAgBJ;AACzB"}
1
+ {"version":3,"sources":["ChatInputEntity.node.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { DecoratorNode } from '@fluentui-copilot/text-editor';\nimport type {\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedLexicalNode,\n Spread,\n} from '@fluentui-copilot/text-editor';\nimport type { ChatInputEntityProps } from '../../ChatInputEntity';\nimport { ChatInputEntity } from '../../ChatInputEntity';\nimport type { ChatInputEntityData } from '@fluentui-copilot/chat-input-plugins';\n\nexport type SerializedChatInputEntityNode<T> = Spread<\n { pluginId: string; text: string; data?: T; entityProps?: ChatInputEntityProps },\n SerializedLexicalNode\n>;\n\nexport class ChatInputEntityNode<T> extends DecoratorNode<JSX.Element | null> {\n __pluginId: string;\n __text: string;\n __entityProps?: ChatInputEntityProps;\n __data?: T;\n\n static getType(): string {\n return 'entity';\n }\n static clone<T>(node: ChatInputEntityNode<T>): ChatInputEntityNode<T> {\n return new ChatInputEntityNode(node.__pluginId, node.__text, node.__data, node.__entityProps, node.__key);\n }\n\n static importJSON<T>(serializedNode: SerializedChatInputEntityNode<T>): ChatInputEntityNode<T> {\n return $createChatInputEntityNode(\n serializedNode.pluginId,\n serializedNode.text,\n serializedNode.data,\n serializedNode.entityProps,\n );\n }\n\n isIsolated() {\n return true;\n }\n isInline() {\n return true;\n }\n\n getTextContent(): string {\n return this.__text;\n }\n\n exportJSON(): SerializedChatInputEntityNode<T> {\n return {\n pluginId: this.__pluginId,\n text: this.__text,\n data: this.__data,\n entityProps: this.__entityProps,\n type: ChatInputEntityNode.getType(),\n version: 1,\n };\n }\n\n constructor(pluginId: string, text: string, data?: T, entityProps?: ChatInputEntityProps, key?: NodeKey) {\n super(key);\n this.__pluginId = pluginId;\n this.__text = text;\n this.__data = data;\n this.__entityProps = entityProps;\n }\n\n createDOM(): HTMLElement {\n // eslint-disable-next-line no-restricted-globals\n return document.createElement('span');\n }\n\n updateDOM() {\n return false;\n }\n\n decorate(_editor: LexicalEditor, config: EditorConfig): JSX.Element | null {\n if (this.__entityProps?.children) {\n return <ChatInputEntity {...this.__entityProps} />;\n }\n return <ChatInputEntity {...this.__entityProps}>{this.__text}</ChatInputEntity>;\n }\n\n getEntityData(): ChatInputEntityData<T, ChatInputEntityProps> {\n return {\n text: this.__text,\n data: this.__data,\n entityProps: this.__entityProps,\n };\n }\n\n updateEntityData(data: ChatInputEntityData<T, ChatInputEntityProps>) {\n const writable = this.getWritable();\n writable.__text = data.text;\n writable.__data = data.data;\n writable.__entityProps = data.entityProps;\n }\n}\n\nexport function $createChatInputEntityNode<T>(\n pluginId: string,\n text: string,\n data?: T,\n entityProps?: ChatInputEntityProps,\n key?: NodeKey,\n): ChatInputEntityNode<T> {\n return new ChatInputEntityNode(pluginId, text, data, entityProps, key);\n}\n\nexport function $isChatInputEntityNode<T>(node: LexicalNode | null | undefined): node is ChatInputEntityNode<T> {\n return node instanceof ChatInputEntityNode;\n}\n"],"names":["$createChatInputEntityNode","$isChatInputEntityNode","ChatInputEntityNode","DecoratorNode","getType","clone","node","__pluginId","__text","__data","__entityProps","__key","importJSON","serializedNode","pluginId","text","data","entityProps","isIsolated","isInline","getTextContent","exportJSON","type","version","createDOM","document","createElement","updateDOM","decorate","_editor","config","_this___entityProps","children","React","ChatInputEntity","getEntityData","updateEntityData","writable","getWritable","constructor","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAwGgBA,0BAAAA;eAAAA;;IAUAC,sBAAAA;eAAAA;;IA9FHC,mBAAAA;eAAAA;;;;;iEApBU;4BAEO;iCAUE;AAQzB,MAAMA,4BAA+BC,yBAAAA;WAM1CC,UAAOA;eACL;;WAEFC,MAAOA,IAASC,EAA4B;eAC1C,IAAOJ,oBAAIA,KAAoBI,UAAKC,EAAAA,KAAYD,MAAKE,EAAAA,KAAQF,MAAKG,EAAAA,KAAQH,aAAKI,EAAAA,KAAeJ,KAAKK;;WAGrGC,WAAOA,cAAcC,EAAgD;eACnEb,2BAAOA,eACLa,QAAeC,EAAAA,eACfD,IAAeE,EAAAA,eACfF,IAAeG,EAAAA,eACfH,WAAeI;;iBAInBC;eACE;;eAEFC;eACE;;qBAGFC;eACE,IAAO,CAAAZ,MAAKA;;iBAGda;eACE;sBACEP,IAAAA,CAAAA,UAAeP;kBACfQ,IAAAA,CAAAA,MAAWP;kBACXQ,IAAAA,CAAAA,MAAWP;yBACXQ,IAAAA,CAAAA,aAAkBP;kBAClBY,oBAAMpB,OAAoBE;qBAC1BmB;;;gBAYJC;yDACE;eACAC,SAAOA,aAASC,CAAAA;;gBAGlBC;eACE;;aAGFC,OAASC,EAAsBC,MAAEA,EAAoB;;YACnD,AAAAC,CAAAA,sBAAI,IAAA,CAAArB,aAAKA,MAAa,QAAAqB,wBAAlB,KAAA,IAAA,KAAA,IAAAA,oBAAAC,QAAoBA,EAAAA;mBACtB,WAAA,GAAAC,OAAAP,aAAO,CAAAQ,gCAACA,EAAAA,IAAAA,CAAAA,aAAyBxB;;eAEnC,WAAA,GAAAuB,OAAOP,aAAA,CAAAQ,gCAACA,EAAAA,IAAAA,CAAoBxB,aAAKA,EAAAA,IAAa,CAAGF,MAAKA;;oBAGxD2B;eACE;kBACEpB,IAAAA,CAAAA,MAAWP;kBACXQ,IAAAA,CAAAA,MAAWP;yBACXQ,IAAAA,CAAAA,aAAkBP;;;qBAItB0B,IAAiBpB,EAAkD;cACjEqB,WAAMA,IAAW,CAAAC,WAAKA;iBACtBD,MAAS7B,GAAAA,KAASQ,IAAKD;iBACvBsB,MAAS5B,GAAAA,KAASO,IAAKA;iBACvBqB,aAAS3B,GAAAA,KAAgBM,WAAKC;;gBApChCsB,QAAYzB,EAAgBC,IAAEA,EAAYC,IAAEA,EAAQC,WAAEA,EAAkCuB,GAAEA,CAAa;aACrG,CAAAA;8BA5CFjC,EAAAA,IAAAA,EAAAA,cAAAA,KAAAA;8BACAC,EAAAA,IAAAA,EAAAA,UAAAA,KAAAA;8BACAE,EAAAA,IAAAA,EAAAA,iBAAAA,KAAAA;8BACAD,EAAAA,IAAAA,EAAAA,UAAAA,KAAAA;YA0CE,CAAAF,UAAKA,GAAAA;YACL,CAAAC,MAAKA,GAAAA;YACL,CAAAC,MAAKA,GAAAA;YACL,CAAAC,aAAKA,GAAAA;;AAiCT;AAEO,SAASV,2BACdc,QAAgB,EAChBC,IAAY,EACZC,IAAQ,EACRC,WAAkC,EAClCuB,GAAa;WAEb,IAAOtC,oBAAIA,UAAoBY,MAAUC,MAAMC,aAAMC;AACvD;AAEO,SAAShB,uBAA0BK,IAAoC;WAC5EA,gBAAOA;AACT"}
@@ -50,4 +50,4 @@ const ChatInputEntityPlugin = (props)=>{
50
50
  }
51
51
  }), []);
52
52
  return null;
53
- };
53
+ }; //# sourceMappingURL=ChatInputEntityPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ChatInputEntityPlugin.tsx"],"sourcesContent":["import { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport * as React from 'react';\nimport { $createChatInputEntityNode, $isChatInputEntityNode, ChatInputEntityNode } from './ChatInputEntity.node';\nimport type { ChatInputEntityPluginRef } from './ChatInputEntityPlugin.types';\nimport type { ChatInputEntityPluginProps } from '@fluentui-copilot/chat-input-plugins';\nimport { ChatInputEntityPluginBase } from '@fluentui-copilot/chat-input-plugins';\nimport type { ChatInputEntityProps } from '../../ChatInputEntity';\n\nexport const ChatInputEntityPlugin = <ExtraDataType,>(\n props: ChatInputEntityPluginProps<ExtraDataType, ChatInputEntityProps> & {\n controlRef: React.Ref<ChatInputEntityPluginRef<ExtraDataType>>;\n },\n) => {\n const { id, controlRef, onChatInputEntityAdded, onChatInputEntityDeleted, skipInitialization } = props;\n const [editor] = useLexicalComposerContext();\n\n const chatInputEntityPluginBase = React.useRef<ChatInputEntityPluginBase<\n ExtraDataType,\n ChatInputEntityProps,\n ChatInputEntityNode<ExtraDataType>\n > | null>(null);\n\n React.useEffect(() => {\n chatInputEntityPluginBase.current = new ChatInputEntityPluginBase<\n ExtraDataType,\n ChatInputEntityProps,\n ChatInputEntityNode<ExtraDataType>\n >(\n editor,\n id,\n ChatInputEntityNode,\n $createChatInputEntityNode,\n $isChatInputEntityNode,\n onChatInputEntityAdded,\n onChatInputEntityDeleted,\n );\n\n return () => chatInputEntityPluginBase.current?.cleanup();\n }, [editor, id, onChatInputEntityAdded, onChatInputEntityDeleted, skipInitialization]);\n\n React.useImperativeHandle(\n controlRef,\n () => ({\n insertChatInputEntity(props) {\n return chatInputEntityPluginBase.current?.insertChatInputEntity(props);\n },\n\n getActiveEntities() {\n return chatInputEntityPluginBase.current?.getActiveEntities() ?? [];\n },\n\n removeChatInputEntity(keyOrPredicate) {\n chatInputEntityPluginBase.current?.removeChatInputEntity(keyOrPredicate);\n },\n\n updateChatInputEntityProps(keyOrPredicate, props) {\n chatInputEntityPluginBase.current?.updateChatInputEntityProps(keyOrPredicate, props);\n },\n }),\n [],\n );\n return null;\n};\n"],"names":["ChatInputEntityPlugin","props","id","controlRef","onChatInputEntityAdded","onChatInputEntityDeleted","skipInitialization","editor","useLexicalComposerContext","chatInputEntityPluginBase","React","useRef","useEffect","current","ChatInputEntityPluginBase","ChatInputEntityNode","$createChatInputEntityNode","$isChatInputEntityNode","cleanup","useImperativeHandle","insertChatInputEntity","getActiveEntities","removeChatInputEntity","keyOrPredicate","updateChatInputEntityProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iCAR6B;iEACnB;qCACiE;kCAG9C;AAGnC,MAAMA,wBAAwB,CACnCC;IAIA,MAAM,EAAEC,EAAE,EAAEC,UAAU,EAAEC,sBAAsB,EAAEC,wBAAwB,EAAEC,kBAAkB,EAAE,GAAGL;IACjG,MAAM,CAACM,OAAO,GAAGC,IAAAA,0CAAAA;IAEjB,MAAMC,4BAA4BC,OAAMC,MAAM,CAIpC;IAEVD,OAAME,SAAS,CAAC;QACdH,0BAA0BI,OAAO,GAAG,IAAIC,2CAAAA,CAKtCP,QACAL,IACAa,wCAAAA,EACAC,+CAAAA,EACAC,2CAAAA,EACAb,wBACAC;QAGF,OAAO;gBAAMI;mBAAAA,CAAAA,qCAAAA,0BAA0BI,OAAO,AAAPA,MAAO,QAAjCJ,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAmCS,OAAO;;IACzD,GAAG;QAACX;QAAQL;QAAIE;QAAwBC;QAA0BC;KAAmB;IAErFI,OAAMS,mBAAmB,CACvBhB,YACA,IAAO,CAAA;YACLiB,uBAAsBnB,KAAK;oBAClBQ;gBAAP,OAAA,AAAOA,CAAAA,qCAAAA,0BAA0BI,OAAO,AAAPA,MAAO,QAAjCJ,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAmCW,qBAAqB,CAACnB;YAClE;YAEAoB;oBACSZ;oBAAAA;gBAAP,OAAOA,CAAAA,uDAAAA,CAAAA,qCAAAA,0BAA0BI,OAAO,AAAPA,MAAO,QAAjCJ,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAmCY,iBAAiB,EAAA,MAAA,QAApDZ,yDAAAA,KAAAA,IAAAA,uDAA0D,EAAE;YACrE;YAEAa,uBAAsBC,cAAc;oBAClCd;gBAAAA,CAAAA,qCAAAA,0BAA0BI,OAAO,AAAPA,MAAO,QAAjCJ,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAmCa,qBAAqB,CAACC;YAC3D;YAEAC,4BAA2BD,cAAc,EAAEtB,KAAK;oBAC9CQ;gBAAAA,CAAAA,qCAAAA,0BAA0BI,OAAO,AAAPA,MAAO,QAAjCJ,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAmCe,0BAA0B,CAACD,gBAAgBtB;YAChF;QACF,CAAA,GACA,EAAE;IAEJ,OAAO;AACT"}
1
+ {"version":3,"sources":["ChatInputEntityPlugin.tsx"],"sourcesContent":["import { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport * as React from 'react';\nimport { $createChatInputEntityNode, $isChatInputEntityNode, ChatInputEntityNode } from './ChatInputEntity.node';\nimport type { ChatInputEntityPluginRef } from './ChatInputEntityPlugin.types';\nimport type { ChatInputEntityPluginProps } from '@fluentui-copilot/chat-input-plugins';\nimport { ChatInputEntityPluginBase } from '@fluentui-copilot/chat-input-plugins';\nimport type { ChatInputEntityProps } from '../../ChatInputEntity';\n\nexport const ChatInputEntityPlugin = <ExtraDataType,>(\n props: ChatInputEntityPluginProps<ExtraDataType, ChatInputEntityProps> & {\n controlRef: React.Ref<ChatInputEntityPluginRef<ExtraDataType>>;\n },\n) => {\n const { id, controlRef, onChatInputEntityAdded, onChatInputEntityDeleted, skipInitialization } = props;\n const [editor] = useLexicalComposerContext();\n\n const chatInputEntityPluginBase = React.useRef<ChatInputEntityPluginBase<\n ExtraDataType,\n ChatInputEntityProps,\n ChatInputEntityNode<ExtraDataType>\n > | null>(null);\n\n React.useEffect(() => {\n chatInputEntityPluginBase.current = new ChatInputEntityPluginBase<\n ExtraDataType,\n ChatInputEntityProps,\n ChatInputEntityNode<ExtraDataType>\n >(\n editor,\n id,\n ChatInputEntityNode,\n $createChatInputEntityNode,\n $isChatInputEntityNode,\n onChatInputEntityAdded,\n onChatInputEntityDeleted,\n );\n\n return () => chatInputEntityPluginBase.current?.cleanup();\n }, [editor, id, onChatInputEntityAdded, onChatInputEntityDeleted, skipInitialization]);\n\n React.useImperativeHandle(\n controlRef,\n () => ({\n insertChatInputEntity(props) {\n return chatInputEntityPluginBase.current?.insertChatInputEntity(props);\n },\n\n getActiveEntities() {\n return chatInputEntityPluginBase.current?.getActiveEntities() ?? [];\n },\n\n removeChatInputEntity(keyOrPredicate) {\n chatInputEntityPluginBase.current?.removeChatInputEntity(keyOrPredicate);\n },\n\n updateChatInputEntityProps(keyOrPredicate, props) {\n chatInputEntityPluginBase.current?.updateChatInputEntityProps(keyOrPredicate, props);\n },\n }),\n [],\n );\n return null;\n};\n"],"names":["ChatInputEntityPlugin","props","id","controlRef","chatInputEntityPluginBase","React","useEffect","editor","onChatInputEntityAdded","onChatInputEntityDeleted","skipInitialization","useImperativeHandle","insertChatInputEntity","current","_chatInputEntityPluginBase_current","getActiveEntities","_chatInputEntityPluginBase_current_getActiveEntities","removeChatInputEntity","keyOrPredicate","updateChatInputEntityProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iCAR6B;iEACnB;qCACiE;kCAG9C;AAGnC,MAAMA,wBAAwBC,CAAAA;UAKnC,EACAC,EAAA,EAEAC,UAAMC,EAMNC,sBAAgB,0BACdD,oBAcO;mEAAMA;;WACZE,SAAA,CAAA;kCAACC,OAAAA,GAAAA,IAAAA,2CAAAA,CAAAA,QAAAA,IAAAA,wCAAAA,EAAAA,+CAAAA,EAAAA,2CAAAA,EAAAA,wBAAAA;eAAQL;gBAAIM;mBAAwBC,CAAAA,qCAAAA,0BAAAA,OAAAA,MAAAA,QAAAA,uCAAAA,KAAAA,IAAAA,KAAAA,IAAAA,mCAAAA,OAAAA;;OAA6C;QAAAF;QAAAL;QAAAM;QAAAC;QAAAC;KAAA;WAErFL,mBAAMM,CAAAA,YACJR,IACO,CAAA;mCACLS,KAAAA;;6DACSR,0BAAAA,OAAAA,MAA0BS,QAAOC,uCAAjCV,KAAAA,IAAAA,KAAAA,IAAAA,mCAAAA,qBAAmCQ,CAAAA;;;;;+EAInCR,CAAAA,qCAAAA,0BAAAA,OAAAA,MAA0BS,QAAOC,uCAAjCV,KAAAA,IAAAA,KAAAA,IAAAA,mCAAAA,iBAAmCW,EAAAA,MAAAA,QAAiBC,yDAApDZ,KAAAA,IAAAA,uDAAAA,EAAAA;;mCAGTa,cAAsBC;;sDACpBd,0BAAAA,OAAAA,MAA0BS,QAAOC,uCAAjCV,KAAAA,IAAAA,KAAAA,IAAAA,mCAAAA,qBAAmCa,CAAAA;;wCAGrCE,cAA2BD,EAAAA,KAAAA;;sDACzBd,0BAAAA,OAAAA,MAA0BS,QAAOC,uCAAjCV,KAAAA,IAAAA,KAAAA,IAAAA,mCAAAA,0BAAmCe,CAAAA,gBAA2BD;;cAElE;WAGF;AACF"}
@@ -2,3 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ //# sourceMappingURL=ChatInputEntityPlugin.types.js.map
@@ -24,3 +24,4 @@ _export(exports, {
24
24
  });
25
25
  const _ChatInputEntitynode = require("./ChatInputEntity.node");
26
26
  const _ChatInputEntityPlugin = require("./ChatInputEntityPlugin");
27
+ //# sourceMappingURL=index.js.map
@@ -27,7 +27,8 @@ function GhostTextPlugin(props) {
27
27
  return null;
28
28
  });
29
29
  };
30
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
30
+ }, // We can update $getGhostText, $createGhostTextNode, ghostTextProps, exposeText, and allowCompletion without remounting
31
+ // eslint-disable-next-line react-hooks/exhaustive-deps
31
32
  [
32
33
  editor,
33
34
  id
@@ -57,4 +58,4 @@ function GhostTextPlugin(props) {
57
58
  ghostTextBase
58
59
  ]);
59
60
  return null;
60
- }
61
+ } //# sourceMappingURL=GhostText.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["GhostText.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport type { LexicalEditor, EditorState } from '@fluentui-copilot/text-editor';\nimport type { GhostTextProps } from '../../GhostText';\nimport { $createGhostTextNode } from '../../GhostText';\nimport { GhostTextNode } from './GhostText.node';\nimport { GhostTextPluginBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type GhostTextPluginProps = {\n id: string;\n $getGhostText: (\n editor: LexicalEditor,\n editorState: EditorState,\n prevEditorState: EditorState,\n ) => Promise<string | undefined>;\n ghostTextProps?: GhostTextProps;\n // Whether or not the ghost text should count as text inside the input for submitting and character count\n exposeText?: boolean;\n allowCompletion?: boolean;\n};\n\nexport function GhostTextPlugin(props: GhostTextPluginProps): JSX.Element | null {\n 'use no memo';\n\n const { $getGhostText, id, ghostTextProps, exposeText, allowCompletion } = props;\n const [editor] = useLexicalComposerContext();\n\n const [ghostTextBase, setGhostTextBase] = React.useState<GhostTextPluginBase<GhostTextProps> | null>(null);\n\n React.useEffect(\n () => {\n setGhostTextBase(\n new GhostTextPluginBase(\n editor,\n id,\n $getGhostText,\n GhostTextNode,\n $createGhostTextNode,\n ghostTextProps,\n exposeText,\n allowCompletion,\n ),\n );\n\n return () => {\n setGhostTextBase(prev => {\n prev?.cleanup();\n return null;\n });\n };\n },\n // We can update $getGhostText, $createGhostTextNode, ghostTextProps, exposeText, and allowCompletion without remounting\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [editor, id],\n );\n\n React.useEffect(() => {\n ghostTextBase?.setAllowCompletion(allowCompletion);\n }, [allowCompletion, ghostTextBase]);\n\n React.useEffect(() => {\n ghostTextBase?.setComponentProps(ghostTextProps);\n }, [ghostTextBase, ghostTextProps]);\n\n React.useEffect(() => {\n ghostTextBase?.setExposeText(exposeText);\n }, [exposeText, ghostTextBase]);\n\n React.useEffect(() => {\n ghostTextBase?.setGetGhostText($getGhostText);\n }, [$getGhostText, ghostTextBase]);\n\n return null;\n}\n"],"names":["GhostTextPlugin","props","$getGhostText","id","ghostTextProps","exposeText","allowCompletion","editor","useLexicalComposerContext","ghostTextBase","setGhostTextBase","React","useState","useEffect","GhostTextPluginBase","GhostTextNode","$createGhostTextNode","prev","cleanup","setAllowCompletion","setComponentProps","setExposeText","setGetGhostText"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBgBA;;;eAAAA;;;;iEArBO;iCACmB;2BAGL;+BACP;kCACM;AAe7B,SAASA,gBAAgBC,KAA2B;IACzD;IAEA,MAAM,EAAEC,aAAa,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,eAAe,EAAE,GAAGL;IAC3E,MAAM,CAACM,OAAO,GAAGC,IAAAA,0CAAAA;IAEjB,MAAM,CAACC,eAAeC,iBAAiB,GAAGC,OAAMC,QAAQ,CAA6C;IAErGD,OAAME,SAAS,CACb;QACEH,iBACE,IAAII,qCAAAA,CACFP,QACAJ,IACAD,eACAa,4BAAAA,EACAC,+BAAAA,EACAZ,gBACAC,YACAC;QAIJ,OAAO;YACLI,iBAAiBO,CAAAA;gBACfA,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAMC,OAAO;gBACb,OAAO;YACT;QACF;IACF,GAEA,uDAAuD;IACvD;QAACX;QAAQJ;KAAG;IAGdQ,OAAME,SAAS,CAAC;QACdJ,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAeU,kBAAkB,CAACb;IACpC,GAAG;QAACA;QAAiBG;KAAc;IAEnCE,OAAME,SAAS,CAAC;QACdJ,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAeW,iBAAiB,CAAChB;IACnC,GAAG;QAACK;QAAeL;KAAe;IAElCO,OAAME,SAAS,CAAC;QACdJ,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAeY,aAAa,CAAChB;IAC/B,GAAG;QAACA;QAAYI;KAAc;IAE9BE,OAAME,SAAS,CAAC;QACdJ,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAea,eAAe,CAACpB;IACjC,GAAG;QAACA;QAAeO;KAAc;IAEjC,OAAO;AACT"}
1
+ {"version":3,"sources":["GhostText.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport type { LexicalEditor, EditorState } from '@fluentui-copilot/text-editor';\nimport type { GhostTextProps } from '../../GhostText';\nimport { $createGhostTextNode } from '../../GhostText';\nimport { GhostTextNode } from './GhostText.node';\nimport { GhostTextPluginBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type GhostTextPluginProps = {\n id: string;\n $getGhostText: (\n editor: LexicalEditor,\n editorState: EditorState,\n prevEditorState: EditorState,\n ) => Promise<string | undefined>;\n ghostTextProps?: GhostTextProps;\n // Whether or not the ghost text should count as text inside the input for submitting and character count\n exposeText?: boolean;\n allowCompletion?: boolean;\n};\n\nexport function GhostTextPlugin(props: GhostTextPluginProps): JSX.Element | null {\n 'use no memo';\n\n const { $getGhostText, id, ghostTextProps, exposeText, allowCompletion } = props;\n const [editor] = useLexicalComposerContext();\n\n const [ghostTextBase, setGhostTextBase] = React.useState<GhostTextPluginBase<GhostTextProps> | null>(null);\n\n React.useEffect(\n () => {\n setGhostTextBase(\n new GhostTextPluginBase(\n editor,\n id,\n $getGhostText,\n GhostTextNode,\n $createGhostTextNode,\n ghostTextProps,\n exposeText,\n allowCompletion,\n ),\n );\n\n return () => {\n setGhostTextBase(prev => {\n prev?.cleanup();\n return null;\n });\n };\n },\n // We can update $getGhostText, $createGhostTextNode, ghostTextProps, exposeText, and allowCompletion without remounting\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [editor, id],\n );\n\n React.useEffect(() => {\n ghostTextBase?.setAllowCompletion(allowCompletion);\n }, [allowCompletion, ghostTextBase]);\n\n React.useEffect(() => {\n ghostTextBase?.setComponentProps(ghostTextProps);\n }, [ghostTextBase, ghostTextProps]);\n\n React.useEffect(() => {\n ghostTextBase?.setExposeText(exposeText);\n }, [exposeText, ghostTextBase]);\n\n React.useEffect(() => {\n ghostTextBase?.setGetGhostText($getGhostText);\n }, [$getGhostText, ghostTextBase]);\n\n return null;\n}\n"],"names":["GhostTextPlugin","props","$getGhostText","ghostTextBase","React","setGhostTextBase","useLexicalComposerContext","useState","useEffect","GhostTextPluginBase","editor","id","GhostTextNode","$createGhostTextNode","ghostTextProps","exposeText","allowCompletion","prev","setAllowCompletion","setExposeText"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBgBA;;;eAAAA;;;;iEArBO;iCACmB;2BAGL;+BACP;kCACM;AAe7B,SAASA,gBAAgBC,KAA2B;;UAIzD,EAEAC,aAAOC,EAEPC,EAAAA,gBAEIC,YAaA,iBACEA;kBAEE,GAAAC,IAAAA,0CAAO;0BACTD,iBAAA,GAAAD,OAAAG,QAAA,CAAA;WACFC,SAAA,CAAA;QACFH,iBACA,IAAAI,qCAAA,CAAAC,QAAAC,IAAAT,eAAAU,4BAAA,EAAAC,+BAAA,EAAAC,gBAAAC,YAAwHC;QACxH,OAAA;YACAX,iBAAAY,CAAAA;gBAACP,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAAA,OAAAA;gBAAQC,OAAAA;YAAG;QAGdP;+HAEG;2DAACY;;;QAAiBb;KAAAA;WAAcK,SAAA,CAAA;QAEnCJ,kBAAgB,QAAAD,kBAAA,KAAA,IAAA,KAAA,IAAAA,cAAAe,kBAAA,CAAAF;;;QACdb;KAAAA;WACCK,SAAA,CAAA;0BAACL,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAAA,iBAAAA,CAAAA;;;QAAeW;KAAAA;WAAeN,SAAA,CAAA;QAElCJ,kBAAgB,QAAAD,kBAAA,KAAA,IAAA,KAAA,IAAAA,cAAAgB,aAAA,CAAAJ;;;QACdZ;KAAAA;WACCK,SAAA,CAAA;0BAACO,QAAAA,kBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,cAAAA,eAAAA,CAAAA;;;QAAYZ;KAAAA;WAAc;uCAG5BA"}
@@ -85,4 +85,4 @@ function $createGhostTextNode(id, content, exposeText, componentProps) {
85
85
  }
86
86
  function $isGhostTextNode(node) {
87
87
  return node instanceof GhostTextNode;
88
- }
88
+ } //# sourceMappingURL=GhostText.node.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["GhostText.node.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { DecoratorNode } from '@fluentui-copilot/text-editor';\nimport type { EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from '@fluentui-copilot/text-editor';\nimport type { GhostTextProps } from '../../components/GhostText/GhostText.types';\nimport { GhostText } from '../../components/GhostText/GhostText';\n\nexport type SerializedGhostTextNode = Spread<\n {\n content: string;\n id: string;\n componentProps?: GhostTextProps;\n exposeText?: boolean;\n },\n SerializedLexicalNode\n>;\n\nexport class GhostTextNode extends DecoratorNode<JSX.Element | null> {\n __content: string;\n __id: string;\n __allowCommitting?: boolean;\n __componentProps?: GhostTextProps;\n __exposeText?: boolean;\n\n static clone(node: GhostTextNode): GhostTextNode {\n return new GhostTextNode(node.__id, node.__content, node.__exposeText, node.__componentProps, node.__key);\n }\n\n static getType(): 'ghosttext' {\n return 'ghosttext';\n }\n\n static importJSON(serializedNode: SerializedGhostTextNode): GhostTextNode {\n const node = $createGhostTextNode(\n serializedNode.id,\n serializedNode.content,\n serializedNode.exposeText,\n serializedNode.componentProps,\n );\n return node;\n }\n\n exportJSON(): SerializedGhostTextNode {\n return {\n type: 'ghosttext',\n id: this.__id,\n content: this.__content,\n componentProps: this.__componentProps,\n exposeText: this.__exposeText,\n version: 1,\n };\n }\n\n constructor(id: string, content: string, exposeText?: boolean, componentProps?: GhostTextProps, key?: NodeKey) {\n super(key);\n this.__id = id;\n this.__content = content;\n this.__exposeText = exposeText;\n this.__componentProps = componentProps;\n }\n\n isInline() {\n return true;\n }\n\n isIsolated() {\n return true;\n }\n\n getTextContent(): string {\n return this.__exposeText ? this.__content : '';\n }\n\n updateDOM(prevNode: unknown, dom: HTMLElement, config: EditorConfig): boolean {\n return false;\n }\n\n createDOM(config: EditorConfig): HTMLElement {\n // eslint-disable-next-line no-restricted-globals\n return document.createElement('span');\n }\n\n decorate(): JSX.Element | null {\n return (\n <GhostText nodeKey={this.getKey()} {...this.__componentProps}>\n {this.__content}\n </GhostText>\n );\n }\n}\n\nexport function $createGhostTextNode(\n id: string,\n content: string,\n exposeText?: boolean,\n componentProps?: GhostTextProps,\n): GhostTextNode {\n return new GhostTextNode(id, content, exposeText, componentProps);\n}\n\nexport function $isGhostTextNode(node: LexicalNode | null | undefined): node is GhostTextNode {\n return node instanceof GhostTextNode;\n}\n"],"names":["$createGhostTextNode","$isGhostTextNode","GhostTextNode","DecoratorNode","clone","node","__id","__content","__exposeText","__componentProps","__key","getType","importJSON","serializedNode","id","content","exposeText","componentProps","exportJSON","type","version","isInline","isIsolated","getTextContent","updateDOM","prevNode","dom","config","createDOM","document","createElement","decorate","React","GhostText","nodeKey","getKey","constructor","key","__allowCommitting"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IA2FgBA,oBAAAA;eAAAA;;IASAC,gBAAAA;eAAAA;;IAnFHC,aAAAA;eAAAA;;;;;iEAjBU;4BAEO;2BAGJ;AAYnB,MAAMA,sBAAsBC,yBAAAA;IAOjC,OAAOC,MAAMC,IAAmB,EAAiB;QAC/C,OAAO,IAAIH,cAAcG,KAAKC,IAAI,EAAED,KAAKE,SAAS,EAAEF,KAAKG,YAAY,EAAEH,KAAKI,gBAAgB,EAAEJ,KAAKK,KAAK;IAC1G;IAEA,OAAOC,UAAuB;QAC5B,OAAO;IACT;IAEA,OAAOC,WAAWC,cAAuC,EAAiB;QACxE,MAAMR,OAAOL,qBACXa,eAAeC,EAAE,EACjBD,eAAeE,OAAO,EACtBF,eAAeG,UAAU,EACzBH,eAAeI,cAAc;QAE/B,OAAOZ;IACT;IAEAa,aAAsC;QACpC,OAAO;YACLC,MAAM;YACNL,IAAI,IAAI,CAACR,IAAI;YACbS,SAAS,IAAI,CAACR,SAAS;YACvBU,gBAAgB,IAAI,CAACR,gBAAgB;YACrCO,YAAY,IAAI,CAACR,YAAY;YAC7BY,SAAS;QACX;IACF;IAUAC,WAAW;QACT,OAAO;IACT;IAEAC,aAAa;QACX,OAAO;IACT;IAEAC,iBAAyB;QACvB,OAAO,IAAI,CAACf,YAAY,GAAG,IAAI,CAACD,SAAS,GAAG;IAC9C;IAEAiB,UAAUC,QAAiB,EAAEC,GAAgB,EAAEC,MAAoB,EAAW;QAC5E,OAAO;IACT;IAEAC,UAAUD,MAAoB,EAAe;QAC3C,iDAAiD;QACjD,OAAOE,SAASC,aAAa,CAAC;IAChC;IAEAC,WAA+B;QAC7B,OAAA,WAAA,GACEC,OAAAF,aAAA,CAACG,oBAAAA,EAAAA;YAAUC,SAAS,IAAI,CAACC,MAAM;YAAK,GAAG,IAAI,CAAC1B,gBAAgB;WACzD,IAAI,CAACF,SAAS;IAGrB;IAnCA6B,YAAYtB,EAAU,EAAEC,OAAe,EAAEC,UAAoB,EAAEC,cAA+B,EAAEoB,GAAa,CAAE;QAC7G,KAAK,CAACA;QApCR9B,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,aAAAA,KAAAA;QACAD,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,QAAAA,KAAAA;QACAgC,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,qBAAAA,KAAAA;QACA7B,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,oBAAAA,KAAAA;QACAD,IAAAA,kBAAAA,EAAAA,IAAAA,EAAAA,gBAAAA,KAAAA;QAiCE,IAAI,CAACF,IAAI,GAAGQ;QACZ,IAAI,CAACP,SAAS,GAAGQ;QACjB,IAAI,CAACP,YAAY,GAAGQ;QACpB,IAAI,CAACP,gBAAgB,GAAGQ;IAC1B;AA8BF;AAEO,SAASjB,qBACdc,EAAU,EACVC,OAAe,EACfC,UAAoB,EACpBC,cAA+B;IAE/B,OAAO,IAAIf,cAAcY,IAAIC,SAASC,YAAYC;AACpD;AAEO,SAAShB,iBAAiBI,IAAoC;IACnE,OAAOA,gBAAgBH;AACzB"}
1
+ {"version":3,"sources":["GhostText.node.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { DecoratorNode } from '@fluentui-copilot/text-editor';\nimport type { EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from '@fluentui-copilot/text-editor';\nimport type { GhostTextProps } from '../../components/GhostText/GhostText.types';\nimport { GhostText } from '../../components/GhostText/GhostText';\n\nexport type SerializedGhostTextNode = Spread<\n {\n content: string;\n id: string;\n componentProps?: GhostTextProps;\n exposeText?: boolean;\n },\n SerializedLexicalNode\n>;\n\nexport class GhostTextNode extends DecoratorNode<JSX.Element | null> {\n __content: string;\n __id: string;\n __allowCommitting?: boolean;\n __componentProps?: GhostTextProps;\n __exposeText?: boolean;\n\n static clone(node: GhostTextNode): GhostTextNode {\n return new GhostTextNode(node.__id, node.__content, node.__exposeText, node.__componentProps, node.__key);\n }\n\n static getType(): 'ghosttext' {\n return 'ghosttext';\n }\n\n static importJSON(serializedNode: SerializedGhostTextNode): GhostTextNode {\n const node = $createGhostTextNode(\n serializedNode.id,\n serializedNode.content,\n serializedNode.exposeText,\n serializedNode.componentProps,\n );\n return node;\n }\n\n exportJSON(): SerializedGhostTextNode {\n return {\n type: 'ghosttext',\n id: this.__id,\n content: this.__content,\n componentProps: this.__componentProps,\n exposeText: this.__exposeText,\n version: 1,\n };\n }\n\n constructor(id: string, content: string, exposeText?: boolean, componentProps?: GhostTextProps, key?: NodeKey) {\n super(key);\n this.__id = id;\n this.__content = content;\n this.__exposeText = exposeText;\n this.__componentProps = componentProps;\n }\n\n isInline() {\n return true;\n }\n\n isIsolated() {\n return true;\n }\n\n getTextContent(): string {\n return this.__exposeText ? this.__content : '';\n }\n\n updateDOM(prevNode: unknown, dom: HTMLElement, config: EditorConfig): boolean {\n return false;\n }\n\n createDOM(config: EditorConfig): HTMLElement {\n // eslint-disable-next-line no-restricted-globals\n return document.createElement('span');\n }\n\n decorate(): JSX.Element | null {\n return (\n <GhostText nodeKey={this.getKey()} {...this.__componentProps}>\n {this.__content}\n </GhostText>\n );\n }\n}\n\nexport function $createGhostTextNode(\n id: string,\n content: string,\n exposeText?: boolean,\n componentProps?: GhostTextProps,\n): GhostTextNode {\n return new GhostTextNode(id, content, exposeText, componentProps);\n}\n\nexport function $isGhostTextNode(node: LexicalNode | null | undefined): node is GhostTextNode {\n return node instanceof GhostTextNode;\n}\n"],"names":["$createGhostTextNode","$isGhostTextNode","GhostTextNode","DecoratorNode","clone","node","__id","__content","__exposeText","__componentProps","__key","getType","importJSON","serializedNode","id","content","exposeText","componentProps","exportJSON","type","version","isInline","isIsolated","getTextContent","updateDOM","prevNode","dom","config","createDOM","document","createElement","decorate","React","GhostText","nodeKey","getKey","constructor","key","__allowCommitting"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IA2FgBA,oBAAAA;eAAAA;;IASAC,gBAAAA;eAAAA;;IAnFHC,aAAAA;eAAAA;;;;;iEAjBU;4BAEO;2BAGJ;AAYnB,MAAMA,sBAAsBC,yBAAAA;WAOjCC,MAAOA,IAAMC,EAAmB;eAC9B,IAAOH,cAAIA,KAAcG,IAAKC,EAAAA,KAAMD,SAAKE,EAAAA,KAAWF,YAAKG,EAAAA,KAAcH,gBAAKI,EAAAA,KAAkBJ,KAAKK;;WAGrGC,UAAOA;eACL;;WAGFC,WAAOA,cAAWC,EAAuC;cACvDR,OAAMA,qBAAOL,eACXa,EAAAA,EAAeC,eACfD,OAAeE,EAAAA,eACfF,UAAeG,EAAAA,eACfH,cAAeI;eAEjBZ;;iBAGFa;eACE;kBACEC;oBACAL,CAAAA,IAAI;qBACJC,IAAAA,CAAAA,SAAcR;4BACdU,IAAAA,CAAAA,gBAAqBR;wBACrBO,IAAAA,CAAAA,YAAiBR;qBACjBY;;;eAYJC;eACE;;iBAGFC;eACE;;qBAGFC;eACE,IAAO,CAAAf,YAAKA,GAAAA,IAAe,CAAAD,SAAKA,GAAAA;;cAGlCiB,QAAUC,EAAiBC,GAAEA,EAAgBC,MAAEA,EAAoB;eACjE;;cAGFC,MAAUD,EAAoB;yDAC5B;eACAE,SAAOA,aAASC,CAAAA;;eAGlBC;eACE,WAAA,GAAAC,OACEF,aAAA,CAAAG,oBAACA,EAAAA;qBAAUC,IAAAA,CAAAA,MAAcC;mBAAW,CAAA1B,gBAAQA;eACzC,CAAAF,SAAKA;;gBAhCZ6B,EAAYtB,EAAUC,OAAEA,EAAeC,UAAEA,EAAoBC,cAAEA,EAA+BoB,GAAEA,CAAa;aAC3G,CAAAA;8BApCF9B,EAAAA,IAAAA,EAAAA,aAAAA,KAAAA;8BACAD,EAAAA,IAAAA,EAAAA,QAAAA,KAAAA;8BACAgC,EAAAA,IAAAA,EAAAA,qBAAAA,KAAAA;8BACA7B,EAAAA,IAAAA,EAAAA,oBAAAA,KAAAA;8BACAD,EAAAA,IAAAA,EAAAA,gBAAAA,KAAAA;YAiCE,CAAAF,IAAKA,GAAAA;YACL,CAAAC,SAAKA,GAAAA;YACL,CAAAC,YAAKA,GAAAA;YACL,CAAAC,gBAAKA,GAAAA;;AA+BT;AAEO,SAAST,qBACdc,EAAU,EACVC,OAAe,EACfC,UAAoB,EACpBC,cAA+B;WAE/B,IAAOf,cAAIA,IAAcY,SAAIC,YAASC;AACxC;AAEO,SAASf,iBAAiBI,IAAoC;WACnEA,gBAAOA;AACT"}
@@ -24,3 +24,4 @@ _export(exports, {
24
24
  });
25
25
  const _GhostText = require("./GhostText");
26
26
  const _GhostTextnode = require("./GhostText.node");
27
+ //# sourceMappingURL=index.js.map
@@ -18,4 +18,4 @@ const ImperativeControlPlugin = /*#__PURE__*/ _react.forwardRef((_props, ref)=>{
18
18
  editor
19
19
  ]);
20
20
  return null;
21
- });
21
+ }); //# sourceMappingURL=ImperativeControl.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ImperativeControl.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { IImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { ImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\n\nexport type ImperativeControlPluginRef = IImperativeControlBase;\nexport type ImperativeControlPluginProps = {};\n\nexport const ImperativeControlPlugin = React.forwardRef<ImperativeControlPluginRef, ImperativeControlPluginProps>(\n (_props, ref) => {\n const [editor] = useLexicalComposerContext();\n\n React.useImperativeHandle(ref, () => new ImperativeControlBase(editor), [editor]);\n\n return null;\n },\n);\n"],"names":["ImperativeControlPlugin","React","forwardRef","_props","ref","editor","useLexicalComposerContext","useImperativeHandle","ImperativeControlBase"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCAEe;iCACI;AAKnC,MAAMA,0BAAAA,WAAAA,GAA0BC,OAAMC,UAAU,CACrD,CAACC,QAAQC;IACP,MAAM,CAACC,OAAO,GAAGC,IAAAA,0CAAAA;IAEjBL,OAAMM,mBAAmB,CAACH,KAAK,IAAM,IAAII,uCAAAA,CAAsBH,SAAS;QAACA;KAAO;IAEhF,OAAO;AACT"}
1
+ {"version":3,"sources":["ImperativeControl.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { IImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { ImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\n\nexport type ImperativeControlPluginRef = IImperativeControlBase;\nexport type ImperativeControlPluginProps = {};\n\nexport const ImperativeControlPlugin = React.forwardRef<ImperativeControlPluginRef, ImperativeControlPluginProps>(\n (_props, ref) => {\n const [editor] = useLexicalComposerContext();\n\n React.useImperativeHandle(ref, () => new ImperativeControlBase(editor), [editor]);\n\n return null;\n },\n);\n"],"names":["ImperativeControlPlugin","React","forwardRef","_props","editor","useLexicalComposerContext","useImperativeHandle","ref","ImperativeControlBase"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAQaA;;;eAAAA;;;;iEARU;kCAEe;iCACI;AAKnC,MAAMA,0BAAAA,WAAAA,GAAAA,OAA0BC,UAAMC,CAAU,CACrDC,QAACA;UACC,CAAAC,OAAOA,GAAOC,IAAAA,0CAAGA;WAEjBJ,mBAAMK,CAAAA,KAAoBC,IAAW,IAAIC,uCAAAA,CAAsBJ,SAAS;QAAAA;KAAA;WAACA;iDAElE"}
@@ -9,3 +9,4 @@ Object.defineProperty(exports, "ImperativeControlPlugin", {
9
9
  }
10
10
  });
11
11
  const _ImperativeControl = require("./ImperativeControl");
12
+ //# sourceMappingURL=index.js.map
@@ -22,4 +22,4 @@ const ManualGhostTextPlugin = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
22
22
  ]);
23
23
  return null;
24
24
  });
25
- ManualGhostTextPlugin.displayName = 'ManualGhostTextPlugin';
25
+ ManualGhostTextPlugin.displayName = 'ManualGhostTextPlugin'; //# sourceMappingURL=ManualGhostText.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ManualGhostText.ts"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport type { GhostTextProps } from '../../GhostText';\nimport { $createGhostTextNode, $isGhostTextNode } from '../../GhostText';\nimport type { IManualGhostTextBase } from '@fluentui-copilot/chat-input-plugins';\nimport { ManualGhostTextBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type ManualGhostTextProps = {\n id: string;\n};\n\nexport type ManualGhostTextRef = IManualGhostTextBase<GhostTextProps>;\n\nexport const ManualGhostTextPlugin = React.forwardRef<ManualGhostTextRef, ManualGhostTextProps>((props, ref) => {\n const { id } = props;\n const [editor] = useLexicalComposerContext();\n\n React.useImperativeHandle<ManualGhostTextRef, ManualGhostTextRef>(\n ref,\n () => new ManualGhostTextBase(editor, id, $isGhostTextNode, $createGhostTextNode),\n [editor, id],\n );\n\n return null;\n});\n\nManualGhostTextPlugin.displayName = 'ManualGhostTextPlugin';\n"],"names":["ManualGhostTextPlugin","React","forwardRef","props","ref","id","editor","useLexicalComposerContext","useImperativeHandle","ManualGhostTextBase","$isGhostTextNode","$createGhostTextNode","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAaaA;;;eAAAA;;;;iEAbU;iCACmB;2BAEa;kCAEnB;AAQ7B,MAAMA,sCAAwBC,OAAMC,UAAU,CAA2C,CAACC,OAAOC;IACtG,MAAM,EAAEC,EAAE,EAAE,GAAGF;IACf,MAAM,CAACG,OAAO,GAAGC,IAAAA,0CAAAA;IAEjBN,OAAMO,mBAAmB,CACvBJ,KACA,IAAM,IAAIK,qCAAAA,CAAoBH,QAAQD,IAAIK,2BAAAA,EAAkBC,+BAAAA,GAC5D;QAACL;QAAQD;KAAG;IAGd,OAAO;AACT;AAEAL,sBAAsBY,WAAW,GAAG"}
1
+ {"version":3,"sources":["ManualGhostText.ts"],"sourcesContent":["import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport type { GhostTextProps } from '../../GhostText';\nimport { $createGhostTextNode, $isGhostTextNode } from '../../GhostText';\nimport type { IManualGhostTextBase } from '@fluentui-copilot/chat-input-plugins';\nimport { ManualGhostTextBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type ManualGhostTextProps = {\n id: string;\n};\n\nexport type ManualGhostTextRef = IManualGhostTextBase<GhostTextProps>;\n\nexport const ManualGhostTextPlugin = React.forwardRef<ManualGhostTextRef, ManualGhostTextProps>((props, ref) => {\n const { id } = props;\n const [editor] = useLexicalComposerContext();\n\n React.useImperativeHandle<ManualGhostTextRef, ManualGhostTextRef>(\n ref,\n () => new ManualGhostTextBase(editor, id, $isGhostTextNode, $createGhostTextNode),\n [editor, id],\n );\n\n return null;\n});\n\nManualGhostTextPlugin.displayName = 'ManualGhostTextPlugin';\n"],"names":["ManualGhostTextPlugin","React","forwardRef","props","ref","id","editor","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAaaA;;;eAAAA;;;;iEAbU;iCACmB;2BAEa;kCAEnB;AAQ7B,MAAMA,sCAAwBC,OAAMC,UAAU,CAA2C,CAACC,OAAOC;UACtG,EACAC,EAAA,KAEAJ;UAGGK,CAAAA,OAAAA,GAAAA,IAAAA,0CAAAA;WAAQD,mBAAAA,CAAAA,KAAAA,IAAAA,IAAAA,qCAAAA,CAAAA,QAAAA,IAAAA,2BAAAA,EAAAA,+BAAAA,GAAAA;QAAAA;QAAAA;KAAAA;WAAG;;AAIhBL,sBAAGO,WAAA,GAAA,yBAEHP,2CAAoC"}
@@ -9,3 +9,4 @@ Object.defineProperty(exports, "ManualGhostTextPlugin", {
9
9
  }
10
10
  });
11
11
  const _ManualGhostText = require("./ManualGhostText");
12
+ //# sourceMappingURL=index.js.map
@@ -27,4 +27,4 @@ const PasteUnfurlingPlugin = (props)=>{
27
27
  rest
28
28
  ]);
29
29
  return null;
30
- };
30
+ }; //# sourceMappingURL=PasteUnfurling.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["PasteUnfurling.ts"],"sourcesContent":["import * as React from 'react';\nimport { registerPasteUnfurlingPlugin, type PasteUnfurlingPluginBaseProps } from '@fluentui-copilot/chat-input-plugins';\nimport { $createChatInputEntityNode, type ChatInputEntityProps } from '../../ChatInputEntity';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\n\nexport type PasteUnfurlingPluginProps<ExtraDataType> = Omit<\n PasteUnfurlingPluginBaseProps<ExtraDataType, ChatInputEntityProps>,\n '$createEntityNode'\n> &\n Pick<Partial<PasteUnfurlingPluginBaseProps<ExtraDataType, ChatInputEntityProps>>, '$createEntityNode'>;\n\nexport const PasteUnfurlingPlugin = <ExtraDataType>(props: PasteUnfurlingPluginProps<ExtraDataType>) => {\n const { $createEntityNode = $createChatInputEntityNode, ...rest } = props;\n\n const [editor] = useLexicalComposerContext();\n\n React.useEffect(() => {\n return registerPasteUnfurlingPlugin(editor, { ...rest, $createEntityNode });\n }, [$createEntityNode, editor, rest]);\n\n return null;\n};\n"],"names":["PasteUnfurlingPlugin","props","$createEntityNode","$createChatInputEntityNode","rest","editor","useLexicalComposerContext","React","useEffect","registerPasteUnfurlingPlugin"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;kCAC0D;iCACX;iCAC5B;AAQnC,MAAMA,uBAAuB,CAAgBC;IAClD,MAAM,EAAEC,oBAAoBC,2CAA0B,EAAE,GAAGC,MAAM,GAAGH;IAEpE,MAAM,CAACI,OAAO,GAAGC,IAAAA,0CAAAA;IAEjBC,OAAMC,SAAS,CAAC;QACd,OAAOC,IAAAA,8CAAAA,EAA6BJ,QAAQ;YAAE,GAAGD,IAAI;YAAEF;QAAkB;IAC3E,GAAG;QAACA;QAAmBG;QAAQD;KAAK;IAEpC,OAAO;AACT"}
1
+ {"version":3,"sources":["PasteUnfurling.ts"],"sourcesContent":["import * as React from 'react';\nimport { registerPasteUnfurlingPlugin, type PasteUnfurlingPluginBaseProps } from '@fluentui-copilot/chat-input-plugins';\nimport { $createChatInputEntityNode, type ChatInputEntityProps } from '../../ChatInputEntity';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\n\nexport type PasteUnfurlingPluginProps<ExtraDataType> = Omit<\n PasteUnfurlingPluginBaseProps<ExtraDataType, ChatInputEntityProps>,\n '$createEntityNode'\n> &\n Pick<Partial<PasteUnfurlingPluginBaseProps<ExtraDataType, ChatInputEntityProps>>, '$createEntityNode'>;\n\nexport const PasteUnfurlingPlugin = <ExtraDataType>(props: PasteUnfurlingPluginProps<ExtraDataType>) => {\n const { $createEntityNode = $createChatInputEntityNode, ...rest } = props;\n\n const [editor] = useLexicalComposerContext();\n\n React.useEffect(() => {\n return registerPasteUnfurlingPlugin(editor, { ...rest, $createEntityNode });\n }, [$createEntityNode, editor, rest]);\n\n return null;\n};\n"],"names":["PasteUnfurlingPlugin","props","$createEntityNode","useLexicalComposerContext","React","rest","registerPasteUnfurlingPlugin","editor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAWaA;;;eAAAA;;;;iEAXU;kCAC0D;iCACX;iCAC5B;AAQnC,MAAMA,uBAAuBC,CAAAA;UAClC,EAEAC,oBAAiBC,2CAAAA,EAEjBC,GAAAA;kBACmDC,GAAIF,IAAAA,0CAAA;oBAAED,CAAAA;eAAkBI,IAAAA,8CAAA,EAAAC,QAAA;YAC3E,GAAGF,IAAA;;;;;QAA4BA;QAAAA;KAAAA;WAAK;GAGtC,0CAAE"}
@@ -9,3 +9,4 @@ Object.defineProperty(exports, "PasteUnfurlingPlugin", {
9
9
  }
10
10
  });
11
11
  const _PasteUnfurling = require("./PasteUnfurling");
12
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-copilot/react-chat-input-plugins",
3
- "version": "0.4.10-hotfix.1",
3
+ "version": "0.4.10-hotfix.2",
4
4
  "description": "A Fluent AI package for React-based ChatInput plugins.",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -12,10 +12,10 @@
12
12
  },
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@fluentui-copilot/chat-input-plugins": "0.4.2-hotfix.2",
16
- "@fluentui-copilot/react-text-editor": "0.4.1-hotfix.2",
17
- "@fluentui-copilot/text-editor": "0.3.1-hotfix.2",
18
- "@fluentui-copilot/tokens": "0.3.11-hotfix.1",
15
+ "@fluentui-copilot/chat-input-plugins": "0.4.2-hotfix.3",
16
+ "@fluentui-copilot/react-text-editor": "0.4.1-hotfix.3",
17
+ "@fluentui-copilot/text-editor": "0.3.1-hotfix.3",
18
+ "@fluentui-copilot/tokens": "0.3.11-hotfix.2",
19
19
  "@swc/helpers": "^0.5.1"
20
20
  },
21
21
  "peerDependencies": {