funda-ui 4.5.22 → 4.5.37

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.
@@ -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: {
@@ -1468,10 +1468,28 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1468
1468
  });
1469
1469
  }
1470
1470
  return Array.isArray(dataInit) ? dataInit.map(function (item, index) {
1471
+ var _optiondata = {};
1472
+ Object.entries(item).forEach(function (_ref) {
1473
+ var _ref2 = _slicedToArray(_ref, 2),
1474
+ key = _ref2[0],
1475
+ value = _ref2[1];
1476
+ if (key !== 'extends') {
1477
+ _optiondata[key] = value;
1478
+ }
1479
+ });
1471
1480
  var _groupEl = function _groupEl() {
1472
1481
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1473
1482
  className: "rmultiple-checkboxes-group__label ".concat(groupLabelClassName || '')
1474
1483
  }, item.label), item.optgroup.map(function (opt, optIndex) {
1484
+ var _optiondata2 = {};
1485
+ Object.entries(item).forEach(function (_ref3) {
1486
+ var _ref4 = _slicedToArray(_ref3, 2),
1487
+ key = _ref4[0],
1488
+ value = _ref4[1];
1489
+ if (key !== 'extends') {
1490
+ _optiondata2[key] = value;
1491
+ }
1492
+ });
1475
1493
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1476
1494
  key: 'checkbox' + optIndex,
1477
1495
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes__control form-check pe-3', {
@@ -1495,7 +1513,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1495
1513
  "data-list-item-label": "".concat(typeof opt.listItemLabel === 'undefined' ? '' : opt.listItemLabel),
1496
1514
  "data-value": opt.value,
1497
1515
  "data-disabled": disabled || (typeof opt.disabled !== 'undefined' ? "".concat(opt.disabled) : 'false'),
1498
- "data-optiondata": JSON.stringify(opt),
1516
+ "data-optiondata": JSON.stringify(_optiondata2),
1499
1517
  value: opt.value,
1500
1518
  disabled: disabled || (typeof opt.disabled !== 'undefined' ? opt.disabled : null),
1501
1519
  checked: selectedItems.has(opt.value),
@@ -1528,7 +1546,11 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1528
1546
  }
1529
1547
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e.target, _res, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_res) : _res.join(','), _resLabel, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_resLabel) : _resLabel.join(','), curData, _resDataCollection);
1530
1548
  }
1531
- }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(optIndex, "-").concat(idRes)));
1549
+ }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(optIndex, "-").concat(idRes)), typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1550
+ className: "d-inline-block"
1551
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1552
+ className: "form-control-extends__wrapper"
1553
+ }, opt["extends"]))) : null);
1532
1554
  }));
1533
1555
  };
1534
1556
  var _normalEl = function _normalEl() {
@@ -1545,7 +1567,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1545
1567
  "data-list-item-label": "".concat(typeof item.listItemLabel === 'undefined' ? '' : item.listItemLabel),
1546
1568
  "data-value": item.value,
1547
1569
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1548
- "data-optiondata": JSON.stringify(item),
1570
+ "data-optiondata": JSON.stringify(_optiondata),
1549
1571
  value: item.value,
1550
1572
  disabled: disabled || (typeof item.disabled !== 'undefined' ? item.disabled : null),
1551
1573
  checked: selectedItems.has(item.value),
@@ -1566,7 +1588,11 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1566
1588
  });
1567
1589
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e.target, _res, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_res) : _res.join(','), _resLabel, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_resLabel) : _resLabel.join(','), item, _resDataCollection);
1568
1590
  }
1569
- }, attributes)), labelRes(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(idRes)));
1591
+ }, attributes)), labelRes(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(idRes)), typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1592
+ className: "d-inline-block"
1593
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1594
+ className: "form-control-extends__wrapper"
1595
+ }, item["extends"]))) : null);
1570
1596
  };
