From 4ef17e0599aa4afc6219215321609fb837fb1f4b Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Mon, 16 Mar 2020 19:51:18 -0300 Subject: [PATCH] fix: Select arrow position for empty selects (#157) * Minor rewrite * Fixed placeholder for selectfiltered * Fixed text style, changed prop * Added 'No Placeholder' to history, prop fix Co-authored-by: Tasso Evangelista --- ...phone7_Forms_Inputs_Select_No_Placeholder.png | Bin 0 -> 1016 bytes ...laptop_Forms_Inputs_Select_No_Placeholder.png | Bin 0 -> 492 bytes .../fuselage/src/components/Select/Select.js | 14 ++++++++------ .../fuselage/src/components/Select/stories.mdx | 8 +++++++- 4 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 packages/fuselage/.loki/reference/chrome_iphone7_Forms_Inputs_Select_No_Placeholder.png create mode 100644 packages/fuselage/.loki/reference/chrome_laptop_Forms_Inputs_Select_No_Placeholder.png diff --git a/packages/fuselage/.loki/reference/chrome_iphone7_Forms_Inputs_Select_No_Placeholder.png b/packages/fuselage/.loki/reference/chrome_iphone7_Forms_Inputs_Select_No_Placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..d8dfc8dba2deb258123cb525fc68129e1cf2dd63 GIT binary patch literal 1016 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K50yx-!Shpx=}rJG=sSliQCz%I4@ z-lXpdCLj5p$e3xVO*YF-TmFb$&CQH&MXTNfy=A5sUu{|ZpmX2<`(3>1=b!y$=FIJN zTO6ntUQ!kpv^6UD?=v@sd&?#~){uF3!J$56?p*s7Z%6k{ zf(!=?m>4A77#I$7FeFGYGVmxfG$gVx81yhOv{6s8p>k=EXLfe>t{povPJQm{>)Wz# z-@2@=x28PbD#X}OSzKHk6%!MpHTBZVmoGQZ+q!%A>J+1ut*xxO`ugUXiLV71W|Y^~ z>U!R~e}DSxUH*LzcJr_Q`LpNL(@iQX!&aN-Ca(sn*uHV&!gcHPJTDzQ*cfv?bYsMy zb?Hw&S1!Gr8LB1fdFjN7jS^Ku$}(v+_|}r7waKPcTnK?Hj!xvMg*|TSF7t|2pDvAwPS69DZbKm*+```PLHb$H_H)m#K_*eFS zw!^}J3vb@MSuA+t-n}rZx!0aPU8<6qljE~9=G|49{Vog*){{;y*>rPFRaKRW?LXgy z>}>CuKF_}WIDY*2)8G4k{r(+a^SM}n;laG$f)+M5Q(o_~va_4^<^ALNGiFpwJ+3dv z@W8Rt<Rah z+uOUm@BU{SSEY#x>2^SW>{FEM*Pea$p4$WY;Naj-wf{rqLGJo5(trGEFPlLF8}tejF+FE-FETH zdv3=VY&dC^Tp+11cmJPnI|J8WZ@$O)ptaRW(eh#6cgOb(0u2Snt1UNXsJxJ6U=rwd zyK*hVMCxggYx;B5(AB0_^YfbSu`Y0R>RVi}!+B$di@aUQD}B*gwtdEaktG3V`_jai2RB#wSe7R-C_iy>ec*LboO}o_V42#e?E0tcq-V~ zBnRx(Tm0d}kCL8b-T4!rONv~6djIadCp9vb%RksT$*Au*^;=<*KC6Qte-}}X3tLN72V>%JJGQ>%MCBsDO#rNOwf=f>K zFX8}7-pxxlif4>zm@jxH&A7x$)+MmzXwt-+pBNX+xHUHx3vIVCg!0Dqj%zyJUM literal 0 HcmV?d00001 diff --git a/packages/fuselage/src/components/Select/Select.js b/packages/fuselage/src/components/Select/Select.js index bbaf6722ae..ddc44075c6 100644 --- a/packages/fuselage/src/components/Select/Select.js +++ b/packages/fuselage/src/components/Select/Select.js @@ -9,7 +9,7 @@ const Container = Box.extend('rcx-select', 'div'); export const Addon = Box.extend('rcx-select__addon', 'div'); -const Wrapper = Box.extend('rcx-select__wrapper', 'div'); // ({ children, ...props }) => {c})} {...props} />; +const Wrapper = Box.extend('rcx-select__wrapper', 'div'); export const Focus = React.forwardRef((props, ref) => ); @@ -23,7 +23,7 @@ export const Select = ({ onChange = () => {}, getValue = ([value] = []) => value, getLabel = ([, label] = []) => label, - placeholder, + placeholder = '', renderOptions: _Options = Options, }) => { const [internalValue, setInternalValue] = useState(value); @@ -68,7 +68,7 @@ export const Select = ({ const valueLabel = getLabel(option); - const visibleText = (filter === undefined || visible === AnimatedVisibility.HIDDEN) && (valueLabel ? {valueLabel} : placeholder); + const visibleText = (filter === undefined || visible === AnimatedVisibility.HIDDEN) && (valueLabel || placeholder); return ( ref.current.focus() & show()} className={ [ @@ -82,8 +82,10 @@ export const Select = ({ - { visibleText && - {visibleText} + { (typeof placeholder === 'string' || !!valueLabel) && + + {visibleText} + } }/> @@ -102,5 +104,5 @@ export const SelectFiltered = ({ }) => { const [filter, setFilter] = useState(''); const anchor = useCallback(React.forwardRef(({ children, filter, ...props }, ref) => {}} onInput={(e) => setFilter(e.currentTarget.value)} {...props} mod-undecorated={true}/>), []); - return ; }; diff --git a/packages/fuselage/src/components/Select/stories.mdx b/packages/fuselage/src/components/Select/stories.mdx index 74b687b03e..8654c7df3f 100644 --- a/packages/fuselage/src/components/Select/stories.mdx +++ b/packages/fuselage/src/components/Select/stories.mdx @@ -30,7 +30,6 @@ An input for selection of options. - + +