@adiraku/react-native-ui 1.2.3-snapshot.8 → 1.2.3-snapshot.9

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.
Files changed (29) hide show
  1. package/lib/commonjs/components/index.js +7 -0
  2. package/lib/commonjs/components/index.js.map +1 -1
  3. package/lib/commonjs/components/search-input/search-input.component.js +57 -0
  4. package/lib/commonjs/components/search-input/search-input.component.js.map +1 -0
  5. package/lib/commonjs/components/search-input/search-input.style.js +34 -0
  6. package/lib/commonjs/components/search-input/search-input.style.js.map +1 -0
  7. package/lib/commonjs/components/search-input/search-input.type.js +6 -0
  8. package/lib/commonjs/components/search-input/search-input.type.js.map +1 -0
  9. package/lib/module/components/index.js +1 -0
  10. package/lib/module/components/index.js.map +1 -1
  11. package/lib/module/components/search-input/search-input.component.js +50 -0
  12. package/lib/module/components/search-input/search-input.component.js.map +1 -0
  13. package/lib/module/components/search-input/search-input.style.js +27 -0
  14. package/lib/module/components/search-input/search-input.style.js.map +1 -0
  15. package/lib/module/components/search-input/search-input.type.js +2 -0
  16. package/lib/module/components/search-input/search-input.type.js.map +1 -0
  17. package/lib/typescript/components/index.d.ts +2 -0
  18. package/lib/typescript/components/index.d.ts.map +1 -1
  19. package/lib/typescript/components/search-input/search-input.component.d.ts +4 -0
  20. package/lib/typescript/components/search-input/search-input.component.d.ts.map +1 -0
  21. package/lib/typescript/components/search-input/search-input.style.d.ts +10 -0
  22. package/lib/typescript/components/search-input/search-input.style.d.ts.map +1 -0
  23. package/lib/typescript/components/search-input/search-input.type.d.ts +7 -0
  24. package/lib/typescript/components/search-input/search-input.type.d.ts.map +1 -0
  25. package/package.json +1 -1
  26. package/src/components/index.ts +2 -0
  27. package/src/components/search-input/search-input.component.tsx +66 -0
  28. package/src/components/search-input/search-input.style.ts +38 -0
  29. package/src/components/search-input/search-input.type.ts +7 -0
@@ -129,6 +129,12 @@ Object.defineProperty(exports, "RoundedTab", {
129
129
  return _roundedTab.RoundedTab;
130
130
  }
131
131
  });