1571
1597
  if (tableLayout) {
1572
1598
  /* TABLE LAYOUT */
@@ -1574,8 +1600,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1574
1600
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("td", {
1575
1601
  colSpan: 1,
1576
1602
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes-group__wrapper', groupWrapperClassName, tableLayoutCellClassName),
1577
- key: 'optgroup-' + index,
1578
- "data-optiondata": JSON.stringify(item)
1603
+ key: 'optgroup-' + index
1579
1604
  }, _groupEl());
1580
1605
  } else {
1581
1606
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("td", {
@@ -1589,7 +1614,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1589
1614
  "data-value": item.value,
1590
1615
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1591
1616
  key: 'checkbox' + index,
1592
- "data-optiondata": JSON.stringify(item)
1617
+ "data-optiondata": JSON.stringify(_optiondata)
1593
1618
  }, _normalEl());
1594
1619
  }
1595
1620
  /* /TABLE LAYOUT */
@@ -1597,8 +1622,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1597
1622
  if (typeof item.optgroup !== 'undefined') {
1598
1623
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1599
1624
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes-group__wrapper', groupWrapperClassName),
1600
- key: 'optgroup-' + index,
1601
- "data-optiondata": JSON.stringify(item)
1625
+ key: 'optgroup-' + index
1602
1626
  }, _groupEl());
1603
1627
  } else {
1604
1628
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -1611,7 +1635,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1611
1635
  "data-value": item.value,
1612
1636
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1613
1637
  key: 'checkbox' + index,
1614
- "data-optiondata": JSON.stringify(item)
1638
+ "data-optiondata": JSON.stringify(_optiondata)
1615
1639
  }, _normalEl());
1616
1640
  }
1617
1641
  }
package/Radio/index.js CHANGED
@@ -1254,11 +1254,11 @@ var Radio = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1254
1254
  checked: controlValue == opt.value // component status will not change if defaultChecked is used
1255
1255
  ,
1256
1256
  style: style
1257
- }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "field-".concat(uniqueID, "-").concat(index, "-").concat(optIndex))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1257
+ }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "field-".concat(uniqueID, "-").concat(index, "-").concat(optIndex))), typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1258
1258
  className: "d-inline-block"
1259
1259
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1260
1260
  className: "form-control-extends__wrapper"
1261
- }, typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, opt["extends"]) : null)));
1261
+ }, opt["extends"]))) : null);
1262
1262
  }));
1263
1263
  };
1264
1264
  var _normalEl = function _normalEl() {
@@ -1297,11 +1297,11 @@ var Radio = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1297
1297
  dangerouslySetInnerHTML: {
1298
1298
  __html: "".concat(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel)
1299
1299
  }
1300
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1300
+ })), typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1301
1301
  className: "d-inline-block"
1302
1302
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1303
1303
  className: "form-control-extends__wrapper"
1304
- }, typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, item["extends"]) : null)));
1304
+ }, item["extends"]))) : null);
1305
1305
  };
1306
1306
  if (tableLayout) {
1307
1307
  /* TABLE LAYOUT */
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: {
@@ -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: {
@@ -1468,10 +1468,28 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1468
1468
  });
1469
1469
  }
1470
1470
  return Array.isArray(dataInit) ? dataInit.map(function (item, index) {
1471
+ var _optiondata = {};
1472
+ Object.entries(item).forEach(function (_ref) {
1473
+ var _ref2 = _slicedToArray(_ref, 2),
1474
+ key = _ref2[0],
1475
+ value = _ref2[1];
1476
+ if (key !== 'extends') {
1477
+ _optiondata[key] = value;
1478
+ }
1479
+ });
1471
1480
  var _groupEl = function _groupEl() {
1472
1481
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1473
1482
  className: "rmultiple-checkboxes-group__label ".concat(groupLabelClassName || '')
1474
1483
  }, item.label), item.optgroup.map(function (opt, optIndex) {
1484
+ var _optiondata2 = {};
1485
+ Object.entries(item).forEach(function (_ref3) {
1486
+ var _ref4 = _slicedToArray(_ref3, 2),
1487
+ key = _ref4[0],
1488
+ value = _ref4[1];
1489
+ if (key !== 'extends') {
1490
+ _optiondata2[key] = value;
1491
+ }
1492
+ });
1475
1493
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1476
1494
  key: 'checkbox' + optIndex,
1477
1495
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes__control form-check pe-3', {
@@ -1495,7 +1513,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1495
1513
  "data-list-item-label": "".concat(typeof opt.listItemLabel === 'undefined' ? '' : opt.listItemLabel),
1496
1514
  "data-value": opt.value,
1497
1515
  "data-disabled": disabled || (typeof opt.disabled !== 'undefined' ? "".concat(opt.disabled) : 'false'),
1498
- "data-optiondata": JSON.stringify(opt),
1516
+ "data-optiondata": JSON.stringify(_optiondata2),
1499
1517
  value: opt.value,
1500
1518
  disabled: disabled || (typeof opt.disabled !== 'undefined' ? opt.disabled : null),
1501
1519
  checked: selectedItems.has(opt.value),
@@ -1528,7 +1546,11 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1528
1546
  }
1529
1547
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e.target, _res, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_res) : _res.join(','), _resLabel, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_resLabel) : _resLabel.join(','), curData, _resDataCollection);
1530
1548
  }
