@soul-refiner/design-system 2.4.21 → 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/components/surfaces/post/post.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;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
height: ${y.y};
|
|
5
5
|
width: ${y.x};
|
|
6
6
|
margin: 0 auto;
|
|
7
|
-
`},React__default.default.createElement(NavArrow,{$side:"left",$visible:0!==_,onClick:b},React__default.default.createElement(chevron_left.ChevronLeft,{color:"white",size:48})),React__default.default.createElement(Image__default.default,{alt:"",fill:!0,quality:100,onLoad:e=>{var{naturalHeight:e,naturalWidth:t}=e.target;let a=t+"px",l=e+"px";window?.innerHeight<e&&window?.innerWidth<t?(a=Math.floor(.95*window.innerHeight*t/e)+"px",l=Math.round(.95*window.innerWidth*e/t)+"px"):window?.innerHeight<e?(a=Math.floor(.95*window.innerHeight*t/e)+"px",l="95vh"):window?.innerWidth<t&&(a="95vw",l=Math.round(.95*window.innerWidth*e/t)+"px"),v({x:a,y:l})},priority:!0,sizes:"100vw",src:f[_],style:{objectFit:"cover"}}),React__default.default.createElement(NavArrow,{$side:"right",$visible:_!==f.length-1,onClick:w},React__default.default.createElement(chevron_right.ChevronRight,{color:"white",size:48})))),React__default.default.createElement(Header,null,React__default.default.createElement(avatar.Avatar,{as:l?Link__default.default:"button",href:l,image:i,size:64,status:a?"online":void 0,subtitle:React__default.default.createElement(paragraph.P,{as:"span",sx:"vertical-align: top;",$fontSize:14,$lineHeight:20},React__default.default.createElement(time_ago.TimeAgo,{date:new Date(s)})),title:React__default.default.createElement(heading.H,{as:"span",$bold:!0,$fontSize:18,$lineHeight:26},t),textPosition:"right",tooltipContent:r,tooltipSx:o,sx:l?"img { cursor: pointer; }":void 0}),c),!!d?.length&&React__default.default.createElement("div",{style:{padding:"16px 24px"}},React__default.default.createElement(paragraph.P,{$textClampLines:h?2:void 0},d)),!!f?.length&&React__default.default.createElement(ImagesWrapper,{$numImages:f.length,$isPaywalled:h},f.slice(0,4).map((e,t)=>React__default.default.createElement(ImageWrapper,{key:""+g+e.slice(0,15)+t},React__default.default.createElement(Image__default.default,{alt:"",fill:!0,onClick:()=>x(t),quality:100,src:e,style:{cursor:"pointer",objectFit:"cover"}}))),4<f.length&&React__default.default.createElement(heading.H,{as:"p",className:"more-than",$color:"grey-10",$fontSize:28,$lineHeight:36,$semiBold:!0},"+",f.length-4)),!!f?.length&&h&&React__default.default.createElement(PaywallWrapper,null,React__default.default.createElement(lock.Lock,{size:40,color:"grey-7"}),React__default.default.createElement(paragraph.P,{$fontSize:14,$bold:!0,$lineHeight:20,$color:"
|
|
7
|
+
`},React__default.default.createElement(NavArrow,{$side:"left",$visible:0!==_,onClick:b},React__default.default.createElement(chevron_left.ChevronLeft,{color:"white",size:48})),React__default.default.createElement(Image__default.default,{alt:"",fill:!0,quality:100,onLoad:e=>{var{naturalHeight:e,naturalWidth:t}=e.target;let a=t+"px",l=e+"px";window?.innerHeight<e&&window?.innerWidth<t?(a=Math.floor(.95*window.innerHeight*t/e)+"px",l=Math.round(.95*window.innerWidth*e/t)+"px"):window?.innerHeight<e?(a=Math.floor(.95*window.innerHeight*t/e)+"px",l="95vh"):window?.innerWidth<t&&(a="95vw",l=Math.round(.95*window.innerWidth*e/t)+"px"),v({x:a,y:l})},priority:!0,sizes:"100vw",src:f[_],style:{objectFit:"cover"}}),React__default.default.createElement(NavArrow,{$side:"right",$visible:_!==f.length-1,onClick:w},React__default.default.createElement(chevron_right.ChevronRight,{color:"white",size:48})))),React__default.default.createElement(Header,null,React__default.default.createElement(avatar.Avatar,{as:l?Link__default.default:"button",href:l,image:i,size:64,status:a?"online":void 0,subtitle:React__default.default.createElement(paragraph.P,{as:"span",sx:"vertical-align: top;",$fontSize:14,$lineHeight:20},React__default.default.createElement(time_ago.TimeAgo,{date:new Date(s)})),title:React__default.default.createElement(heading.H,{as:"span",$bold:!0,$fontSize:18,$lineHeight:26},t),textPosition:"right",tooltipContent:r,tooltipSx:o,sx:l?"img { cursor: pointer; }":void 0}),c),!!d?.length&&React__default.default.createElement("div",{style:{padding:"16px 24px"}},React__default.default.createElement(paragraph.P,{$textClampLines:h?2:void 0},d)),!!f?.length&&React__default.default.createElement(ImagesWrapper,{$numImages:f.length,$isPaywalled:h},f.slice(0,4).map((e,t)=>React__default.default.createElement(ImageWrapper,{key:""+g+e.slice(0,15)+t},React__default.default.createElement(Image__default.default,{alt:"",fill:!0,onClick:()=>x(t),quality:100,src:e,style:{cursor:"pointer",objectFit:"cover"}}))),4<f.length&&React__default.default.createElement(heading.H,{as:"p",className:"more-than",$color:"grey-10",$fontSize:28,$lineHeight:36,$semiBold:!0},"+",f.length-4)),!!f?.length&&h&&React__default.default.createElement(PaywallWrapper,null,React__default.default.createElement(lock.Lock,{size:40,color:"grey-7"}),React__default.default.createElement(paragraph.P,{$fontSize:14,$bold:!0,$lineHeight:20,$color:"white"},"Become a member",React__default.default.createElement("br",null),"to unlock this post"),React__default.default.createElement(button.Button,{onClick:m,size:"small",sx:"width: 213px;",type:"outlined"},"Join now")),!!e.length&&React__default.default.createElement(ActionsWrapper,null,!h&&e),u&&!!n.length&&React__default.default.createElement(CommentWrapper,null,n))},Wrapper=styled.styled.div`
|
|
8
8
|
position: relative;
|
|
9
9
|
max-width: 700px;
|
|
10
10
|
width: 100%;
|
|
@@ -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 {
|