132
+ Object.defineProperty(exports, "SearchInput", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _searchInput.SearchInput;
136
+ }
137
+ });
132
138
  Object.defineProperty(exports, "SliderIndicator", {
133
139
  enumerable: true,
134
140
  get: function () {
@@ -227,6 +233,7 @@ var _Divider = require("./Divider/Divider.component");
227
233
  var _Tabs = require("./Tabs/Tabs.component");
228
234
  var _RadioButton = require("./RadioButton/RadioButton.component");
229
235
  var _BottomSheet = require("./BottomSheet/BottomSheet.component");
236
+ var _searchInput = require("./search-input/search-input.component");
230
237
  var _RadioInput = require("./RadioInput/RadioInput.component");
231
238
  var _CheckBoxInput = require("./CheckBoxInput/CheckBoxInput.component");
232
239
  var _Checkbox = require("./Checkbox/Checkbox.component");
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SearchInput = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _themes = require("../../themes");
10
+ var _icons = require("../../icons");
11
+ var _searchInput = require("./search-input.style");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ const SearchInput = props => {
16
+ const {
17
+ value = '',
18
+ onFocus = () => null,
19
+ onBlur = () => null,
20
+ trailingIcon,
21
+ onTraillingIconPress,
22
+ ...rest
23
+ } = props;
24
+ const computedStyle = (0, _searchInput.getStyles)();
25
+ const [focused, setFocused] = React.useState(false);
26
+ const handleOnFocus = event => {
27
+ setFocused(true);
28
+ onFocus(event);
29
+ };
30
+ const handleOnBlur = event => {
31
+ onBlur(event);
32
+ setFocused(false);
33
+ };
34
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
35
+ style: [computedStyle.container, {
36
+ borderColor: focused ? _themes.Palettes.black[900] : _themes.Palettes.grey[300]
37
+ }]
38
+ }, /*#__PURE__*/React.createElement(_icons.IconSearch, {
39
+ width: 24,
40
+ height: 24
41
+ }), /*#__PURE__*/React.createElement(_reactNative.TextInput, _extends({
42
+ style: [computedStyle.textInput],
43
+ placeholderTextColor: _themes.Palettes.grey[400],
44
+ onBlur: handleOnBlur,
45
+ onFocus: handleOnFocus,
46
+ value: value
47
+ }, rest)), value.length > 0 && /*#__PURE__*/React.createElement(_reactNative.TouchableWithoutFeedback, {
48
+ onPress: onTraillingIconPress
49
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
50
+ style: [computedStyle.trailingIconContainer]
51
+ }, trailingIcon || /*#__PURE__*/React.createElement(_icons.IconRoundClose, {
52
+ width: 16,
53
+ height: 16
54
+ }))));
55
+ };
56
+ exports.SearchInput = SearchInput;
57
+ //# sourceMappingURL=search-input.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SearchInput","props","value","onFocus","onBlur","trailingIcon","onTraillingIconPress","rest","computedStyle","getStyles","focused","setFocused","React","useState","handleOnFocus","event","handleOnBlur","container","borderColor","Palettes","black","grey","textInput","length","trailingIconContainer"],"sourceRoot":"../../src","sources":["search-input.component.tsx"],"mappings":";;;;;;AAAA;AACA;AAGA;AACA;AACA;AAAiD;AAAA;AAAA;AAM1C,MAAMA,WAAW,GAAIC,KAAuB,IAAK;EACtD,MAAM;IACJC,KAAK,GAAG,EAAE;IACVC,OAAO,GAAG,MAAM,IAAI;IACpBC,MAAM,GAAG,MAAM,IAAI;IACnBC,YAAY;IACZC,oBAAoB;IACpB,GAAGC;EACL,CAAC,GAAGN,KAAK;EAET,MAAMO,aAAa,GAAG,IAAAC,sBAAS,GAAE;EAEjC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAMC,aAAa,GACjBC,KAAoD,IACjD;IACHJ,UAAU,CAAC,IAAI,CAAC;IAChBR,OAAO,CAACY,KAAK,CAAC;EAChB,CAAC;EACD,MAAMC,YAAY,GAChBD,KAAoD,IACjD;IACHX,MAAM,CAACW,KAAK,CAAC;IACbJ,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EACD,oBACE,oBAAC,iBAAI;IACH,KAAK,EAAE,CACLH,aAAa,CAACS,SAAS,EACvB;MAAEC,WAAW,EAAER,OAAO,GAAGS,gBAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,GAAGD,gBAAQ,CAACE,IAAI,CAAC,GAAG;IAAE,CAAC;EACnE,gBAEF,oBAAC,iBAAU;IAAC,KAAK,EAAE,EAAG;IAAC,MAAM,EAAE;EAAG,EAAG,eAErC,oBAAC,sBAAS;IACR,KAAK,EAAE,CAACb,aAAa,CAACc,SAAS,CAAE;IACjC,oBAAoB,EAAEH,gBAAQ,CAACE,IAAI,CAAC,GAAG,CAAE;IACzC,MAAM,EAAEL,YAAa;IACrB,OAAO,EAAEF,aAAc;IACvB,KAAK,EAAEZ;EAAM,GACTK,IAAI,EACR,EAEDL,KAAK,CAACqB,MAAM,GAAG,CAAC,iBACf,oBAAC,qCAAwB;IAAC,OAAO,EAAEjB;EAAqB,gBACtD,oBAAC,iBAAI;IAAC,KAAK,EAAE,CAACE,aAAa,CAACgB,qBAAqB;EAAE,GAChDnB,YAAY,iBAAI,oBAAC,qBAAc;IAAC,KAAK,EAAE,EAAG;IAAC,MAAM,EAAE;EAAG,EAAG,CACrD,CAEV,CACI;AAEX,CAAC;AAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getStyles = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _themes = require("../../themes");
9
+ const getStyles = () => {
10
+ const style = {};
11
+ style.container = {
12
+ width: '100%',
13
+ maxHeight: 40,
14
+ flexDirection: 'row',
15
+ alignItems: 'center',
16
+ borderRadius: _themes.Radius.full,
17
+ overflow: 'hidden',
18
+ borderWidth: 1.5,
19
+ paddingHorizontal: _themes.Spacing[12]
20
+ };
21
+ style.textInput = {
22
+ marginLeft: _themes.Spacing[8],
23
+ fontFamily: 'Montserrat-Regular',
24
+ flex: 1,
25
+ textAlignVertical: 'center',
26
+ color: _themes.Palettes.black[900]
27
+ };
28
+ style.trailingIconContainer = {
29
+ padding: _themes.Spacing[4]
30
+ };
31
+ return _reactNative.StyleSheet.create(style);
32
+ };
33
+ exports.getStyles = getStyles;
34
+ //# sourceMappingURL=search-input.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStyles","style","container","width","maxHeight","flexDirection","alignItems","borderRadius","Radius","full","overflow","borderWidth","paddingHorizontal","Spacing","textInput","marginLeft","fontFamily","flex","textAlignVertical","color","Palettes","black","trailingIconContainer","padding","StyleSheet","create"],"sourceRoot":"../../src","sources":["search-input.style.ts"],"mappings":";;;;;;AAAA;AACA;AASO,MAAMA,SAAS,GAAG,MAAM;EAC7B,MAAMC,KAAgB,GAAG,CAAC,CAAC;EAE3BA,KAAK,CAACC,SAAS,GAAG;IAChBC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,EAAE;IACbC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAEC,cAAM,CAACC,IAAI;IACzBC,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE,GAAG;IAChBC,iBAAiB,EAAEC,eAAO,CAAC,EAAE;EAC/B,CAAC;EAEDZ,KAAK,CAACa,SAAS,GAAG;IAChBC,UAAU,EAAEF,eAAO,CAAC,CAAC,CAAC;IACtBG,UAAU,EAAE,oBAAoB;IAChCC,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE,QAAQ;IAC3BC,KAAK,EAAEC,gBAAQ,CAACC,KAAK,CAAC,GAAG;EAC3B,CAAC;EAEDpB,KAAK,CAACqB,qBAAqB,GAAG;IAC5BC,OAAO,EAAEV,eAAO,CAAC,CAAC;EACpB,CAAC;EAED,OAAOW,uBAAU,CAACC,MAAM,CAACxB,KAAK,CAAC;AACjC,CAAC;AAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=search-input.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["search-input.type.ts"],"mappings":""}
@@ -12,6 +12,7 @@ export { Divider } from './Divider/Divider.component';
12
12
  export { Tabs } from './Tabs/Tabs.component';
