arengibook 2.4.564 → 2.4.566

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +66 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -35801,6 +35801,8 @@ var PopupPresets = {
35801
35801
  var Dropdown = function Dropdown(_ref) {
35802
35802
  var _ref$options = _ref.options,
35803
35803
  options = _ref$options === void 0 ? [] : _ref$options,
35804
+ _ref$isGroupedOption = _ref.isGroupedOption,
35805
+ isGroupedOption = _ref$isGroupedOption === void 0 ? false : _ref$isGroupedOption,
35804
35806
  value = _ref.value,
35805
35807
  _ref$placeholder = _ref.placeholder,
35806
35808
  placeholder = _ref$placeholder === void 0 ? 'Sélectionnez une option' : _ref$placeholder,
@@ -35820,7 +35822,20 @@ var Dropdown = function Dropdown(_ref) {
35820
35822
  valueStyle = _ref$valueStyle === void 0 ? {} : _ref$valueStyle,
35821
35823
  _ref$optionStyle = _ref.optionStyle,
35822
35824
  optionStyle = _ref$optionStyle === void 0 ? {} : _ref$optionStyle,
35823
- name = _ref.name;
35825
+ name = _ref.name,
35826
+ _ref$showClear = _ref.showClear,
35827
+ showClear = _ref$showClear === void 0 ? false : _ref$showClear,
35828
+ _ref$groupedItemTempl = _ref.groupedItemTemplateConfig,
35829
+ groupedItemTemplateConfig = _ref$groupedItemTempl === void 0 ? {
35830
+ showIcon: true,
35831
+ iconKey: 'icon',
35832
+ showImage: true,
35833
+ imageKey: 'image',
35834
+ imageStyle: {
35835
+ width: '18px',
35836
+ marginRight: '0.5rem'
35837
+ }
35838
+ } : _ref$groupedItemTempl;
35824
35839
  var _useState = useState(value !== null && value !== void 0 ? value : null),
35825
35840
  _useState2 = _slicedToArray$8(_useState, 2),
35826
35841
  optionSelected = _useState2[0],
@@ -35861,11 +35876,52 @@ var Dropdown = function Dropdown(_ref) {
35861
35876
  }, valueStyle)
35862
35877
  }, (option === null || option === void 0 ? void 0 : option.label) || placeholder);
35863
35878
  };
35879
+ var formatGroupedOptions = function formatGroupedOptions(options) {
35880
+ return Object.entries(options).map(function (_ref2) {
35881
+ var _ref3 = _slicedToArray$8(_ref2, 2),
35882
+ groupLabel = _ref3[0],
35883
+ groupItems = _ref3[1];
35884
+ return {
35885
+ label: groupLabel,
35886
+ items: Object.entries(groupItems).map(function (_ref4) {
35887
+ var _ref5 = _slicedToArray$8(_ref4, 2),
35888
+ label = _ref5[0],
35889
+ value = _ref5[1];
35890
+ return {
35891
+ label: label,
35892
+ value: value
35893
+ };
35894
+ })
35895
+ };
35896
+ });
35897
+ };
35898
+ var finalOptions = isGroupedOption ? formatGroupedOptions(options) : options;
35899
+ var groupedItemTemplate = function groupedItemTemplate(option) {
35900
+ var _ref6 = groupedItemTemplateConfig !== null && groupedItemTemplateConfig !== void 0 ? groupedItemTemplateConfig : {},
35901
+ showImage = _ref6.showImage,
35902
+ imageKey = _ref6.imageKey,
35903
+ imageStyle = _ref6.imageStyle,
35904
+ showIcon = _ref6.showIcon,
35905
+ iconKey = _ref6.iconKey;
35906
+ return /*#__PURE__*/React__default.createElement("div", {
35907
+ className: "flex align-items-center"
35908
+ }, showImage && option[imageKey] && /*#__PURE__*/React__default.createElement("img", {
35909
+ alt: option.label,
35910
+ src: option[imageKey],
35911
+ style: imageStyle || {
35912
+ width: '18px',
35913
+ marginRight: '0.5rem'
35914
+ },
35915
+ className: "mr-2"
35916
+ }), showIcon && option[iconKey] && /*#__PURE__*/React__default.createElement("i", {
35917
+ className: "mr-2 ".concat(option[iconKey])
35918
+ }), /*#__PURE__*/React__default.createElement("div", null, option.label));
35919
+ };
35864
35920
  return /*#__PURE__*/React__default.createElement("div", {
35865
35921
  className: "flex flex-col gap-1"
35866
- }, /*#__PURE__*/React__default.createElement(Dropdown$1, {
35922
+ }, /*#__PURE__*/React__default.createElement(Dropdown$1, _extends$A({
35867
35923
  value: optionSelected,
35868
- options: options,
35924
+ options: finalOptions,
35869
35925
  onChange: function onChange(e) {
35870
35926
  return setOptionSelected(e.value);
35871
35927
  },
@@ -35877,8 +35933,13 @@ var Dropdown = function Dropdown(_ref) {
35877
35933
  style: style,
35878
35934
  itemTemplate: optionTemplate,
35879
35935
  valueTemplate: valueTemplate,
35880
- onHide: resetDropdownFilter
35881
- }), name && /*#__PURE__*/React__default.createElement("input", {
35936
+ onHide: resetDropdownFilter,
35937
+ showClear: showClear
35938
+ }, isGroupedOption && {
35939
+ optionGroupLabel: 'label',
35940
+ optionGroupChildren: 'items',
35941
+ optionGroupTemplate: groupedItemTemplate
35942
+ })), name && /*#__PURE__*/React__default.createElement("input", {
35882
35943
  type: "hidden",
35883
35944
  name: name,
35884
35945
  value: optionSelected !== null && optionSelected !== void 0 ? optionSelected : ''
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "2.4.564",
4
+ "version": "2.4.566",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {