m2m-components 3.1.4 → 3.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/feedback/index.js +4 -4
- package/feedback/index.js.map +1 -1
- package/package.json +17 -17
package/feedback/index.js
CHANGED
|
@@ -103,8 +103,8 @@ var FeedbackProviderModal = props => {
|
|
|
103
103
|
happend: "フィードバックの送信に失敗しました。"
|
|
104
104
|
},
|
|
105
105
|
onSuccess: () => {
|
|
106
|
-
var _props$datadogLogs, _props$datadogLogs$
|
|
107
|
-
(_props$datadogLogs = props.datadogLogs) === null || _props$datadogLogs === void 0
|
|
106
|
+
var _props$datadogLogs, _props$datadogLogs$in;
|
|
107
|
+
(_props$datadogLogs = props.datadogLogs) === null || _props$datadogLogs === void 0 || (_props$datadogLogs = _props$datadogLogs.logger) === null || _props$datadogLogs === void 0 || (_props$datadogLogs$in = _props$datadogLogs.info) === null || _props$datadogLogs$in === void 0 ? void 0 : _props$datadogLogs$in.call(_props$datadogLogs, "Feedback: ".concat(id, " by ").concat(props.userId), {
|
|
108
108
|
input
|
|
109
109
|
});
|
|
110
110
|
window.setTimeout(() => {
|
|
@@ -112,8 +112,8 @@ var FeedbackProviderModal = props => {
|
|
|
112
112
|
}, 2000);
|
|
113
113
|
},
|
|
114
114
|
onError: () => {
|
|
115
|
-
var _props$datadogLogs2, _props$datadogLogs2$
|
|
116
|
-
(_props$datadogLogs2 = props.datadogLogs) === null || _props$datadogLogs2 === void 0
|
|
115
|
+
var _props$datadogLogs2, _props$datadogLogs2$e;
|
|
116
|
+
(_props$datadogLogs2 = props.datadogLogs) === null || _props$datadogLogs2 === void 0 || (_props$datadogLogs2 = _props$datadogLogs2.logger) === null || _props$datadogLogs2 === void 0 || (_props$datadogLogs2$e = _props$datadogLogs2.error) === null || _props$datadogLogs2$e === void 0 ? void 0 : _props$datadogLogs2$e.call(_props$datadogLogs2, "Failed Feedback: ".concat(input.id, " by ").concat(input.userId), {
|
|
117
117
|
input,
|
|
118
118
|
error
|
|
119
119
|
});
|
package/feedback/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","Modal","Portal","Typography","useAlert","useModal","FeedbackIcon","MatsuriFormsQuestion","MatsuriFormsQuestionProvider","useMatsuriForms","SelectQuestion","MultipleTextQuestion","createContext","useContext","useState","getRandomId","jsx","_jsx","jsxs","_jsxs","createElement","_createElement","getFormId","globalThis","M2M_COMPONENTS_ENV","TextQuestionContext","TextQuestion","props","context","value","title","type","name","FeedbackProviderModal","questions","submit","dev","throwAlert","status","setStatus","id","_objectSpread","backdrop","width","maxWidth","header","variant","children","body","style","display","gap","color","as","onClick","_props$onClose","onClose","call","onSubmit","_ref","_asyncToGenerator","event","preventDefault","error","currentTarget","input","userId","userName","serviceName","url","window","location","href","ignoreSuccess","errorMessage","reason","action","happend","onSuccess","_props$datadogLogs","_props$datadogLogs$lo","_props$datadogLogs$lo2","datadogLogs","logger","info","concat","setTimeout","onError","_props$datadogLogs2","_props$datadogLogs2$l","_props$datadogLogs2$l2","_x","apply","arguments","Provider","renderSelect","renderMultilineText","renderText","map","question","key","disabled","fullWidth","float","undefined","FeedbackProvider","_ref2","modalProps","_objectWithoutProperties","_excluded","open","enableClickOutside","disableClose","position","bottom","right","icon","rounded"],"sources":["../src/feedback/index.tsx"],"sourcesContent":["import {\n Button,\n Modal,\n ModalProps,\n Portal,\n Typography,\n useAlert,\n useModal,\n} from \"matsuri-ui\";\nimport FeedbackIcon from \"@mui/icons-material/Feedback\";\nimport {\n MatsuriFormsQuestion,\n MatsuriFormsQuestionProvider,\n MatsuriFormsTextQuestionProps,\n useMatsuriForms,\n} from \"matsuri-forms-sdk\";\nimport { SelectQuestion } from \"./SelectQuestion\";\nimport { MultipleTextQuestion } from \"./MultipleTextQuestion\";\nimport { createContext, PropsWithChildren, useContext, useState } from \"react\";\nimport { getRandomId } from \"./getRandomId\";\nimport { type Logger } from \"@datadog/browser-logs\";\n\nconst getFormId = () => {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"01GWRQ1MRS7PE29XGRETFZ6D7Y\"\n : \"01GTBSYMGPMX91E96P007SXEMH\";\n};\n\ninterface TextQuestionContextValue {\n userId?: string;\n userName?: string;\n serviceName?: string;\n url?: string;\n id?: string;\n}\n\nconst TextQuestionContext = createContext<TextQuestionContextValue>({});\n\nconst TextQuestion = (props: MatsuriFormsTextQuestionProps) => {\n const context = useContext(TextQuestionContext);\n return (\n <input\n value={context[props.title as keyof TextQuestionContextValue]}\n type=\"hidden\"\n name={props.name}\n />\n );\n};\n\ninterface FeedbackProviderModalProps\n extends Partial<ModalProps>,\n FeedbackProviderProps {}\n\nconst FeedbackProviderModal = (props: FeedbackProviderModalProps) => {\n const { questions, submit } = useMatsuriForms(getFormId(), {\n dev: globalThis.M2M_COMPONENTS_ENV !== \"production\",\n });\n\n const { throwAlert } = useAlert();\n\n const [status, setStatus] = useState<\"started\" | \"sending\" | \"completed\">(\n \"started\"\n );\n\n const id = getRandomId();\n\n return (\n <Modal\n backdrop\n width={600}\n maxWidth={600}\n header={<Typography variant=\"h3\">フィードバックを送信</Typography>}\n body={\n status === \"completed\" ? (\n <div\n style={{\n display: \"grid\",\n gap: 32,\n }}\n >\n <Typography>\n レポートを送信しました。ありがとうございます。\n </Typography>\n <Typography color=\"textSecondary\" variant=\"caption\" as=\"p\">\n お送りいただいたフィードバックは、問題の解決とサービスの改善に役立てさせていただきます。\n </Typography>\n <Button\n color=\"primary\"\n variant=\"filled\"\n onClick={() => {\n props.onClose?.();\n }}\n >\n 閉じる\n </Button>\n </div>\n ) : (\n <form\n style={{\n display: \"grid\",\n gap: 24,\n }}\n onSubmit={async (event) => {\n event.preventDefault();\n setStatus(\"sending\");\n const { error } = await submit(event.currentTarget);\n\n /**\n * 以下、対応が行われるまでは取れる値だけ送る\n * https://github.com/matsuri-tech/matsuri-forms-manager-front/issues/265\n */\n const input = {\n id,\n userId: props.userId,\n userName: props.userName,\n serviceName: props.serviceName,\n url: window.location.href,\n };\n throwAlert(error, {\n ignoreSuccess: true,\n errorMessage: {\n reason: \"サーバー側のエラーの可能性があります。\",\n action:\n \"しばらく時間を空けて試すか、開発チームへお問い合わせください。\",\n happend: \"フィードバックの送信に失敗しました。\",\n },\n onSuccess: () => {\n props.datadogLogs?.logger?.info?.(\n `Feedback: ${id} by ${props.userId}`,\n {\n input,\n }\n );\n\n window.setTimeout(() => {\n setStatus(\"completed\");\n }, 2000);\n },\n onError: () => {\n props.datadogLogs?.logger?.error?.(\n `Failed Feedback: ${input.id} by ${input.userId}`,\n { input, error }\n );\n\n window.setTimeout(() => {\n setStatus(\"started\");\n }, 2000);\n },\n });\n }}\n >\n <TextQuestionContext.Provider\n value={{\n userId: props.userId,\n userName: props.userName,\n serviceName: props.serviceName,\n url: window.location.href,\n id,\n }}\n >\n <MatsuriFormsQuestionProvider\n renderSelect={SelectQuestion}\n renderMultilineText={MultipleTextQuestion}\n renderText={TextQuestion}\n >\n {questions.map((question) => {\n return (\n <MatsuriFormsQuestion {...question} key={question.id} />\n );\n })}\n </MatsuriFormsQuestionProvider>\n </TextQuestionContext.Provider>\n <div>\n <Button\n type=\"submit\"\n color=\"primary\"\n variant=\"filled\"\n disabled={status === \"sending\"}\n fullWidth\n >\n 送信\n </Button>\n <Typography\n variant=\"caption\"\n style={{\n float: \"right\",\n }}\n >\n {status === \"sending\" ? \"送信中...\" : undefined}\n \n </Typography>\n </div>\n </form>\n )\n }\n {...props}\n />\n );\n};\n\ninterface FeedbackProviderProps {\n userId?: string;\n userName?: string;\n serviceName: string;\n datadogLogs?: {\n logger: Logger;\n };\n}\n\nexport const FeedbackProvider = ({\n children,\n ...modalProps\n}: PropsWithChildren<FeedbackProviderProps>) => {\n const [open] = useModal(FeedbackProviderModal, {\n enableClickOutside: true,\n disableClose: false,\n });\n return (\n <div>\n {children}\n <Portal>\n <Button\n style={{\n position: \"fixed\",\n bottom: 16,\n right: 16,\n }}\n onClick={() => {\n open(modalProps);\n }}\n type=\"button\"\n icon={<FeedbackIcon />}\n color=\"secondary\"\n variant=\"filled\"\n rounded\n />\n </Portal>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","Modal","Portal","Typography","useAlert","useModal","FeedbackIcon","MatsuriFormsQuestion","MatsuriFormsQuestionProvider","useMatsuriForms","SelectQuestion","MultipleTextQuestion","createContext","useContext","useState","getRandomId","jsx","_jsx","jsxs","_jsxs","createElement","_createElement","getFormId","globalThis","M2M_COMPONENTS_ENV","TextQuestionContext","TextQuestion","props","context","value","title","type","name","FeedbackProviderModal","questions","submit","dev","throwAlert","status","setStatus","id","_objectSpread","backdrop","width","maxWidth","header","variant","children","body","style","display","gap","color","as","onClick","_props$onClose","onClose","call","onSubmit","_ref","_asyncToGenerator","event","preventDefault","error","currentTarget","input","userId","userName","serviceName","url","window","location","href","ignoreSuccess","errorMessage","reason","action","happend","onSuccess","_props$datadogLogs","_props$datadogLogs$in","datadogLogs","logger","info","concat","setTimeout","onError","_props$datadogLogs2","_props$datadogLogs2$e","_x","apply","arguments","Provider","renderSelect","renderMultilineText","renderText","map","question","key","disabled","fullWidth","float","undefined","FeedbackProvider","_ref2","modalProps","_objectWithoutProperties","_excluded","open","enableClickOutside","disableClose","position","bottom","right","icon","rounded"],"sources":["../src/feedback/index.tsx"],"sourcesContent":["import {\n Button,\n Modal,\n ModalProps,\n Portal,\n Typography,\n useAlert,\n useModal,\n} from \"matsuri-ui\";\nimport FeedbackIcon from \"@mui/icons-material/Feedback\";\nimport {\n MatsuriFormsQuestion,\n MatsuriFormsQuestionProvider,\n MatsuriFormsTextQuestionProps,\n useMatsuriForms,\n} from \"matsuri-forms-sdk\";\nimport { SelectQuestion } from \"./SelectQuestion\";\nimport { MultipleTextQuestion } from \"./MultipleTextQuestion\";\nimport { createContext, PropsWithChildren, useContext, useState } from \"react\";\nimport { getRandomId } from \"./getRandomId\";\nimport { type Logger } from \"@datadog/browser-logs\";\n\nconst getFormId = () => {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"01GWRQ1MRS7PE29XGRETFZ6D7Y\"\n : \"01GTBSYMGPMX91E96P007SXEMH\";\n};\n\ninterface TextQuestionContextValue {\n userId?: string;\n userName?: string;\n serviceName?: string;\n url?: string;\n id?: string;\n}\n\nconst TextQuestionContext = createContext<TextQuestionContextValue>({});\n\nconst TextQuestion = (props: MatsuriFormsTextQuestionProps) => {\n const context = useContext(TextQuestionContext);\n return (\n <input\n value={context[props.title as keyof TextQuestionContextValue]}\n type=\"hidden\"\n name={props.name}\n />\n );\n};\n\ninterface FeedbackProviderModalProps\n extends Partial<ModalProps>,\n FeedbackProviderProps {}\n\nconst FeedbackProviderModal = (props: FeedbackProviderModalProps) => {\n const { questions, submit } = useMatsuriForms(getFormId(), {\n dev: globalThis.M2M_COMPONENTS_ENV !== \"production\",\n });\n\n const { throwAlert } = useAlert();\n\n const [status, setStatus] = useState<\"started\" | \"sending\" | \"completed\">(\n \"started\"\n );\n\n const id = getRandomId();\n\n return (\n <Modal\n backdrop\n width={600}\n maxWidth={600}\n header={<Typography variant=\"h3\">フィードバックを送信</Typography>}\n body={\n status === \"completed\" ? (\n <div\n style={{\n display: \"grid\",\n gap: 32,\n }}\n >\n <Typography>\n レポートを送信しました。ありがとうございます。\n </Typography>\n <Typography color=\"textSecondary\" variant=\"caption\" as=\"p\">\n お送りいただいたフィードバックは、問題の解決とサービスの改善に役立てさせていただきます。\n </Typography>\n <Button\n color=\"primary\"\n variant=\"filled\"\n onClick={() => {\n props.onClose?.();\n }}\n >\n 閉じる\n </Button>\n </div>\n ) : (\n <form\n style={{\n display: \"grid\",\n gap: 24,\n }}\n onSubmit={async (event) => {\n event.preventDefault();\n setStatus(\"sending\");\n const { error } = await submit(event.currentTarget);\n\n /**\n * 以下、対応が行われるまでは取れる値だけ送る\n * https://github.com/matsuri-tech/matsuri-forms-manager-front/issues/265\n */\n const input = {\n id,\n userId: props.userId,\n userName: props.userName,\n serviceName: props.serviceName,\n url: window.location.href,\n };\n throwAlert(error, {\n ignoreSuccess: true,\n errorMessage: {\n reason: \"サーバー側のエラーの可能性があります。\",\n action:\n \"しばらく時間を空けて試すか、開発チームへお問い合わせください。\",\n happend: \"フィードバックの送信に失敗しました。\",\n },\n onSuccess: () => {\n props.datadogLogs?.logger?.info?.(\n `Feedback: ${id} by ${props.userId}`,\n {\n input,\n }\n );\n\n window.setTimeout(() => {\n setStatus(\"completed\");\n }, 2000);\n },\n onError: () => {\n props.datadogLogs?.logger?.error?.(\n `Failed Feedback: ${input.id} by ${input.userId}`,\n { input, error }\n );\n\n window.setTimeout(() => {\n setStatus(\"started\");\n }, 2000);\n },\n });\n }}\n >\n <TextQuestionContext.Provider\n value={{\n userId: props.userId,\n userName: props.userName,\n serviceName: props.serviceName,\n url: window.location.href,\n id,\n }}\n >\n <MatsuriFormsQuestionProvider\n renderSelect={SelectQuestion}\n renderMultilineText={MultipleTextQuestion}\n renderText={TextQuestion}\n >\n {questions.map((question) => {\n return (\n <MatsuriFormsQuestion {...question} key={question.id} />\n );\n })}\n </MatsuriFormsQuestionProvider>\n </TextQuestionContext.Provider>\n <div>\n <Button\n type=\"submit\"\n color=\"primary\"\n variant=\"filled\"\n disabled={status === \"sending\"}\n fullWidth\n >\n 送信\n </Button>\n <Typography\n variant=\"caption\"\n style={{\n float: \"right\",\n }}\n >\n {status === \"sending\" ? \"送信中...\" : undefined}\n \n </Typography>\n </div>\n </form>\n )\n }\n {...props}\n />\n );\n};\n\ninterface FeedbackProviderProps {\n userId?: string;\n userName?: string;\n serviceName: string;\n datadogLogs?: {\n logger: Logger;\n };\n}\n\nexport const FeedbackProvider = ({\n children,\n ...modalProps\n}: PropsWithChildren<FeedbackProviderProps>) => {\n const [open] = useModal(FeedbackProviderModal, {\n enableClickOutside: true,\n disableClose: false,\n });\n return (\n <div>\n {children}\n <Portal>\n <Button\n style={{\n position: \"fixed\",\n bottom: 16,\n right: 16,\n }}\n onClick={() => {\n open(modalProps);\n }}\n type=\"button\"\n icon={<FeedbackIcon />}\n color=\"secondary\"\n variant=\"filled\"\n rounded\n />\n </Portal>\n </div>\n );\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "m2m-components",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.6",
|
|
4
4
|
"main": "cjs/index.js",
|
|
5
5
|
"module": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -83,46 +83,46 @@
|
|
|
83
83
|
"test": "jest"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
|
-
"lit": "^2.7.
|
|
86
|
+
"lit": "^2.7.6",
|
|
87
87
|
"matsuri-forms-sdk": "^0.0.1"
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"matsuri-hooks": "^0.1.0",
|
|
91
|
-
"matsuri-ui": "^13.
|
|
91
|
+
"matsuri-ui": "^13.7.0",
|
|
92
92
|
"react": "^18.2.0"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@babel/cli": "^7.22.
|
|
96
|
-
"@babel/core": "^7.22.
|
|
95
|
+
"@babel/cli": "^7.22.6",
|
|
96
|
+
"@babel/core": "^7.22.8",
|
|
97
97
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
98
|
-
"@babel/plugin-proposal-decorators": "^7.22.
|
|
99
|
-
"@babel/preset-env": "^7.22.
|
|
98
|
+
"@babel/plugin-proposal-decorators": "^7.22.7",
|
|
99
|
+
"@babel/preset-env": "^7.22.7",
|
|
100
100
|
"@babel/preset-react": "^7.22.5",
|
|
101
101
|
"@babel/preset-typescript": "^7.22.5",
|
|
102
|
-
"@datadog/browser-logs": "^4.
|
|
103
|
-
"@mui/icons-material": "^5.
|
|
104
|
-
"@mui/material": "^5.13.
|
|
102
|
+
"@datadog/browser-logs": "^4.44.0",
|
|
103
|
+
"@mui/icons-material": "^5.13.7",
|
|
104
|
+
"@mui/material": "^5.13.7",
|
|
105
105
|
"@rollup/plugin-babel": "^5.3.1",
|
|
106
106
|
"@rollup/plugin-node-resolve": "^13.3.0",
|
|
107
107
|
"@rollup/plugin-typescript": "^8.5.0",
|
|
108
108
|
"@testing-library/jest-dom": "^5.16.5",
|
|
109
109
|
"@testing-library/react": "^13.4.0",
|
|
110
110
|
"@testing-library/react-hooks": "^8.0.1",
|
|
111
|
-
"@types/jest": "^
|
|
112
|
-
"@types/node": "^
|
|
113
|
-
"@types/react": "^18.2.
|
|
111
|
+
"@types/jest": "^29.5.2",
|
|
112
|
+
"@types/node": "^18.16.19",
|
|
113
|
+
"@types/react": "^18.2.14",
|
|
114
114
|
"@types/react-dom": "^18.2.6",
|
|
115
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
116
|
-
"@typescript-eslint/parser": "^5.
|
|
115
|
+
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
116
|
+
"@typescript-eslint/parser": "^5.60.1",
|
|
117
117
|
"concurrently": "^6.5.1",
|
|
118
118
|
"endpoints-sdk-cli": "^2.4.1",
|
|
119
|
-
"eslint": "^8.
|
|
119
|
+
"eslint": "^8.44.0",
|
|
120
120
|
"eslint-config-prettier": "^8.8.0",
|
|
121
121
|
"eslint-plugin-react": "^7.32.2",
|
|
122
122
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
123
123
|
"jest": "^27.5.1",
|
|
124
124
|
"matsuri-hooks": "^0.1.0",
|
|
125
|
-
"matsuri-ui": "^13.
|
|
125
|
+
"matsuri-ui": "^13.7.0",
|
|
126
126
|
"prettier": "^2.8.8",
|
|
127
127
|
"react": "^18.2.0",
|
|
128
128
|
"react-dom": "^18.2.0",
|