13
13
  export { RadioButton } from './RadioButton/RadioButton.component';
14
14
  export { BottomSheet, BottomSheetHandler } from './BottomSheet/BottomSheet.component';
15
+ export { SearchInput } from './search-input/search-input.component';
15
16
  export { RadioInput } from './RadioInput/RadioInput.component';
16
17
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
17
18
  export { Checkbox } from './Checkbox/Checkbox.component';
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Label","BaseComponent","Typography","Coachmark","TextLink","SliderIndicator","TextInput","TextArea","StepperCounter","Divider","Tabs","RadioButton","BottomSheet","BottomSheetHandler","RadioInput","CheckBoxInput","Checkbox","Appbar","Snackbar","SnackbarComponent","Switch","Dot","InformationBox","RoundedTab","Countdown","Mask","MaskArray","MaskInputProps","MaskItem","Masks","UseMaskedInputProps","createNumberMask","formatWithMask","useMaskedInputProps"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,2BAA2B;AAClD,SAASC,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,eAAe,QAAQ,+CAA+C;AAC/E,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SACEC,WAAW,EACXC,kBAAkB,QACb,qCAAqC;AAC5C,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,QAAQ,EAAEC,iBAAiB,QAAQ,+BAA+B;AAC3E,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,GAAG,QAAQ,qBAAqB;AACzC,SAASC,cAAc,QAAQ,6CAA6C;AAC5E,SAASC,UAAU,QAAQ,qCAAqC;AAChE,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SACEC,IAAI,EACJC,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRC,KAAK,EACLC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,QACd,yBAAyB"}
1
+ {"version":3,"names":["Button","Label","BaseComponent","Typography","Coachmark","TextLink","SliderIndicator","TextInput","TextArea","StepperCounter","Divider","Tabs","RadioButton","BottomSheet","BottomSheetHandler","SearchInput","RadioInput","CheckBoxInput","Checkbox","Appbar","Snackbar","SnackbarComponent","Switch","Dot","InformationBox","RoundedTab","Countdown","Mask","MaskArray","MaskInputProps","MaskItem","Masks","UseMaskedInputProps","createNumberMask","formatWithMask","useMaskedInputProps"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,2BAA2B;AAClD,SAASC,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,eAAe,QAAQ,+CAA+C;AAC/E,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,WAAW,QAAQ,qCAAqC;AACjE,SACEC,WAAW,EACXC,kBAAkB,QACb,qCAAqC;AAC5C,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,QAAQ,EAAEC,iBAAiB,QAAQ,+BAA+B;AAC3E,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,GAAG,QAAQ,qBAAqB;AACzC,SAASC,cAAc,QAAQ,6CAA6C;AAC5E,SAASC,UAAU,QAAQ,qCAAqC;AAChE,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,SACEC,IAAI,EACJC,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRC,KAAK,EACLC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,QACd,yBAAyB"}
@@ -0,0 +1,50 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import * as React from 'react';
3
+ import { TextInput } from 'react-native';
4
+ import { View } from 'react-native';
5
+ import { Palettes } from '../../themes';
6
+ import { IconRoundClose, IconSearch } from '../../icons';
7
+ import { getStyles } from './search-input.style';
8
+ import { TouchableWithoutFeedback } from 'react-native';
9
+ export const SearchInput = props => {
10
+ const {
11
+ value = '',
12
+ onFocus = () => null,
13
+ onBlur = () => null,
14
+ trailingIcon,
15
+ onTraillingIconPress,
16
+ ...rest
17
+ } = props;
18
+ const computedStyle = getStyles();
19
+ const [focused, setFocused] = React.useState(false);
20
+ const handleOnFocus = event => {
21
+ setFocused(true);
22
+ onFocus(event);
23
+ };
24
+ const handleOnBlur = event => {
25
+ onBlur(event);
26
+ setFocused(false);
27
+ };
28
+ return /*#__PURE__*/React.createElement(View, {
29
+ style: [computedStyle.container, {
30
+ borderColor: focused ? Palettes.black[900] : Palettes.grey[300]
31
+ }]
32
+ }, /*#__PURE__*/React.createElement(IconSearch, {
33
+ width: 24,
34
+ height: 24
35
+ }), /*#__PURE__*/React.createElement(TextInput, _extends({
36
+ style: [computedStyle.textInput],
37
+ placeholderTextColor: Palettes.grey[400],
38
+ onBlur: handleOnBlur,
39
+ onFocus: handleOnFocus,
40
+ value: value
41
+ }, rest)), value.length > 0 && /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
42
+ onPress: onTraillingIconPress
43
+ }, /*#__PURE__*/React.createElement(View, {
44
+ style: [computedStyle.trailingIconContainer]
45
+ }, trailingIcon || /*#__PURE__*/React.createElement(IconRoundClose, {
46
+ width: 16,
47
+ height: 16
48
+ }))));
49
+ };
50
+ //# sourceMappingURL=search-input.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TextInput","View","Palettes","IconRoundClose","IconSearch","getStyles","TouchableWithoutFeedback","SearchInput","props","value","onFocus","onBlur","trailingIcon","onTraillingIconPress","rest","computedStyle","focused","setFocused","useState","handleOnFocus","event","handleOnBlur","container","borderColor","black","grey","textInput","length","trailingIconContainer"],"sourceRoot":"../../src","sources":["search-input.component.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,EAAEC,UAAU,QAAQ,aAAa;AACxD,SAASC,SAAS,QAAQ,sBAAsB;AAIhD,SAASC,wBAAwB,QAAQ,cAAc;AAEvD,OAAO,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EACtD,MAAM;IACJC,KAAK,GAAG,EAAE;IACVC,OAAO,GAAG,MAAM,IAAI;IACpBC,MAAM,GAAG,MAAM,IAAI;IACnBC,YAAY;IACZC,oBAAoB;IACpB,GAAGC;EACL,CAAC,GAAGN,KAAK;EAET,MAAMO,aAAa,GAAGV,SAAS,EAAE;EAEjC,MAAM,CAACW,OAAO,EAAEC,UAAU,CAAC,GAAGlB,KAAK,CAACmB,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAMC,aAAa,GACjBC,KAAoD,IACjD;IACHH,UAAU,CAAC,IAAI,CAAC;IAChBP,OAAO,CAACU,KAAK,CAAC;EAChB,CAAC;EACD,MAAMC,YAAY,GAChBD,KAAoD,IACjD;IACHT,MAAM,CAACS,KAAK,CAAC;IACbH,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC;EACD,oBACE,oBAAC,IAAI;IACH,KAAK,EAAE,CACLF,aAAa,CAACO,SAAS,EACvB;MAAEC,WAAW,EAAEP,OAAO,GAAGd,QAAQ,CAACsB,KAAK,CAAC,GAAG,CAAC,GAAGtB,QAAQ,CAACuB,IAAI,CAAC,GAAG;IAAE,CAAC;EACnE,gBAEF,oBAAC,UAAU;IAAC,KAAK,EAAE,EAAG;IAAC,MAAM,EAAE;EAAG,EAAG,eAErC,oBAAC,SAAS;IACR,KAAK,EAAE,CAACV,aAAa,CAACW,SAAS,CAAE;IACjC,oBAAoB,EAAExB,QAAQ,CAACuB,IAAI,CAAC,GAAG,CAAE;IACzC,MAAM,EAAEJ,YAAa;IACrB,OAAO,EAAEF,aAAc;IACvB,KAAK,EAAEV;EAAM,GACTK,IAAI,EACR,EAEDL,KAAK,CAACkB,MAAM,GAAG,CAAC,iBACf,oBAAC,wBAAwB;IAAC,OAAO,EAAEd;EAAqB,gBACtD,oBAAC,IAAI;IAAC,KAAK,EAAE,CAACE,aAAa,CAACa,qBAAqB;EAAE,GAChDhB,YAAY,iBAAI,oBAAC,cAAc;IAAC,KAAK,EAAE,EAAG;IAAC,MAAM,EAAE;EAAG,EAAG,CACrD,CAEV,CACI;AAEX,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { StyleSheet } from 'react-native';
2
+ import { Palettes, Radius, Spacing } from '../../themes';
3
+ export const getStyles = () => {
4
+ const style = {};
5
+ style.container = {
6
+ width: '100%',
7
+ maxHeight: 40,
8
+ flexDirection: 'row',
9
+ alignItems: 'center',
10
+ borderRadius: Radius.full,
11
+ overflow: 'hidden',
12
+ borderWidth: 1.5,
13
+ paddingHorizontal: Spacing[12]
14
+ };
15
+ style.textInput = {
16
+ marginLeft: Spacing[8],
17
+ fontFamily: 'Montserrat-Regular',
18
+ flex: 1,
19
+ textAlignVertical: 'center',
20
+ color: Palettes.black[900]
21
+ };
22
+ style.trailingIconContainer = {
23
+ padding: Spacing[4]
24
+ };
25
+ return StyleSheet.create(style);
26
+ };
27
+ //# sourceMappingURL=search-input.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Palettes","Radius","Spacing","getStyles","style","container","width","maxHeight","flexDirection","alignItems","borderRadius","full","overflow","borderWidth","paddingHorizontal","textInput","marginLeft","fontFamily","flex","textAlignVertical","color","black","trailingIconContainer","padding","create"],"sourceRoot":"../../src","sources":["search-input.style.ts"],"mappings":"AAAA,SAASA,UAAU,QAAmB,cAAc;AACpD,SAASC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAQ,cAAc;AASxD,OAAO,MAAMC,SAAS,GAAG,MAAM;EAC7B,MAAMC,KAAgB,GAAG,CAAC,CAAC;EAE3BA,KAAK,CAACC,SAAS,GAAG;IAChBC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,EAAE;IACbC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAET,MAAM,CAACU,IAAI;IACzBC,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE,GAAG;IAChBC,iBAAiB,EAAEZ,OAAO,CAAC,EAAE;EAC/B,CAAC;EAEDE,KAAK,CAACW,SAAS,GAAG;IAChBC,UAAU,EAAEd,OAAO,CAAC,CAAC,CAAC;IACtBe,UAAU,EAAE,oBAAoB;IAChCC,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE,QAAQ;IAC3BC,KAAK,EAAEpB,QAAQ,CAACqB,KAAK,CAAC,GAAG;EAC3B,CAAC;EAEDjB,KAAK,CAACkB,qBAAqB,GAAG;IAC5BC,OAAO,EAAErB,OAAO,CAAC,CAAC;EACpB,CAAC;EAED,OAAOH,UAAU,CAACyB,MAAM,CAACpB,KAAK,CAAC;AACjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=search-input.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["search-input.type.ts"],"mappings":""}
@@ -12,6 +12,7 @@ export { Divider } from './Divider/Divider.component';
12
12
  export { Tabs } from './Tabs/Tabs.component';
