@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.
@@ -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,...n},a)=>{var r=t["questionAnswerId"],{commentInputLoader:o,commentLoader:l}=React__default.default.useContext(context.EditorContext);const[u,d]=React__default.default.useState(!1);return React__default.default.createElement(plate.PlateElement,{asChild:!0,element:t,ref:a,...n},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",sx:"padding: 8px 24px;",contentEditable:!1},React__default.default.createElement(button.Button,{as:"div",icon:u?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:`
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},u?"Hide answers":"Show answers"),React__default.default.createElement(hide.HideButRender,{show:u},React__default.default.createElement(l,{questionAnswerId:r})),React__default.default.createElement(o,{questionAnswerId:r,onComment:()=>d(!0)}))))}),Question=styled.styled.div`
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,applyOnClick:_,resetOnClick:g,applyResetActions:v})=>{const b=!!f,y=React__default.default.useRef(null);var h=React__default.default.useRef(null);const[m,x]=React__default.default.useState(!1),[R,C]=React__default.default.useState(()=>c||(b?[]:"")),[E,k]=React__default.default.useState("");React__default.default.useEffect(()=>{e&&x(!1)},[e]),React__default.default.useEffect(()=>{"outlined"===d&&void 0===c&&C(b?[u[0]?.value]:u[0]?.value)},[d,c]),React__default.default.useEffect(()=>{var e;m||(R.length?(e=u.find(e=>"string"!=typeof e&&w(e.value)),"string"==typeof R?k(e.label):k(1<R.length?e.label+" +"+(R.length-1):e.label)):k(o))},[R,u,m]);const $=b?e=>{e.stopPropagation();const t=e.target.getAttribute("data-value")??"";Array.isArray(R)&&R.includes(t)?C(e=>e.filter(e=>e!==t)):C(e=>[t,...e]),i&&!_&&x(!1),s&&s(e)}:e=>{e.stopPropagation();var t=e.target.getAttribute("data-value")??"";R!==t?C(t):C(""),i&&!_&&x(!1),s&&s(e)},w=e=>b?R.includes(e):e===R;var P=[...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:$,selected:w(e.value),checkbox:f,radio:!b&&"pill"===d,showClose:void 0===p?0===t&&"pill"===d:p,onClose:()=>x(!1),...e})),"pill"===d&&React__default.default.createElement(filter_option.Spacer,{key:"spacer-"+u.length})],S=r&&("string"==typeof R?!!R:!!R.length);return React__default.default.createElement(Wrapper,{$sx:n,tabIndex:0,ref:y,onBlurCapture:e=>{t&&y?.current&&!y?.current?.contains(e.relatedTarget)&&x(!1)}},React__default.default.createElement(FilterTrigger,{disabled:e,graphic:a,graphicAlignment:l,label:o,onClick:()=>{e||x(e=>!e)},onReset:r?e=>{e.stopPropagation(),g&&g(e),C(b?[]:""),x(!1)}:void 0,open:m,resetGraphic:S,type:d,value:E}),m&&React__default.default.createElement(Container,{ref:h},React__default.default.createElement(React__default.default.Fragment,null,P,"pill"===d&&v&&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=>{g&&g(e),C(b?[]:""),x(!1)},size:"small",type:"text"},"Reset"),React__default.default.createElement(button.Button,{onClick:e=>{_&&_(e),x(!1)},size:"small",type:"primary"},"Apply")))))},Wrapper=styled__default.default.div`
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,onClick:a,selected:t,sx:r,value:o,checkbox:c,radio:l=!1,showClose:i=!1,onClose:n})=>React__default.default.createElement(OptionWrapper,{"data-value":o,onClick:a,$selected:t,$sx:r,$hasCheckbox:!!c},c&&React__default.default.createElement(checkbox.Checkbox,{selected:t}),l&&React__default.default.createElement(radio.Radio,{checked:t,value:o}),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)),i&&React__default.default.createElement(close.Close,{sx:"margin-left: auto; pointer-events: auto !important;",size:16,onClick:e=>{e.stopPropagation(),n&&n()}})),OptionWrapper=(Option.displayName="Filter.Option",styled.styled.div`
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
- onComment: () => void;
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 {
@@ -3,6 +3,7 @@ export interface CommentProps {
3
3
  avatarTooltipContent?: React.ReactElement;
4
4
  avatarTooltipSx?: string;
5
5
  content: string;
6
+ filterType?: string;
6
7
  createdDate: Date;
7
8
  hasMoreReplies?: boolean;
8
9
  id?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soul-refiner/design-system",
3
- "version": "2.4.22",
3
+ "version": "2.4.23",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "license": "MIT",