@soul-refiner/design-system 2.14.49 → 2.14.50

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,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),checkbox=require("../../input/checkbox/checkbox.js"),radio=require("../../input/radio/radio.js"),paragraph=require("../../atoms/typography/paragraph.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const Dropdown=({checkbox:l,radio:o,children:e,closeOnChange:a=!0,closeOnBlur:t=!0,defaultValue:r="",disabled:d=!1,hasArrow:n,maintainState:i=!0,isButtonTrigger:c=!1,multiple:u,offset:s=[0,16],onChange:p,open:f="right",options:x,sx:_,trigger:h,containerSx:g,additionalOptions:$,additionalOnChange:b,defaultAdditionalValue:v,useFullWidth:y=!1,...m})=>{const k=React__default.default.useId(),R=React__default.default.useRef(null);var C=React__default.default.useRef(null);const[w,E]=React__default.default.useState(!1),[S,O]=React__default.default.useState(()=>r||(u?[]:"")),[D,A]=React__default.default.useState(v||"");React__default.default.useEffect(()=>{d&&E(!1)},[d]);v=()=>{d||E(e=>!e)};const W=u?e=>{e.stopPropagation();const t=e.target.getAttribute("data-value")??"";Array.isArray(S)&&S.includes(t)?O(e=>e.filter(e=>e!==t)):O(e=>[t,...e]),a&&E(!1),p&&p(e)}:e=>{e.stopPropagation();var t=e.target.getAttribute("data-value")??"";S!==t?O(t):O(""),a&&E(!1),p&&p(e)},B=e=>{e.stopPropagation();e=e.target.getAttribute("data-value")??"";D!==e?A(e):A(""),b&&b(e)},q=e=>i&&(u?S.includes(e):e===S);let j=null;e&&(j=React__default.default.Children.map(e,e=>{if(React__default.default.isValidElement(e)){const{onClick:t,...a}=e.props;return e=a,React__default.default.createElement(Option,{key:e.value,checkbox:!!l,onClick:W,selected:q(e.value),radio:!!o,...e})}return null})),x&&(j=x.map((e,t)=>"string"==typeof e&&"break"===e?React__default.default.createElement(Spacer,{key:k+"-spacer-"+t}):React__default.default.createElement(Option,{key:e.value,checkbox:!!l,radio:!!o,onClick:W,selected:q(e.value),...e})));e=React__default.default.cloneElement(h,c||"Button"===h.type?.displayName||"Button"===h.type?.name?{isDropdownOpen:w,onClick:v}:{onClick:v});return React__default.default.createElement(Wrapper,{$sx:_,tabIndex:0,ref:R,onBlurCapture:e=>{t&&R?.current&&!R?.current?.contains(e.relatedTarget)&&E(!1)},...m},e,w&&React__default.default.createElement(Container,{$hasArrow:n,$offset:s,$openDirection:f,ref:C,$sx:g,$useFullWidth:y},React__default.default.createElement("div",{style:{display:"flex"}},React__default.default.createElement("div",{style:{display:"flex",flexDirection:"column",width:"100%"}},j),!!$?.length&&React__default.default.createElement("div",{style:{display:"flex",flexDirection:"column"}},$.map(e=>React__default.default.createElement(Option,{key:e.value,onClick:B,selected:D===e.value,label:e.label,value:e.value}))))))},Wrapper=styled.styled.div`
2
+ "use strict";var React=require("react"),styled=require("styled-components"),box=require("../../atoms/box/box.js"),checkbox=require("../../input/checkbox/checkbox.js"),radio=require("../../input/radio/radio.js"),paragraph=require("../../atoms/typography/paragraph.js"),checkmark=(require("../../iconography/icon/icon.js"),require("../../../icons/basic/checkmark.js"));function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../icons/basic/subtask.js"),require("../../../common/colors.js");var React__default=_interopDefaultCompat(React);const Dropdown=({checkbox:r,radio:o,children:e,closeOnChange:a=!0,closeOnBlur:t=!0,defaultValue:l="",disabled:i=!1,hasArrow:c,maintainState:n=!0,isButtonTrigger:d=!1,multiple:u,offset:s=[0,16],onChange:p,open:f="right",options:x,sx:h,trigger:b,containerSx:g,additionalOptions:v,additionalOnChange:_,defaultAdditionalValue:$,useFullWidth:m=!1,blueOptionHover:k=!1,useTickInRadio:y=!1,...R})=>{const w=React__default.default.useId(),C=React__default.default.useRef(null);var W=React__default.default.useRef(null);const[E,S]=React__default.default.useState(!1),[O,D]=React__default.default.useState(()=>l||(u?[]:"")),[j,q]=React__default.default.useState($||"");React__default.default.useEffect(()=>{i&&S(!1)},[i]);$=()=>{i||S(e=>!e)};const A=u?e=>{e.stopPropagation();const t=e.target.getAttribute("data-value")??"";Array.isArray(O)&&O.includes(t)?D(e=>e.filter(e=>e!==t)):D(e=>[t,...e]),a&&S(!1),p&&p(e)}:e=>{e.stopPropagation();var t=e.target.getAttribute("data-value")??"";O!==t?D(t):D(""),a&&S(!1),p&&p(e)},I=e=>{e.stopPropagation();e=e.target.getAttribute("data-value")??"";j!==e?q(e):q(""),_&&_(e)},B=e=>n&&(u?O.includes(e):e===O);let H=null;e&&(H=React__default.default.Children.map(e,e=>{if(React__default.default.isValidElement(e)){const{onClick:t,...a}=e.props;return e=a,React__default.default.createElement(Option,{key:e.value,checkbox:!!r,onClick:A,selected:B(e.value),radio:!!o,blueHover:k,useTickInRadio:y,...e})}return null})),x&&(H=x.map((e,t)=>"string"==typeof e&&"break"===e?React__default.default.createElement(Spacer,{key:w+"-spacer-"+t}):React__default.default.createElement(Option,{key:e.value,checkbox:!!r,radio:!!o,onClick:A,selected:B(e.value),blueHover:k,useTickInRadio:y,...e})));e=React__default.default.cloneElement(b,d||"Button"===b.type?.displayName||"Button"===b.type?.name?{isDropdownOpen:E,onClick:$}:{onClick:$});return React__default.default.createElement(Wrapper,{$sx:h,tabIndex:0,ref:C,onBlurCapture:e=>{t&&C?.current&&!C?.current?.contains(e.relatedTarget)&&S(!1)},...R},e,E&&React__default.default.createElement(Container,{$hasArrow:c,$offset:s,$openDirection:f,ref:W,$sx:g,$useFullWidth:m},React__default.default.createElement("div",{style:{display:"flex"}},React__default.default.createElement("div",{style:{display:"flex",flexDirection:"column",width:"100%"}},H),!!v?.length&&React__default.default.createElement("div",{style:{display:"flex",flexDirection:"column"}},v.map(e=>React__default.default.createElement(Option,{key:e.value,onClick:I,selected:j===e.value,label:e.label,value:e.value,blueHover:k,useTickInRadio:y}))))))},Wrapper=styled.styled.div`
3
3
  position: relative;
4
4
  display: block;
5
5
  outline: none;
@@ -38,7 +38,7 @@
38
38
  }
