funda-ui 4.5.35 → 4.5.55

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/Date/index.js CHANGED
@@ -1736,7 +1736,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1736
1736
  var remainingText = getRemainingText(currentSuggestion);
1737
1737
  if (remainingText) {
1738
1738
  // Only the second half of the text is added
1739
- setChangedVal(changedVal + remainingText);
1739
+ handleChange(e, changedVal + remainingText);
1740
1740
  setCurrentSuggestion('');
1741
1741
  }
1742
1742
  };
@@ -1781,19 +1781,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1781
1781
  //
1782
1782
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1783
1783
  }
1784
- function handleChange(event) {
1785
- var val = event.target.value;
1786
- setChangedVal(val);
1784
+ function handleChange(event, curVal) {
1785
+ setChangedVal(curVal);
1787
1786
 
1788
1787
  //----
1789
1788
  //remove focus style
1790
- if (val === '') {
1789
+ if (curVal === '') {
1791
1790
  var _rootRef$current2;
1792
1791
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1793
1792
  }
1794
1793
 
1795
1794
  //
1796
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1795
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1797
1796
 
1798
1797
  // It fires in real time as the user enters
1799
1798
  if (typeof onInputCallback === 'function') {
@@ -1950,7 +1949,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1950
1949
  onFocus: handleFocus,
1951
1950
  onBlur: handleBlur,
1952
1951
  onChange: function onChange(e) {
1953
- handleChange(e);
1952
+ handleChange(e, e.target.value);
1954
1953
 
1955
1954
  // AI Predict
1956
1955
  if (aiPredict) {
package/Input/index.d.ts CHANGED
@@ -48,7 +48,7 @@ export declare type InputProps = {
48
48
  onChangeCallback?: (e: any, el: any) => void;
49
49
  onInputCallback?: (e: any, el: any) => void;
50
50
  onKeyPressedCallback?: (e: any, el: any) => void;
51
- onChange?: (e: any, param: any, el: any) => void;
51
+ onChange?: (e: any, param: any, el: any, value: string) => void;
52
52
  onBlur?: (e: any, param: any, el: any) => void;
53
53
  onFocus?: (e: any, param: any, el: any) => void;
54
54
  onPressEnter?: (e: any, el: any) => void;
package/Input/index.js CHANGED
@@ -1182,7 +1182,7 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1182
1182
  var remainingText = getRemainingText(currentSuggestion);
1183
1183
  if (remainingText) {
1184
1184
  // Only the second half of the text is added
1185
- setChangedVal(changedVal + remainingText);
1185
+ handleChange(e, changedVal + remainingText);
1186
1186
  setCurrentSuggestion('');
1187
1187
  }
1188
1188
  };
@@ -1227,19 +1227,18 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1227
1227
  //
1228
1228
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1229
1229
  }
1230
- function handleChange(event) {
1231
- var val = event.target.value;
1232
- setChangedVal(val);
1230
+ function handleChange(event, curVal) {
1231
+ setChangedVal(curVal);
1233
1232
 
1234
1233
  //----
1235
1234
  //remove focus style
1236
- if (val === '') {
1235
+ if (curVal === '') {
1237
1236
  var _rootRef$current2;
1238
1237
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1239
1238
  }
1240
1239
 
1241
1240
  //
1242
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1241
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1243
1242
 
1244
1243
  // It fires in real time as the user enters
1245
1244
  if (typeof onInputCallback === 'function') {
@@ -1396,7 +1395,7 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1396
1395
  onFocus: handleFocus,
1397
1396
  onBlur: handleBlur,
1398
1397
  onChange: function onChange(e) {
1399
- handleChange(e);
1398
+ handleChange(e, e.target.value);
1400
1399
 
1401
1400
  // AI Predict
1402
1401
  if (aiPredict) {
@@ -12,6 +12,7 @@ export declare type LiveSearchProps = {
12
12
  wrapperClassName?: string;
13
13
  controlClassName?: string;
14
14
  controlExClassName?: string;
15
+ optionsExClassName?: string;
15
16
  controlGroupWrapperClassName?: string;
16
17
  controlGroupTextClassName?: string;
17
18
  exceededSidePosOffset?: number;
@@ -2745,7 +2745,7 @@ __webpack_require__.r(__webpack_exports__);
2745
2745
  /* harmony import */ var funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_8__);
2746
2746
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(188);
2747
2747
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__);
2748
- var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "exceededSidePosOffset", "appearance", "isSearchInput", "allowSpacingRetrive", "readOnly", "disabled", "required", "placeholder", "noMatchPopup", "options", "value", "label", "name", "units", "iconLeft", "iconRight", "minLength", "maxLength", "id", "autoComplete", "autoCapitalize", "spellCheck", "icon", "btnId", "fetchTrigger", "hideIcon", "depth", "style", "winWidth", "tabIndex", "data", "autoShowOptions", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "fetchCallback", "onClick", "onFetch", "onChange", "onKeyboardInput", "onBlur", "onPressEnter"];
2748
+ var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "optionsExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "exceededSidePosOffset", "appearance", "isSearchInput", "allowSpacingRetrive", "readOnly", "disabled", "required", "placeholder", "noMatchPopup", "options", "value", "label", "name", "units", "iconLeft", "iconRight", "minLength", "maxLength", "id", "autoComplete", "autoCapitalize", "spellCheck", "icon", "btnId", "fetchTrigger", "hideIcon", "depth", "style", "winWidth", "tabIndex", "data", "autoShowOptions", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "fetchCallback", "onClick", "onFetch", "onChange", "onKeyboardInput", "onBlur", "onPressEnter"];
2749
2749
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2750
2750
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2751
2751
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -2779,6 +2779,7 @@ var LiveSearch = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(
2779
2779
  wrapperClassName = props.wrapperClassName,
2780
2780
  controlClassName = props.controlClassName,
2781
2781
  controlExClassName = props.controlExClassName,
2782
+ optionsExClassName = props.optionsExClassName,
2782
2783
  controlGroupWrapperClassName = props.controlGroupWrapperClassName,
2783
2784
  controlGroupTextClassName = props.controlGroupTextClassName,
2784
2785
  exceededSidePosOffset = props.exceededSidePosOffset,
@@ -3552,7 +3553,7 @@ var LiveSearch = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(
3552
3553
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
3553
3554
  ref: listRef,
3554
3555
  id: "livesearch__options-wrapper-".concat(idRes),
3555
- className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__.combinedCls)('livesearch__options-wrapper list-group position-absolute border shadow small', {
3556
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__.combinedCls)('livesearch__options-wrapper list-group position-absolute border shadow small', optionsExClassName, {
3556
3557
  'shadow-none border-0': orginalData && orginalData.length === 0 && !NO_MATCH_POPUP
3557
3558
  }),
3558
3559
  style: {
@@ -1702,7 +1702,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1702
1702
  var remainingText = getRemainingText(currentSuggestion);
1703
1703
  if (remainingText) {
1704
1704
  // Only the second half of the text is added
1705
- setChangedVal(changedVal + remainingText);
1705
+ handleChange(e, changedVal + remainingText);
1706
1706
  setCurrentSuggestion('');
1707
1707
  }
1708
1708
  };
@@ -1747,19 +1747,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1747
1747
  //
1748
1748
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1749
1749
  }
1750
- function handleChange(event) {
1751
- var val = event.target.value;
1752
- setChangedVal(val);
1750
+ function handleChange(event, curVal) {
1751
+ setChangedVal(curVal);
1753
1752
 
1754
1753
  //----
1755
1754
  //remove focus style
1756
- if (val === '') {
1755
+ if (curVal === '') {
1757
1756
  var _rootRef$current2;
1758
1757
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1759
1758
  }
1760
1759
 
1761
1760
  //
1762
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1761
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1763
1762
 
1764
1763
  // It fires in real time as the user enters
1765
1764
  if (typeof onInputCallback === 'function') {
@@ -1916,7 +1915,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1916
1915
  onFocus: handleFocus,
1917
1916
  onBlur: handleBlur,
1918
1917
  onChange: function onChange(e) {
1919
- handleChange(e);
1918
+ handleChange(e, e.target.value);
1920
1919
 
1921
1920
  // AI Predict
1922
1921
  if (aiPredict) {
package/Select/index.d.ts CHANGED
@@ -41,6 +41,7 @@ export declare type SelectProps = {
41
41
  wrapperClassName?: string;
42
42
  controlClassName?: string;
43
43
  controlExClassName?: string;
44
+ optionsExClassName?: string;
44
45
  exceededSidePosOffset?: number;
45
46
  multiSelect?: MultiSelectConfig;
46
47
  multiSelectEntireAreaTrigger?: boolean;
package/Select/index.js CHANGED
@@ -3474,7 +3474,7 @@ var bodyScrollLock = __webpack_require__(70);
3474
3474
  // EXTERNAL MODULE: ../Utils/dist/cjs/cls.js
3475
3475
  var cls = __webpack_require__(188);
3476
3476
  ;// CONCATENATED MODULE: ./src/index.tsx
3477
- var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "exceededSidePosOffset", "multiSelect", "multiSelectEntireAreaTrigger", "multiSelectSelectedItemOnlyStatus", "renderSelectedValue", "disabled", "required", "defaultValue", "value", "label", "name", "readOnly", "placeholder", "id", "autoComplete", "autoCapitalize", "spellCheck", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "firstRequestAutoExec", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus", "onKeyPressed"];
3477
+ var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "optionsExClassName", "exceededSidePosOffset", "multiSelect", "multiSelectEntireAreaTrigger", "multiSelectSelectedItemOnlyStatus", "renderSelectedValue", "disabled", "required", "defaultValue", "value", "label", "name", "readOnly", "placeholder", "id", "autoComplete", "autoCapitalize", "spellCheck", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "firstRequestAutoExec", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus", "onKeyPressed"];
3478
3478
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3479
3479
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3480
3480
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -3521,6 +3521,7 @@ var Select = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_
3521
3521
  wrapperClassName = props.wrapperClassName,
3522
3522
  controlClassName = props.controlClassName,
3523
3523
  controlExClassName = props.controlExClassName,
3524
+ optionsExClassName = props.optionsExClassName,
3524
3525
  exceededSidePosOffset = props.exceededSidePosOffset,
3525
3526
  multiSelect = props.multiSelect,
3526
3527
  multiSelectEntireAreaTrigger = props.multiSelectEntireAreaTrigger,
@@ -5489,7 +5490,7 @@ var Select = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_
5489
5490
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
5490
5491
  ref: listRef,
5491
5492
  id: "custom-select__options-wrapper-".concat(idRes),
5492
- className: (0,cls.combinedCls)('custom-select__options-wrapper list-group position-absolute border shadow small', {
5493
+ className: (0,cls.combinedCls)('custom-select__options-wrapper list-group position-absolute border shadow small', optionsExClassName, {
5493
5494
  'multiple-selection': MULTI_SEL_VALID
5494
5495
  }),
5495
5496
  style: {
@@ -37,7 +37,7 @@ export declare type TextareaProps = {
37
37
  onChangeCallback?: (e: any, el: any) => void;
38
38
  onInputCallback?: (e: any, el: any) => void;
39
39
  onKeyPressedCallback?: (e: any, el: any) => void;
40
- onChange?: (e: any, el: any) => void;
40
+ onChange?: (e: any, el: any, value: string) => void;
41
41
  onBlur?: (e: any, el: any) => void;
42
42
  onFocus?: (e: any, el: any) => void;
43
43
  onPressEnter?: (e: any, el: any) => void;
package/Textarea/index.js CHANGED
@@ -1460,7 +1460,7 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1460
1460
  var remainingText = getRemainingText(currentSuggestion);
1461
1461
  if (remainingText) {
1462
1462
  // Only the second half of the text is added
1463
- setChangedVal(changedVal + remainingText);
1463
+ handleChange(e, changedVal + remainingText);
1464
1464
  setCurrentSuggestion('');
1465
1465
  }
1466
1466
  };
@@ -1507,19 +1507,18 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1507
1507
  //
1508
1508
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, valRef.current);
1509
1509
  }
1510
- function handleChange(event) {
1511
- var val = event.target.value;
1512
- setChangedVal(val);
1510
+ function handleChange(event, curVal) {
1511
+ setChangedVal(curVal);
1513
1512
 
1514
1513
  //----
1515
1514
  //remove focus style
1516
- if (val === '') {
1515
+ if (curVal === '') {
1517
1516
  var _rootRef$current2;
1518
1517
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1519
1518
  }
1520
1519
 
1521
1520
  //
1522
- onChange === null || onChange === void 0 ? void 0 : onChange(event, valRef.current);
1521
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, valRef.current, curVal);
1523
1522
 
1524
1523
  // It fires in real time as the user enters
1525
1524
  if (typeof onInputCallback === 'function') {
@@ -1686,7 +1685,7 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1686
1685
  onFocus: handleFocus,
1687
1686
  onBlur: handleBlur,
1688
1687
  onChange: function onChange(e) {
1689
- handleChange(e);
1688
+ handleChange(e, e.target.value);
1690
1689
 
1691
1690
  // AI Predict
1692
1691
  if (aiPredict) {
@@ -1736,7 +1736,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1736
1736
  var remainingText = getRemainingText(currentSuggestion);
1737
1737
  if (remainingText) {
1738
1738
  // Only the second half of the text is added
1739
- setChangedVal(changedVal + remainingText);
1739
+ handleChange(e, changedVal + remainingText);
1740
1740
  setCurrentSuggestion('');
1741
1741
  }
1742
1742
  };
@@ -1781,19 +1781,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1781
1781
  //
1782
1782
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1783
1783
  }
1784
- function handleChange(event) {
1785
- var val = event.target.value;
1786
- setChangedVal(val);
1784
+ function handleChange(event, curVal) {
1785
+ setChangedVal(curVal);
1787
1786
 
1788
1787
  //----
1789
1788
  //remove focus style
1790
- if (val === '') {
1789
+ if (curVal === '') {
1791
1790
  var _rootRef$current2;
1792
1791
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1793
1792
  }
1794
1793
 
1795
1794
  //
1796
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1795
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1797
1796
 
1798
1797
  // It fires in real time as the user enters
1799
1798
  if (typeof onInputCallback === 'function') {
@@ -1950,7 +1949,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1950
1949
  onFocus: handleFocus,
1951
1950
  onBlur: handleBlur,
1952
1951
  onChange: function onChange(e) {
1953
- handleChange(e);
1952
+ handleChange(e, e.target.value);
1954
1953
 
1955
1954
  // AI Predict
1956
1955
  if (aiPredict) {
@@ -48,7 +48,7 @@ export declare type InputProps = {
48
48
  onChangeCallback?: (e: any, el: any) => void;
49
49
  onInputCallback?: (e: any, el: any) => void;
50
50
  onKeyPressedCallback?: (e: any, el: any) => void;
51
- onChange?: (e: any, param: any, el: any) => void;
51
+ onChange?: (e: any, param: any, el: any, value: string) => void;
52
52
  onBlur?: (e: any, param: any, el: any) => void;
53
53
  onFocus?: (e: any, param: any, el: any) => void;
54
54
  onPressEnter?: (e: any, el: any) => void;
@@ -1182,7 +1182,7 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1182
1182
  var remainingText = getRemainingText(currentSuggestion);
1183
1183
  if (remainingText) {
1184
1184
  // Only the second half of the text is added
1185
- setChangedVal(changedVal + remainingText);
1185
+ handleChange(e, changedVal + remainingText);
1186
1186
  setCurrentSuggestion('');
1187
1187
  }
1188
1188
  };
@@ -1227,19 +1227,18 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1227
1227
  //
1228
1228
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1229
1229
  }
1230
- function handleChange(event) {
1231
- var val = event.target.value;
1232
- setChangedVal(val);
1230
+ function handleChange(event, curVal) {
1231
+ setChangedVal(curVal);
1233
1232
 
1234
1233
  //----
1235
1234
  //remove focus style
1236
- if (val === '') {
1235
+ if (curVal === '') {
1237
1236
  var _rootRef$current2;
1238
1237
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1239
1238
  }
1240
1239
 
1241
1240
  //
1242
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1241
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1243
1242
 
1244
1243
  // It fires in real time as the user enters
1245
1244
  if (typeof onInputCallback === 'function') {
@@ -1396,7 +1395,7 @@ var Input = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1396
1395
  onFocus: handleFocus,
1397
1396
  onBlur: handleBlur,
1398
1397
  onChange: function onChange(e) {
1399
- handleChange(e);
1398
+ handleChange(e, e.target.value);
1400
1399
 
1401
1400
  // AI Predict
1402
1401
  if (aiPredict) {
@@ -12,6 +12,7 @@ export declare type LiveSearchProps = {
12
12
  wrapperClassName?: string;
13
13
  controlClassName?: string;
14
14
  controlExClassName?: string;
15
+ optionsExClassName?: string;
15
16
  controlGroupWrapperClassName?: string;
16
17
  controlGroupTextClassName?: string;
17
18
  exceededSidePosOffset?: number;
@@ -2745,7 +2745,7 @@ __webpack_require__.r(__webpack_exports__);
2745
2745
  /* harmony import */ var funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_8__);
2746
2746
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(188);
2747
2747
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__);
2748
- var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "exceededSidePosOffset", "appearance", "isSearchInput", "allowSpacingRetrive", "readOnly", "disabled", "required", "placeholder", "noMatchPopup", "options", "value", "label", "name", "units", "iconLeft", "iconRight", "minLength", "maxLength", "id", "autoComplete", "autoCapitalize", "spellCheck", "icon", "btnId", "fetchTrigger", "hideIcon", "depth", "style", "winWidth", "tabIndex", "data", "autoShowOptions", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "fetchCallback", "onClick", "onFetch", "onChange", "onKeyboardInput", "onBlur", "onPressEnter"];
2748
+ var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "optionsExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "exceededSidePosOffset", "appearance", "isSearchInput", "allowSpacingRetrive", "readOnly", "disabled", "required", "placeholder", "noMatchPopup", "options", "value", "label", "name", "units", "iconLeft", "iconRight", "minLength", "maxLength", "id", "autoComplete", "autoCapitalize", "spellCheck", "icon", "btnId", "fetchTrigger", "hideIcon", "depth", "style", "winWidth", "tabIndex", "data", "autoShowOptions", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "fetchCallback", "onClick", "onFetch", "onChange", "onKeyboardInput", "onBlur", "onPressEnter"];
2749
2749
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2750
2750
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2751
2751
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -2779,6 +2779,7 @@ var LiveSearch = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(
2779
2779
  wrapperClassName = props.wrapperClassName,
2780
2780
  controlClassName = props.controlClassName,
2781
2781
  controlExClassName = props.controlExClassName,
2782
+ optionsExClassName = props.optionsExClassName,
2782
2783
  controlGroupWrapperClassName = props.controlGroupWrapperClassName,
2783
2784
  controlGroupTextClassName = props.controlGroupTextClassName,
2784
2785
  exceededSidePosOffset = props.exceededSidePosOffset,
@@ -3552,7 +3553,7 @@ var LiveSearch = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(
3552
3553
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
3553
3554
  ref: listRef,
3554
3555
  id: "livesearch__options-wrapper-".concat(idRes),
3555
- className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__.combinedCls)('livesearch__options-wrapper list-group position-absolute border shadow small', {
3556
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_9__.combinedCls)('livesearch__options-wrapper list-group position-absolute border shadow small', optionsExClassName, {
3556
3557
  'shadow-none border-0': orginalData && orginalData.length === 0 && !NO_MATCH_POPUP
3557
3558
  }),
3558
3559
  style: {
@@ -1702,7 +1702,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1702
1702
  var remainingText = getRemainingText(currentSuggestion);
1703
1703
  if (remainingText) {
1704
1704
  // Only the second half of the text is added
1705
- setChangedVal(changedVal + remainingText);
1705
+ handleChange(e, changedVal + remainingText);
1706
1706
  setCurrentSuggestion('');
1707
1707
  }
1708
1708
  };
@@ -1747,19 +1747,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1747
1747
  //
1748
1748
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, onComposition, valRef.current);
1749
1749
  }
1750
- function handleChange(event) {
1751
- var val = event.target.value;
1752
- setChangedVal(val);
1750
+ function handleChange(event, curVal) {
1751
+ setChangedVal(curVal);
1753
1752
 
1754
1753
  //----
1755
1754
  //remove focus style
1756
- if (val === '') {
1755
+ if (curVal === '') {
1757
1756
  var _rootRef$current2;
1758
1757
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1759
1758
  }
1760
1759
 
1761
1760
  //
1762
- onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current);
1761
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, onComposition, valRef.current, curVal);
1763
1762
 
1764
1763
  // It fires in real time as the user enters
1765
1764
  if (typeof onInputCallback === 'function') {
@@ -1916,7 +1915,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1916
1915
  onFocus: handleFocus,
1917
1916
  onBlur: handleBlur,
1918
1917
  onChange: function onChange(e) {
1919
- handleChange(e);
1918
+ handleChange(e, e.target.value);
1920
1919
 
1921
1920
  // AI Predict
1922
1921
  if (aiPredict) {
@@ -41,6 +41,7 @@ export declare type SelectProps = {
41
41
  wrapperClassName?: string;
42
42
  controlClassName?: string;
43
43
  controlExClassName?: string;
44
+ optionsExClassName?: string;
44
45
  exceededSidePosOffset?: number;
45
46
  multiSelect?: MultiSelectConfig;
46
47
  multiSelectEntireAreaTrigger?: boolean;
@@ -3474,7 +3474,7 @@ var bodyScrollLock = __webpack_require__(70);
3474
3474
  // EXTERNAL MODULE: ../Utils/dist/cjs/cls.js
3475
3475
  var cls = __webpack_require__(188);
3476
3476
  ;// CONCATENATED MODULE: ./src/index.tsx
3477
- var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "exceededSidePosOffset", "multiSelect", "multiSelectEntireAreaTrigger", "multiSelectSelectedItemOnlyStatus", "renderSelectedValue", "disabled", "required", "defaultValue", "value", "label", "name", "readOnly", "placeholder", "id", "autoComplete", "autoCapitalize", "spellCheck", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "firstRequestAutoExec", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus", "onKeyPressed"];
3477
+ var _excluded = ["contentRef", "popupRef", "wrapperClassName", "controlClassName", "controlExClassName", "optionsExClassName", "exceededSidePosOffset", "multiSelect", "multiSelectEntireAreaTrigger", "multiSelectSelectedItemOnlyStatus", "renderSelectedValue", "disabled", "required", "defaultValue", "value", "label", "name", "readOnly", "placeholder", "id", "autoComplete", "autoCapitalize", "spellCheck", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "firstRequestAutoExec", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus", "onKeyPressed"];
3478
3478
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3479
3479
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3480
3480
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -3521,6 +3521,7 @@ var Select = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_
3521
3521
  wrapperClassName = props.wrapperClassName,
3522
3522
  controlClassName = props.controlClassName,
3523
3523
  controlExClassName = props.controlExClassName,
3524
+ optionsExClassName = props.optionsExClassName,
3524
3525
  exceededSidePosOffset = props.exceededSidePosOffset,
3525
3526
  multiSelect = props.multiSelect,
3526
3527
  multiSelectEntireAreaTrigger = props.multiSelectEntireAreaTrigger,
@@ -5489,7 +5490,7 @@ var Select = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_
5489
5490
  }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("div", {
5490
5491
  ref: listRef,
5491
5492
  id: "custom-select__options-wrapper-".concat(idRes),
5492
- className: (0,cls.combinedCls)('custom-select__options-wrapper list-group position-absolute border shadow small', {
5493
+ className: (0,cls.combinedCls)('custom-select__options-wrapper list-group position-absolute border shadow small', optionsExClassName, {
5493
5494
  'multiple-selection': MULTI_SEL_VALID
5494
5495
  }),
5495
5496
  style: {
@@ -37,7 +37,7 @@ export declare type TextareaProps = {
37
37
  onChangeCallback?: (e: any, el: any) => void;
38
38
  onInputCallback?: (e: any, el: any) => void;
39
39
  onKeyPressedCallback?: (e: any, el: any) => void;
40
- onChange?: (e: any, el: any) => void;
40
+ onChange?: (e: any, el: any, value: string) => void;
41
41
  onBlur?: (e: any, el: any) => void;
42
42
  onFocus?: (e: any, el: any) => void;
43
43
  onPressEnter?: (e: any, el: any) => void;
@@ -1460,7 +1460,7 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1460
1460
  var remainingText = getRemainingText(currentSuggestion);
1461
1461
  if (remainingText) {
1462
1462
  // Only the second half of the text is added
1463
- setChangedVal(changedVal + remainingText);
1463
+ handleChange(e, changedVal + remainingText);
1464
1464
  setCurrentSuggestion('');
1465
1465
  }
1466
1466
  };
@@ -1507,19 +1507,18 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1507
1507
  //
1508
1508
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event, valRef.current);
1509
1509
  }
1510
- function handleChange(event) {
1511
- var val = event.target.value;
1512
- setChangedVal(val);
1510
+ function handleChange(event, curVal) {
1511
+ setChangedVal(curVal);
1513
1512
 
1514
1513
  //----
1515
1514
  //remove focus style
1516
- if (val === '') {
1515
+ if (curVal === '') {
1517
1516
  var _rootRef$current2;
1518
1517
  (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.classList.remove('focus');
1519
1518
  }
1520
1519
 
1521
1520
  //
1522
- onChange === null || onChange === void 0 ? void 0 : onChange(event, valRef.current);
1521
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, valRef.current, curVal);
1523
1522
 
1524
1523
  // It fires in real time as the user enters
1525
1524
  if (typeof onInputCallback === 'function') {
@@ -1686,7 +1685,7 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1686
1685
  onFocus: handleFocus,
1687
1686
  onBlur: handleBlur,
1688
1687
  onChange: function onChange(e) {
1689
- handleChange(e);
1688
+ handleChange(e, e.target.value);
1690
1689
 
1691
1690
  // AI Predict
1692
1691
  if (aiPredict) {
@@ -57,7 +57,7 @@ export type InputProps = {
57
57
  onChangeCallback?: (e: any, el: any) => void;
58
58
  onInputCallback?: (e: any, el: any) => void;
59
59
  onKeyPressedCallback?: (e: any, el: any) => void;
60
- onChange?: (e: any, param: any, el: any) => void;
60
+ onChange?: (e: any, param: any, el: any, value: string) => void;
61
61
  onBlur?: (e: any, param: any, el: any) => void;
62
62
  onFocus?: (e: any, param: any, el: any) => void;
63
63
  onPressEnter?: (e: any, el: any) => void;
@@ -286,7 +286,7 @@ const Input = forwardRef((props: InputProps, externalRef: any) => {
286
286
  const remainingText = getRemainingText(currentSuggestion);
287
287
  if (remainingText) {
288
288
  // Only the second half of the text is added
289
- setChangedVal(changedVal + remainingText);
289
+ handleChange(e, changedVal + remainingText);
290
290
  setCurrentSuggestion('');
291
291
  }
292
292
  };
@@ -338,20 +338,18 @@ const Input = forwardRef((props: InputProps, externalRef: any) => {
338
338
  onFocus?.(event, onComposition, valRef.current);
339
339
  }
340
340
 
341
- function handleChange(event: ChangeEvent<HTMLInputElement>) {
342
- const val = event.target.value;
343
-
344
- setChangedVal(val);
341
+ function handleChange(event: ChangeEvent<HTMLInputElement> | KeyboardEvent<HTMLInputElement> | null, curVal: string) {
342
+ setChangedVal(curVal);
345
343
 
346
-
344
+
347
345
  //----
348
346
  //remove focus style
349
- if (val === '') {
347
+ if (curVal === '') {
350
348
  rootRef.current?.classList.remove('focus');
351
349
  }
352
350
 
353
351
  //
354
- onChange?.(event, onComposition, valRef.current);
352
+ onChange?.(event, onComposition, valRef.current, curVal);
355
353
 
356
354
  // It fires in real time as the user enters
357
355
  if (typeof (onInputCallback) === 'function') {
@@ -537,7 +535,7 @@ const Input = forwardRef((props: InputProps, externalRef: any) => {
537
535
  onFocus={handleFocus}
538
536
  onBlur={handleBlur}
539
537
  onChange={(e: any) => {
540
- handleChange(e);
538
+ handleChange(e, e.target.value);
541
539
 
542
540
  // AI Predict
543
541
  if (aiPredict) {
@@ -32,6 +32,7 @@ export type LiveSearchProps = {
32
32
  wrapperClassName?: string;
33
33
  controlClassName?: string;
34
34
  controlExClassName?: string;
35
+ optionsExClassName?: string;
35
36
  controlGroupWrapperClassName?: string;
36
37
  controlGroupTextClassName?: string;
37
38
  exceededSidePosOffset?: number;
@@ -92,6 +93,7 @@ const LiveSearch = forwardRef((props: LiveSearchProps, externalRef: any) => {
92
93
  wrapperClassName,
93
94
  controlClassName,
94
95
  controlExClassName,
96
+ optionsExClassName,
95
97
  controlGroupWrapperClassName,
96
98
  controlGroupTextClassName,
97
99
  exceededSidePosOffset,
@@ -854,6 +856,7 @@ const LiveSearch = forwardRef((props: LiveSearchProps, externalRef: any) => {
854
856
  id={`livesearch__options-wrapper-${idRes}`}
855
857
  className={combinedCls(
856
858
  'livesearch__options-wrapper list-group position-absolute border shadow small',
859
+ optionsExClassName,
857
860
  {
858
861
  'shadow-none border-0': (orginalData && orginalData.length === 0) && !NO_MATCH_POPUP
859
862
  }
@@ -103,6 +103,7 @@ export type SelectProps = {
103
103
  wrapperClassName?: string;
104
104
  controlClassName?: string;
105
105
  controlExClassName?: string;
106
+ optionsExClassName?: string;
106
107
  exceededSidePosOffset?: number;
107
108
  multiSelect?: MultiSelectConfig;
108
109
  multiSelectEntireAreaTrigger?: boolean;
@@ -165,6 +166,7 @@ const Select = forwardRef((props: SelectProps, externalRef: any) => {
165
166
  wrapperClassName,
166
167
  controlClassName,
167
168
  controlExClassName,
169
+ optionsExClassName,
168
170
  exceededSidePosOffset,
169
171
  multiSelect,
170
172
  multiSelectEntireAreaTrigger,
@@ -2536,6 +2538,7 @@ const Select = forwardRef((props: SelectProps, externalRef: any) => {
2536
2538
  id={`custom-select__options-wrapper-${idRes}`}
2537
2539
  className={combinedCls(
2538
2540
  'custom-select__options-wrapper list-group position-absolute border shadow small',
2541
+ optionsExClassName,
2539
2542
  {
2540
2543
  'multiple-selection': MULTI_SEL_VALID
2541
2544
  }
@@ -1,4 +1,4 @@
1
- import React, { useState, useEffect, useRef, forwardRef, KeyboardEvent, useImperativeHandle } from 'react';
1
+ import React, { useState, useEffect, useRef, forwardRef, ChangeEvent, KeyboardEvent, useImperativeHandle } from 'react';
2
2
 
3
3
 
4
4
  import useComId from 'funda-utils/dist/cjs/useComId';
@@ -46,7 +46,7 @@ export type TextareaProps = {
46
46
  onChangeCallback?: (e: any, el: any) => void;
47
47
  onInputCallback?: (e: any, el: any) => void;
48
48
  onKeyPressedCallback?: (e: any, el: any) => void;
49
- onChange?: (e: any, el: any) => void;
49
+ onChange?: (e: any, el: any, value: string) => void;
50
50
  onBlur?: (e: any, el: any) => void;
51
51
  onFocus?: (e: any, el: any) => void;
52
52
  onPressEnter?: (e: any, el: any) => void;
@@ -262,7 +262,7 @@ const Textarea = forwardRef((props: TextareaProps, externalRef: any) => {
262
262
  const remainingText = getRemainingText(currentSuggestion);
263
263
  if (remainingText) {
264
264
  // Only the second half of the text is added
265
- setChangedVal(changedVal + remainingText);
265
+ handleChange(e, changedVal + remainingText);
266
266
  setCurrentSuggestion('');
267
267
  }
268
268
  };
@@ -318,19 +318,18 @@ const Textarea = forwardRef((props: TextareaProps, externalRef: any) => {
318
318
  }
319
319
 
320
320
 
321
- function handleChange(event: any) {
322
- const val = event.target.value;
321
+ function handleChange(event: ChangeEvent<HTMLTextAreaElement> | KeyboardEvent<HTMLTextAreaElement> | null, curVal: string) {
323
322
 
324
- setChangedVal(val);
323
+ setChangedVal(curVal);
325
324
 
326
325
  //----
327
326
  //remove focus style
328
- if (val === '') {
327
+ if (curVal === '') {
329
328
  rootRef.current?.classList.remove('focus');
330
329
  }
331
330
 
332
331
  //
333
- onChange?.(event, valRef.current);
332
+ onChange?.(event, valRef.current, curVal);
334
333
 
335
334
  // It fires in real time as the user enters
336
335
  if (typeof (onInputCallback) === 'function') {
@@ -527,7 +526,7 @@ const Textarea = forwardRef((props: TextareaProps, externalRef: any) => {
527
526
  onFocus={handleFocus}
528
527
  onBlur={handleBlur}
529
528
  onChange={(e: any) => {
530
- handleChange(e);
529
+ handleChange(e, e.target.value);
531
530
 
532
531
  // AI Predict
533
532
  if (aiPredict) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "author": "UIUX Lab",
3
3
  "email": "uiuxlab@gmail.com",
4
4
  "name": "funda-ui",
5
- "version": "4.5.35",
5
+ "version": "4.5.55",
6
6
  "description": "React components using pure Bootstrap 5+ which does not contain any external style and script libraries.",
7
7
  "repository": {
8
8
  "type": "git",