91308.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. exports.id = 91308;
  2. exports.ids = [91308];
  3. exports.modules = {
  4. /***/ 66369:
  5. /***/ ((module) => {
  6. // Exports
  7. module.exports = {
  8. "container": "Input_container__5BNOH",
  9. "fixedWidth": "Input_fixedWidth__MZoNx",
  10. "disabled": "Input_disabled__AFA4l",
  11. "error": "Input_error__cfc8q",
  12. "success": "Input_success__qb_Ue",
  13. "warning": "Input_warning__KwRSJ",
  14. "main": "Input_main__K4bVL",
  15. "input": "Input_input__za7E9",
  16. "rtlInput": "Input_rtlInput__8Yg1Q",
  17. "smallContainer": "Input_smallContainer__bxyYT",
  18. "mediumContainer": "Input_mediumContainer__jEOpT",
  19. "largeContainer": "Input_largeContainer__yafZ8",
  20. "label": "Input_label__loZWW",
  21. "clearContainer": "Input_clearContainer__3LxT4",
  22. "prefixSuffixContainer": "Input_prefixSuffixContainer__n84F6",
  23. "prefix": "Input_prefix__jYhnp",
  24. "suffix": "Input_suffix__v_BvR"
  25. };
  26. /***/ }),
  27. /***/ 91308:
  28. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  29. "use strict";
  30. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  31. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  32. /* harmony export */ "Jf": () => (/* binding */ InputVariant),
  33. /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
  34. /* harmony export */ "fz": () => (/* binding */ InputSize)
  35. /* harmony export */ });
  36. /* unused harmony export InputType */
  37. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  38. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  39. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  40. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  41. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  42. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  43. /* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50497);
  44. /* harmony import */ var _Input_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(66369);
  45. /* harmony import */ var _Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5__);
  46. /* harmony import */ var _icons_close_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51053);
  47. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Button_Button__WEBPACK_IMPORTED_MODULE_3__]);
  48. _Button_Button__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  49. /* eslint-disable max-lines */
  50. var InputSize;
  51. (function(InputSize) {
  52. InputSize["Small"] = "small";
  53. InputSize["Medium"] = "medium";
  54. InputSize["Large"] = "large";
  55. })(InputSize || (InputSize = {}));
  56. var InputType;
  57. (function(InputType) {
  58. InputType["Error"] = "error";
  59. InputType["Warning"] = "warning";
  60. InputType["Success"] = "success";
  61. })(InputType || (InputType = {}));
  62. var InputVariant;
  63. (function(InputVariant) {
  64. InputVariant["Default"] = "default";
  65. InputVariant["Main"] = "main";
  66. })(InputVariant || (InputVariant = {}));
  67. const Input = ({ id , name , label , placeholder , size =InputSize.Medium , fixedWidth =true , disabled =false , clearable =false , type , variant , prefix , suffix , onClearClicked , onChange , onKeyDown , inputMode , value ="" , shouldFlipOnRTL =true , containerClassName , htmlType , isRequired , inputRef , })=>{
  68. const { 0: inputValue , 1: setInputValue } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(value);
  69. // listen to any change in value in-case the value gets populated after and API call.
  70. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  71. setInputValue(value);
  72. }, [
  73. value
  74. ]);
  75. const onValueChange = (event)=>{
  76. const newValue = event.target.value;
  77. setInputValue(newValue);
  78. if (onChange) {
  79. onChange(newValue);
  80. }
  81. };
  82. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  83. children: [
  84. label && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  85. className: (_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().label),
  86. children: label
  87. }),
  88. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  89. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().container), containerClassName, {
  90. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().smallContainer)]: size === InputSize.Small,
  91. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().mediumContainer)]: size === InputSize.Medium,
  92. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().largeContainer)]: size === InputSize.Large,
  93. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().fixedWidth)]: fixedWidth,
  94. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().disabled)]: disabled,
  95. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().error)]: type === InputType.Error,
  96. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().success)]: type === InputType.Success,
  97. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().warning)]: type === InputType.Warning,
  98. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().main)]: variant === InputVariant.Main
  99. }),
  100. children: [
  101. prefix && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  102. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().prefix), (_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().prefixSuffixContainer)),
  103. children: prefix
  104. }),
  105. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
  106. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().input), {
  107. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().error)]: type === InputType.Error,
  108. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().success)]: type === InputType.Success,
  109. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().warning)]: type === InputType.Warning,
  110. [(_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().rtlInput)]: shouldFlipOnRTL
  111. }),
  112. type: htmlType,
  113. required: isRequired,
  114. dir: "auto",
  115. id: id,
  116. ref: inputRef,
  117. disabled: disabled,
  118. onChange: onValueChange,
  119. value: inputValue,
  120. onKeyDown: onKeyDown,
  121. inputMode: inputMode,
  122. ...placeholder && {
  123. placeholder
  124. },
  125. ...name && {
  126. name
  127. }
  128. }),
  129. clearable ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  130. children: inputValue && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  131. className: (_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().clearContainer),
  132. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
  133. shape: _Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
  134. variant: _Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  135. size: _Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonSize.Small */ .qE.Small,
  136. onClick: onClearClicked,
  137. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_close_svg__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
  138. })
  139. })
  140. }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  141. children: suffix && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  142. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().suffix), (_Input_module_scss__WEBPACK_IMPORTED_MODULE_5___default().prefixSuffixContainer)),
  143. children: suffix
  144. })
  145. })
  146. ]
  147. })
  148. ]
  149. });
  150. };
  151. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Input);
  152. __webpack_async_result__();
  153. } catch(e) { __webpack_async_result__(e); } });
  154. /***/ })
  155. };
  156. ;
  157. //# sourceMappingURL=91308.js.map