1531
- }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(optIndex, "-").concat(idRes)));
1549
+ }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(optIndex, "-").concat(idRes)), typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1550
+ className: "d-inline-block"
1551
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1552
+ className: "form-control-extends__wrapper"
1553
+ }, opt["extends"]))) : null);
1532
1554
  }));
1533
1555
  };
1534
1556
  var _normalEl = function _normalEl() {
@@ -1545,7 +1567,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1545
1567
  "data-list-item-label": "".concat(typeof item.listItemLabel === 'undefined' ? '' : item.listItemLabel),
1546
1568
  "data-value": item.value,
1547
1569
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1548
- "data-optiondata": JSON.stringify(item),
1570
+ "data-optiondata": JSON.stringify(_optiondata),
1549
1571
  value: item.value,
1550
1572
  disabled: disabled || (typeof item.disabled !== 'undefined' ? item.disabled : null),
1551
1573
  checked: selectedItems.has(item.value),
@@ -1566,7 +1588,11 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1566
1588
  });
1567
1589
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e.target, _res, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_res) : _res.join(','), _resLabel, VALUE_BY_BRACKETS ? (0,funda_utils_dist_cjs_convert__WEBPACK_IMPORTED_MODULE_4__.convertArrToValByBrackets)(_resLabel) : _resLabel.join(','), item, _resDataCollection);
1568
1590
  }
1569
- }, attributes)), labelRes(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(idRes)));
1591
+ }, attributes)), labelRes(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel, "multiple-checkboxes__control-label-".concat(index, "-").concat(idRes)), typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1592
+ className: "d-inline-block"
1593
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1594
+ className: "form-control-extends__wrapper"
1595
+ }, item["extends"]))) : null);
1570
1596
  };
1571
1597
  if (tableLayout) {
1572
1598
  /* TABLE LAYOUT */
@@ -1574,8 +1600,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1574
1600
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("td", {
1575
1601
  colSpan: 1,
1576
1602
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes-group__wrapper', groupWrapperClassName, tableLayoutCellClassName),
1577
- key: 'optgroup-' + index,
1578
- "data-optiondata": JSON.stringify(item)
1603
+ key: 'optgroup-' + index
1579
1604
  }, _groupEl());
1580
1605
  } else {
1581
1606
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("td", {
@@ -1589,7 +1614,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1589
1614
  "data-value": item.value,
1590
1615
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1591
1616
  key: 'checkbox' + index,
1592
- "data-optiondata": JSON.stringify(item)
1617
+ "data-optiondata": JSON.stringify(_optiondata)
1593
1618
  }, _normalEl());
1594
1619
  }
1595
1620
  /* /TABLE LAYOUT */
@@ -1597,8 +1622,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1597
1622
  if (typeof item.optgroup !== 'undefined') {
1598
1623
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1599
1624
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_6__.combinedCls)('multiple-checkboxes-group__wrapper', groupWrapperClassName),
1600
- key: 'optgroup-' + index,
1601
- "data-optiondata": JSON.stringify(item)
1625
+ key: 'optgroup-' + index
1602
1626
  }, _groupEl());
1603
1627
  } else {
1604
1628
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -1611,7 +1635,7 @@ var MultipleCheckboxes = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forw
1611
1635
  "data-value": item.value,
1612
1636
  "data-disabled": disabled || (typeof item.disabled !== 'undefined' ? "".concat(item.disabled) : 'false'),
1613
1637
  key: 'checkbox' + index,
1614
- "data-optiondata": JSON.stringify(item)
1638
+ "data-optiondata": JSON.stringify(_optiondata)
1615
1639
  }, _normalEl());
