@cleartrip/ct-design-dropdown 5.6.0 → 5.7.0-SNAPSHOT-native-main.1
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.
- package/dist/Dropdown.d.ts.map +1 -1
- package/dist/ct-design-dropdown.browser.cjs.js +1 -1
- package/dist/ct-design-dropdown.browser.cjs.js.map +1 -1
- package/dist/ct-design-dropdown.browser.esm.js +1 -1
- package/dist/ct-design-dropdown.browser.esm.js.map +1 -1
- package/dist/ct-design-dropdown.cjs.js +56 -38
- package/dist/ct-design-dropdown.cjs.js.map +1 -1
- package/dist/ct-design-dropdown.esm.js +56 -38
- package/dist/ct-design-dropdown.esm.js.map +1 -1
- package/dist/ct-design-dropdown.umd.js +56 -38
- package/dist/ct-design-dropdown.umd.js.map +1 -1
- package/dist/style.d.ts +19 -6
- package/dist/style.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/Dropdown.tsx +17 -38
- package/src/style.ts +19 -6
package/dist/Dropdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../packages/components/Dropdown/src/Dropdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../packages/components/Dropdown/src/Dropdown.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAQ,MAAM,QAAQ,CAAC;AAwD7C,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqHrC,CAAC;AAYF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),o=require("react"),t=require("@cleartrip/ct-design-typography"),r=require("@cleartrip/ct-design-style-manager"),n=require("@cleartrip/ct-design-icons");const i=e=>({flex:1,height:e,
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),o=require("react"),t=require("@cleartrip/ct-design-typography"),r=require("@cleartrip/ct-design-style-manager"),n=require("@cleartrip/ct-design-icons");const i=(e,o,t)=>({display:"flex",flexDirection:"row",alignItems:"center",width:"100%",height:o,backgroundColor:"#fff",borderRadius:5,borderColor:t?e.color.border.primary:"#e0e0e0",borderWidth:1,borderStyle:"solid",boxSizing:"border-box",cursor:"pointer"}),a=e=>({display:"flex",flex:1,minWidth:0,height:e,alignItems:"center",paddingHorizontal:12}),l=r.makeStyles(()=>({root:{width:"100%",backgroundColor:"#fff",position:"relative"},dropDownItemListContainer:{width:"100%",maxHeight:240,borderRadius:5,position:"absolute",overflow:"hidden",shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.22,shadowRadius:2.22,elevation:3,backgroundColor:"#fff",zIndex:1},dropDownItemContainer:{display:"flex",width:"100%",justifyContent:"center",alignItems:"center",paddingHorizontal:16,paddingVertical:12},chevronDownContainer:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,height:24,paddingRight:12},scrollArea:{maxHeight:240,overflowY:"auto"}})),s=({item:o,index:n,isSelected:i,dropdownItem:a,onSelect:s,customItemContainer:d=[],customItemTextContainer:c={}})=>{const p=r.useStyles(()=>({root:{display:"flex",backgroundColor:i?"#1a1a1a":"#fff",cursor:"pointer",width:"100%",justifyContent:"center",alignItems:"center",paddingHorizontal:16,paddingVertical:12}}),[i]),u=r.useWebMergeStyles([l.dropDownItemContainer,p.root,...d],[p.root,d]);return e.jsx("div",{className:u,onClick:()=>s(o,n),children:e.jsx(t.Typography,{styleConfig:c,variant:t.TypographyVariant.HM4,color:i?t.TypographyColor.NEUTRAL:t.TypographyColor.PRIMARY,children:a})})};exports.Dropdown=({placeHolder:d,itemList:c,height:p=40,styleConfig:u={},dropDownValue:h,defaultSelectedIndex:g,onItemSelect:m,renderItem:y,showDropDownListOnTop:C=!0})=>{const{placeHolderContainer:f=[],placeHolderTextContainer:x=[],dropDownItemListContainer:w=[],dropDownItemContainer:I=[],dropDownItemTextContainer:b={}}=u,v=o.useRef(null),[S,D]=o.useState(!1),[T,H]=o.useState(null!=g?g:-1);o.useEffect(()=>{if(!S)return;const e=e=>{v.current&&!v.current.contains(e.target)&&D(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[S]);const j=r.useStyles(e=>({placeHolderContainer:i(e,p,S),placeHolderTextContainer:a(p)}),[S,p]),M=(e,o)=>{H(o),null==m||m(e,o),D(!1)},R=C,L=r.useWebMergeStyles([l.root],[]),k=r.useWebMergeStyles([j.placeHolderContainer,...f],[j.placeHolderContainer,f]),W=r.useWebMergeStyles([j.placeHolderTextContainer],[j.placeHolderTextContainer]),N=r.useWebMergeStyles([l.chevronDownContainer],[]),A=R?{bottom:p}:{top:p},q=r.useWebMergeStyles([l.dropDownItemListContainer,A,l.scrollArea,...w],[R,p,w]);return e.jsxs("div",{ref:v,className:L,children:[e.jsxs("div",{className:k,onClick:()=>D(e=>!e),role:"button",tabIndex:0,children:[e.jsx("div",{className:W,children:e.jsx(t.Typography,{color:h.length>0?t.TypographyColor.PRIMARY:t.TypographyColor.DISABLED,lineClamp:1,styleConfig:{root:x},variant:t.TypographyVariant.HM4,children:h.length>0?h:d})}),e.jsx("div",{className:N,children:e.jsx(n.ChevronDown,{})})]}),S&&e.jsx("div",{className:q,children:c.map((o,t)=>{const r=(null==y?void 0:y(o,t))||(null==o?void 0:o.label),n=t===T;return e.jsx(s,{item:o,index:t,isSelected:n,dropdownItem:r,onSelect:M,customItemContainer:I,customItemTextContainer:b},`${o.value}-${t}`)})})]})};
|
|
2
2
|
//# sourceMappingURL=ct-design-dropdown.browser.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dropdown.browser.cjs.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["
|
|
1
|
+
{"version":3,"file":"ct-design-dropdown.browser.cjs.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["getPlaceHolderContainerStyles","theme","height","focus","display","flexDirection","alignItems","width","backgroundColor","borderRadius","borderColor","color","border","primary","borderWidth","borderStyle","boxSizing","cursor","getPlaceHolderTextContainerStyles","flex","minWidth","paddingHorizontal","staticStyles","makeStyles","root","position","dropDownItemListContainer","maxHeight","overflow","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","zIndex","dropDownItemContainer","justifyContent","paddingVertical","chevronDownContainer","flexShrink","paddingRight","scrollArea","overflowY","DropdownListItem","item","index","isSelected","dropdownItem","onSelect","customItemContainer","customItemTextContainer","itemDynamicStyles","useStyles","mergedItemClassName","useWebMergeStyles","_jsx","className","onClick","children","Typography","styleConfig","variant","TypographyVariant","HM4","TypographyColor","NEUTRAL","PRIMARY","placeHolder","itemList","dropDownValue","defaultSelectedIndex","onItemSelect","renderItem","showDropDownListOnTop","placeHolderContainer","customPlaceHolderContainer","placeHolderTextContainer","customPlaceHolderTextContainer","customDropDownItemListContainer","customDropDownItemContainer","dropDownItemTextContainer","rootRef","useRef","setFocus","useState","singleSelectIndex","setSingleSelectIndex","useEffect","handleOutside","event","current","contains","target","document","addEventListener","removeEventListener","dynamicStyles","singleSelectClickHandler","isShownOnTop","mergedRootClassName","mergedPlaceHolderClassName","mergedPlaceHolderTextClassName","mergedChevronClassName","listPositionStyle","bottom","top","mergedListClassName","_jsxs","ref","jsxs","state","role","tabIndex","length","DISABLED","lineClamp","jsx","ChevronDown","map","label","value"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useRef as t,useState as
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useRef as t,useState as n,useEffect as r}from"react";import{Typography as i,TypographyColor as l,TypographyVariant as a}from"@cleartrip/ct-design-typography";import{makeStyles as d,useStyles as c,useWebMergeStyles as s}from"@cleartrip/ct-design-style-manager";import{ChevronDown as m}from"@cleartrip/ct-design-icons";const p=(e,o,t)=>({display:"flex",flexDirection:"row",alignItems:"center",width:"100%",height:o,backgroundColor:"#fff",borderRadius:5,borderColor:t?e.color.border.primary:"#e0e0e0",borderWidth:1,borderStyle:"solid",boxSizing:"border-box",cursor:"pointer"}),h=e=>({display:"flex",flex:1,minWidth:0,height:e,alignItems:"center",paddingHorizontal:12}),u=d(()=>({root:{width:"100%",backgroundColor:"#fff",position:"relative"},dropDownItemListContainer:{width:"100%",maxHeight:240,borderRadius:5,position:"absolute",overflow:"hidden",shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.22,shadowRadius:2.22,elevation:3,backgroundColor:"#fff",zIndex:1},dropDownItemContainer:{display:"flex",width:"100%",justifyContent:"center",alignItems:"center",paddingHorizontal:16,paddingVertical:12},chevronDownContainer:{display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,height:24,paddingRight:12},scrollArea:{maxHeight:240,overflowY:"auto"}})),f=({item:e,index:t,isSelected:n,dropdownItem:r,onSelect:d,customItemContainer:m=[],customItemTextContainer:p={}})=>{const h=c(()=>({root:{display:"flex",backgroundColor:n?"#1a1a1a":"#fff",cursor:"pointer",width:"100%",justifyContent:"center",alignItems:"center",paddingHorizontal:16,paddingVertical:12}}),[n]),f=s([u.dropDownItemContainer,h.root,...m],[h.root,m]);return o("div",{className:f,onClick:()=>d(e,t),children:o(i,{styleConfig:p,variant:a.HM4,color:n?l.NEUTRAL:l.PRIMARY,children:r})})},C=({placeHolder:d,itemList:C,height:g=40,styleConfig:w={},dropDownValue:x,defaultSelectedIndex:I,onItemSelect:v,renderItem:b,showDropDownListOnTop:y=!0})=>{const{placeHolderContainer:H=[],placeHolderTextContainer:D=[],dropDownItemListContainer:S=[],dropDownItemContainer:L=[],dropDownItemTextContainer:R={}}=w,T=t(null),[k,N]=n(!1),[A,z]=n(null!=I?I:-1);r(()=>{if(!k)return;const e=e=>{T.current&&!T.current.contains(e.target)&&N(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[k]);const j=c(e=>({placeHolderContainer:p(e,g,k),placeHolderTextContainer:h(g)}),[k,g]),E=(e,o)=>{z(o),null==v||v(e,o),N(!1)},M=y,O=s([u.root],[]),V=s([j.placeHolderContainer,...H],[j.placeHolderContainer,H]),Y=s([j.placeHolderTextContainer],[j.placeHolderTextContainer]),P=s([u.chevronDownContainer],[]),W=M?{bottom:g}:{top:g},$=s([u.dropDownItemListContainer,W,u.scrollArea,...S],[M,g,S]);return e("div",{ref:T,className:O,children:[e("div",{className:V,onClick:()=>N(e=>!e),role:"button",tabIndex:0,children:[o("div",{className:Y,children:o(i,{color:x.length>0?l.PRIMARY:l.DISABLED,lineClamp:1,styleConfig:{root:D},variant:a.HM4,children:x.length>0?x:d})}),o("div",{className:P,children:o(m,{})})]}),k&&o("div",{className:$,children:C.map((e,t)=>{const n=(null==b?void 0:b(e,t))||(null==e?void 0:e.label);return o(f,{item:e,index:t,isSelected:t===A,dropdownItem:n,onSelect:E,customItemContainer:L,customItemTextContainer:R},`${e.value}-${t}`)})})]})};export{C as Dropdown};
|
|
2
2
|
//# sourceMappingURL=ct-design-dropdown.browser.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dropdown.browser.esm.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["
|
|
1
|
+
{"version":3,"file":"ct-design-dropdown.browser.esm.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["getPlaceHolderContainerStyles","theme","height","focus","display","flexDirection","alignItems","width","backgroundColor","borderRadius","borderColor","color","border","primary","borderWidth","borderStyle","boxSizing","cursor","getPlaceHolderTextContainerStyles","flex","minWidth","paddingHorizontal","staticStyles","makeStyles","root","position","dropDownItemListContainer","maxHeight","overflow","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","zIndex","dropDownItemContainer","justifyContent","paddingVertical","chevronDownContainer","flexShrink","paddingRight","scrollArea","overflowY","DropdownListItem","item","index","isSelected","dropdownItem","onSelect","customItemContainer","customItemTextContainer","itemDynamicStyles","useStyles","mergedItemClassName","useWebMergeStyles","_jsx","className","onClick","children","Typography","styleConfig","variant","TypographyVariant","HM4","TypographyColor","NEUTRAL","PRIMARY","Dropdown","placeHolder","itemList","dropDownValue","defaultSelectedIndex","onItemSelect","renderItem","showDropDownListOnTop","placeHolderContainer","customPlaceHolderContainer","placeHolderTextContainer","customPlaceHolderTextContainer","customDropDownItemListContainer","customDropDownItemContainer","dropDownItemTextContainer","rootRef","useRef","setFocus","useState","singleSelectIndex","setSingleSelectIndex","useEffect","handleOutside","event","current","contains","target","document","addEventListener","removeEventListener","dynamicStyles","singleSelectClickHandler","isShownOnTop","mergedRootClassName","mergedPlaceHolderClassName","mergedPlaceHolderTextClassName","mergedChevronClassName","listPositionStyle","bottom","top","mergedListClassName","_jsxs","ref","state","role","tabIndex","length","DISABLED","lineClamp","ChevronDown","map","label","value"],"mappings":"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"}
|
|
@@ -6,43 +6,68 @@ var ctDesignTypography = require('@cleartrip/ct-design-typography');
|
|
|
6
6
|
var ctDesignStyleManager = require('@cleartrip/ct-design-style-manager');
|
|
7
7
|
var ctDesignIcons = require('@cleartrip/ct-design-icons');
|
|
8
8
|
|
|
9
|
+
const getDropdownListContainerStyles = () => ({
|
|
10
|
+
width: '100%',
|
|
11
|
+
maxHeight: 240,
|
|
12
|
+
borderRadius: 5,
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
overflow: 'hidden',
|
|
15
|
+
shadowColor: '#000',
|
|
16
|
+
shadowOffset: { width: 0, height: 1 },
|
|
17
|
+
shadowOpacity: 0.22,
|
|
18
|
+
shadowRadius: 2.22,
|
|
19
|
+
elevation: 3,
|
|
20
|
+
backgroundColor: '#fff',
|
|
21
|
+
zIndex: 1,
|
|
22
|
+
});
|
|
23
|
+
const getDropdownItemContainerStyles = () => ({
|
|
24
|
+
display: 'flex',
|
|
25
|
+
width: '100%',
|
|
26
|
+
justifyContent: 'center',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
paddingHorizontal: 16,
|
|
29
|
+
paddingVertical: 12,
|
|
30
|
+
});
|
|
31
|
+
const getRootContainerStyles = () => ({
|
|
32
|
+
width: '100%',
|
|
33
|
+
backgroundColor: '#fff',
|
|
34
|
+
position: 'relative',
|
|
35
|
+
});
|
|
9
36
|
const getChevronContainerStyles = () => ({
|
|
37
|
+
display: 'flex',
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
justifyContent: 'center',
|
|
40
|
+
flexShrink: 0,
|
|
10
41
|
height: 24,
|
|
11
|
-
left: 3,
|
|
12
42
|
paddingRight: 12,
|
|
13
43
|
});
|
|
44
|
+
const getPlaceHolderContainerStyles = (theme, height, focus) => ({
|
|
45
|
+
display: 'flex',
|
|
46
|
+
flexDirection: 'row',
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
width: '100%',
|
|
49
|
+
height,
|
|
50
|
+
backgroundColor: '#fff',
|
|
51
|
+
borderRadius: 5,
|
|
52
|
+
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
53
|
+
borderWidth: 1,
|
|
54
|
+
borderStyle: 'solid',
|
|
55
|
+
boxSizing: 'border-box',
|
|
56
|
+
cursor: 'pointer',
|
|
57
|
+
});
|
|
14
58
|
const getPlaceHolderTextContainerStyles = (height) => ({
|
|
59
|
+
display: 'flex',
|
|
15
60
|
flex: 1,
|
|
61
|
+
minWidth: 0,
|
|
16
62
|
height,
|
|
17
|
-
|
|
63
|
+
alignItems: 'center',
|
|
18
64
|
paddingHorizontal: 12,
|
|
19
65
|
});
|
|
20
66
|
|
|
21
67
|
const staticStyles = ctDesignStyleManager.makeStyles(() => ({
|
|
22
|
-
root:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
position: 'relative',
|
|
26
|
-
},
|
|
27
|
-
dropDownItemListContainer: {
|
|
28
|
-
width: '100%',
|
|
29
|
-
maxHeight: 240,
|
|
30
|
-
borderRadius: 5,
|
|
31
|
-
position: 'absolute',
|
|
32
|
-
overflow: 'hidden',
|
|
33
|
-
shadowColor: '#000',
|
|
34
|
-
shadowOffset: { width: 0, height: 1 },
|
|
35
|
-
shadowOpacity: 0.22,
|
|
36
|
-
shadowRadius: 2.22,
|
|
37
|
-
elevation: 3,
|
|
38
|
-
backgroundColor: '#fff',
|
|
39
|
-
},
|
|
40
|
-
dropDownItemContainer: {
|
|
41
|
-
width: '100%',
|
|
42
|
-
justifyContent: 'center',
|
|
43
|
-
paddingHorizontal: 16,
|
|
44
|
-
paddingVertical: 12,
|
|
45
|
-
},
|
|
68
|
+
root: getRootContainerStyles(),
|
|
69
|
+
dropDownItemListContainer: getDropdownListContainerStyles(),
|
|
70
|
+
dropDownItemContainer: getDropdownItemContainerStyles(),
|
|
46
71
|
chevronDownContainer: getChevronContainerStyles(),
|
|
47
72
|
scrollArea: {
|
|
48
73
|
maxHeight: 240,
|
|
@@ -52,15 +77,17 @@ const staticStyles = ctDesignStyleManager.makeStyles(() => ({
|
|
|
52
77
|
const DropdownListItem = ({ item, index, isSelected, dropdownItem, onSelect, customItemContainer = [], customItemTextContainer = {}, }) => {
|
|
53
78
|
const itemDynamicStyles = ctDesignStyleManager.useStyles(() => ({
|
|
54
79
|
root: {
|
|
80
|
+
display: 'flex',
|
|
55
81
|
backgroundColor: isSelected ? '#1a1a1a' : '#fff',
|
|
56
82
|
cursor: 'pointer',
|
|
57
83
|
width: '100%',
|
|
58
84
|
justifyContent: 'center',
|
|
85
|
+
alignItems: 'center',
|
|
59
86
|
paddingHorizontal: 16,
|
|
60
87
|
paddingVertical: 12,
|
|
61
88
|
},
|
|
62
89
|
}), [isSelected]);
|
|
63
|
-
const mergedItemClassName = ctDesignStyleManager.useWebMergeStyles([itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
90
|
+
const mergedItemClassName = ctDesignStyleManager.useWebMergeStyles([staticStyles.dropDownItemContainer, itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
64
91
|
return (jsxRuntime.jsx("div", { className: mergedItemClassName, onClick: () => onSelect(item, index), children: jsxRuntime.jsx(ctDesignTypography.Typography, { styleConfig: customItemTextContainer, variant: ctDesignTypography.TypographyVariant.HM4, color: isSelected ? ctDesignTypography.TypographyColor.NEUTRAL : ctDesignTypography.TypographyColor.PRIMARY, children: dropdownItem }) }));
|
|
65
92
|
};
|
|
66
93
|
const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDownValue, defaultSelectedIndex, onItemSelect, renderItem, showDropDownListOnTop = true, }) => {
|
|
@@ -80,16 +107,7 @@ const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDo
|
|
|
80
107
|
return () => document.removeEventListener('mousedown', handleOutside);
|
|
81
108
|
}, [focus]);
|
|
82
109
|
const dynamicStyles = ctDesignStyleManager.useStyles((theme) => ({
|
|
83
|
-
placeHolderContainer:
|
|
84
|
-
width: '100%',
|
|
85
|
-
height,
|
|
86
|
-
backgroundColor: '#fff',
|
|
87
|
-
borderRadius: 5,
|
|
88
|
-
flexDirection: 'row',
|
|
89
|
-
alignItems: 'center',
|
|
90
|
-
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
91
|
-
borderWidth: 1,
|
|
92
|
-
},
|
|
110
|
+
placeHolderContainer: getPlaceHolderContainerStyles(theme, height, focus),
|
|
93
111
|
placeHolderTextContainer: getPlaceHolderTextContainerStyles(height),
|
|
94
112
|
}), [focus, height]);
|
|
95
113
|
const singleSelectClickHandler = (item, index) => {
|
|
@@ -110,7 +128,7 @@ const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDo
|
|
|
110
128
|
staticStyles.scrollArea,
|
|
111
129
|
...customDropDownItemListContainer,
|
|
112
130
|
], [isShownOnTop, height, customDropDownItemListContainer]);
|
|
113
|
-
return (jsxRuntime.jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxRuntime.jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, children: [jsxRuntime.jsx("div", { className: mergedPlaceHolderTextClassName, children: jsxRuntime.jsx(ctDesignTypography.Typography, { color: dropDownValue.length > 0 ? ctDesignTypography.TypographyColor.PRIMARY : ctDesignTypography.TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: ctDesignTypography.TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsxRuntime.jsx("div", { className: mergedChevronClassName, children: jsxRuntime.jsx(ctDesignIcons.ChevronDown, {}) })] }), focus && (jsxRuntime.jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
131
|
+
return (jsxRuntime.jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxRuntime.jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, role: 'button', tabIndex: 0, children: [jsxRuntime.jsx("div", { className: mergedPlaceHolderTextClassName, children: jsxRuntime.jsx(ctDesignTypography.Typography, { color: dropDownValue.length > 0 ? ctDesignTypography.TypographyColor.PRIMARY : ctDesignTypography.TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: ctDesignTypography.TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsxRuntime.jsx("div", { className: mergedChevronClassName, children: jsxRuntime.jsx(ctDesignIcons.ChevronDown, {}) })] }), focus && (jsxRuntime.jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
114
132
|
const dropdownItem = (renderItem === null || renderItem === void 0 ? void 0 : renderItem(item, index)) || (item === null || item === void 0 ? void 0 : item.label);
|
|
115
133
|
const isSelected = index === singleSelectIndex;
|
|
116
134
|
return (jsxRuntime.jsx(DropdownListItem, { item: item, index: index, isSelected: isSelected, dropdownItem: dropdownItem, onSelect: singleSelectClickHandler, customItemContainer: customDropDownItemContainer, customItemTextContainer: dropDownItemTextContainer }, `${item.value}-${index}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dropdown.cjs.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["makeStyles","useStyles","useWebMergeStyles","_jsx","Typography","TypographyVariant","TypographyColor","useRef","useState","useEffect","_jsxs","ChevronDown"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"ct-design-dropdown.cjs.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["makeStyles","useStyles","useWebMergeStyles","_jsx","Typography","TypographyVariant","TypographyColor","useRef","useState","useEffect","_jsxs","ChevronDown"],"mappings":"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"}
|
|
@@ -4,43 +4,68 @@ import { Typography, TypographyColor, TypographyVariant } from '@cleartrip/ct-de
|
|
|
4
4
|
import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
|
|
5
5
|
import { ChevronDown } from '@cleartrip/ct-design-icons';
|
|
6
6
|
|
|
7
|
+
const getDropdownListContainerStyles = () => ({
|
|
8
|
+
width: '100%',
|
|
9
|
+
maxHeight: 240,
|
|
10
|
+
borderRadius: 5,
|
|
11
|
+
position: 'absolute',
|
|
12
|
+
overflow: 'hidden',
|
|
13
|
+
shadowColor: '#000',
|
|
14
|
+
shadowOffset: { width: 0, height: 1 },
|
|
15
|
+
shadowOpacity: 0.22,
|
|
16
|
+
shadowRadius: 2.22,
|
|
17
|
+
elevation: 3,
|
|
18
|
+
backgroundColor: '#fff',
|
|
19
|
+
zIndex: 1,
|
|
20
|
+
});
|
|
21
|
+
const getDropdownItemContainerStyles = () => ({
|
|
22
|
+
display: 'flex',
|
|
23
|
+
width: '100%',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
paddingHorizontal: 16,
|
|
27
|
+
paddingVertical: 12,
|
|
28
|
+
});
|
|
29
|
+
const getRootContainerStyles = () => ({
|
|
30
|
+
width: '100%',
|
|
31
|
+
backgroundColor: '#fff',
|
|
32
|
+
position: 'relative',
|
|
33
|
+
});
|
|
7
34
|
const getChevronContainerStyles = () => ({
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center',
|
|
38
|
+
flexShrink: 0,
|
|
8
39
|
height: 24,
|
|
9
|
-
left: 3,
|
|
10
40
|
paddingRight: 12,
|
|
11
41
|
});
|
|
42
|
+
const getPlaceHolderContainerStyles = (theme, height, focus) => ({
|
|
43
|
+
display: 'flex',
|
|
44
|
+
flexDirection: 'row',
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
width: '100%',
|
|
47
|
+
height,
|
|
48
|
+
backgroundColor: '#fff',
|
|
49
|
+
borderRadius: 5,
|
|
50
|
+
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
51
|
+
borderWidth: 1,
|
|
52
|
+
borderStyle: 'solid',
|
|
53
|
+
boxSizing: 'border-box',
|
|
54
|
+
cursor: 'pointer',
|
|
55
|
+
});
|
|
12
56
|
const getPlaceHolderTextContainerStyles = (height) => ({
|
|
57
|
+
display: 'flex',
|
|
13
58
|
flex: 1,
|
|
59
|
+
minWidth: 0,
|
|
14
60
|
height,
|
|
15
|
-
|
|
61
|
+
alignItems: 'center',
|
|
16
62
|
paddingHorizontal: 12,
|
|
17
63
|
});
|
|
18
64
|
|
|
19
65
|
const staticStyles = makeStyles(() => ({
|
|
20
|
-
root:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
position: 'relative',
|
|
24
|
-
},
|
|
25
|
-
dropDownItemListContainer: {
|
|
26
|
-
width: '100%',
|
|
27
|
-
maxHeight: 240,
|
|
28
|
-
borderRadius: 5,
|
|
29
|
-
position: 'absolute',
|
|
30
|
-
overflow: 'hidden',
|
|
31
|
-
shadowColor: '#000',
|
|
32
|
-
shadowOffset: { width: 0, height: 1 },
|
|
33
|
-
shadowOpacity: 0.22,
|
|
34
|
-
shadowRadius: 2.22,
|
|
35
|
-
elevation: 3,
|
|
36
|
-
backgroundColor: '#fff',
|
|
37
|
-
},
|
|
38
|
-
dropDownItemContainer: {
|
|
39
|
-
width: '100%',
|
|
40
|
-
justifyContent: 'center',
|
|
41
|
-
paddingHorizontal: 16,
|
|
42
|
-
paddingVertical: 12,
|
|
43
|
-
},
|
|
66
|
+
root: getRootContainerStyles(),
|
|
67
|
+
dropDownItemListContainer: getDropdownListContainerStyles(),
|
|
68
|
+
dropDownItemContainer: getDropdownItemContainerStyles(),
|
|
44
69
|
chevronDownContainer: getChevronContainerStyles(),
|
|
45
70
|
scrollArea: {
|
|
46
71
|
maxHeight: 240,
|
|
@@ -50,15 +75,17 @@ const staticStyles = makeStyles(() => ({
|
|
|
50
75
|
const DropdownListItem = ({ item, index, isSelected, dropdownItem, onSelect, customItemContainer = [], customItemTextContainer = {}, }) => {
|
|
51
76
|
const itemDynamicStyles = useStyles(() => ({
|
|
52
77
|
root: {
|
|
78
|
+
display: 'flex',
|
|
53
79
|
backgroundColor: isSelected ? '#1a1a1a' : '#fff',
|
|
54
80
|
cursor: 'pointer',
|
|
55
81
|
width: '100%',
|
|
56
82
|
justifyContent: 'center',
|
|
83
|
+
alignItems: 'center',
|
|
57
84
|
paddingHorizontal: 16,
|
|
58
85
|
paddingVertical: 12,
|
|
59
86
|
},
|
|
60
87
|
}), [isSelected]);
|
|
61
|
-
const mergedItemClassName = useWebMergeStyles([itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
88
|
+
const mergedItemClassName = useWebMergeStyles([staticStyles.dropDownItemContainer, itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
62
89
|
return (jsx("div", { className: mergedItemClassName, onClick: () => onSelect(item, index), children: jsx(Typography, { styleConfig: customItemTextContainer, variant: TypographyVariant.HM4, color: isSelected ? TypographyColor.NEUTRAL : TypographyColor.PRIMARY, children: dropdownItem }) }));
|
|
63
90
|
};
|
|
64
91
|
const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDownValue, defaultSelectedIndex, onItemSelect, renderItem, showDropDownListOnTop = true, }) => {
|
|
@@ -78,16 +105,7 @@ const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDo
|
|
|
78
105
|
return () => document.removeEventListener('mousedown', handleOutside);
|
|
79
106
|
}, [focus]);
|
|
80
107
|
const dynamicStyles = useStyles((theme) => ({
|
|
81
|
-
placeHolderContainer:
|
|
82
|
-
width: '100%',
|
|
83
|
-
height,
|
|
84
|
-
backgroundColor: '#fff',
|
|
85
|
-
borderRadius: 5,
|
|
86
|
-
flexDirection: 'row',
|
|
87
|
-
alignItems: 'center',
|
|
88
|
-
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
89
|
-
borderWidth: 1,
|
|
90
|
-
},
|
|
108
|
+
placeHolderContainer: getPlaceHolderContainerStyles(theme, height, focus),
|
|
91
109
|
placeHolderTextContainer: getPlaceHolderTextContainerStyles(height),
|
|
92
110
|
}), [focus, height]);
|
|
93
111
|
const singleSelectClickHandler = (item, index) => {
|
|
@@ -108,7 +126,7 @@ const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDo
|
|
|
108
126
|
staticStyles.scrollArea,
|
|
109
127
|
...customDropDownItemListContainer,
|
|
110
128
|
], [isShownOnTop, height, customDropDownItemListContainer]);
|
|
111
|
-
return (jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, children: [jsx("div", { className: mergedPlaceHolderTextClassName, children: jsx(Typography, { color: dropDownValue.length > 0 ? TypographyColor.PRIMARY : TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsx("div", { className: mergedChevronClassName, children: jsx(ChevronDown, {}) })] }), focus && (jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
129
|
+
return (jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, role: 'button', tabIndex: 0, children: [jsx("div", { className: mergedPlaceHolderTextClassName, children: jsx(Typography, { color: dropDownValue.length > 0 ? TypographyColor.PRIMARY : TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsx("div", { className: mergedChevronClassName, children: jsx(ChevronDown, {}) })] }), focus && (jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
112
130
|
const dropdownItem = (renderItem === null || renderItem === void 0 ? void 0 : renderItem(item, index)) || (item === null || item === void 0 ? void 0 : item.label);
|
|
113
131
|
const isSelected = index === singleSelectIndex;
|
|
114
132
|
return (jsx(DropdownListItem, { item: item, index: index, isSelected: isSelected, dropdownItem: dropdownItem, onSelect: singleSelectClickHandler, customItemContainer: customDropDownItemContainer, customItemTextContainer: dropDownItemTextContainer }, `${item.value}-${index}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dropdown.esm.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["_jsx","_jsxs"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ct-design-dropdown.esm.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAEO,MAAM,8BAA8B,GAAG,OAAO;AACnD,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,QAAQ,EAAE,UAAmB;AAC7B,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;AACrC,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,eAAe,EAAE,MAAM;AACvB,IAAA,MAAM,EAAE,CAAC;AACV,CAAA,CAAC,CAAC;AAEI,MAAM,8BAA8B,GAAG,OAAO;AACnD,IAAA,OAAO,EAAE,MAAe;AACxB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,cAAc,EAAE,QAAiB;AACjC,IAAA,UAAU,EAAE,QAAiB;AAC7B,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,eAAe,EAAE,EAAE;AACpB,CAAA,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,OAAO;AAC3C,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,eAAe,EAAE,MAAM;AACvB,IAAA,QAAQ,EAAE,UAAmB;AAC9B,CAAA,CAAC,CAAC;AAEI,MAAM,yBAAyB,GAAG,OAAO;AAC9C,IAAA,OAAO,EAAE,MAAe;AACxB,IAAA,UAAU,EAAE,QAAiB;AAC7B,IAAA,cAAc,EAAE,QAAiB;AACjC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,YAAY,EAAE,EAAE;AACjB,CAAA,CAAC,CAAC;AAEI,MAAM,6BAA6B,GAAG,CAAC,KAAY,EAAE,MAAc,EAAE,KAAc,MAAM;AAC9F,IAAA,OAAO,EAAE,MAAe;AACxB,IAAA,aAAa,EAAE,KAAc;AAC7B,IAAA,UAAU,EAAE,QAAiB;AAC7B,IAAA,KAAK,EAAE,MAAM;IACb,MAAM;AACN,IAAA,eAAe,EAAE,MAAM;AACvB,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS;AAC3D,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,WAAW,EAAE,OAAgB;AAC7B,IAAA,SAAS,EAAE,YAAqB;AAChC,IAAA,MAAM,EAAE,SAAkB;AAC3B,CAAA,CAAC,CAAC;AAEI,MAAM,iCAAiC,GAAG,CAAC,MAAc,MAAM;AACpE,IAAA,OAAO,EAAE,MAAe;AACxB,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,QAAQ,EAAE,CAAC;IACX,MAAM;AACN,IAAA,UAAU,EAAE,QAAiB;AAC7B,IAAA,iBAAiB,EAAE,EAAE;AACtB,CAAA,CAAC;;AC/CF,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO;IACrC,IAAI,EAAE,sBAAsB,EAAE;IAC9B,yBAAyB,EAAE,8BAA8B,EAAE;IAC3D,qBAAqB,EAAE,8BAA8B,EAAE;IACvD,oBAAoB,EAAE,yBAAyB,EAAE;AACjD,IAAA,UAAU,EAAE;AACV,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,SAAS,EAAE,MAAe;AAC3B,KAAA;AACF,CAAA,CAAC,CAAC,CAAC;AAEJ,MAAM,gBAAgB,GAAoC,CAAC,EACzD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,mBAAmB,GAAG,EAAE,EACxB,uBAAuB,GAAG,EAAE,GAC7B,KAAI;AACH,IAAA,MAAM,iBAAiB,GAAG,SAAS,CACjC,OAAO;AACL,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE,MAAM;YACf,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM;AAChD,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,eAAe,EAAE,EAAE;AACpB,SAAA;AACF,KAAA,CAAC,EACF,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,CAAC,YAAY,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,EACpF,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAC9C,CAAC;IAEF,QACEA,aAAK,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAA,QAAA,EACvEA,IAAC,UAAU,EAAA,EACT,WAAW,EAAE,uBAAuB,EACpC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAC9B,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,YAEpE,YAAY,EAAA,CACF,EACT,CAAA,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAA4B,CAAC,EACzC,WAAW,EACX,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,EAAE,EAChB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,qBAAqB,GAAG,IAAI,GAC7B,KAAI;AACH,IAAA,MAAM,EACJ,oBAAoB,EAAE,0BAA0B,GAAG,EAAE,EACrD,wBAAwB,EAAE,8BAA8B,GAAG,EAAE,EAC7D,yBAAyB,EAAE,+BAA+B,GAAG,EAAE,EAC/D,qBAAqB,EAAE,2BAA2B,GAAG,EAAE,EACvD,yBAAyB,GAAG,EAAE,GAC/B,GAAG,WAAW,CAAC;AAEhB,IAAA,MAAM,OAAO,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;AACnD,IAAA,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAS,oBAAoB,KAAA,IAAA,IAApB,oBAAoB,KAApB,KAAA,CAAA,GAAA,oBAAoB,GAAI,CAAC,CAAC,CAAC,CAAC;IAE/F,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,KAAK;YAAE,OAAO;AACnB,QAAA,MAAM,aAAa,GAAG,CAAC,KAAiB,KAAI;AAC1C,YAAA,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBACtE,QAAQ,CAAC,KAAK,CAAC,CAAC;aACjB;AACH,SAAC,CAAC;AACF,QAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACtD,OAAO,MAAM,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACxE,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG,SAAS,CAC7B,CAAC,KAAK,MAAM;QACV,oBAAoB,EAAE,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;AACzE,QAAA,wBAAwB,EAAE,iCAAiC,CAAC,MAAM,CAAC;AACpE,KAAA,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAG,CAAC,IAAU,EAAE,KAAa,KAAI;QAC7D,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClB,KAAC,CAAC;AAEF,IAAA,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,IAAA,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvE,MAAM,0BAA0B,GAAG,iBAAiB,CAClD,CAAC,aAAa,CAAC,oBAAoB,EAAE,GAAG,0BAA0B,CAAC,EACnE,CAAC,aAAa,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CACjE,CAAC;AAEF,IAAA,MAAM,8BAA8B,GAAG,iBAAiB,CACtD,CAAC,aAAa,CAAC,wBAAwB,CAAC,EACxC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACzC,CAAC;AAEF,IAAA,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAE1F,IAAA,MAAM,iBAAiB,GAAG,YAAY,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAE9E,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C;AACE,QAAA,YAAY,CAAC,yBAAyB;QACtC,iBAAiB;AACjB,QAAA,YAAY,CAAC,UAAU;AACvB,QAAA,GAAG,+BAA+B;KACnC,EACD,CAAC,YAAY,EAAE,MAAM,EAAE,+BAA+B,CAAC,CACxD,CAAC;IAEF,QACEC,IAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAC/C,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,0BAA0B,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAC5F,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,8BAA8B,EAC5C,QAAA,EAAAA,GAAA,CAAC,UAAU,EAAA,EACT,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,EACpF,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,EACrD,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAA,QAAA,EAE7B,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,WAAW,EAC5C,CAAA,EAAA,CACT,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,sBAAsB,EACpC,QAAA,EAAAA,GAAA,CAAC,WAAW,EAAA,EAAA,CAAG,EACX,CAAA,CAAA,EAAA,CACF,EACL,KAAK,KACJA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,mBAAmB,EAChC,QAAA,EAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;oBAC5B,MAAM,YAAY,GAAG,CAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAG,IAAI,EAAE,KAAK,CAAC,MAAI,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC;AAC9D,oBAAA,MAAM,UAAU,GAAG,KAAK,KAAK,iBAAiB,CAAC;AAC/C,oBAAA,QACEA,GAAC,CAAA,gBAAgB,IAEf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,wBAAwB,EAClC,mBAAmB,EAAE,2BAA2B,EAChD,uBAAuB,EAAE,yBAAyB,IAP7C,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAQ7B,EACF;AACJ,iBAAC,CAAC,EAAA,CACE,CACP,CAAA,EAAA,CACG,EACN;AACJ;;;;"}
|
|
@@ -4,43 +4,68 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemDropdown = {}, global.jsxRuntime, global.React, global.ctDesignTypography, global.ctDesignStyleManager, global.ctDesignIcons));
|
|
5
5
|
})(this, (function (exports, jsxRuntime, react, ctDesignTypography, ctDesignStyleManager, ctDesignIcons) { 'use strict';
|
|
6
6
|
|
|
7
|
+
const getDropdownListContainerStyles = () => ({
|
|
8
|
+
width: '100%',
|
|
9
|
+
maxHeight: 240,
|
|
10
|
+
borderRadius: 5,
|
|
11
|
+
position: 'absolute',
|
|
12
|
+
overflow: 'hidden',
|
|
13
|
+
shadowColor: '#000',
|
|
14
|
+
shadowOffset: { width: 0, height: 1 },
|
|
15
|
+
shadowOpacity: 0.22,
|
|
16
|
+
shadowRadius: 2.22,
|
|
17
|
+
elevation: 3,
|
|
18
|
+
backgroundColor: '#fff',
|
|
19
|
+
zIndex: 1,
|
|
20
|
+
});
|
|
21
|
+
const getDropdownItemContainerStyles = () => ({
|
|
22
|
+
display: 'flex',
|
|
23
|
+
width: '100%',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
paddingHorizontal: 16,
|
|
27
|
+
paddingVertical: 12,
|
|
28
|
+
});
|
|
29
|
+
const getRootContainerStyles = () => ({
|
|
30
|
+
width: '100%',
|
|
31
|
+
backgroundColor: '#fff',
|
|
32
|
+
position: 'relative',
|
|
33
|
+
});
|
|
7
34
|
const getChevronContainerStyles = () => ({
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center',
|
|
38
|
+
flexShrink: 0,
|
|
8
39
|
height: 24,
|
|
9
|
-
left: 3,
|
|
10
40
|
paddingRight: 12,
|
|
11
41
|
});
|
|
42
|
+
const getPlaceHolderContainerStyles = (theme, height, focus) => ({
|
|
43
|
+
display: 'flex',
|
|
44
|
+
flexDirection: 'row',
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
width: '100%',
|
|
47
|
+
height,
|
|
48
|
+
backgroundColor: '#fff',
|
|
49
|
+
borderRadius: 5,
|
|
50
|
+
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
51
|
+
borderWidth: 1,
|
|
52
|
+
borderStyle: 'solid',
|
|
53
|
+
boxSizing: 'border-box',
|
|
54
|
+
cursor: 'pointer',
|
|
55
|
+
});
|
|
12
56
|
const getPlaceHolderTextContainerStyles = (height) => ({
|
|
57
|
+
display: 'flex',
|
|
13
58
|
flex: 1,
|
|
59
|
+
minWidth: 0,
|
|
14
60
|
height,
|
|
15
|
-
|
|
61
|
+
alignItems: 'center',
|
|
16
62
|
paddingHorizontal: 12,
|
|
17
63
|
});
|
|
18
64
|
|
|
19
65
|
const staticStyles = ctDesignStyleManager.makeStyles(() => ({
|
|
20
|
-
root:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
position: 'relative',
|
|
24
|
-
},
|
|
25
|
-
dropDownItemListContainer: {
|
|
26
|
-
width: '100%',
|
|
27
|
-
maxHeight: 240,
|
|
28
|
-
borderRadius: 5,
|
|
29
|
-
position: 'absolute',
|
|
30
|
-
overflow: 'hidden',
|
|
31
|
-
shadowColor: '#000',
|
|
32
|
-
shadowOffset: { width: 0, height: 1 },
|
|
33
|
-
shadowOpacity: 0.22,
|
|
34
|
-
shadowRadius: 2.22,
|
|
35
|
-
elevation: 3,
|
|
36
|
-
backgroundColor: '#fff',
|
|
37
|
-
},
|
|
38
|
-
dropDownItemContainer: {
|
|
39
|
-
width: '100%',
|
|
40
|
-
justifyContent: 'center',
|
|
41
|
-
paddingHorizontal: 16,
|
|
42
|
-
paddingVertical: 12,
|
|
43
|
-
},
|
|
66
|
+
root: getRootContainerStyles(),
|
|
67
|
+
dropDownItemListContainer: getDropdownListContainerStyles(),
|
|
68
|
+
dropDownItemContainer: getDropdownItemContainerStyles(),
|
|
44
69
|
chevronDownContainer: getChevronContainerStyles(),
|
|
45
70
|
scrollArea: {
|
|
46
71
|
maxHeight: 240,
|
|
@@ -50,15 +75,17 @@
|
|
|
50
75
|
const DropdownListItem = ({ item, index, isSelected, dropdownItem, onSelect, customItemContainer = [], customItemTextContainer = {}, }) => {
|
|
51
76
|
const itemDynamicStyles = ctDesignStyleManager.useStyles(() => ({
|
|
52
77
|
root: {
|
|
78
|
+
display: 'flex',
|
|
53
79
|
backgroundColor: isSelected ? '#1a1a1a' : '#fff',
|
|
54
80
|
cursor: 'pointer',
|
|
55
81
|
width: '100%',
|
|
56
82
|
justifyContent: 'center',
|
|
83
|
+
alignItems: 'center',
|
|
57
84
|
paddingHorizontal: 16,
|
|
58
85
|
paddingVertical: 12,
|
|
59
86
|
},
|
|
60
87
|
}), [isSelected]);
|
|
61
|
-
const mergedItemClassName = ctDesignStyleManager.useWebMergeStyles([itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
88
|
+
const mergedItemClassName = ctDesignStyleManager.useWebMergeStyles([staticStyles.dropDownItemContainer, itemDynamicStyles.root, ...customItemContainer], [itemDynamicStyles.root, customItemContainer]);
|
|
62
89
|
return (jsxRuntime.jsx("div", { className: mergedItemClassName, onClick: () => onSelect(item, index), children: jsxRuntime.jsx(ctDesignTypography.Typography, { styleConfig: customItemTextContainer, variant: ctDesignTypography.TypographyVariant.HM4, color: isSelected ? ctDesignTypography.TypographyColor.NEUTRAL : ctDesignTypography.TypographyColor.PRIMARY, children: dropdownItem }) }));
|
|
63
90
|
};
|
|
64
91
|
const Dropdown = ({ placeHolder, itemList, height = 40, styleConfig = {}, dropDownValue, defaultSelectedIndex, onItemSelect, renderItem, showDropDownListOnTop = true, }) => {
|
|
@@ -78,16 +105,7 @@
|
|
|
78
105
|
return () => document.removeEventListener('mousedown', handleOutside);
|
|
79
106
|
}, [focus]);
|
|
80
107
|
const dynamicStyles = ctDesignStyleManager.useStyles((theme) => ({
|
|
81
|
-
placeHolderContainer:
|
|
82
|
-
width: '100%',
|
|
83
|
-
height,
|
|
84
|
-
backgroundColor: '#fff',
|
|
85
|
-
borderRadius: 5,
|
|
86
|
-
flexDirection: 'row',
|
|
87
|
-
alignItems: 'center',
|
|
88
|
-
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
89
|
-
borderWidth: 1,
|
|
90
|
-
},
|
|
108
|
+
placeHolderContainer: getPlaceHolderContainerStyles(theme, height, focus),
|
|
91
109
|
placeHolderTextContainer: getPlaceHolderTextContainerStyles(height),
|
|
92
110
|
}), [focus, height]);
|
|
93
111
|
const singleSelectClickHandler = (item, index) => {
|
|
@@ -108,7 +126,7 @@
|
|
|
108
126
|
staticStyles.scrollArea,
|
|
109
127
|
...customDropDownItemListContainer,
|
|
110
128
|
], [isShownOnTop, height, customDropDownItemListContainer]);
|
|
111
|
-
return (jsxRuntime.jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxRuntime.jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, children: [jsxRuntime.jsx("div", { className: mergedPlaceHolderTextClassName, children: jsxRuntime.jsx(ctDesignTypography.Typography, { color: dropDownValue.length > 0 ? ctDesignTypography.TypographyColor.PRIMARY : ctDesignTypography.TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: ctDesignTypography.TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsxRuntime.jsx("div", { className: mergedChevronClassName, children: jsxRuntime.jsx(ctDesignIcons.ChevronDown, {}) })] }), focus && (jsxRuntime.jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
129
|
+
return (jsxRuntime.jsxs("div", { ref: rootRef, className: mergedRootClassName, children: [jsxRuntime.jsxs("div", { className: mergedPlaceHolderClassName, onClick: toggleDropDown, role: 'button', tabIndex: 0, children: [jsxRuntime.jsx("div", { className: mergedPlaceHolderTextClassName, children: jsxRuntime.jsx(ctDesignTypography.Typography, { color: dropDownValue.length > 0 ? ctDesignTypography.TypographyColor.PRIMARY : ctDesignTypography.TypographyColor.DISABLED, lineClamp: 1, styleConfig: { root: customPlaceHolderTextContainer }, variant: ctDesignTypography.TypographyVariant.HM4, children: dropDownValue.length > 0 ? dropDownValue : placeHolder }) }), jsxRuntime.jsx("div", { className: mergedChevronClassName, children: jsxRuntime.jsx(ctDesignIcons.ChevronDown, {}) })] }), focus && (jsxRuntime.jsx("div", { className: mergedListClassName, children: itemList.map((item, index) => {
|
|
112
130
|
const dropdownItem = (renderItem === null || renderItem === void 0 ? void 0 : renderItem(item, index)) || (item === null || item === void 0 ? void 0 : item.label);
|
|
113
131
|
const isSelected = index === singleSelectIndex;
|
|
114
132
|
return (jsxRuntime.jsx(DropdownListItem, { item: item, index: index, isSelected: isSelected, dropdownItem: dropdownItem, onSelect: singleSelectClickHandler, customItemContainer: customDropDownItemContainer, customItemTextContainer: dropDownItemTextContainer }, `${item.value}-${index}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dropdown.umd.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["makeStyles","useStyles","useWebMergeStyles","_jsx","Typography","TypographyVariant","TypographyColor","useRef","useState","useEffect","_jsxs","ChevronDown"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ct-design-dropdown.umd.js","sources":["../packages/components/Dropdown/src/style.ts","../packages/components/Dropdown/src/Dropdown.tsx"],"sourcesContent":[null,null],"names":["makeStyles","useStyles","useWebMergeStyles","_jsx","Typography","TypographyVariant","TypographyColor","useRef","useState","useEffect","_jsxs","ChevronDown"],"mappings":"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"}
|
package/dist/style.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare const getDropdownListContainerStyles: () => {
|
|
|
3
3
|
width: string;
|
|
4
4
|
maxHeight: number;
|
|
5
5
|
borderRadius: number;
|
|
6
|
-
position:
|
|
6
|
+
position: "absolute";
|
|
7
7
|
overflow: string;
|
|
8
8
|
shadowColor: string;
|
|
9
9
|
shadowOffset: {
|
|
@@ -14,36 +14,49 @@ export declare const getDropdownListContainerStyles: () => {
|
|
|
14
14
|
shadowRadius: number;
|
|
15
15
|
elevation: number;
|
|
16
16
|
backgroundColor: string;
|
|
17
|
+
zIndex: number;
|
|
17
18
|
};
|
|
18
19
|
export declare const getDropdownItemContainerStyles: () => {
|
|
20
|
+
display: "flex";
|
|
19
21
|
width: string;
|
|
20
|
-
justifyContent:
|
|
22
|
+
justifyContent: "center";
|
|
23
|
+
alignItems: "center";
|
|
21
24
|
paddingHorizontal: number;
|
|
22
25
|
paddingVertical: number;
|
|
23
26
|
};
|
|
24
27
|
export declare const getRootContainerStyles: () => {
|
|
25
28
|
width: string;
|
|
26
29
|
backgroundColor: string;
|
|
30
|
+
position: "relative";
|
|
27
31
|
};
|
|
28
32
|
export declare const getChevronContainerStyles: () => {
|
|
33
|
+
display: "flex";
|
|
34
|
+
alignItems: "center";
|
|
35
|
+
justifyContent: "center";
|
|
36
|
+
flexShrink: number;
|
|
29
37
|
height: number;
|
|
30
|
-
left: number;
|
|
31
38
|
paddingRight: number;
|
|
32
39
|
};
|
|
33
40
|
export declare const getPlaceHolderContainerStyles: (theme: Theme, height: number, focus: boolean) => {
|
|
41
|
+
display: "flex";
|
|
42
|
+
flexDirection: "row";
|
|
43
|
+
alignItems: "center";
|
|
34
44
|
width: string;
|
|
35
45
|
height: number;
|
|
36
46
|
backgroundColor: string;
|
|
37
47
|
borderRadius: number;
|
|
38
|
-
flexDirection: string;
|
|
39
|
-
alignItems: string;
|
|
40
48
|
borderColor: string;
|
|
41
49
|
borderWidth: number;
|
|
50
|
+
borderStyle: "solid";
|
|
51
|
+
boxSizing: "border-box";
|
|
52
|
+
cursor: "pointer";
|
|
42
53
|
};
|
|
43
54
|
export declare const getPlaceHolderTextContainerStyles: (height: number) => {
|
|
55
|
+
display: "flex";
|
|
44
56
|
flex: number;
|
|
57
|
+
minWidth: number;
|
|
45
58
|
height: number;
|
|
46
|
-
|
|
59
|
+
alignItems: "center";
|
|
47
60
|
paddingHorizontal: number;
|
|
48
61
|
};
|
|
49
62
|
//# sourceMappingURL=style.d.ts.map
|
package/dist/style.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/Dropdown/src/style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/Dropdown/src/style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;CAazC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;CAOzC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;CAIjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;CAOpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,GAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,EAAE,OAAO,OAAO;;;;;;;;;;;;;CAaxF,CAAC;AAEH,eAAO,MAAM,iCAAiC,GAAI,QAAQ,MAAM;;;;;;;CAO9D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleartrip/ct-design-dropdown",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.7.0-SNAPSHOT-native-main.1",
|
|
4
4
|
"description": "Dropdown Component",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "./dist/ct-design-dropdown.cjs.js",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
"src"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@cleartrip/ct-design-
|
|
28
|
-
"@cleartrip/ct-design-
|
|
29
|
-
"@cleartrip/ct-design-
|
|
30
|
-
"@cleartrip/ct-design-
|
|
31
|
-
"@cleartrip/ct-design-
|
|
32
|
-
"@cleartrip/ct-design-
|
|
27
|
+
"@cleartrip/ct-design-theme": "5.7.0-SNAPSHOT-native-main.1",
|
|
28
|
+
"@cleartrip/ct-design-types": "5.7.0-SNAPSHOT-native-main.1",
|
|
29
|
+
"@cleartrip/ct-design-typography": "5.7.0-SNAPSHOT-native-main.1",
|
|
30
|
+
"@cleartrip/ct-design-icons": "41.0.0-SNAPSHOT-native-main.1",
|
|
31
|
+
"@cleartrip/ct-design-container": "5.7.0-SNAPSHOT-native-main.1",
|
|
32
|
+
"@cleartrip/ct-design-style-manager": "5.7.0-SNAPSHOT-native-main.1"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"react": ">=16.8.0",
|
package/src/Dropdown.tsx
CHANGED
|
@@ -4,38 +4,24 @@ import { Typography, TypographyVariant, TypographyColor } from '@cleartrip/ct-de
|
|
|
4
4
|
import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
|
|
5
5
|
import { ChevronDown } from '@cleartrip/ct-design-icons';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
getChevronContainerStyles,
|
|
9
|
+
getDropdownItemContainerStyles,
|
|
10
|
+
getDropdownListContainerStyles,
|
|
11
|
+
getPlaceHolderContainerStyles,
|
|
12
|
+
getPlaceHolderTextContainerStyles,
|
|
13
|
+
getRootContainerStyles,
|
|
14
|
+
} from './style';
|
|
8
15
|
import { DropdownProps, Item } from './type';
|
|
9
16
|
|
|
10
17
|
const staticStyles = makeStyles(() => ({
|
|
11
|
-
root:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
position: 'relative',
|
|
15
|
-
},
|
|
16
|
-
dropDownItemListContainer: {
|
|
17
|
-
width: '100%',
|
|
18
|
-
maxHeight: 240,
|
|
19
|
-
borderRadius: 5,
|
|
20
|
-
position: 'absolute',
|
|
21
|
-
overflow: 'hidden',
|
|
22
|
-
shadowColor: '#000',
|
|
23
|
-
shadowOffset: { width: 0, height: 1 },
|
|
24
|
-
shadowOpacity: 0.22,
|
|
25
|
-
shadowRadius: 2.22,
|
|
26
|
-
elevation: 3,
|
|
27
|
-
backgroundColor: '#fff',
|
|
28
|
-
},
|
|
29
|
-
dropDownItemContainer: {
|
|
30
|
-
width: '100%',
|
|
31
|
-
justifyContent: 'center',
|
|
32
|
-
paddingHorizontal: 16,
|
|
33
|
-
paddingVertical: 12,
|
|
34
|
-
},
|
|
18
|
+
root: getRootContainerStyles(),
|
|
19
|
+
dropDownItemListContainer: getDropdownListContainerStyles(),
|
|
20
|
+
dropDownItemContainer: getDropdownItemContainerStyles(),
|
|
35
21
|
chevronDownContainer: getChevronContainerStyles(),
|
|
36
22
|
scrollArea: {
|
|
37
23
|
maxHeight: 240,
|
|
38
|
-
overflowY: 'auto',
|
|
24
|
+
overflowY: 'auto' as const,
|
|
39
25
|
},
|
|
40
26
|
}));
|
|
41
27
|
|
|
@@ -51,10 +37,12 @@ const DropdownListItem: React.FC<DropdownListItemProps> = ({
|
|
|
51
37
|
const itemDynamicStyles = useStyles(
|
|
52
38
|
() => ({
|
|
53
39
|
root: {
|
|
40
|
+
display: 'flex',
|
|
54
41
|
backgroundColor: isSelected ? '#1a1a1a' : '#fff',
|
|
55
42
|
cursor: 'pointer',
|
|
56
43
|
width: '100%',
|
|
57
44
|
justifyContent: 'center',
|
|
45
|
+
alignItems: 'center',
|
|
58
46
|
paddingHorizontal: 16,
|
|
59
47
|
paddingVertical: 12,
|
|
60
48
|
},
|
|
@@ -63,7 +51,7 @@ const DropdownListItem: React.FC<DropdownListItemProps> = ({
|
|
|
63
51
|
);
|
|
64
52
|
|
|
65
53
|
const mergedItemClassName = useWebMergeStyles(
|
|
66
|
-
[itemDynamicStyles.root, ...customItemContainer],
|
|
54
|
+
[staticStyles.dropDownItemContainer, itemDynamicStyles.root, ...customItemContainer],
|
|
67
55
|
[itemDynamicStyles.root, customItemContainer],
|
|
68
56
|
);
|
|
69
57
|
|
|
@@ -116,16 +104,7 @@ const Dropdown: React.FC<DropdownProps> = ({
|
|
|
116
104
|
|
|
117
105
|
const dynamicStyles = useStyles(
|
|
118
106
|
(theme) => ({
|
|
119
|
-
placeHolderContainer:
|
|
120
|
-
width: '100%',
|
|
121
|
-
height,
|
|
122
|
-
backgroundColor: '#fff',
|
|
123
|
-
borderRadius: 5,
|
|
124
|
-
flexDirection: 'row',
|
|
125
|
-
alignItems: 'center',
|
|
126
|
-
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
127
|
-
borderWidth: 1,
|
|
128
|
-
},
|
|
107
|
+
placeHolderContainer: getPlaceHolderContainerStyles(theme, height, focus),
|
|
129
108
|
placeHolderTextContainer: getPlaceHolderTextContainerStyles(height),
|
|
130
109
|
}),
|
|
131
110
|
[focus, height],
|
|
@@ -169,7 +148,7 @@ const Dropdown: React.FC<DropdownProps> = ({
|
|
|
169
148
|
|
|
170
149
|
return (
|
|
171
150
|
<div ref={rootRef} className={mergedRootClassName}>
|
|
172
|
-
<div className={mergedPlaceHolderClassName} onClick={toggleDropDown}>
|
|
151
|
+
<div className={mergedPlaceHolderClassName} onClick={toggleDropDown} role='button' tabIndex={0}>
|
|
173
152
|
<div className={mergedPlaceHolderTextClassName}>
|
|
174
153
|
<Typography
|
|
175
154
|
color={dropDownValue.length > 0 ? TypographyColor.PRIMARY : TypographyColor.DISABLED}
|
package/src/style.ts
CHANGED
|
@@ -4,7 +4,7 @@ export const getDropdownListContainerStyles = () => ({
|
|
|
4
4
|
width: '100%',
|
|
5
5
|
maxHeight: 240,
|
|
6
6
|
borderRadius: 5,
|
|
7
|
-
position: 'absolute',
|
|
7
|
+
position: 'absolute' as const,
|
|
8
8
|
overflow: 'hidden',
|
|
9
9
|
shadowColor: '#000',
|
|
10
10
|
shadowOffset: { width: 0, height: 1 },
|
|
@@ -12,11 +12,14 @@ export const getDropdownListContainerStyles = () => ({
|
|
|
12
12
|
shadowRadius: 2.22,
|
|
13
13
|
elevation: 3,
|
|
14
14
|
backgroundColor: '#fff',
|
|
15
|
+
zIndex: 1,
|
|
15
16
|
});
|
|
16
17
|
|
|
17
18
|
export const getDropdownItemContainerStyles = () => ({
|
|
19
|
+
display: 'flex' as const,
|
|
18
20
|
width: '100%',
|
|
19
|
-
justifyContent: 'center',
|
|
21
|
+
justifyContent: 'center' as const,
|
|
22
|
+
alignItems: 'center' as const,
|
|
20
23
|
paddingHorizontal: 16,
|
|
21
24
|
paddingVertical: 12,
|
|
22
25
|
});
|
|
@@ -24,28 +27,38 @@ export const getDropdownItemContainerStyles = () => ({
|
|
|
24
27
|
export const getRootContainerStyles = () => ({
|
|
25
28
|
width: '100%',
|
|
26
29
|
backgroundColor: '#fff',
|
|
30
|
+
position: 'relative' as const,
|
|
27
31
|
});
|
|
28
32
|
|
|
29
33
|
export const getChevronContainerStyles = () => ({
|
|
34
|
+
display: 'flex' as const,
|
|
35
|
+
alignItems: 'center' as const,
|
|
36
|
+
justifyContent: 'center' as const,
|
|
37
|
+
flexShrink: 0,
|
|
30
38
|
height: 24,
|
|
31
|
-
left: 3,
|
|
32
39
|
paddingRight: 12,
|
|
33
40
|
});
|
|
34
41
|
|
|
35
42
|
export const getPlaceHolderContainerStyles = (theme: Theme, height: number, focus: boolean) => ({
|
|
43
|
+
display: 'flex' as const,
|
|
44
|
+
flexDirection: 'row' as const,
|
|
45
|
+
alignItems: 'center' as const,
|
|
36
46
|
width: '100%',
|
|
37
47
|
height,
|
|
38
48
|
backgroundColor: '#fff',
|
|
39
49
|
borderRadius: 5,
|
|
40
|
-
flexDirection: 'row',
|
|
41
|
-
alignItems: 'center',
|
|
42
50
|
borderColor: focus ? theme.color.border.primary : '#e0e0e0',
|
|
43
51
|
borderWidth: 1,
|
|
52
|
+
borderStyle: 'solid' as const,
|
|
53
|
+
boxSizing: 'border-box' as const,
|
|
54
|
+
cursor: 'pointer' as const,
|
|
44
55
|
});
|
|
45
56
|
|
|
46
57
|
export const getPlaceHolderTextContainerStyles = (height: number) => ({
|
|
58
|
+
display: 'flex' as const,
|
|
47
59
|
flex: 1,
|
|
60
|
+
minWidth: 0,
|
|
48
61
|
height,
|
|
49
|
-
|
|
62
|
+
alignItems: 'center' as const,
|
|
50
63
|
paddingHorizontal: 12,
|
|
51
64
|
});
|