@cleartrip/ct-design-search-bar 1.1.0
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/ct-design-search-bar.browser.cjs.js +2 -0
- package/dist/ct-design-search-bar.browser.cjs.js.map +1 -0
- package/dist/ct-design-search-bar.browser.esm.js +2 -0
- package/dist/ct-design-search-bar.browser.esm.js.map +1 -0
- package/dist/ct-design-search-bar.cjs.js +136 -0
- package/dist/ct-design-search-bar.cjs.js.map +1 -0
- package/dist/ct-design-search-bar.esm.js +127 -0
- package/dist/ct-design-search-bar.esm.js.map +1 -0
- package/dist/ct-design-search-bar.umd.js +283 -0
- package/dist/ct-design-search-bar.umd.js.map +1 -0
- package/dist/src/Searchbar.d.ts +6 -0
- package/dist/src/Searchbar.d.ts.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/style.d.ts +4 -0
- package/dist/src/style.d.ts.map +1 -0
- package/dist/src/type.d.ts +24 -0
- package/dist/src/type.d.ts.map +1 -0
- package/dist/stats.html +4838 -0
- package/dist/stories/Searchbar.stories.d.ts +6 -0
- package/dist/stories/Searchbar.stories.d.ts.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("styled-components"),i=require("@cleartrip/ct-design-text-field"),o=require("@cleartrip/ct-design-use-theme"),s=require("@cleartrip/ct-design-dropdown"),c=require("@cleartrip/ct-design-container"),a=require("@cleartrip/ct-design-popover"),l=require("@cleartrip/ct-design-icons"),u=require("@cleartrip/ct-design-use-debounce"),d=require("@cleartrip/ct-design-spinner");function h(e){return e&&e.__esModule?e:{default:e}}var f=h(r),p=h(o),g=h(u),v=h(d),_=f.default.div((function(t){var n=t.css,r=e.__rest(t,["css"]);return function(t){t.width,t.height,t.theme;var n=e.__rest(t,["width","height","theme"]);return e.__assign({display:"flex",justifyContent:"space-between",cursor:"pointer",position:"relative"},n)}(e.__assign(e.__assign({},r),n))})),C=n.forwardRef((function(r,o){var u=r.as;r.children;var d=r.onSelect,h=r.error,f=r.disabled,C=void 0!==f&&f,x=r.width,m=void 0===x?"":x,w=r.placeholder,S=void 0===w?"":w,j=r.height,b=r.icon,y=r.minWidth;r.css;var q=r.selectCSS,k=r.searchCb,I=r.onCloseClick,E=r.name,W=void 0===E?"":E,z=r.showCloseIcon,D=void 0===z||z,L=r.isLoading,O=void 0!==L&&L,R=e.__rest(r,["as","children","onSelect","error","disabled","width","placeholder","height","icon","minWidth","css","selectCSS","searchCb","onCloseClick","name","showCloseIcon","isLoading"]),B=p.default(),F=n.useState(!1),N=F[0],P=F[1],T=n.useState([]),V=T[0],J=T[1],M=n.useState(),Y=M[0];M[1];var A=n.useState(""),G=A[0],H=A[1],K=n.useRef(),Q=n.useState(),U=Q[0],X=Q[1],Z=n.useState(m),$=Z[0],ee=Z[1],te=n.useRef(!1),ne=g.default(G,300);n.useEffect((function(){ne?N&&re(ne):re("")}),[ne]),n.useEffect((function(){J([]),te.current?te.current=!1:P(!0)}),[G]),n.useEffect((function(){var e;N&&U&&(ee("".concat(oe.clientWidth,"px")),null===(e=K.current)||void 0===e||e.focus())}),[U]),n.useEffect((function(){N&&V.length&&setTimeout((function(){var e;return null===(e=K.current)||void 0===e?void 0:e.focus()}),0)}),[N,K.current,JSON.stringify(V)]);var re=function(t){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return k?[4,k(t)]:[3,2];case 1:n=e.sent(),J(n),e.label=2;case 2:return[2]}}))}))},ie=n.useCallback((function(e){K.current=e,e&&X(e.node)}),[]),oe=null==U?void 0:U.parentNode,se=$;return U&&(se="".concat(oe.clientWidth,"px")),t.jsxs(t.Fragment,{children:[t.jsx(_,e.__assign({as:u,ref:o,theme:B},R,{children:t.jsx(i.TextField,{ref:ie,disabled:C,placeholder:S,width:m,value:G,error:h,onClick:function(e){C||(P(!N),e.stopPropagation())},minWidth:y,name:W,suffix:O?t.jsx(c.Container,e.__assign({display:"flex",alignItems:"center",justifyContent:"center"},{children:t.jsx(v.default,{height:B.size[6],width:B.size[6]})})):C||!D&&!G?null:t.jsx(c.Container,e.__assign({display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",onClick:function(){H(""),null==I||I()}},{children:t.jsx(l.Cross,{crossColor:B.color.background.defaultDark,width:24,height:24})})),prefix:t.jsx(c.Container,e.__assign({display:"flex",alignItems:"center",justifyContent:"center"},{children:t.jsx(l.SearchIcon,{})})),textFieldCSS:q,css:null==q?void 0:q.Root,onChange:function(e){return H(e.target.value)},placeholderTextVariant:"B1"})})),t.jsx(a.Popover,e.__assign({anchorEl:oe,open:N&&!!V.length,onClose:function(e){C||(P(!1),e.stopPropagation())},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},minWidth:se},{children:t.jsx(s.Dropdown,{optionList:V,showDropdown:N&&!!V.length,width:m,height:j,onClick:function(e){if(!C){var t=V.find((function(t){return t.key==e}))||{key:e,label:""};H(t.label),d&&d(t),P(!1),te.current=!0}},selectedOption:null==Y?void 0:Y.key,icon:b,varient:s.DropdownVarient.BYLINE})}))]})}));exports.SearchBar=C;
|
|
2
|
+
//# sourceMappingURL=ct-design-search-bar.browser.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-search-bar.browser.cjs.js","sources":["../../packages/components/SearchBar/src/Searchbar.tsx","../../packages/components/SearchBar/src/style.ts"],"sourcesContent":[null,null],"names":["StyledSearchbar","styled","default","div","_a","css","rest","__rest","width","height","theme","display","justifyContent","cursor","position","getSearchBarStyles","__assign","Searchbar","forwardRef","forwardedRef","as","children","onSelect","error","_b","disabled","_c","_d","placeholder","icon","minWidth","selectCSS","searchCb","onCloseClick","_e","name","_f","showCloseIcon","_g","isLoading","useTheme","_h","useState","open","setOpen","_j","optionList","setOptionList","_k","selectedOption","_l","inputValue","setInputValue","displayRef","useRef","_m","displayNode","setDisplayNode","_o","menuMinWidthState","setMenuMinWidthState","selectedRef","debouncedInput","useDebounce","useEffect","setResultsFromAPI","current","concat","anchorElement","clientWidth","focus","length","setTimeout","JSON","stringify","search","__awaiter","res","sent","handleDisplayRef","useCallback","node","parentNode","menuMinWidth","_jsxs","_Fragment","_jsx","ref","TextField","value","onClick","e","stopPropagation","suffix","Container","alignItems","Spinner","size","jsx","Cross","crossColor","color","background","defaultDark","prefix","SearchIcon","textFieldCSS","Root","onChange","target","placeholderTextVariant","Popover","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","Dropdown","showDropdown","key","dropDown","find","option","label","varient","DropdownVarient","BYLINE"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e,__assign as t,__awaiter as i,__generator as n}from"tslib";import{jsxs as r,Fragment as o,jsx as c}from"react/jsx-runtime";import{forwardRef as l,useState as a,useRef as s,useEffect as d,useCallback as h}from"react";import u from"styled-components";import{TextField as f}from"@cleartrip/ct-design-text-field";import p from"@cleartrip/ct-design-use-theme";import{Dropdown as m,DropdownVarient as v}from"@cleartrip/ct-design-dropdown";import{Container as g}from"@cleartrip/ct-design-container";import{Popover as C}from"@cleartrip/ct-design-popover";import{Cross as w,SearchIcon as b}from"@cleartrip/ct-design-icons";import x from"@cleartrip/ct-design-use-debounce";import y from"@cleartrip/ct-design-spinner";var k=u.div((function(i){var n=i.css,r=e(i,["css"]);return function(i){i.width,i.height,i.theme;var n=e(i,["width","height","theme"]);return t({display:"flex",justifyContent:"space-between",cursor:"pointer",position:"relative"},n)}(t(t({},r),n))})),S=l((function(l,u){var S=l.as;l.children;var I=l.onSelect,W=l.error,j=l.disabled,z=void 0!==j&&j,L=l.width,O=void 0===L?"":L,B=l.placeholder,N=void 0===B?"":B,D=l.height,E=l.icon,P=l.minWidth;l.css;var T=l.selectCSS,F=l.searchCb,J=l.onCloseClick,R=l.name,V=void 0===R?"":R,Y=l.showCloseIcon,q=void 0===Y||Y,A=l.isLoading,G=void 0!==A&&A,H=e(l,["as","children","onSelect","error","disabled","width","placeholder","height","icon","minWidth","css","selectCSS","searchCb","onCloseClick","name","showCloseIcon","isLoading"]),K=p(),M=a(!1),Q=M[0],U=M[1],X=a([]),Z=X[0],$=X[1],_=a(),ee=_[0];_[1];var te=a(""),ie=te[0],ne=te[1],re=s(),oe=a(),ce=oe[0],le=oe[1],ae=a(O),se=ae[0],de=ae[1],he=s(!1),ue=x(ie,300);d((function(){ue?Q&&fe(ue):fe("")}),[ue]),d((function(){$([]),he.current?he.current=!1:U(!0)}),[ie]),d((function(){var e;Q&&ce&&(de("".concat(me.clientWidth,"px")),null===(e=re.current)||void 0===e||e.focus())}),[ce]),d((function(){Q&&Z.length&&setTimeout((function(){var e;return null===(e=re.current)||void 0===e?void 0:e.focus()}),0)}),[Q,re.current,JSON.stringify(Z)]);var fe=function(e){return i(void 0,void 0,void 0,(function(){var t;return n(this,(function(i){switch(i.label){case 0:return F?[4,F(e)]:[3,2];case 1:t=i.sent(),$(t),i.label=2;case 2:return[2]}}))}))},pe=h((function(e){re.current=e,e&&le(e.node)}),[]),me=null==ce?void 0:ce.parentNode,ve=se;return ce&&(ve="".concat(me.clientWidth,"px")),r(o,{children:[c(k,t({as:S,ref:u,theme:K},H,{children:c(f,{ref:pe,disabled:z,placeholder:N,width:O,value:ie,error:W,onClick:function(e){z||(U(!Q),e.stopPropagation())},minWidth:P,name:V,suffix:G?c(g,t({display:"flex",alignItems:"center",justifyContent:"center"},{children:c(y,{height:K.size[6],width:K.size[6]})})):z||!q&&!ie?null:c(g,t({display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",onClick:function(){ne(""),null==J||J()}},{children:c(w,{crossColor:K.color.background.defaultDark,width:24,height:24})})),prefix:c(g,t({display:"flex",alignItems:"center",justifyContent:"center"},{children:c(b,{})})),textFieldCSS:T,css:null==T?void 0:T.Root,onChange:function(e){return ne(e.target.value)},placeholderTextVariant:"B1"})})),c(C,t({anchorEl:me,open:Q&&!!Z.length,onClose:function(e){z||(U(!1),e.stopPropagation())},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},minWidth:ve},{children:c(m,{optionList:Z,showDropdown:Q&&!!Z.length,width:O,height:D,onClick:function(e){if(!z){var t=Z.find((function(t){return t.key==e}))||{key:e,label:""};ne(t.label),I&&I(t),U(!1),he.current=!0}},selectedOption:null==ee?void 0:ee.key,icon:E,varient:v.BYLINE})}))]})}));export{S as SearchBar};
|
|
2
|
+
//# sourceMappingURL=ct-design-search-bar.browser.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-search-bar.browser.esm.js","sources":["../../packages/components/SearchBar/src/style.ts","../../packages/components/SearchBar/src/Searchbar.tsx"],"sourcesContent":[null,null],"names":["StyledSearchbar","styled","div","_a","css","rest","__rest","width","height","theme","display","justifyContent","cursor","position","getSearchBarStyles","__assign","Searchbar","forwardRef","forwardedRef","as","children","onSelect","error","_b","disabled","_c","_d","placeholder","icon","minWidth","selectCSS","searchCb","onCloseClick","_e","name","_f","showCloseIcon","_g","isLoading","useTheme","_h","useState","open","setOpen","_j","optionList","setOptionList","_k","selectedOption","_l","inputValue","setInputValue","displayRef","useRef","_m","displayNode","setDisplayNode","_o","menuMinWidthState","setMenuMinWidthState","selectedRef","debouncedInput","useDebounce","useEffect","setResultsFromAPI","current","concat","anchorElement","clientWidth","focus","length","setTimeout","JSON","stringify","search","__awaiter","res","sent","handleDisplayRef","useCallback","node","parentNode","menuMinWidth","_jsxs","_Fragment","_jsx","ref","TextField","value","onClick","e","stopPropagation","suffix","Container","alignItems","Spinner","size","Cross","crossColor","color","background","defaultDark","prefix","SearchIcon","textFieldCSS","Root","onChange","target","placeholderTextVariant","Popover","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","Dropdown","showDropdown","key","dropDown","find","option","label","varient","DropdownVarient","BYLINE"],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var styled = require('styled-components');
|
|
7
|
+
var ctDesignTextField = require('@cleartrip/ct-design-text-field');
|
|
8
|
+
var useTheme = require('@cleartrip/ct-design-use-theme');
|
|
9
|
+
var ctDesignDropdown = require('@cleartrip/ct-design-dropdown');
|
|
10
|
+
var ctDesignContainer = require('@cleartrip/ct-design-container');
|
|
11
|
+
var ctDesignPopover = require('@cleartrip/ct-design-popover');
|
|
12
|
+
var ctDesignIcons = require('@cleartrip/ct-design-icons');
|
|
13
|
+
var useDebounce = require('@cleartrip/ct-design-use-debounce');
|
|
14
|
+
var Spinner = require('@cleartrip/ct-design-spinner');
|
|
15
|
+
|
|
16
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
|
|
18
|
+
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
19
|
+
var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
|
|
20
|
+
var useDebounce__default = /*#__PURE__*/_interopDefault(useDebounce);
|
|
21
|
+
var Spinner__default = /*#__PURE__*/_interopDefault(Spinner);
|
|
22
|
+
|
|
23
|
+
var getSearchBarStyles = function (_a) {
|
|
24
|
+
_a.width; _a.height; _a.theme; var rest = tslib.__rest(_a, ["width", "height", "theme"]);
|
|
25
|
+
return (tslib.__assign({ display: 'flex', justifyContent: 'space-between', cursor: 'pointer', position: 'relative' }, rest));
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var StyledSearchbar = styled__default.default.div(function (_a) {
|
|
29
|
+
var css = _a.css, rest = tslib.__rest(_a, ["css"]);
|
|
30
|
+
return getSearchBarStyles(tslib.__assign(tslib.__assign({}, rest), css));
|
|
31
|
+
});
|
|
32
|
+
var Searchbar = react.forwardRef(function (_a, forwardedRef) {
|
|
33
|
+
var as = _a.as; _a.children; var onSelect = _a.onSelect, error = _a.error, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.width, width = _c === void 0 ? '' : _c, _d = _a.placeholder, placeholder = _d === void 0 ? '' : _d, height = _a.height, icon = _a.icon, minWidth = _a.minWidth; _a.css; var selectCSS = _a.selectCSS, searchCb = _a.searchCb, onCloseClick = _a.onCloseClick, _e = _a.name, name = _e === void 0 ? '' : _e, _f = _a.showCloseIcon, showCloseIcon = _f === void 0 ? true : _f, _g = _a.isLoading, isLoading = _g === void 0 ? false : _g, rest = tslib.__rest(_a, ["as", "children", "onSelect", "error", "disabled", "width", "placeholder", "height", "icon", "minWidth", "css", "selectCSS", "searchCb", "onCloseClick", "name", "showCloseIcon", "isLoading"]);
|
|
34
|
+
var theme = useTheme__default.default();
|
|
35
|
+
var _h = react.useState(false), open = _h[0], setOpen = _h[1];
|
|
36
|
+
var _j = react.useState([]), optionList = _j[0], setOptionList = _j[1];
|
|
37
|
+
var _k = react.useState(), selectedOption = _k[0]; _k[1];
|
|
38
|
+
var _l = react.useState(''), inputValue = _l[0], setInputValue = _l[1];
|
|
39
|
+
var displayRef = react.useRef();
|
|
40
|
+
var _m = react.useState(), displayNode = _m[0], setDisplayNode = _m[1];
|
|
41
|
+
var _o = react.useState(width), menuMinWidthState = _o[0], setMenuMinWidthState = _o[1];
|
|
42
|
+
var selectedRef = react.useRef(false);
|
|
43
|
+
var debouncedInput = useDebounce__default.default(inputValue, 300);
|
|
44
|
+
react.useEffect(function () {
|
|
45
|
+
if (!debouncedInput) {
|
|
46
|
+
void setResultsFromAPI('');
|
|
47
|
+
}
|
|
48
|
+
else if (open) {
|
|
49
|
+
void setResultsFromAPI(debouncedInput);
|
|
50
|
+
}
|
|
51
|
+
}, [debouncedInput]);
|
|
52
|
+
react.useEffect(function () {
|
|
53
|
+
setOptionList([]);
|
|
54
|
+
if (!selectedRef.current) {
|
|
55
|
+
setOpen(true);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
selectedRef.current = false;
|
|
59
|
+
}
|
|
60
|
+
}, [inputValue]);
|
|
61
|
+
react.useEffect(function () {
|
|
62
|
+
var _a;
|
|
63
|
+
if (open && displayNode) {
|
|
64
|
+
setMenuMinWidthState("".concat(anchorElement.clientWidth, "px"));
|
|
65
|
+
(_a = displayRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
66
|
+
}
|
|
67
|
+
}, [displayNode]);
|
|
68
|
+
react.useEffect(function () {
|
|
69
|
+
if (open && !!optionList.length) {
|
|
70
|
+
setTimeout(function () { var _a; return (_a = displayRef.current) === null || _a === void 0 ? void 0 : _a.focus(); }, 0);
|
|
71
|
+
}
|
|
72
|
+
}, [open, displayRef.current, JSON.stringify(optionList)]);
|
|
73
|
+
var setResultsFromAPI = function (search) { return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
74
|
+
var res;
|
|
75
|
+
return tslib.__generator(this, function (_a) {
|
|
76
|
+
switch (_a.label) {
|
|
77
|
+
case 0:
|
|
78
|
+
if (!searchCb) return [3, 2];
|
|
79
|
+
return [4, searchCb(search)];
|
|
80
|
+
case 1:
|
|
81
|
+
res = _a.sent();
|
|
82
|
+
setOptionList(res);
|
|
83
|
+
_a.label = 2;
|
|
84
|
+
case 2: return [2];
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}); };
|
|
88
|
+
var handleDisplayRef = react.useCallback(function (node) {
|
|
89
|
+
displayRef.current = node;
|
|
90
|
+
if (node) {
|
|
91
|
+
setDisplayNode(node.node);
|
|
92
|
+
}
|
|
93
|
+
}, []);
|
|
94
|
+
var anchorElement = displayNode === null || displayNode === void 0 ? void 0 : displayNode.parentNode;
|
|
95
|
+
var handleClick = function (e) {
|
|
96
|
+
if (!disabled) {
|
|
97
|
+
setOpen(!open);
|
|
98
|
+
e.stopPropagation();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var handleClose = function (e) {
|
|
102
|
+
if (!disabled) {
|
|
103
|
+
setOpen(false);
|
|
104
|
+
e.stopPropagation();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
var handleDropdownSelect = function (key) {
|
|
108
|
+
if (!disabled) {
|
|
109
|
+
var dropDown = optionList.find(function (option) { return option.key == key; }) || { key: key, label: '' };
|
|
110
|
+
setInputValue(dropDown.label);
|
|
111
|
+
if (onSelect) {
|
|
112
|
+
onSelect(dropDown);
|
|
113
|
+
}
|
|
114
|
+
setOpen(false);
|
|
115
|
+
selectedRef.current = true;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
var closeClick = function () {
|
|
119
|
+
setInputValue('');
|
|
120
|
+
onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
|
|
121
|
+
};
|
|
122
|
+
var menuMinWidth = menuMinWidthState;
|
|
123
|
+
if (displayNode) {
|
|
124
|
+
menuMinWidth = "".concat(anchorElement.clientWidth, "px");
|
|
125
|
+
}
|
|
126
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(StyledSearchbar, tslib.__assign({ as: as, ref: forwardedRef, theme: theme }, rest, { children: jsxRuntime.jsx(ctDesignTextField.TextField, { ref: handleDisplayRef, disabled: disabled, placeholder: placeholder, width: width, value: inputValue, error: error, onClick: handleClick, minWidth: minWidth, name: name, suffix: isLoading ? (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ display: 'flex', alignItems: 'center', justifyContent: 'center' }, { children: jsxRuntime.jsx(Spinner__default.default, { height: theme.size[6], width: theme.size[6] }) }))) : !disabled && (showCloseIcon || !!inputValue) ? (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ display: 'flex', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', onClick: closeClick }, { children: jsxRuntime.jsx(ctDesignIcons.Cross, { crossColor: theme.color.background.defaultDark, width: 24, height: 24 }) }))) : null, prefix: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ display: 'flex', alignItems: 'center', justifyContent: 'center' }, { children: jsxRuntime.jsx(ctDesignIcons.SearchIcon, {}) })), textFieldCSS: selectCSS, css: selectCSS === null || selectCSS === void 0 ? void 0 : selectCSS.Root, onChange: function (e) { return setInputValue(e.target.value); }, placeholderTextVariant: 'B1' }) })), jsxRuntime.jsx(ctDesignPopover.Popover, tslib.__assign({ anchorEl: anchorElement, open: open && !!optionList.length, onClose: handleClose, anchorOrigin: {
|
|
127
|
+
vertical: 'bottom',
|
|
128
|
+
horizontal: 'center',
|
|
129
|
+
}, transformOrigin: {
|
|
130
|
+
vertical: 'top',
|
|
131
|
+
horizontal: 'center',
|
|
132
|
+
}, minWidth: menuMinWidth }, { children: jsxRuntime.jsx(ctDesignDropdown.Dropdown, { optionList: optionList, showDropdown: open && !!optionList.length, width: width, height: height, onClick: handleDropdownSelect, selectedOption: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.key, icon: icon, varient: ctDesignDropdown.DropdownVarient.BYLINE }) }))] }));
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
exports.SearchBar = Searchbar;
|
|
136
|
+
//# sourceMappingURL=ct-design-search-bar.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-search-bar.cjs.js","sources":["../../packages/components/SearchBar/src/style.ts","../../packages/components/SearchBar/src/Searchbar.tsx"],"sourcesContent":[null,null],"names":["__rest","styled","__assign","forwardRef","useTheme","useState","useRef","useDebounce","useEffect","__awaiter","useCallback","_jsxs","_Fragment","_jsx","TextField","Container","Spinner","Cross","SearchIcon","Popover","Dropdown","DropdownVarient"],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { __rest, __assign, __awaiter, __generator } from 'tslib';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useState, useRef, useEffect, useCallback } from 'react';
|
|
4
|
+
import styled from 'styled-components';
|
|
5
|
+
import { TextField } from '@cleartrip/ct-design-text-field';
|
|
6
|
+
import useTheme from '@cleartrip/ct-design-use-theme';
|
|
7
|
+
import { Dropdown, DropdownVarient } from '@cleartrip/ct-design-dropdown';
|
|
8
|
+
import { Container } from '@cleartrip/ct-design-container';
|
|
9
|
+
import { Popover } from '@cleartrip/ct-design-popover';
|
|
10
|
+
import { Cross, SearchIcon } from '@cleartrip/ct-design-icons';
|
|
11
|
+
import useDebounce from '@cleartrip/ct-design-use-debounce';
|
|
12
|
+
import Spinner from '@cleartrip/ct-design-spinner';
|
|
13
|
+
|
|
14
|
+
var getSearchBarStyles = function (_a) {
|
|
15
|
+
_a.width; _a.height; _a.theme; var rest = __rest(_a, ["width", "height", "theme"]);
|
|
16
|
+
return (__assign({ display: 'flex', justifyContent: 'space-between', cursor: 'pointer', position: 'relative' }, rest));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
var StyledSearchbar = styled.div(function (_a) {
|
|
20
|
+
var css = _a.css, rest = __rest(_a, ["css"]);
|
|
21
|
+
return getSearchBarStyles(__assign(__assign({}, rest), css));
|
|
22
|
+
});
|
|
23
|
+
var Searchbar = forwardRef(function (_a, forwardedRef) {
|
|
24
|
+
var as = _a.as; _a.children; var onSelect = _a.onSelect, error = _a.error, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.width, width = _c === void 0 ? '' : _c, _d = _a.placeholder, placeholder = _d === void 0 ? '' : _d, height = _a.height, icon = _a.icon, minWidth = _a.minWidth; _a.css; var selectCSS = _a.selectCSS, searchCb = _a.searchCb, onCloseClick = _a.onCloseClick, _e = _a.name, name = _e === void 0 ? '' : _e, _f = _a.showCloseIcon, showCloseIcon = _f === void 0 ? true : _f, _g = _a.isLoading, isLoading = _g === void 0 ? false : _g, rest = __rest(_a, ["as", "children", "onSelect", "error", "disabled", "width", "placeholder", "height", "icon", "minWidth", "css", "selectCSS", "searchCb", "onCloseClick", "name", "showCloseIcon", "isLoading"]);
|
|
25
|
+
var theme = useTheme();
|
|
26
|
+
var _h = useState(false), open = _h[0], setOpen = _h[1];
|
|
27
|
+
var _j = useState([]), optionList = _j[0], setOptionList = _j[1];
|
|
28
|
+
var _k = useState(), selectedOption = _k[0]; _k[1];
|
|
29
|
+
var _l = useState(''), inputValue = _l[0], setInputValue = _l[1];
|
|
30
|
+
var displayRef = useRef();
|
|
31
|
+
var _m = useState(), displayNode = _m[0], setDisplayNode = _m[1];
|
|
32
|
+
var _o = useState(width), menuMinWidthState = _o[0], setMenuMinWidthState = _o[1];
|
|
33
|
+
var selectedRef = useRef(false);
|
|
34
|
+
var debouncedInput = useDebounce(inputValue, 300);
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
if (!debouncedInput) {
|
|
37
|
+
void setResultsFromAPI('');
|
|
38
|
+
}
|
|
39
|
+
else if (open) {
|
|
40
|
+
void setResultsFromAPI(debouncedInput);
|
|
41
|
+
}
|
|
42
|
+
}, [debouncedInput]);
|
|
43
|
+
useEffect(function () {
|
|
44
|
+
setOptionList([]);
|
|
45
|
+
if (!selectedRef.current) {
|
|
46
|
+
setOpen(true);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
selectedRef.current = false;
|
|
50
|
+
}
|
|
51
|
+
}, [inputValue]);
|
|
52
|
+
useEffect(function () {
|
|
53
|
+
var _a;
|
|
54
|
+
if (open && displayNode) {
|
|
55
|
+
setMenuMinWidthState("".concat(anchorElement.clientWidth, "px"));
|
|
56
|
+
(_a = displayRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
57
|
+
}
|
|
58
|
+
}, [displayNode]);
|
|
59
|
+
useEffect(function () {
|
|
60
|
+
if (open && !!optionList.length) {
|
|
61
|
+
setTimeout(function () { var _a; return (_a = displayRef.current) === null || _a === void 0 ? void 0 : _a.focus(); }, 0);
|
|
62
|
+
}
|
|
63
|
+
}, [open, displayRef.current, JSON.stringify(optionList)]);
|
|
64
|
+
var setResultsFromAPI = function (search) { return __awaiter(void 0, void 0, void 0, function () {
|
|
65
|
+
var res;
|
|
66
|
+
return __generator(this, function (_a) {
|
|
67
|
+
switch (_a.label) {
|
|
68
|
+
case 0:
|
|
69
|
+
if (!searchCb) return [3, 2];
|
|
70
|
+
return [4, searchCb(search)];
|
|
71
|
+
case 1:
|
|
72
|
+
res = _a.sent();
|
|
73
|
+
setOptionList(res);
|
|
74
|
+
_a.label = 2;
|
|
75
|
+
case 2: return [2];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}); };
|
|
79
|
+
var handleDisplayRef = useCallback(function (node) {
|
|
80
|
+
displayRef.current = node;
|
|
81
|
+
if (node) {
|
|
82
|
+
setDisplayNode(node.node);
|
|
83
|
+
}
|
|
84
|
+
}, []);
|
|
85
|
+
var anchorElement = displayNode === null || displayNode === void 0 ? void 0 : displayNode.parentNode;
|
|
86
|
+
var handleClick = function (e) {
|
|
87
|
+
if (!disabled) {
|
|
88
|
+
setOpen(!open);
|
|
89
|
+
e.stopPropagation();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var handleClose = function (e) {
|
|
93
|
+
if (!disabled) {
|
|
94
|
+
setOpen(false);
|
|
95
|
+
e.stopPropagation();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
var handleDropdownSelect = function (key) {
|
|
99
|
+
if (!disabled) {
|
|
100
|
+
var dropDown = optionList.find(function (option) { return option.key == key; }) || { key: key, label: '' };
|
|
101
|
+
setInputValue(dropDown.label);
|
|
102
|
+
if (onSelect) {
|
|
103
|
+
onSelect(dropDown);
|
|
104
|
+
}
|
|
105
|
+
setOpen(false);
|
|
106
|
+
selectedRef.current = true;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
var closeClick = function () {
|
|
110
|
+
setInputValue('');
|
|
111
|
+
onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
|
|
112
|
+
};
|
|
113
|
+
var menuMinWidth = menuMinWidthState;
|
|
114
|
+
if (displayNode) {
|
|
115
|
+
menuMinWidth = "".concat(anchorElement.clientWidth, "px");
|
|
116
|
+
}
|
|
117
|
+
return (jsxs(Fragment, { children: [jsx(StyledSearchbar, __assign({ as: as, ref: forwardedRef, theme: theme }, rest, { children: jsx(TextField, { ref: handleDisplayRef, disabled: disabled, placeholder: placeholder, width: width, value: inputValue, error: error, onClick: handleClick, minWidth: minWidth, name: name, suffix: isLoading ? (jsx(Container, __assign({ display: 'flex', alignItems: 'center', justifyContent: 'center' }, { children: jsx(Spinner, { height: theme.size[6], width: theme.size[6] }) }))) : !disabled && (showCloseIcon || !!inputValue) ? (jsx(Container, __assign({ display: 'flex', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', onClick: closeClick }, { children: jsx(Cross, { crossColor: theme.color.background.defaultDark, width: 24, height: 24 }) }))) : null, prefix: jsx(Container, __assign({ display: 'flex', alignItems: 'center', justifyContent: 'center' }, { children: jsx(SearchIcon, {}) })), textFieldCSS: selectCSS, css: selectCSS === null || selectCSS === void 0 ? void 0 : selectCSS.Root, onChange: function (e) { return setInputValue(e.target.value); }, placeholderTextVariant: 'B1' }) })), jsx(Popover, __assign({ anchorEl: anchorElement, open: open && !!optionList.length, onClose: handleClose, anchorOrigin: {
|
|
118
|
+
vertical: 'bottom',
|
|
119
|
+
horizontal: 'center',
|
|
120
|
+
}, transformOrigin: {
|
|
121
|
+
vertical: 'top',
|
|
122
|
+
horizontal: 'center',
|
|
123
|
+
}, minWidth: menuMinWidth }, { children: jsx(Dropdown, { optionList: optionList, showDropdown: open && !!optionList.length, width: width, height: height, onClick: handleDropdownSelect, selectedOption: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.key, icon: icon, varient: DropdownVarient.BYLINE }) }))] }));
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export { Searchbar as SearchBar };
|
|
127
|
+
//# sourceMappingURL=ct-design-search-bar.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-search-bar.esm.js","sources":["../../packages/components/SearchBar/src/style.ts","../../packages/components/SearchBar/src/Searchbar.tsx"],"sourcesContent":[null,null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|