@soul-refiner/design-system 2.8.22 → 2.8.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,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,isRadio:_,applyOnClick:g,resetOnClick:v,applyResetActions:b,customerOptionWrapper:y})=>{const
|
|
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,customerOptionWrapper:y,onReset:h,shouldReset:m=!1})=>{const x=!!f,R=React__default.default.useRef(null);var C=React__default.default.useRef(null);const[E,$]=React__default.default.useState(!1),[k,w]=React__default.default.useState(()=>c||(x?[]:"")),[P,S]=React__default.default.useState("");React__default.default.useEffect(()=>{e&&$(!1)},[e]),React__default.default.useEffect(()=>{m&&(w(x?[]:""),$(!1),S(o),h?.())},[m,x,o,h]),React__default.default.useEffect(()=>{"outlined"===d&&void 0===c&&w(x?[u[0]?.value]:u[0]?.value)},[d,c]),React__default.default.useEffect(()=>{var e;E||(k.length?(e=u.find(e=>"string"!=typeof e&&j(e.value)),"string"==typeof k?S(e.label):S(1<k.length?e.label+" +"+(k.length-1):e.label)):S(o))},[k,u,E]);const A=x?e=>{e.stopPropagation();const t=e.target.getAttribute("data-value")??"";Array.isArray(k)&&k.includes(t)?w(e=>e.filter(e=>e!==t)):w(e=>[t,...e]),i&&!g&&$(!1),s&&s(e)}:e=>{e.stopPropagation();var t=e.target.getAttribute("data-value")??"";k!==t?w(t):w(""),i&&!g&&$(!1),s&&s(e)},j=e=>x?k.includes(e):e===k;var q=[...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:A,selected:j(e.value),checkbox:f,radio:!x&&"pill"===d&&_,showClose:void 0===p?0===t&&"pill"===d:p,onClose:()=>$(!1),...e})),"pill"===d&&React__default.default.createElement(filter_option.Spacer,{key:"spacer-"+u.length})],D=r&&("string"==typeof k?!!k:!!k.length);return React__default.default.createElement(Wrapper,{$sx:n,tabIndex:0,ref:R,onBlurCapture:e=>{t&&R?.current&&!R?.current?.contains(e.relatedTarget)&&$(!1)}},React__default.default.createElement(FilterTrigger,{disabled:e,graphic:a,graphicAlignment:l,label:o,onClick:()=>{e||$(e=>!e)},onReset:r?e=>{e.stopPropagation(),v&&v(e),w(x?[]:""),$(!1)}:void 0,open:E,resetGraphic:D,type:d,value:P}),E&&React__default.default.createElement(Container,{ref:C},React__default.default.createElement(React__default.default.Fragment,null,y?y({children:q}):q,"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),w(x?[]:""),$(!1)},size:"small",type:"text"},"Reset"),React__default.default.createElement(button.Button,{onClick:e=>{g&&g(e),$(!1)},size:"small",type:"primary"},"Apply")))))},Wrapper=styled__default.default.div`
|
|
3
3
|
position: relative;
|
|
4
4
|
display: block;
|
|
5
5
|
outline: none;
|
|
@@ -21,13 +21,14 @@
|
|
|
21
21
|
& > div:last-of-type {
|
|
22
22
|
border-radius: 0px 0px 8px 8px;
|
|
23
23
|
}
|
|
24
|
-
`,textProps={as:"span",$fontSize:14,$lineHeight:20},wrapperProps={$align:"center",$dir:"row",$gap:16},FilterTrigger=({disabled:e,graphic:t,graphicAlignment:a,label:l,onClick:r,resetGraphic:o,open:n,onReset:d,type:u,value:c})=>"pill"===u?React__default.default.createElement(Pill,{disabled:e,onClick:r,$labelIsDefault:c===l,...wrapperProps},"left"===a?t:null,React__default.default.createElement(paragraph.P,{...textProps},c),o?React__default.default.createElement(close.Close,{color:"blue-3",onClick:d}):null,"right"===a?t:null,!t&&!o&&(n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null))):"labeled"===u?React__default.default.createElement(Labeled,{disabled:e,onClick:r,...wrapperProps},React__default.default.createElement(paragraph.P,{...textProps},l),React__default.default.createElement(LabelSeparator,null),React__default.default.createElement(paragraph.P,{$color:"primary-blue-2",$mediumBold:!0,...textProps},c),n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):"avatar"===u?React__default.default.createElement(Avatar,{$align:"center",$dir:"row",$gap:8,disabled:e,onClick:r},t,n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):"text"===u?React__default.default.createElement(Text,{disabled:e,onClick:r,...wrapperProps},React__default.default.createElement(paragraph.P,{$color:"grey-4",$semiBold:!0,...textProps},l,":"),React__default.default.createElement(paragraph.P,{$color:"primary-blue-2",$semiBold:!0,className:"filter-trigger-value",...textProps},c),n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):React__default.default.createElement(Outlined,{disabled:e,onClick:r,...wrapperProps},"left"===a?t:null,t,React__default.default.createElement(paragraph.P,{...textProps},c),"right"===a?t:null,!t&&(n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null))),sharedStyles=((Filter.Trigger=FilterTrigger).displayName="Filter.Trigger",styled.css`
|
|
24
|
+
`,textProps={as:"span",$fontSize:14,$lineHeight:20,$sx:"white-space: nowrap; width: 100%;",$textClampLines:1},wrapperProps={$align:"center",$dir:"row",$gap:16},FilterTrigger=({disabled:e,graphic:t,graphicAlignment:a,label:l,onClick:r,resetGraphic:o,open:n,onReset:d,type:u,value:c})=>"pill"===u?React__default.default.createElement(Pill,{disabled:e,onClick:r,$labelIsDefault:c===l,...wrapperProps},"left"===a?t:null,React__default.default.createElement(paragraph.P,{...textProps},c),o?React__default.default.createElement(close.Close,{color:"blue-3",onClick:d}):null,"right"===a?t:null,!t&&!o&&(n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null))):"labeled"===u?React__default.default.createElement(Labeled,{disabled:e,onClick:r,...wrapperProps},React__default.default.createElement(paragraph.P,{...textProps},l),React__default.default.createElement(LabelSeparator,null),React__default.default.createElement(paragraph.P,{$color:"primary-blue-2",$mediumBold:!0,...textProps},c),n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):"avatar"===u?React__default.default.createElement(Avatar,{$align:"center",$dir:"row",$gap:8,disabled:e,onClick:r},t,n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):"text"===u?React__default.default.createElement(Text,{disabled:e,onClick:r,...wrapperProps},React__default.default.createElement(paragraph.P,{$color:"grey-4",$semiBold:!0,...textProps},l,":"),React__default.default.createElement(paragraph.P,{$color:"primary-blue-2",$semiBold:!0,className:"filter-trigger-value",...textProps},c),n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null)):React__default.default.createElement(Outlined,{disabled:e,onClick:r,...wrapperProps},"left"===a?t:null,t,React__default.default.createElement(paragraph.P,{...textProps},c),"right"===a?t:null,!t&&(n?React__default.default.createElement(chevron_up.ChevronUp,null):React__default.default.createElement(chevron_down.ChevronDown,null))),sharedStyles=((Filter.Trigger=FilterTrigger).displayName="Filter.Trigger",styled.css`
|
|
25
25
|
display: flex;
|
|
26
26
|
padding: 10px 16px;
|
|
27
27
|
border: none;
|
|
28
28
|
outline: none;
|
|
29
29
|
cursor: pointer;
|
|
30
30
|
user-select: none;
|
|
31
|
+
width: 100%;
|
|
31
32
|
|
|
32
33
|
&:disabled {
|
|
33
34
|
background-color: var(--color-grey-9);
|
|
@@ -57,7 +58,6 @@
|
|
|
57
58
|
border-radius: 24px;
|
|
58
59
|
background-color: var(--color-white);
|
|
59
60
|
font-family: var(--font-inter);
|
|
60
|
-
|
|
61
61
|
${({$labelIsDefault:e})=>e?"":`
|
|
62
62
|
& > * {
|
|
63
63
|
color: var(--color-primary-blue-2);
|
|
@@ -115,7 +115,6 @@
|
|
|
115
115
|
background-color: transparent;
|
|
116
116
|
border-radius: 32px;
|
|
117
117
|
font-family: var(--font-inter);
|
|
118
|
-
|
|
119
118
|
&:hover {
|
|
120
119
|
background-color: var(--color-grey-10);
|
|
121
120
|
}
|
|
@@ -24,9 +24,11 @@ export interface FilterProps {
|
|
|
24
24
|
resetOnClick?: (event: React.MouseEvent) => void;
|
|
25
25
|
applyResetActions?: boolean;
|
|
26
26
|
customerOptionWrapper?: (props: React.PropsWithChildren) => React.ReactElement;
|
|
27
|
+
shouldReset?: boolean;
|
|
28
|
+
onReset?: () => void;
|
|
27
29
|
}
|
|
28
30
|
declare const Filter: {
|
|
29
|
-
({ closeOnBlur, disabled, graphic, graphicAlignment, resetGraphic, label, sx, triggerType, options, defaultValue, closeOnChange, optionOnChange, optionShowClose, checkbox, isRadio, applyOnClick, resetOnClick, applyResetActions, customerOptionWrapper, }: FilterProps): React.JSX.Element;
|
|
31
|
+
({ closeOnBlur, disabled, graphic, graphicAlignment, resetGraphic, label, sx, triggerType, options, defaultValue, closeOnChange, optionOnChange, optionShowClose, checkbox, isRadio, applyOnClick, resetOnClick, applyResetActions, customerOptionWrapper, onReset, shouldReset, }: FilterProps): React.JSX.Element;
|
|
30
32
|
Trigger: {
|
|
31
33
|
({ disabled, graphic, graphicAlignment, label, onClick, resetGraphic, open, onReset, type, value, }: FilterTriggerProps): React.JSX.Element;
|
|
32
34
|
displayName: string;
|