@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:
|
|
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:
|
|
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:
|
|
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);`:
|
|
57
|
-
|
|
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-
|
|
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
|
-
`)
|
|
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,...
|
|
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 };
|