1616
1640
  }
1617
1641
  }
@@ -1254,11 +1254,11 @@ var Radio = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1254
1254
  checked: controlValue == opt.value // component status will not change if defaultChecked is used
1255
1255
  ,
1256
1256
  style: style
1257
- }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "field-".concat(uniqueID, "-").concat(index, "-").concat(optIndex))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1257
+ }, attributes)), labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, "field-".concat(uniqueID, "-").concat(index, "-").concat(optIndex))), typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1258
1258
  className: "d-inline-block"
1259
1259
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1260
1260
  className: "form-control-extends__wrapper"
1261
- }, typeof opt["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, opt["extends"]) : null)));
1261
+ }, opt["extends"]))) : null);
1262
1262
  }));
1263
1263
  };
1264
1264
  var _normalEl = function _normalEl() {
@@ -1297,11 +1297,11 @@ var Radio = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(funct
1297
1297
  dangerouslySetInnerHTML: {
1298
1298
  __html: "".concat(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel)
1299
1299
  }
1300
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1300
+ })), typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1301
1301
  className: "d-inline-block"
1302
1302
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1303
1303
  className: "form-control-extends__wrapper"
1304
- }, typeof item["extends"] !== 'undefined' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, item["extends"]) : null)));
1304
+ }, item["extends"]))) : null);
1305
1305
  };
