@soul-refiner/design-system 2.4.22 → 2.4.23
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/plugins/blocks/qa.js +2 -2
- package/dist/components/input/filter/filter.js +1 -1
- package/dist/components/input/filter/filter_option.js +1 -1
- package/dist/src/components/editor/context.d.ts +12 -7
- package/dist/src/components/editor/editor.d.ts +2 -0
- package/dist/src/components/input/filter/filter.d.ts +2 -1
- package/dist/src/components/input/filter/filter_option.d.ts +2 -1
- package/dist/src/components/surfaces/comment/comment.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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,...
|
|
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"),filter=(require("../../../input/checkbox/checkbox.js"),require("../../../input/date/date.js"),require("../../../input/filter/filter.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../input/radio/radio.js"),require("../../../input/search/search.js"),require("../../../input/select/select.js"),require("../../../input/text_area/text_area.js"),require("../../../input/text_input/text_input.js"),require("../../../input/calendar/calendar.js"),require("../../../input/time/time.js"),require("@mui/x-date-pickers/LocalizationProvider"),require("@mui/x-date-pickers/AdapterDateFnsV3"),require("@mui/x-date-pickers/TimeField");var React__default=_interopDefaultCompat(React);const QuestionAnswerElement=React__default.default.forwardRef(({children:e,element:t,...r},a)=>{var n=t["questionAnswerId"];const[l,o]=React__default.default.useState("ALL_ANSWERS");var{commentInputLoader:u,commentLoader:i}=React__default.default.useContext(context.EditorContext);const[s,d]=React__default.default.useState(!1);return React__default.default.createElement(plate.PlateElement,{asChild:!0,element:t,ref:a,...r},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:s?React__default.default.createElement(chevron_up.ChevronUp,{color:"grey-3"}):React__default.default.createElement(chevron_down.ChevronDown,{color:"grey-3"}),onClick:()=>d(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},s?"Hide answers":"Show answers"),s&&React__default.default.createElement(filter.Filter,{label:"All Answers",sx:"padding: 1px 4px; & > * { color: var(--color-grey-5); }",optionOnChange:e=>{e=e.target.getAttribute("data-value");o(e)},options:[{label:"MeetingAnswers ",value:"MEETING_ANSWERS",sublabel:"Show only answers from member of your meeting"},{label:"My answers",value:"MY_ANSWERS",sublabel:"Show only your answers"},{label:"Most Relevant",value:"MOST_RELEVANT",sublabel:"Show the most engaging answers first"},{label:"All answers",value:"ALL_ANSWERS",sublabel:"Anyone who's ever answered"}],isRadio:!0,optionShowClose:!1,resetGraphic:!0,triggerType:"outlined"})),React__default.default.createElement(hide.HideButRender,{show:s},React__default.default.createElement(i,{questionAnswerId:n,filterType:l})),React__default.default.createElement(u,{questionAnswerId:n,onComment:()=>d(!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,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),button=require("../../actions/button/button.js"),paragraph=require("../../atoms/typography/paragraph.js"),chevron_down=require("../../../icons/arrow/chevron_down.js"),chevron_up=require("../../../icons/arrow/chevron_up.js"),close=require("../../../icons/basic/close.js"),styles=require("../../../common/styles.js"),filter_option=require("./filter_option.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),styled__default=_interopDefaultCompat(styled);const Filter=({closeOnBlur:t=!0,disabled:e,graphic:a,graphicAlignment:l="left",resetGraphic:r,label:o="",sx:n,triggerType:d,options:u,defaultValue:c="",closeOnChange:i=!0,optionOnChange:s,optionShowClose:p,checkbox:f,
|
|
2
|
+
"use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),button=require("../../actions/button/button.js"),paragraph=require("../../atoms/typography/paragraph.js"),chevron_down=require("../../../icons/arrow/chevron_down.js"),chevron_up=require("../../../icons/arrow/chevron_up.js"),close=require("../../../icons/basic/close.js"),styles=require("../../../common/styles.js"),filter_option=require("./filter_option.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),styled__default=_interopDefaultCompat(styled);const Filter=({closeOnBlur:t=!0,disabled:e,graphic:a,graphicAlignment:l="left",resetGraphic:r,label:o="",sx:n,triggerType:d,options:u,defaultValue:c="",closeOnChange:i=!0,optionOnChange:s,optionShowClose:p,checkbox:f,isRadio:_,applyOnClick:g,resetOnClick:v,applyResetActions:b})=>{const y=!!f,h=React__default.default.useRef(null);var m=React__default.default.useRef(null);const[x,R]=React__default.default.useState(!1),[C,E]=React__default.default.useState(()=>c||(y?[]:"")),[k,$]=React__default.default.useState("");React__default.default.useEffect(()=>{e&&R(!1)},[e]),React__default.default.useEffect(()=>{"outlined"===d&&void 0===c&&E(y?[u[0]?.value]:u[0]?.value)},[d,c]),React__default.default.useEffect(()=>{var e;x||(C.length?(e=u.find(e=>"string"!=typeof e&&P(e.value)),"string"==typeof C?$(e.label):$(1<C.length?e.label+" +"+(C.length-1):e.label)):$(o))},[C,u,x]);const w=y?e=>{e.stopPropagation();const t=e.target.getAttribute("data-value")??"";Array.isArray(C)&&C.includes(t)?E(e=>e.filter(e=>e!==t)):E(e=>[t,...e]),i&&!g&&R(!1),s&&s(e)}:e=>{e.stopPropagation();var t=e.target.getAttribute("data-value")??"";C!==t?E(t):E(""),i&&!g&&R(!1),s&&s(e)},P=e=>y?C.includes(e):e===C;var S=[...u.map((e,t)=>"string"==typeof e&&"break"===e?React__default.default.createElement(filter_option.Spacer,{key:React__default.default.useId()+"-spacer-"+t}):React__default.default.createElement(filter_option.Option,{key:e.value,onClick:w,selected:P(e.value),checkbox:f,radio:!y&&"pill"===d||!y&&_,showClose:void 0===p?0===t&&"pill"===d:p,onClose:()=>R(!1),...e})),"pill"===d&&React__default.default.createElement(filter_option.Spacer,{key:"spacer-"+u.length})],A=r&&("string"==typeof C?!!C:!!C.length);return React__default.default.createElement(Wrapper,{$sx:n,tabIndex:0,ref:h,onBlurCapture:e=>{t&&h?.current&&!h?.current?.contains(e.relatedTarget)&&R(!1)}},React__default.default.createElement(FilterTrigger,{disabled:e,graphic:a,graphicAlignment:l,label:o,onClick:()=>{e||R(e=>!e)},onReset:r?e=>{e.stopPropagation(),v&&v(e),E(y?[]:""),R(!1)}:void 0,open:x,resetGraphic:A,type:d,value:k}),x&&React__default.default.createElement(Container,{ref:m},React__default.default.createElement(React__default.default.Fragment,null,S,"pill"===d&&b&&React__default.default.createElement(box.Box,{$display:"flex",$dir:"row",$align:"center",$justify:"flex-end",$gap:8,sx:"margin-top: 8px; padding-right: 8px; padding-bottom: 8px"},React__default.default.createElement(button.Button,{onClick:e=>{v&&v(e),E(y?[]:""),R(!1)},size:"small",type:"text"},"Reset"),React__default.default.createElement(button.Button,{onClick:e=>{g&&g(e),R(!1)},size:"small",type:"primary"},"Apply")))))},Wrapper=styled__default.default.div`
|
|
3
3
|
position: relative;
|
|
4
4
|
display: block;
|
|
5
5
|
outline: none;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),paragraph=require("../../atoms/typography/paragraph.js"),checkbox=require("../checkbox/checkbox.js"),radio=require("../radio/radio.js"),close=require("../../../icons/basic/close.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const Option=({label:e,
|
|
2
|
+
"use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),paragraph=require("../../atoms/typography/paragraph.js"),checkbox=require("../checkbox/checkbox.js"),radio=require("../radio/radio.js"),close=require("../../../icons/basic/close.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const Option=({label:e,sublabel:a,onClick:t,selected:r,sx:o,value:l,checkbox:c,radio:i=!1,showClose:n=!1,onClose:p})=>React__default.default.createElement(OptionWrapper,{"data-value":l,onClick:t,$selected:r,$sx:o,$hasCheckbox:!!c},c&&React__default.default.createElement(checkbox.Checkbox,{selected:r}),i&&React__default.default.createElement(radio.Radio,{checked:r,value:l}),React__default.default.createElement(box.Box,{$dir:"column",$display:"flex"},e&&React__default.default.createElement(paragraph.P,{$color:"grey-4",$fontSize:14,$lineHeight:20,$mediumBold:!0,$textClampLines:1},e),a&&React__default.default.createElement(paragraph.P,{$color:"grey-5",$fontSize:12,$lineHeight:20,$mediumBold:!0,$textClampLines:1},a)),n&&React__default.default.createElement(close.Close,{sx:"margin-left: auto; pointer-events: auto !important;",size:16,onClick:e=>{e.stopPropagation(),p&&p()}})),OptionWrapper=(Option.displayName="Filter.Option",styled.styled.div`
|
|
3
3
|
position: relative;
|
|
4
4
|
z-index: 1;
|
|
5
5
|
padding: 12px 16px;
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
export type TCustomFilter = 'MEETING_ANSWERS' | 'MY_ANSWERS' | 'MOST_RELEVANT' | 'ALL_ANSWERS';
|
|
3
|
+
interface CommentLoaderProps {
|
|
4
|
+
questionAnswerId: string;
|
|
5
|
+
filterType: TCustomFilter;
|
|
6
|
+
}
|
|
7
|
+
interface CommentInputProps {
|
|
8
|
+
onComment: () => void;
|
|
9
|
+
questionAnswerId: string;
|
|
10
|
+
}
|
|
2
11
|
export declare const EditorContext: React.Context<{
|
|
3
|
-
commentInputLoader: (props:
|
|
4
|
-
|
|
5
|
-
questionAnswerId: string;
|
|
6
|
-
}) => React.ReactElement;
|
|
7
|
-
commentLoader: (props: {
|
|
8
|
-
questionAnswerId: string;
|
|
9
|
-
}) => React.ReactElement;
|
|
12
|
+
commentInputLoader: (props: CommentInputProps) => React.ReactElement;
|
|
13
|
+
commentLoader: (props: CommentLoaderProps) => React.ReactElement;
|
|
10
14
|
handleVideoClick?: ((id: number) => void) | undefined;
|
|
11
15
|
imageSrcLoader: (id: number) => Promise<string>;
|
|
12
16
|
videoTitleLoader: (props: {
|
|
13
17
|
courseMediaId: number;
|
|
14
18
|
}) => React.ReactElement;
|
|
15
19
|
}>;
|
|
20
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TElement } from '@udecode/plate';
|
|
3
|
+
import { TCustomFilter } from './context';
|
|
3
4
|
export interface EditorProps {
|
|
4
5
|
commentInputLoader: (props: {
|
|
5
6
|
onComment: () => void;
|
|
@@ -7,6 +8,7 @@ export interface EditorProps {
|
|
|
7
8
|
}) => React.ReactElement;
|
|
8
9
|
commentLoader: (props: {
|
|
9
10
|
questionAnswerId: string;
|
|
11
|
+
filterType: TCustomFilter;
|
|
10
12
|
}) => React.ReactElement;
|
|
11
13
|
editable: boolean;
|
|
12
14
|
handleVideoClick: (id: number) => void;
|
|
@@ -19,12 +19,13 @@ export interface FilterProps {
|
|
|
19
19
|
optionOnChange?: (event: React.MouseEvent) => void;
|
|
20
20
|
optionShowClose?: boolean;
|
|
21
21
|
checkbox?: boolean;
|
|
22
|
+
isRadio?: boolean;
|
|
22
23
|
applyOnClick?: (event: React.MouseEvent) => void;
|
|
23
24
|
resetOnClick?: (event: React.MouseEvent) => void;
|
|
24
25
|
applyResetActions?: boolean;
|
|
25
26
|
}
|
|
26
27
|
declare const Filter: {
|
|
27
|
-
({ closeOnBlur, disabled, graphic, graphicAlignment, resetGraphic, label, sx, triggerType, options, defaultValue, closeOnChange, optionOnChange, optionShowClose, checkbox, applyOnClick, resetOnClick, applyResetActions, }: FilterProps): React.JSX.Element;
|
|
28
|
+
({ closeOnBlur, disabled, graphic, graphicAlignment, resetGraphic, label, sx, triggerType, options, defaultValue, closeOnChange, optionOnChange, optionShowClose, checkbox, isRadio, applyOnClick, resetOnClick, applyResetActions, }: FilterProps): React.JSX.Element;
|
|
28
29
|
Trigger: {
|
|
29
30
|
({ disabled, graphic, graphicAlignment, label, onClick, resetGraphic, open, onReset, type, value, }: FilterTriggerProps): React.JSX.Element;
|
|
30
31
|
displayName: string;
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
export interface FilterOptionProps {
|
|
3
3
|
color?: string;
|
|
4
4
|
label: string;
|
|
5
|
+
sublabel?: string;
|
|
5
6
|
onClick?: (event: React.MouseEvent<HTMLDivElement>) => void | undefined;
|
|
6
7
|
selected: boolean;
|
|
7
8
|
sx?: string;
|
|
@@ -12,7 +13,7 @@ export interface FilterOptionProps {
|
|
|
12
13
|
onClose?: () => void;
|
|
13
14
|
}
|
|
14
15
|
declare const Option: {
|
|
15
|
-
({ label, onClick, selected, sx, value, checkbox, radio, showClose, onClose, }: FilterOptionProps): React.JSX.Element;
|
|
16
|
+
({ label, sublabel, onClick, selected, sx, value, checkbox, radio, showClose, onClose, }: FilterOptionProps): React.JSX.Element;
|
|
16
17
|
displayName: string;
|
|
17
18
|
};
|
|
18
19
|
export interface FilterSpacerProps {
|