@soul-refiner/design-system 2.7.0-alpha.1 → 2.7.1-alpha.1
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/dist/components/editor/context.js +1 -1
- package/dist/components/editor/editor.js +1 -1
- package/dist/components/editor/plugins/blocks/qa.js +2 -2
- package/dist/src/components/editor/context.d.ts +3 -3
- package/dist/src/components/editor/editor.d.ts +2 -1
- package/dist/styles/output.css +0 -4
- package/package.json +111 -111
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const EditorContext=React__default.default.createContext({commentInputLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),commentLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),handleVideoClick:()=>{},imageSrcLoader:async()=>"",videoTitleLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),filterComponent:void 0});exports.EditorContext=EditorContext;
|
|
1
|
+
"use strict";var React=require("react");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const EditorContext=React__default.default.createContext({commentInputLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),commentLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),handleVideoClick:()=>{},imageSrcLoader:async()=>"",videoTitleLoader:()=>React__default.default.createElement(React__default.default.Fragment,null),filterComponent:void 0,defaultFilter:""});exports.EditorContext=EditorContext;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),styled=require("styled-components"),plate=require("@udecode/plate"),constants=require("./constants.js"),context=require("./context.js"),navbar=require("./navbar/navbar.js"),plate$1=require("./plugins/plate.js"),blocks=require("./plugins/blocks/blocks.js"),leafs=require("./plugins/leafs/leafs.js"),marks=require("./plugins/marks/marks.js"),utils=require("./plugins/utils/utils.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const plugins=plate.createPlugins([...blocks.blocks,...leafs.leafs,...marks.marks,...utils.utils],{components:plate$1.plateUI}),Editor=({commentInputLoader:e,commentLoader:t,editable:a,handleVideoClick:l,imageSrcLoader:o,onChange:r,previousContent:n,videoTitleLoader:
|
|
2
|
+
"use strict";var React=require("react"),styled=require("styled-components"),plate=require("@udecode/plate"),constants=require("./constants.js"),context=require("./context.js"),navbar=require("./navbar/navbar.js"),plate$1=require("./plugins/plate.js"),blocks=require("./plugins/blocks/blocks.js"),leafs=require("./plugins/leafs/leafs.js"),marks=require("./plugins/marks/marks.js"),utils=require("./plugins/utils/utils.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const plugins=plate.createPlugins([...blocks.blocks,...leafs.leafs,...marks.marks,...utils.utils],{components:plate$1.plateUI}),Editor=({commentInputLoader:e,commentLoader:t,editable:a,handleVideoClick:l,imageSrcLoader:o,onChange:r,previousContent:i,defaultFilter:n,videoTitleLoader:s,filterComponent:d})=>React__default.default.createElement(context.EditorContext.Provider,{value:{commentInputLoader:e,commentLoader:t,handleVideoClick:l,imageSrcLoader:o,videoTitleLoader:s,defaultFilter:n,filterComponent:d}},React__default.default.createElement(plate.Plate,{id:"main",initialValue:i,onChange:r,plugins:plugins},React__default.default.createElement(Wrapper,null,a&&React__default.default.createElement(navbar.EditorBar,null),React__default.default.createElement(plate.PlateContent,{id:"main",autoFocus:!0,placeholder:constants.PLACEHOLDER,readOnly:!a,spellCheck:!0,onContextMenu:e=>e.preventDefault(),onCopy:()=>{if("clipboard"in navigator)return navigator.clipboard.writeText("")}})))),Wrapper=styled.styled.div`
|
|
3
3
|
* {
|
|
4
4
|
font-family: var(--font-inter);
|
|
5
5
|
outline: none;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var React=require("react"),plate=require("@udecode/plate"),styled=require("styled-components"),constants=require("../../constants.js"),context=require("../../context.js"),button=require("../../../actions/button/button.js"),box=require("../../../atoms/box/box.js"),hide=require("../../../atoms/hide/hide.js"),heading=require("../../../atoms/typography/heading.js"),chevron_down=require("../../../../icons/arrow/chevron_down.js"),chevron_up=require("../../../../icons/arrow/chevron_up.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const QuestionAnswerElement=React__default.default.forwardRef(({children:e,element:t,...a},n)=>{var r=t["questionAnswerId"];const
|
|
1
|
+
"use strict";var React=require("react"),plate=require("@udecode/plate"),styled=require("styled-components"),constants=require("../../constants.js"),context=require("../../context.js"),button=require("../../../actions/button/button.js"),box=require("../../../atoms/box/box.js"),hide=require("../../../atoms/hide/hide.js"),heading=require("../../../atoms/typography/heading.js"),chevron_down=require("../../../../icons/arrow/chevron_down.js"),chevron_up=require("../../../../icons/arrow/chevron_up.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const QuestionAnswerElement=React__default.default.forwardRef(({children:e,element:t,...a},n)=>{var r=t["questionAnswerId"];const{defaultFilter:l,commentInputLoader:o,commentLoader:u,filterComponent:d}=React__default.default.useContext(context.EditorContext),[c,i]=React__default.default.useState(!1),[s,f]=React__default.default.useState(l);var _=React__default.default.useCallback(e=>{const t=e.currentTarget.getAttribute("data-value");f(e=>e===t?l:t)},[]),m=React__default.default.useCallback(()=>f(l),[]);return React__default.default.createElement(plate.PlateElement,{asChild:!0,element:t,ref:n,...a},React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(Question,null,React__default.default.createElement(heading.H,{as:"p",$fontSize:18,$lineHeight:26,$mediumBold:!0},e)),React__default.default.createElement(box.Box,{$dir:"column",$gap:"medium",sx:"padding: 8px 24px;",contentEditable:!1},React__default.default.createElement(box.Box,{sx:"width: 100%",$justify:"space-between"},React__default.default.createElement(button.Button,{as:"div",icon:c?React__default.default.createElement(chevron_up.ChevronUp,{color:"grey-3"}):React__default.default.createElement(chevron_down.ChevronDown,{color:"grey-3"}),onClick:()=>i(e=>!e),size:"small",sx:`
|
|
2
2
|
width: fit-content;
|
|
3
3
|
flex-direction: row-reverse;
|
|
4
4
|
color: var(--color-grey-5);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
&:not(:hover) svg {
|
|
7
7
|
fill: var(--color-grey-3);
|
|
8
8
|
}
|
|
9
|
-
`,type:"text",contentEditable:!1},
|
|
9
|
+
`,type:"text",contentEditable:!1},c?"Hide answers":"Show answers"),d&&React__default.default.createElement(hide.HideButRender,{show:c},React__default.default.createElement(d,{filter:s,onFilterChange:_,questionAnswerId:r}))),React__default.default.createElement(hide.HideButRender,{show:c},React__default.default.createElement(u,{questionAnswerId:r,filterType:s,resetFilter:m,waitToLoad:!c})),React__default.default.createElement(o,{questionAnswerId:r,onComment:()=>i(!0)}))))}),Question=styled.styled.div`
|
|
10
10
|
margin-bottom: 8px;
|
|
11
11
|
padding: 16px;
|
|
12
12
|
border-left: 8px solid var(--color-hue-blue-1);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export type TCustomFilter = 'MEETING_ANSWERS' | 'MY_ANSWERS' | 'ALL_ANSWERS';
|
|
3
2
|
export interface CommentLoaderProps {
|
|
4
3
|
questionAnswerId: string;
|
|
5
|
-
filterType:
|
|
4
|
+
filterType: string;
|
|
6
5
|
resetFilter: () => void;
|
|
7
6
|
waitToLoad: boolean;
|
|
8
7
|
}
|
|
@@ -11,7 +10,7 @@ export interface CommentInputProps {
|
|
|
11
10
|
questionAnswerId: string;
|
|
12
11
|
}
|
|
13
12
|
export interface FilterComponentProps {
|
|
14
|
-
filter:
|
|
13
|
+
filter: string;
|
|
15
14
|
onFilterChange: (event: React.MouseEvent) => void;
|
|
16
15
|
questionAnswerId: string;
|
|
17
16
|
}
|
|
@@ -24,4 +23,5 @@ export declare const EditorContext: React.Context<{
|
|
|
24
23
|
courseMediaId: number;
|
|
25
24
|
}) => React.ReactElement;
|
|
26
25
|
filterComponent?: React.ComponentType<FilterComponentProps> | undefined;
|
|
26
|
+
defaultFilter: string;
|
|
27
27
|
}>;
|
|
@@ -9,10 +9,11 @@ export interface EditorProps {
|
|
|
9
9
|
imageSrcLoader: (id: number) => Promise<string>;
|
|
10
10
|
onChange: (newNodes: TElement[]) => void;
|
|
11
11
|
previousContent?: TElement[];
|
|
12
|
+
defaultFilter: string;
|
|
12
13
|
videoTitleLoader: (props: {
|
|
13
14
|
courseMediaId: number;
|
|
14
15
|
}) => React.ReactElement;
|
|
15
16
|
filterComponent?: React.ComponentType<FilterComponentProps>;
|
|
16
17
|
}
|
|
17
18
|
export type EditorContent = TElement;
|
|
18
|
-
export declare const Editor: ({ commentInputLoader, commentLoader, editable, handleVideoClick, imageSrcLoader, onChange, previousContent, videoTitleLoader, filterComponent, }: EditorProps) => React.JSX.Element;
|
|
19
|
+
export declare const Editor: ({ commentInputLoader, commentLoader, editable, handleVideoClick, imageSrcLoader, onChange, previousContent, defaultFilter, videoTitleLoader, filterComponent, }: EditorProps) => React.JSX.Element;
|
package/dist/styles/output.css
CHANGED
package/package.json
CHANGED
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@soul-refiner/design-system",
|
|
3
|
-
"version": "2.7.
|
|
4
|
-
"main": "dist/index.js",
|
|
5
|
-
"types": "dist/src/index.d.ts",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"registry": "https://registry.npmjs.org"
|
|
9
|
-
},
|
|
10
|
-
"include": [
|
|
11
|
-
"/dist"
|
|
12
|
-
],
|
|
13
|
-
"files": [
|
|
14
|
-
"dist/**/*"
|
|
15
|
-
],
|
|
16
|
-
"exports": {
|
|
17
|
-
".": {
|
|
18
|
-
"import": {
|
|
19
|
-
"types": "./dist/src/index.d.ts",
|
|
20
|
-
"default": "./dist/index.js"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"@rollup/plugin-commonjs": "^25.0.7",
|
|
26
|
-
"@rollup/plugin-json": "^6.1.0",
|
|
27
|
-
"@storybook/addon-essentials": "^7.6.7",
|
|
28
|
-
"@storybook/addon-interactions": "^7.6.7",
|
|
29
|
-
"@storybook/addon-links": "^7.6.7",
|
|
30
|
-
"@storybook/addon-themes": "^7.2.3",
|
|
31
|
-
"@storybook/addons": "^7.6.7",
|
|
32
|
-
"@storybook/blocks": "^7.6.7",
|
|
33
|
-
"@storybook/nextjs": "~7.5.3",
|
|
34
|
-
"@storybook/preview-api": "^7.6.13",
|
|
35
|
-
"@storybook/react": "~7.2.1",
|
|
36
|
-
"@storybook/testing-library": "~0.2.0",
|
|
37
|
-
"@types/react": "^18.2.48",
|
|
38
|
-
"@types/react-dom": "18.2.0",
|
|
39
|
-
"@types/styled-components": "~5.1.26",
|
|
40
|
-
"chromatic": "~6.17.4",
|
|
41
|
-
"husky": "~8.0.0",
|
|
42
|
-
"prettier": "~2.8.8",
|
|
43
|
-
"pretty-quick": "~3.1.3",
|
|
44
|
-
"prop-types": "~15.8.1",
|
|
45
|
-
"rollup": "^4.12.0",
|
|
46
|
-
"rollup-plugin-node-externals": "^7.0.1",
|
|
47
|
-
"rollup-plugin-postcss": "^4.0.2",
|
|
48
|
-
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
49
|
-
"rollup-plugin-typescript2": "^0.36.0",
|
|
50
|
-
"rollup-plugin-uglify": "^6.0.4",
|
|
51
|
-
"storybook": "~7.5.3",
|
|
52
|
-
"tailwindcss": "^3.4.1",
|
|
53
|
-
"tsc-alias": "^1.8.8",
|
|
54
|
-
"tsconfig-paths-webpack-plugin": "~4.0.1",
|
|
55
|
-
"tslib": "^2.6.2",
|
|
56
|
-
"typescript": "~5.0.4",
|
|
57
|
-
"webpack": "~5.89.0"
|
|
58
|
-
},
|
|
59
|
-
"scripts": {
|
|
60
|
-
"build": "yarn rollup --config",
|
|
61
|
-
"build:tailwind": "npx tailwindcss -i ./src/styles/globals.css -o ./dist/styles/output.css",
|
|
62
|
-
"format": "prettier --write .",
|
|
63
|
-
"storybook": "yarn build:tailwind && storybook dev -p 6006",
|
|
64
|
-
"build-storybook": "storybook build",
|
|
65
|
-
"prepare": "husky install"
|
|
66
|
-
},
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"@emoji-mart/react": "~1.1.1",
|
|
69
|
-
"@emotion/react": "^11.11.4",
|
|
70
|
-
"@emotion/styled": "^11.11.0",
|
|
71
|
-
"@mui/material": "^5.15.13",
|
|
72
|
-
"@mui/x-date-pickers": "^6.19.6",
|
|
73
|
-
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
74
|
-
"@radix-ui/react-popover": "^1.0.7",
|
|
75
|
-
"@radix-ui/react-separator": "^1.0.3",
|
|
76
|
-
"@radix-ui/react-slot": "^1.0.2",
|
|
77
|
-
"@radix-ui/react-tooltip": "^1.0.7",
|
|
78
|
-
"@udecode/cn": "~29.0.1",
|
|
79
|
-
"@udecode/plate": "^30.6.1",
|
|
80
|
-
"@udecode/react-utils": "^29.0.1",
|
|
81
|
-
"class-variance-authority": "~0.7.0",
|
|
82
|
-
"date-fns": "^3.4.0",
|
|
83
|
-
"emoji-mart": "~5.5.2",
|
|
84
|
-
"lucide-react": "~0.307.0",
|
|
85
|
-
"next": "~13.5",
|
|
86
|
-
"react": "18.2.0",
|
|
87
|
-
"react-dnd": "~16.0.1",
|
|
88
|
-
"react-dnd-html5-backend": "~16.0.1",
|
|
89
|
-
"react-dom": "~18.2.0",
|
|
90
|
-
"react-h5-audio-player": "~3.9.1",
|
|
91
|
-
"react-is": "~18.2.0",
|
|
92
|
-
"react-player": "~2.13.0",
|
|
93
|
-
"react-tooltip": "~5.18.0",
|
|
94
|
-
"scheduler": "~0.23.0",
|
|
95
|
-
"slate": "~0.101.5",
|
|
96
|
-
"slate-history": "~0.100.0",
|
|
97
|
-
"slate-hyperscript": "~0.100.0",
|
|
98
|
-
"slate-react": "~0.101.5",
|
|
99
|
-
"styled-components": "~6.1.13",
|
|
100
|
-
"tailwind-merge": "~2.2.0",
|
|
101
|
-
"tailwindcss-animate": "~1.0.7"
|
|
102
|
-
},
|
|
103
|
-
"peerDependencies": {
|
|
104
|
-
"next": "~13.5",
|
|
105
|
-
"react": "~18.2.0",
|
|
106
|
-
"react-dom": "~18.2.0",
|
|
107
|
-
"react-h5-audio-player": "~3.9.1",
|
|
108
|
-
"react-player": "~2.13.0",
|
|
109
|
-
"styled-components": "6.1.8"
|
|
110
|
-
}
|
|
111
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@soul-refiner/design-system",
|
|
3
|
+
"version": "2.7.1-alpha.1",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/src/index.d.ts",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"registry": "https://registry.npmjs.org"
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"/dist"
|
|
12
|
+
],
|
|
13
|
+
"files": [
|
|
14
|
+
"dist/**/*"
|
|
15
|
+
],
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"import": {
|
|
19
|
+
"types": "./dist/src/index.d.ts",
|
|
20
|
+
"default": "./dist/index.js"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
26
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
27
|
+
"@storybook/addon-essentials": "^7.6.7",
|
|
28
|
+
"@storybook/addon-interactions": "^7.6.7",
|
|
29
|
+
"@storybook/addon-links": "^7.6.7",
|
|
30
|
+
"@storybook/addon-themes": "^7.2.3",
|
|
31
|
+
"@storybook/addons": "^7.6.7",
|
|
32
|
+
"@storybook/blocks": "^7.6.7",
|
|
33
|
+
"@storybook/nextjs": "~7.5.3",
|
|
34
|
+
"@storybook/preview-api": "^7.6.13",
|
|
35
|
+
"@storybook/react": "~7.2.1",
|
|
36
|
+
"@storybook/testing-library": "~0.2.0",
|
|
37
|
+
"@types/react": "^18.2.48",
|
|
38
|
+
"@types/react-dom": "18.2.0",
|
|
39
|
+
"@types/styled-components": "~5.1.26",
|
|
40
|
+
"chromatic": "~6.17.4",
|
|
41
|
+
"husky": "~8.0.0",
|
|
42
|
+
"prettier": "~2.8.8",
|
|
43
|
+
"pretty-quick": "~3.1.3",
|
|
44
|
+
"prop-types": "~15.8.1",
|
|
45
|
+
"rollup": "^4.12.0",
|
|
46
|
+
"rollup-plugin-node-externals": "^7.0.1",
|
|
47
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
48
|
+
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
49
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
50
|
+
"rollup-plugin-uglify": "^6.0.4",
|
|
51
|
+
"storybook": "~7.5.3",
|
|
52
|
+
"tailwindcss": "^3.4.1",
|
|
53
|
+
"tsc-alias": "^1.8.8",
|
|
54
|
+
"tsconfig-paths-webpack-plugin": "~4.0.1",
|
|
55
|
+
"tslib": "^2.6.2",
|
|
56
|
+
"typescript": "~5.0.4",
|
|
57
|
+
"webpack": "~5.89.0"
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"build": "yarn rollup --config",
|
|
61
|
+
"build:tailwind": "npx tailwindcss -i ./src/styles/globals.css -o ./dist/styles/output.css",
|
|
62
|
+
"format": "prettier --write .",
|
|
63
|
+
"storybook": "yarn build:tailwind && storybook dev -p 6006",
|
|
64
|
+
"build-storybook": "storybook build",
|
|
65
|
+
"prepare": "husky install"
|
|
66
|
+
},
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"@emoji-mart/react": "~1.1.1",
|
|
69
|
+
"@emotion/react": "^11.11.4",
|
|
70
|
+
"@emotion/styled": "^11.11.0",
|
|
71
|
+
"@mui/material": "^5.15.13",
|
|
72
|
+
"@mui/x-date-pickers": "^6.19.6",
|
|
73
|
+
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
74
|
+
"@radix-ui/react-popover": "^1.0.7",
|
|
75
|
+
"@radix-ui/react-separator": "^1.0.3",
|
|
76
|
+
"@radix-ui/react-slot": "^1.0.2",
|
|
77
|
+
"@radix-ui/react-tooltip": "^1.0.7",
|
|
78
|
+
"@udecode/cn": "~29.0.1",
|
|
79
|
+
"@udecode/plate": "^30.6.1",
|
|
80
|
+
"@udecode/react-utils": "^29.0.1",
|
|
81
|
+
"class-variance-authority": "~0.7.0",
|
|
82
|
+
"date-fns": "^3.4.0",
|
|
83
|
+
"emoji-mart": "~5.5.2",
|
|
84
|
+
"lucide-react": "~0.307.0",
|
|
85
|
+
"next": "~13.5",
|
|
86
|
+
"react": "18.2.0",
|
|
87
|
+
"react-dnd": "~16.0.1",
|
|
88
|
+
"react-dnd-html5-backend": "~16.0.1",
|
|
89
|
+
"react-dom": "~18.2.0",
|
|
90
|
+
"react-h5-audio-player": "~3.9.1",
|
|
91
|
+
"react-is": "~18.2.0",
|
|
92
|
+
"react-player": "~2.13.0",
|
|
93
|
+
"react-tooltip": "~5.18.0",
|
|
94
|
+
"scheduler": "~0.23.0",
|
|
95
|
+
"slate": "~0.101.5",
|
|
96
|
+
"slate-history": "~0.100.0",
|
|
97
|
+
"slate-hyperscript": "~0.100.0",
|
|
98
|
+
"slate-react": "~0.101.5",
|
|
99
|
+
"styled-components": "~6.1.13",
|
|
100
|
+
"tailwind-merge": "~2.2.0",
|
|
101
|
+
"tailwindcss-animate": "~1.0.7"
|
|
102
|
+
},
|
|
103
|
+
"peerDependencies": {
|
|
104
|
+
"next": "~13.5",
|
|
105
|
+
"react": "~18.2.0",
|
|
106
|
+
"react-dom": "~18.2.0",
|
|
107
|
+
"react-h5-audio-player": "~3.9.1",
|
|
108
|
+
"react-player": "~2.13.0",
|
|
109
|
+
"styled-components": "6.1.8"
|
|
110
|
+
}
|
|
111
|
+
}
|