@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.
@@ -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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"}