1306
1306
  if (tableLayout) {
1307
1307
  /* TABLE LAYOUT */
@@ -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: {
@@ -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
  }
@@ -331,6 +331,13 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
331
331
 
332
332
  return Array.isArray(dataInit) ? dataInit.map((item: any, index: number) => {
333
333
 
334
+ const _optiondata: any = {};
335
+ Object.entries(item).forEach(([key, value]) => {
336
+ if (key !== 'extends') {
337
+ _optiondata[key] = value;
338
+ }
339
+ });
340
+
334
341
  const _groupEl = () => {
335
342
  return <>
336
343
 
@@ -339,7 +346,14 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
339
346
  {/* /GROUP LABEL */}
340
347
 
341
348
  {item.optgroup.map((opt: any, optIndex: number) => {
342
-
349
+
350
+ const _optiondata2: any = {};
351
+ Object.entries(item).forEach(([key, value]) => {
352
+ if (key !== 'extends') {
353
+ _optiondata2[key] = value;
354
+ }
355
+ });
356
+
343
357
  return <div
344
358
  key={'checkbox' + optIndex}
345
359
  className={combinedCls(
@@ -367,7 +381,7 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
367
381
  data-list-item-label={`${typeof opt.listItemLabel === 'undefined' ? '' : opt.listItemLabel}`}
368
382
  data-value={opt.value}
369
383
  data-disabled={disabled || (typeof opt.disabled !== 'undefined' ? `${opt.disabled}` : 'false')}
370
- data-optiondata={JSON.stringify(opt)}
384
+ data-optiondata={JSON.stringify(_optiondata2)}
371
385
  value={opt.value}
372
386
  disabled={disabled || (typeof opt.disabled !== 'undefined' ? opt.disabled : null)}
373
387
  checked={selectedItems.has(opt.value)}
@@ -404,6 +418,14 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
404
418
  />
405
419
 
406
420
  {labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, `multiple-checkboxes__control-label-${index}-${optIndex}-${idRes}`)}
421
+
422
+ {/* EXTENDS */}
423
+ {typeof opt.extends !== 'undefined' ? <>
424
+ <div className="d-inline-block">
425
+ <div className="form-control-extends__wrapper">{opt.extends}</div>
426
+ </div>
427
+ </> : null}
428
+
407
429
 
408
430
  </div>;
409
431
 
@@ -428,7 +450,7 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
428
450
  data-list-item-label={`${typeof item.listItemLabel === 'undefined' ? '' : item.listItemLabel}`}
429
451
  data-value={item.value}
430
452
  data-disabled={disabled || (typeof item.disabled !== 'undefined' ? `${item.disabled}` : 'false')}
431
- data-optiondata={JSON.stringify(item)}
453
+ data-optiondata={JSON.stringify(_optiondata)}
432
454
  value={item.value}
433
455
  disabled={disabled || (typeof item.disabled !== 'undefined' ? item.disabled : null)}
434
456
  checked={selectedItems.has(item.value)}
@@ -451,6 +473,14 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
451
473
  />
452
474
 
453
475
  {labelRes(typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel, `multiple-checkboxes__control-label-${index}-${idRes}`)}
476
+
477
+ {/* EXTENDS */}
478
+ {typeof item.extends !== 'undefined' ? <>
479
+ <div className="d-inline-block">
480
+ <div className="form-control-extends__wrapper">{item.extends}</div>
481
+ </div>
482
+ </> : null}
483
+
454
484
  </>;
455
485
  };
456
486
 
@@ -467,7 +497,6 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
467
497
  tableLayoutCellClassName
468
498
  )}
469
499
  key={'optgroup-' + index}
470
- data-optiondata={JSON.stringify(item)}
471
500
  >
472
501
  {_groupEl()}
473
502
  </td>;
@@ -488,7 +517,7 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
488
517
  data-value={item.value}
489
518
  data-disabled={disabled || (typeof item.disabled !== 'undefined' ? `${item.disabled}` : 'false')}
490
519
  key={'checkbox' + index}
491
- data-optiondata={JSON.stringify(item)}
520
+ data-optiondata={JSON.stringify(_optiondata)}
492
521
  >
493
522
  {_normalEl()}
494
523
  </td>;
@@ -504,7 +533,6 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
504
533
  groupWrapperClassName
505
534
  )}
506
535
  key={'optgroup-' + index}
507
- data-optiondata={JSON.stringify(item)}
508
536
  >
509
537
  {_groupEl()}
510
538
  </div>;
@@ -523,7 +551,7 @@ const MultipleCheckboxes = forwardRef((props: MultipleCheckboxesProps, externalR
523
551
  data-value={item.value}
524
552
  data-disabled={disabled || (typeof item.disabled !== 'undefined' ? `${item.disabled}` : 'false')}
525
553
  key={'checkbox' + index}
526
- data-optiondata={JSON.stringify(item)}
554
+ data-optiondata={JSON.stringify(_optiondata)}
527
555
  >
528
556
  {_normalEl()}
529
557
  </div>;
@@ -11,7 +11,6 @@ import {
11
11
  import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
12
12
 
13
13
 
14
-
15
14
  export interface OptionConfig {
16
15
  [propName: string]: string | number | React.ReactNode | boolean;
17
16
  }
@@ -468,9 +467,14 @@ const Radio = forwardRef((props: RadioProps, externalRef: any) => {
468
467
  {labelRes(typeof opt.listItemLabel === 'undefined' ? opt.label : opt.listItemLabel, `field-${uniqueID}-${index}-${optIndex}`)}
469
468
 
470
469
  </div>
471
- <div className="d-inline-block">
472
- <div className="form-control-extends__wrapper">{typeof opt.extends !== 'undefined' ? <>{opt.extends}</> : null}</div>
473
- </div>
470
+
471
+ {/* EXTENDS */}
472
+ {typeof opt.extends !== 'undefined' ? <>
473
+ <div className="d-inline-block">
474
+ <div className="form-control-extends__wrapper">{opt.extends}</div>
475
+ </div>
476
+ </> : null}
477
+
474
478
  </div>;
475
479
 
476
480
  })}
@@ -511,9 +515,13 @@ const Radio = forwardRef((props: RadioProps, externalRef: any) => {
511
515
  __html: `${typeof item.listItemLabel === 'undefined' ? item.label : item.listItemLabel}`
512
516
  }}></label>
513
517
  </div>
514
- <div className="d-inline-block">
515
- <div className="form-control-extends__wrapper">{typeof item.extends !== 'undefined' ? <>{item.extends}</> : null}</div>
516
- </div>
518
+
519
+ {/* EXTENDS */}
520
+ {typeof item.extends !== 'undefined' ? <>
521
+ <div className="d-inline-block">
522
+ <div className="form-control-extends__wrapper">{item.extends}</div>
523
+ </div>
524
+ </> : null}
517
525
 
518
526
  </>;
519
527
  };
@@ -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
  }
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.22",
5
+ "version": "4.5.37",
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",