13
13
  export { RadioButton } from './RadioButton/RadioButton.component';
14
14
  export { BottomSheet, BottomSheetHandler, } from './BottomSheet/BottomSheet.component';
15
+ export { SearchInput } from './search-input/search-input.component';
15
16
  export { RadioInput } from './RadioInput/RadioInput.component';
16
17
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
17
18
  export { Checkbox } from './Checkbox/Checkbox.component';
@@ -33,4 +34,5 @@ export type { TextAreaProps } from './TextArea/TextArea.type';
33
34
  export type { StepperCounterProps } from './StepperCounter/StepperCounter.type';
34
35
  export type { DividerProps } from './Divider/Divider.type';
35
36
  export type { TabsProps } from './Tabs/Tabs.type';
37
+ export type { SearchInputProps } from './search-input/search-input.type';
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,WAAW,EACX,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EACL,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,WAAW,EACX,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EACL,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,KAAK,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { SearchInputProps } from './search-input.type';
3
+ export declare const SearchInput: (props: SearchInputProps) => JSX.Element;
4
+ //# sourceMappingURL=search-input.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input.component.d.ts","sourceRoot":"","sources":["../../../../src/components/search-input/search-input.component.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD,eAAO,MAAM,WAAW,UAAW,gBAAgB,gBAqDlD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ViewStyle } from 'react-native';
2
+ import { TextStyle } from 'react-native';
3
+ declare type StyleType = {
4
+ container?: ViewStyle;
5
+ textInput?: TextStyle;
6
+ trailingIconContainer?: ViewStyle;
7
+ };
8
+ export declare const getStyles: () => StyleType;
9
+ export {};
10
+ //# sourceMappingURL=search-input.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input.style.d.ts","sourceRoot":"","sources":["../../../../src/components/search-input/search-input.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,aAAK,SAAS,GAAG;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,SAAS,iBA2BrB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { TextInputProps } from 'react-native';
3
+ export interface SearchInputProps extends TextInputProps {
4
+ trailingIcon?: ReactNode;
5
+ onTraillingIconPress: () => void;
6
+ }
7
+ //# sourceMappingURL=search-input.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-input.type.d.ts","sourceRoot":"","sources":["../../../../src/components/search-input/search-input.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adiraku/react-native-ui",
3
- "version": "1.2.3-snapshot.8",
3
+ "version": "1.2.3-snapshot.9",
4
4
  "description": "UI library for Adiraku apps",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -15,6 +15,7 @@ export {
15
15
  BottomSheet,
16
16
  BottomSheetHandler,
17
17
  } from './BottomSheet/BottomSheet.component';
