@fluentui-copilot/react-chat-input-plugins 0.4.10 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +11 -2
- package/dist/index.d.ts +0 -1
- package/lib/plugins/BasicFunctionality/BasicFunctionality.js +0 -11
- package/lib/plugins/BasicFunctionality/BasicFunctionality.js.map +1 -1
- package/lib-commonjs/plugins/BasicFunctionality/BasicFunctionality.js +1 -15
- package/lib-commonjs/plugins/BasicFunctionality/BasicFunctionality.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-copilot/react-chat-input-plugins",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Wed, 28 May 2025 23:41:19 GMT",
|
|
6
|
+
"tag": "@fluentui-copilot/react-chat-input-plugins_v0.5.0",
|
|
7
|
+
"version": "0.5.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "owcampbe@microsoft.com",
|
|
12
|
+
"package": "@fluentui-copilot/react-chat-input-plugins",
|
|
13
|
+
"commit": "914b30d1dd5b9e19a2a156578894a7b8163f9caf",
|
|
14
|
+
"comment": "feat: Remove defaultValue handling from BasicFunctionalityPlugin."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Mon, 19 May 2025 18:04:27 GMT",
|
|
6
21
|
"tag": "@fluentui-copilot/react-chat-input-plugins_v0.4.10",
|
|
7
22
|
"version": "0.4.10",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
# Change Log - @fluentui-copilot/react-chat-input-plugins
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 28 May 2025 23:41:19 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [0.5.0](https://github.com/microsoft/fluentai/tree/@fluentui-copilot/react-chat-input-plugins_v0.5.0)
|
|
8
|
+
|
|
9
|
+
Wed, 28 May 2025 23:41:19 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentai/compare/@fluentui-copilot/react-chat-input-plugins_v0.4.10..@fluentui-copilot/react-chat-input-plugins_v0.5.0)
|
|
11
|
+
|
|
12
|
+
### Minor changes
|
|
13
|
+
|
|
14
|
+
- feat: Remove defaultValue handling from BasicFunctionalityPlugin. ([PR #3032](https://github.com/microsoft/fluentai/pull/3032) by owcampbe@microsoft.com)
|
|
15
|
+
|
|
7
16
|
## [0.4.10](https://github.com/microsoft/fluentai/tree/@fluentui-copilot/react-chat-input-plugins_v0.4.10)
|
|
8
17
|
|
|
9
|
-
Mon, 19 May 2025 18:
|
|
18
|
+
Mon, 19 May 2025 18:04:27 GMT
|
|
10
19
|
[Compare changes](https://github.com/microsoft/fluentai/compare/@fluentui-copilot/react-chat-input-plugins_v0.4.9..@fluentui-copilot/react-chat-input-plugins_v0.4.10)
|
|
11
20
|
|
|
12
21
|
### Patches
|
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,6 @@ export declare function $isGhostTextNode(node: LexicalNode | null | undefined):
|
|
|
33
33
|
export declare const BasicFunctionalityPlugin: React_2.ForwardRefExoticComponent<BasicFunctionalityPluginProps & React_2.RefAttributes<BasicFunctionalityPluginRef>>;
|
|
34
34
|
|
|
35
35
|
export declare type BasicFunctionalityPluginProps = {
|
|
36
|
-
defaultValue?: string;
|
|
37
36
|
trimWhitespace?: boolean;
|
|
38
37
|
onCountChanged?: (count: number) => void;
|
|
39
38
|
onContentChange?: (value: string) => void;
|
|
@@ -4,7 +4,6 @@ import { useIsomorphicLayoutEffect } from '@fluentui/react-components';
|
|
|
4
4
|
import { BasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';
|
|
5
5
|
export const BasicFunctionalityPlugin = React.forwardRef((props, ref) => {
|
|
6
6
|
const {
|
|
7
|
-
defaultValue,
|
|
8
7
|
trimWhitespace,
|
|
9
8
|
onCountChanged,
|
|
10
9
|
onContentChange,
|
|
@@ -27,16 +26,6 @@ export const BasicFunctionalityPlugin = React.forwardRef((props, ref) => {
|
|
|
27
26
|
basicFunctionalityImpl === null || basicFunctionalityImpl === void 0 ? void 0 : basicFunctionalityImpl.setIsDisabled(isDisabled);
|
|
28
27
|
}
|
|
29
28
|
}), [basicFunctionalityImpl]);
|
|
30
|
-
const setDefaultValue = React.useRef(false);
|
|
31
|
-
// useIsomorphicLayoutEffect is used to avoid flickering on first render
|
|
32
|
-
useIsomorphicLayoutEffect(() => {
|
|
33
|
-
if (basicFunctionalityImpl && !setDefaultValue.current) {
|
|
34
|
-
if (defaultValue) {
|
|
35
|
-
basicFunctionalityImpl.insertDefaultValue(defaultValue);
|
|
36
|
-
}
|
|
37
|
-
setDefaultValue.current = true;
|
|
38
|
-
}
|
|
39
|
-
}, [basicFunctionalityImpl, defaultValue, editor]);
|
|
40
29
|
React.useEffect(() => {
|
|
41
30
|
basicFunctionalityImpl === null || basicFunctionalityImpl === void 0 ? void 0 : basicFunctionalityImpl.activateContentCallbacks(onContentChange, onCountChanged);
|
|
42
31
|
return () => basicFunctionalityImpl === null || basicFunctionalityImpl === void 0 ? void 0 : basicFunctionalityImpl.deactivateContentCallbacks();
|
|
@@ -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
|
|
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 // 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 { 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 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":["React","useLexicalComposerContext","useIsomorphicLayoutEffect","BasicFunctionalityBase","BasicFunctionalityPlugin","forwardRef","props","ref","trimWhitespace","onCountChanged","onContentChange","onPaste","isSentinelNodeEnabled","editor","basicFunctionalityImpl","setBasicFunctionalityImpl","useState","prev","cleanup","useImperativeHandle","setIsDisabled","isDisabled","useEffect","activateContentCallbacks","deactivateContentCallbacks","activatePasteCallback","deactivatePasteCallback","activateTrimWhitespace","deactivateTrimWhitespace"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,SAASC,sBAAsB,QAAQ,uCAAuC;AAe9E,OAAO,MAAMC,2BAA2BJ,MAAMK,UAAU,CACtD,CAACC,OAAOC;IACN,MAAM,EAAEC,cAAc,EAAEC,cAAc,EAAEC,eAAe,EAAEC,OAAO,EAAEC,qBAAqB,EAAE,GAAGN;IAE5F,MAAM,CAACO,OAAO,GAAGZ;IAEjB,MAAM,CAACa,wBAAwBC,0BAA0B,GAAGf,MAAMgB,QAAQ,CAAiC;IAE3Gd,0BAA0B;QACxBa,0BAA0B,IAAIZ,uBAAuBU,QAAQD;QAE7D,OAAO;YACLG,0BAA0BE,CAAAA;gBACxBA,iBAAAA,2BAAAA,KAAMC,OAAO;gBACb,OAAO;YACT;QACF;IACF,GAAG;QAACL;QAAQD;KAAsB;IAElCZ,MAAMmB,mBAAmB,CACvBZ,KACA,IAAO,CAAA;YACLa,eAAcC,UAAmB;gBAC/BP,mCAAAA,6CAAAA,uBAAwBM,aAAa,CAACC;YACxC;QACF,CAAA,GACA;QAACP;KAAuB;IAG1Bd,MAAMsB,SAAS,CAAC;QACdR,mCAAAA,6CAAAA,uBAAwBS,wBAAwB,CAACb,iBAAiBD;QAClE,OAAO,IAAMK,mCAAAA,6CAAAA,uBAAwBU,0BAA0B;IACjE,GAAG;QAACV;QAAwBD;QAAQH;QAAiBD;KAAe;IAEpET,MAAMsB,SAAS,CAAC;QACd,IAAIX,SAAS;YACXG,mCAAAA,6CAAAA,uBAAwBW,qBAAqB,CAACd;QAChD;QACA,OAAO,IAAMG,mCAAAA,6CAAAA,uBAAwBY,uBAAuB;IAC9D,GAAG;QAACZ;QAAwBD;QAAQF;KAAQ;IAE5CX,MAAMsB,SAAS,CAAC;QACd,IAAId,gBAAgB;YAClBM,mCAAAA,6CAAAA,uBAAwBa,sBAAsB;QAChD;QACA,OAAO,IAAMb,mCAAAA,6CAAAA,uBAAwBc,wBAAwB;IAC/D,GAAG;QAACd;QAAwBD;QAAQL;KAAe;IAEnD,OAAO;AACT,GACA"}
|
|
@@ -14,7 +14,7 @@ const _reacttexteditor = require("@fluentui-copilot/react-text-editor");
|
|
|
14
14
|
const _reactcomponents = require("@fluentui/react-components");
|
|
15
15
|
const _chatinputplugins = require("@fluentui-copilot/chat-input-plugins");
|
|
16
16
|
const BasicFunctionalityPlugin = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
17
|
-
const {
|
|
17
|
+
const { trimWhitespace, onCountChanged, onContentChange, onPaste, isSentinelNodeEnabled } = props;
|
|
18
18
|
const [editor] = (0, _reacttexteditor.useLexicalComposerContext)();
|
|
19
19
|
const [basicFunctionalityImpl, setBasicFunctionalityImpl] = _react.useState(null);
|
|
20
20
|
(0, _reactcomponents.useIsomorphicLayoutEffect)(()=>{
|
|
@@ -36,20 +36,6 @@ const BasicFunctionalityPlugin = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
|
36
36
|
}), [
|
|
37
37
|
basicFunctionalityImpl
|
|
38
38
|
]);
|
|
39
|
-
const setDefaultValue = _react.useRef(false);
|
|
40
|
-
// useIsomorphicLayoutEffect is used to avoid flickering on first render
|
|
41
|
-
(0, _reactcomponents.useIsomorphicLayoutEffect)(()=>{
|
|
42
|
-
if (basicFunctionalityImpl && !setDefaultValue.current) {
|
|
43
|
-
if (defaultValue) {
|
|
44
|
-
basicFunctionalityImpl.insertDefaultValue(defaultValue);
|
|
45
|
-
}
|
|
46
|
-
setDefaultValue.current = true;
|
|
47
|
-
}
|
|
48
|
-
}, [
|
|
49
|
-
basicFunctionalityImpl,
|
|
50
|
-
defaultValue,
|
|
51
|
-
editor
|
|
52
|
-
]);
|
|
53
39
|
_react.useEffect(()=>{
|
|
54
40
|
basicFunctionalityImpl === null || basicFunctionalityImpl === void 0 ? void 0 : basicFunctionalityImpl.activateContentCallbacks(onContentChange, onCountChanged);
|
|
55
41
|
return ()=>basicFunctionalityImpl === null || basicFunctionalityImpl === void 0 ? void 0 : basicFunctionalityImpl.deactivateContentCallbacks();
|
|
@@ -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
|
|
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 // 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 { 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 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","trimWhitespace","onCountChanged","basicFunctionalityImpl","useIsomorphicLayoutEffect","setBasicFunctionalityImpl","prev","useState","BasicFunctionalityBase","editor","isSentinelNodeEnabled","isDisabled","deactivateContentCallbacks","onContentChange","useEffect","deactivatePasteCallback","onPaste"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAmBaA;;;eAAAA;;;;iEAnBU;iCACmB;iCACA;kCAEH;AAehC,MAAMA,yCAA2BC,OAAMC,UAAU,CACtD,CAACC,OAAOC;UACN,EAEAC,cAAc,EAEdC,cAAOC,EAEPC,eAAAA,SACEC,uBAEO;kBAEHC,GAAAA,IAAAA,0CAAAA;mCACOD,0BAAA,GAAAR,OAAAU,QAAA,CAAA;kDACT,EAAA;kCACF,IAAAC,wCAAA,CAAAC,QAAAC;QACF,OAAG;sCAACD,CAAAA;gBAAQC,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,KAAAA,IAAAA,KAAAA,OAAAA;gBAAsB,OAAA;YAElCb;;;;;KAIMM;8BACF,CAAAH,KAAA,IAAA,CAAA;2BAEFW,UAAA;2CAACR,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,aAAAA,CAAAA;;YAGHN;QAAAA;KAAgB;WACdM,SAAAA,CAAAA;mCACaA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,wBAAwBS,CAAAA,iBAA0BV;QACjE,OAAG,IAAAC,2BAAA,QAAAA,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAS,0BAAA;;;QAACT;QAAAA;QAAAA;KAAAA;WAAwBM,SAAAA,CAAAA;YAAQI,SAAAA;uCAAiBX,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,qBAAAA,CAAAA;;QAErDL,OAAMiB,IAAAA,2BAAU,QAAAX,2BAAA,KAAA,IAAA,KAAA,IAAAA,uBAAAY,uBAAA;;;QACDN;QAAAO;KAAA;oBACXb,CAAAA;YACFF,gBAAA;uCACaE,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,sBAAwBY;QACvC;eAAIZ,IAAAA,2BAAAA,QAAAA,2BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,uBAAAA,wBAAAA;;;QAAwBM;QAAAA;KAAAA;WAAQO;kDAEpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-copilot/react-chat-input-plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
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,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@fluentui-copilot/chat-input-plugins": "^0.
|
|
15
|
+
"@fluentui-copilot/chat-input-plugins": "^0.5.0",
|
|
16
16
|
"@fluentui-copilot/react-text-editor": "^0.4.1",
|
|
17
17
|
"@fluentui-copilot/text-editor": "^0.3.1",
|
|
18
18
|
"@fluentui-copilot/tokens": "^0.3.11",
|