39
39
  `:""}
40
40
  ${({$offset:e})=>e?`transform: translate(${e[0]}px, ${e[1]}px);`:""}
41
- `,Option=({checkbox:e,radio:t,disabled:a,icon:l,label:o,onClick:r,selected:d,sublabel:n,sx:i,value:c,color:u})=>React__default.default.createElement(OptionWrapper,{"data-value":c,onClick:a?void 0:r,$disabled:a,$hasCheckbox:!!e,$hasRadio:!!t,$hasSublabel:!!n,$selected:d,$sx:i},e?React__default.default.createElement(checkbox.Checkbox,{selected:d}):t?React__default.default.createElement(radio.Radio,{checked:d,value:""}):l,React__default.default.createElement(box.Box,{$dir:"column",$display:"flex"},o&&React__default.default.createElement(paragraph.P,{$color:u||"grey-4",$fontSize:14,$lineHeight:20,$mediumBold:!0,$textClampLines:1},o),n&&React__default.default.createElement(paragraph.P,{$color:"grey-4",$fontSize:12,$lineHeight:16,$textClampLines:1},n))),OptionWrapper=(Option.displayName="Dropdown.Option",Dropdown.Option=Option,styled.styled.div`
41
+ `,Option=({checkbox:e,radio:t,disabled:a,icon:r,label:o,onClick:l,selected:i,sublabel:c,sx:n,value:d,color:u,blueHover:s=!1,useTickInRadio:p=!1})=>React__default.default.createElement(OptionWrapper,{"data-value":d,onClick:a?void 0:l,$disabled:a,$hasCheckbox:!!e,$hasRadio:!!t,$hasSublabel:!!c,$selected:i,$sx:n,$blueHover:s},e?React__default.default.createElement(checkbox.Checkbox,{selected:i}):t?p&&i?React__default.default.createElement(RadioButton,{$isSelected:!0},React__default.default.createElement(checkmark.Checkmark,{size:16,color:"white"})):React__default.default.createElement(radio.Radio,{checked:i,value:""}):r,React__default.default.createElement(box.Box,{$dir:"column",$display:"flex"},o&&React__default.default.createElement(paragraph.P,{$color:u||"grey-4",$fontSize:14,$lineHeight:20,$mediumBold:!0,$textClampLines:1},o),c&&React__default.default.createElement(paragraph.P,{$color:"grey-4",$fontSize:12,$lineHeight:16,$textClampLines:1},c))),OptionWrapper=(Option.displayName="Dropdown.Option",Dropdown.Option=Option,styled.styled.div`
42
42
  position: relative;
43
43
  z-index: 1;
44
44
  padding: ${({$hasSublabel:e})=>e?10:12}px 16px;
@@ -51,14 +51,16 @@
51
51
  pointer-events: none;
52
52
  }
53
53
 
54
- ${({$disabled:e,$selected:t,$hasCheckbox:a,$hasRadio:l})=>e?`cursor: initial;
54
+ ${({$disabled:e,$selected:t,$hasCheckbox:a,$hasRadio:r,$blueHover:o})=>e?`cursor: initial;
55
55
  color: var(--color-grey-7);
56
- background-color: var(--color-grey-10);`:a||l?`&:hover {
57
- background-color: var(--color-grey-10);
58
- }`:t?`
59
- background-color: var(--color-grey-9);
56
+ background-color: var(--color-grey-10);`:t?`
57
+ background-color: var(--color-primary-blue-3);
60
58
  &:active {
61
- background-color: var(--color-grey-8);
59
+ background-color: var(--color-grey-2);
60
+ }`:o?`&:hover {
61
+ background-color: var(--color-primary-blue-4);
62
+ }`:a||r?`&:hover {
63
+ background-color: var(--color-grey-10);
62
64
  }`:`
63
65
  &:hover {
64
66
  background-color: var(--color-grey-10);
@@ -78,4 +80,15 @@
78
80
  appearance: none;
79
81
  }
80
82
  ${({$sx:e})=>e||""}
81
- `);exports.Dropdown=Dropdown;
83
+ `),RadioButton=styled.styled.div`
84
+ margin-right: 8px;
85
+ width: 20px;
86
+ height: 20px;
87
+ border-radius: 50%;
88
+ background: ${e=>e.$isSelected?"var(--color-green-4)":"white"};
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ flex-shrink: 0;
93
+ transition: all 0.2s ease;
94
+ `;exports.Dropdown=Dropdown;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var React=require("react"),styled=require("styled-components"),button=require("../../actions/button/button.js"),close=require("../../../icons/basic/close.js"),_function=require("../../../utils/function.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const ModalContext=React__default.default.createContext([!1,()=>{}]),Modal=({alwaysRender:e=!0,controlledOpen:t,onChange:a,children:l,...o})=>{const[n,d]=React__default.default.useState(t||!1);React__default.default.useEffect(()=>{void 0!==t&&d(t)},[t]),React__default.default.useEffect(()=>{a&&a(n)},[n]);let r;const i=[];return React__default.default.Children.forEach(l,e=>{var t=React__default.default.isValidElement(e)&&e.type?.displayName;t&&t.toLowerCase().includes("trigger")?r=e:i.push(e)}),React__default.default.createElement(ModalContext.Provider,{value:[n,d],...o},r,(n||e)&&i)},ModalTrigger=({children:e})=>{const[,t]=React__default.default.useContext(ModalContext);return e&&React__default.default.cloneElement(e,{onClick:_function.callAll(()=>t(!0),e.props.onClick,e=>{e?.stopPropagation(),e?.preventDefault()})})},ModalDismiss=(ModalTrigger.displayName="Modal.Trigger",Modal.Trigger=ModalTrigger,({children:e,setClosed:t})=>{const[,a]=React__default.default.useContext(ModalContext);return e&&React__default.default.cloneElement(e,{onClick:_function.callAll(()=>a(!1),e.props.onClick,e=>{t&&t(),e?.stopPropagation(),e?.preventDefault()})})}),ModalContent=(ModalDismiss.displayName="Modal.Dismiss",Modal.Dismiss=ModalDismiss,({backgroundDark:e=!0,children:t,footer:a,header:l,setClosed:o,sx:n,...d})=>{const[r,i]=React__default.default.useContext(ModalContext);return React__default.default.createElement(Wrapper,{$backgroundDark:e,$open:r,onClick:e=>{e.currentTarget==e.target&&(e.preventDefault(),e.stopPropagation(),e.preventDefault(),o?o():i(!1))}},React__default.default.createElement(Content,{...d,$sx:n},l&&React__default.default.createElement("div",{className:"header"},React__default.default.createElement("div",null,l),React__default.default.createElement(Modal.Dismiss,{setClosed:o},React__default.default.createElement(button.Button,{icon:React__default.default.createElement(close.Close,null),type:"special"}))),t,a&&React__default.default.createElement("div",{className:"footer"},a)))}),Wrapper=(ModalContent.displayName="Modal.Content",Modal.Content=ModalContent,styled.styled.div`
2
+ "use strict";var React=require("react"),styled=require("styled-components"),button=require("../../actions/button/button.js"),close=require("../../../icons/basic/close.js"),_function=require("../../../utils/function.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React);const ModalContext=React__default.default.createContext([!1,()=>{}]),Modal=({alwaysRender:e=!0,controlledOpen:t,onChange:a,children:l,...o})=>{const[n,d]=React__default.default.useState(t||!1);React__default.default.useEffect(()=>{void 0!==t&&d(t)},[t]),React__default.default.useEffect(()=>{a&&a(n)},[n]);let r;const i=[];return React__default.default.Children.forEach(l,e=>{var t=React__default.default.isValidElement(e)&&e.type?.displayName;t&&t.toLowerCase().includes("trigger")?r=e:i.push(e)}),React__default.default.createElement(ModalContext.Provider,{value:[n,d],...o},r,(n||e)&&i)},ModalTrigger=({children:e})=>{const[,t]=React__default.default.useContext(ModalContext);return e&&React__default.default.cloneElement(e,{onClick:_function.callAll(()=>t(!0),e.props.onClick,e=>{e?.stopPropagation(),e?.preventDefault()})})},ModalDismiss=(ModalTrigger.displayName="Modal.Trigger",Modal.Trigger=ModalTrigger,({children:e,setClosed:t})=>{const[,a]=React__default.default.useContext(ModalContext);return e&&React__default.default.cloneElement(e,{onClick:_function.callAll(()=>a(!1),e.props.onClick,e=>{t&&t(),e?.stopPropagation(),e?.preventDefault()})})}),ModalContent=(ModalDismiss.displayName="Modal.Dismiss",Modal.Dismiss=ModalDismiss,({backgroundDark:e=!0,children:t,footer:a,header:l,setClosed:o,sx:n,preventOutsideClick:d=!1,...r})=>{const[i,s]=React__default.default.useContext(ModalContext);return React__default.default.createElement(Wrapper,{$backgroundDark:e,$open:i,onClick:e=>{d||e.currentTarget==e.target&&(e.preventDefault(),e.stopPropagation(),e.preventDefault(),o?o():s(!1))}},React__default.default.createElement(Content,{...r,$sx:n},l&&React__default.default.createElement("div",{className:"header"},React__default.default.createElement("div",null,l),React__default.default.createElement(Modal.Dismiss,{setClosed:o},React__default.default.createElement(button.Button,{icon:React__default.default.createElement(close.Close,null),type:"special"}))),t,a&&React__default.default.createElement("div",{className:"footer"},a)))}),Wrapper=(ModalContent.displayName="Modal.Content",Modal.Content=ModalContent,styled.styled.div`
3
3
  ${({$open:e})=>e?`display: flex;
4
4
  flex-direction: column;
5
5
  align-items: center;
@@ -22,11 +22,13 @@ export interface DropdownProps extends NativeProps, React.PropsWithChildren {
22
22
  defaultAdditionalValue?: string;
23
23
  useFullWidth?: boolean;
24
24
  isButtonTrigger?: boolean;
25
+ blueOptionHover?: boolean;
26
+ useTickInRadio?: boolean;
25
27
  }
26
28
  declare const Dropdown: {
27
- ({ checkbox, radio, children, closeOnChange, closeOnBlur, defaultValue, disabled, hasArrow, maintainState, isButtonTrigger, multiple, offset, onChange, open: openDirection, options, sx, trigger, containerSx, additionalOptions, additionalOnChange, defaultAdditionalValue, useFullWidth, ...rest }: DropdownProps): React.JSX.Element;
29
+ ({ checkbox, radio, children, closeOnChange, closeOnBlur, defaultValue, disabled, hasArrow, maintainState, isButtonTrigger, multiple, offset, onChange, open: openDirection, options, sx, trigger, containerSx, additionalOptions, additionalOnChange, defaultAdditionalValue, useFullWidth, blueOptionHover, useTickInRadio, ...rest }: DropdownProps): React.JSX.Element;
28
30
  Option: {
29
- ({ checkbox, radio, disabled, icon, label, onClick, selected, sublabel, sx, value, color, }: DropdownOptionProps): React.JSX.Element;
31
+ ({ checkbox, radio, disabled, icon, label, onClick, selected, sublabel, sx, value, color, blueHover, useTickInRadio, }: DropdownOptionProps): React.JSX.Element;
30
32
  displayName: string;
31
33
  };
32
34
  Spacer: {
@@ -46,6 +48,8 @@ export interface DropdownOptionProps {
46
48
  sublabel?: string;
47
49
  sx?: string;
48
50
  value: string;
51
+ blueHover?: boolean;
52
+ useTickInRadio?: boolean;
49
53
  }
50
54
  export interface DropdownSpacerProps {
51
55
  sx?: string;
@@ -28,7 +28,7 @@ declare const Modal: {
28
28
  displayName: string;
29
29
  };
30
30
  Content: {
31
- ({ backgroundDark, children, footer, header, setClosed, sx, ...props }: ModalContentProps): React.JSX.Element;
31
+ ({ backgroundDark, children, footer, header, setClosed, sx, preventOutsideClick, ...props }: ModalContentProps): React.JSX.Element;
32
32
  displayName: string;
33
33
  };
34
34
  };
@@ -39,5 +39,6 @@ export interface ModalContentProps extends React.PropsWithChildren {
39
39
  setClosed?: () => void;
40
40
  sx?: string;
41
41
  onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
42
+ preventOutsideClick?: boolean;
42
43
  }
43
44
  export { Modal };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soul-refiner/design-system",
3
- "version": "2.14.49",
3
+ "version": "2.14.50",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "license": "MIT",