18
+ export { SearchInput } from './search-input/search-input.component';
18
19
  export { RadioInput } from './RadioInput/RadioInput.component';
19
20
  export { CheckBoxInput } from './CheckBoxInput/CheckBoxInput.component';
20
21
  export { Checkbox } from './Checkbox/Checkbox.component';
@@ -47,3 +48,4 @@ export type { TextAreaProps } from './TextArea/TextArea.type';
47
48
  export type { StepperCounterProps } from './StepperCounter/StepperCounter.type';
48
49
  export type { DividerProps } from './Divider/Divider.type';
49
50
  export type { TabsProps } from './Tabs/Tabs.type';
51
+ export type { SearchInputProps } from './search-input/search-input.type';
@@ -0,0 +1,66 @@
1
+ import * as React from 'react';
2
+ import { TextInput } from 'react-native';
3
+ import { View } from 'react-native';
4
+
5
+ import { Palettes } from '../../themes';
6
+ import { IconRoundClose, IconSearch } from '../../icons';
7
+ import { getStyles } from './search-input.style';
8
+ import { SearchInputProps } from './search-input.type';
9
+ import { NativeSyntheticEvent } from 'react-native';
10
+ import { TextInputFocusEventData } from 'react-native';
11
+ import { TouchableWithoutFeedback } from 'react-native';
12
+
13
+ export const SearchInput = (props: SearchInputProps) => {
14
+ const {
15
+ value = '',
16
+ onFocus = () => null,
17
+ onBlur = () => null,
18
+ trailingIcon,
19
+ onTraillingIconPress,
20
+ ...rest
21
+ } = props;
22
+
23
+ const computedStyle = getStyles();
24
+
25
+ const [focused, setFocused] = React.useState(false);
26
+
27
+ const handleOnFocus = (
28
+ event: NativeSyntheticEvent<TextInputFocusEventData>
29
+ ) => {
30
+ setFocused(true);
31
+ onFocus(event);
32
+ };
33
+ const handleOnBlur = (
34
+ event: NativeSyntheticEvent<TextInputFocusEventData>
35
+ ) => {
36
+ onBlur(event);
37
+ setFocused(false);
38
+ };
39
+ return (
40
+ <View
41
+ style={[
42
+ computedStyle.container,
43
+ { borderColor: focused ? Palettes.black[900] : Palettes.grey[300] },
44
+ ]}
45
+ >
46
+ <IconSearch width={24} height={24} />
47
+
48
+ <TextInput
49
+ style={[computedStyle.textInput]}
50
+ placeholderTextColor={Palettes.grey[400]}
51
+ onBlur={handleOnBlur}
52
+ onFocus={handleOnFocus}
53
+ value={value}
54
+ {...rest}
55
+ />
56
+
57
+ {value.length > 0 && (
58
+ <TouchableWithoutFeedback onPress={onTraillingIconPress}>
59
+ <View style={[computedStyle.trailingIconContainer]}>
60
+ {trailingIcon || <IconRoundClose width={16} height={16} />}
61
+ </View>
62
+ </TouchableWithoutFeedback>
63
+ )}
64
+ </View>
65
+ );
66
+ };
@@ -0,0 +1,38 @@
1
+ import { StyleSheet, ViewStyle } from 'react-native';
2
+ import { Palettes, Radius, Spacing } from '../../themes';
3
+ import { TextStyle } from 'react-native';
4
+
5
+ type StyleType = {
6
+ container?: ViewStyle;
7
+ textInput?: TextStyle;
8
+ trailingIconContainer?: ViewStyle;
9
+ };
10
+
11
+ export const getStyles = () => {
12
+ const style: StyleType = {};
13
+
14
+ style.container = {
15
+ width: '100%',
16
+ maxHeight: 40,
17
+ flexDirection: 'row',
18
+ alignItems: 'center',
19
+ borderRadius: Radius.full,
20
+ overflow: 'hidden',
21
+ borderWidth: 1.5,
22
+ paddingHorizontal: Spacing[12],
23
+ };
24
+
25
+ style.textInput = {
26
+ marginLeft: Spacing[8],
27
+ fontFamily: 'Montserrat-Regular',
28
+ flex: 1,
29
+ textAlignVertical: 'center',
30
+ color: Palettes.black[900],
31
+ };
32
+
33
+ style.trailingIconContainer = {
34
+ padding: Spacing[4],
35
+ };
36
+
37
+ return StyleSheet.create(style);
38
+ };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { TextInputProps } from 'react-native';
3
+
4
+ export interface SearchInputProps extends TextInputProps {
5
+ trailingIcon?: ReactNode;
6
+ onTraillingIconPress: () => void;
7
+ }