@maif/react-forms 1.0.8 → 1.0.12

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/lib/form.js CHANGED
@@ -55,14 +55,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
55
55
 
56
56
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
57
 
58
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
59
-
60
58
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
61
59
 
62
60
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
63
61
 
64
62
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
65
63
 
64
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
65
+
66
66
  var usePrevious = function usePrevious(value) {
67
67
  // The ref object is a generic container whose current property is mutable ...
68
68
  // ... and can hold any value, similar to an instance property on a class
@@ -83,8 +83,13 @@ var BasicWrapper = function BasicWrapper(_ref) {
83
83
  help = _ref.help,
84
84
  children = _ref.children,
85
85
  render = _ref.render;
86
+ var classes = (0, _styleContext.useCustomStyle)();
86
87
  var id = (0, _uuid.v4)();
87
88
 
89
+ if (_typeof(entry) === 'object') {
90
+ return children;
91
+ }
92
+
88
93
  if (render) {
89
94
  return render({
90
95
  entry: entry,
@@ -118,7 +123,7 @@ var BasicWrapper = function BasicWrapper(_ref) {
118
123
  cursor: 'help'
119
124
  }
120
125
  })))), children, error && /*#__PURE__*/_react["default"].createElement("div", {
121
- className: "invalid-feedback"
126
+ className: classes.invalid_feedback
122
127
  }, error.message));
123
128
  };
124
129
 
@@ -329,57 +334,46 @@ var Form = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
329
334
  onSubmit(clean);
330
335
  }, onError)
331
336
  }, formFlow.map(function (entry, idx) {
332
- if (entry && _typeof(entry) === 'object') {
333
- var errored = entry.flow.some(function (step) {
334
- return !!errors[step];
335
- });
336
- return /*#__PURE__*/_react["default"].createElement(_index.Collapse, {
337
- key: "collapse-".concat(idx),
338
- label: entry.label,
339
- collapsed: entry.collapsed,
340
- errored: errored
341
- }, entry.flow.map(function (entry, entryIdx) {
342
- var step = schema[entry]; //FIXME: better key ==> entry name + idx
343
-
344
- return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
345
- key: "collapse-".concat(idx, "-").concat(entry, "-").concat(entryIdx),
346
- entry: entry,
347
- error: error,
348
- label: step.label || entry,
349
- help: step.help,
350
- render: inputWrapper
351
- }, /*#__PURE__*/_react["default"].createElement(Step, {
352
- entry: entry,
353
- step: schema[entry],
354
- error: error,
355
- register: register,
356
- schema: schema,
357
- control: control,
358
- trigger: trigger,
359
- getValues: getValues,
360
- setValue: setValue,
361
- watch: watch,
362
- inputWrapper: inputWrapper
363
- }));
364
- }));
365
- }
366
-
367
337
  var step = schema[entry];
368
- var error = entry.split('.').reduce(function (object, key) {
338
+ var error = _typeof(entry) === 'object' ? undefined : entry.split('.').reduce(function (object, key) {
369
339
  return object && object[key];
370
340
  }, errors);
341
+ var visibleStep = (0, _Option.option)(step).map(function (s) {
342
+ return s.visible;
343
+ }).map(function (visible) {
344
+ switch (_typeof(visible)) {
345
+ case 'object':
346
+ var _value = watch(step.visible.ref);
347
+
348
+ return (0, _Option.option)(step.visible.test).map(function (test) {
349
+ return test(_value);
350
+ }).getOrElse(_value);
351
+
352
+ case 'boolean':
353
+ return visible;
354
+
355
+ default:
356
+ return true;
357
+ }
358
+ }).getOrElse(true);
359
+
360
+ if (!visibleStep) {
361
+ return null;
362
+ }
363
+
371
364
  return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
372
365
  key: "".concat(entry, "-").concat(idx),
373
366
  entry: entry,
374
367
  error: error,
375
- label: step.label || entry,
376
- help: step.help,
368
+ label: (step === null || step === void 0 ? void 0 : step.label) || entry,
369
+ help: step === null || step === void 0 ? void 0 : step.help,
377
370
  render: inputWrapper
378
371
  }, /*#__PURE__*/_react["default"].createElement(Step, {
379
372
  key: idx,
380
373
  entry: entry,
381
374
  step: step,
382
375
  error: error,
376
+ errors: errors,
383
377
  register: register,
384
378
  schema: schema,
385
379
  control: control,
@@ -433,6 +427,7 @@ var Step = function Step(_ref4) {
433
427
  var entry = _ref4.entry,
434
428
  step = _ref4.step,
435
429
  error = _ref4.error,
430
+ errors = _ref4.errors,
436
431
  register = _ref4.register,
437
432
  schema = _ref4.schema,
438
433
  control = _ref4.control,
@@ -446,6 +441,43 @@ var Step = function Step(_ref4) {
446
441
  index = _ref4.index;
447
442
  var classes = (0, _styleContext.useCustomStyle)();
448
443
 
444
+ if (entry && _typeof(entry) === 'object') {
445
+ var errored = entry.flow.some(function (step) {
446
+ return !!errors[step];
447
+ });
448
+ return /*#__PURE__*/_react["default"].createElement(_index.Collapse, {
449
+ label: entry.label,
450
+ collapsed: entry.collapsed,
451
+ errored: errored
452
+ }, entry.flow.map(function (en, entryIdx) {
453
+ var stp = schema[en];
454
+ var err = _typeof(en) === 'object' ? undefined : en.split('.').reduce(function (object, key) {
455
+ return object && object[key];
456
+ }, errors);
457
+ return /*#__PURE__*/_react["default"].createElement(BasicWrapper, {
458
+ key: "collapse-".concat(en, "-").concat(entryIdx),
459
+ entry: en,
460
+ error: err,
461
+ label: (stp === null || stp === void 0 ? void 0 : stp.label) || en,
462
+ help: stp === null || stp === void 0 ? void 0 : stp.help,
463
+ render: inputWrapper
464
+ }, /*#__PURE__*/_react["default"].createElement(Step, {
465
+ entry: en,
466
+ step: stp,
467
+ error: err,
468
+ errors: errors,
469
+ register: register,
470
+ schema: schema,
471
+ control: control,
472
+ trigger: trigger,
473
+ getValues: getValues,
474
+ setValue: _setValue,
475
+ watch: watch,
476
+ inputWrapper: inputWrapper
477
+ }));
478
+ }));
479
+ }
480
+
449
481
  if (step.array) {
450
482
  return /*#__PURE__*/_react["default"].createElement(ArrayStep, {
451
483
  entry: entry,
@@ -483,26 +515,6 @@ var Step = function Step(_ref4) {
483
515
  });
484
516
  }
485
517
 
486
- var visibleStep = step && (0, _Option.option)(step.visible).map(function (visible) {
487
- switch (_typeof(visible)) {
488
- case 'object':
489
- var value = watch(step.visible.ref);
490
- return (0, _Option.option)(step.visible.test).map(function (test) {
491
- return test(value);
492
- }).getOrElse(value);
493
-
494
- case 'boolean':
495
- return visible;
496
-
497
- default:
498
- return true;
499
- }
500
- }).getOrElse(true);
501
-
502
- if (!visibleStep) {
503
- return null;
504
- }
505
-
506
518
  switch (step.type) {
507
519
  case _type.type.string:
508
520
  switch (step.format) {
@@ -523,9 +535,7 @@ var Step = function Step(_ref4) {
523
535
  }, /*#__PURE__*/_react["default"].createElement("textarea", _extends({
524
536
  type: "text",
525
537
  id: entry,
526
- className: (0, _classnames["default"])(classes.input, {
527
- 'is-invalid': error
528
- }),
538
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
529
539
  readOnly: step.disabled ? 'readOnly' : null
530
540
  }, step.props, {
531
541
  name: entry,
@@ -549,9 +559,7 @@ var Step = function Step(_ref4) {
549
559
  }, field),
550
560
  error: error
551
561
  }, /*#__PURE__*/_react["default"].createElement(_index.CodeInput, _extends({}, step.props, {
552
- className: (0, _classnames["default"])({
553
- 'is-invalid': error
554
- }),
562
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
555
563
  readOnly: step.disabled ? 'readOnly' : null,
556
564
  onChange: field.onChange,
557
565
  value: field.value,
@@ -576,9 +584,7 @@ var Step = function Step(_ref4) {
576
584
  }, field),
577
585
  error: error
578
586
  }, /*#__PURE__*/_react["default"].createElement(_index.MarkdownInput, _extends({}, step.props, {
579
- className: (0, _classnames["default"])({
580
- 'is-invalid': error
581
- }),
587
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
582
588
  readOnly: step.disabled ? 'readOnly' : null,
583
589
  onChange: field.onChange,
584
590
  value: field.value,
@@ -587,6 +593,7 @@ var Step = function Step(_ref4) {
587
593
  }
588
594
  });
589
595
 
596
+ case _format.format.buttonsSelect:
590
597
  case _format.format.select:
591
598
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
592
599
  name: entry,
@@ -603,9 +610,7 @@ var Step = function Step(_ref4) {
603
610
  }, field),
604
611
  error: error
605
612
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
606
- className: (0, _classnames["default"])({
607
- 'is-invalid': error
608
- }),
613
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
609
614
  readOnly: step.disabled ? 'readOnly' : null,
610
615
  onChange: field.onChange,
611
616
  value: field.value,
@@ -636,9 +641,7 @@ var Step = function Step(_ref4) {
636
641
  // {...step.props}
637
642
  type: step.format || 'text',
638
643
  id: entry,
639
- className: (0, _classnames["default"])(classes.input, {
640
- 'is-invalid': error
641
- }),
644
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
642
645
  readOnly: step.disabled ? 'readOnly' : null // defaultValue={defaultValue}
643
646
  ,
644
647
  placeholder: step.placeholder
@@ -647,6 +650,7 @@ var Step = function Step(_ref4) {
647
650
 
648
651
  case _type.type.number:
649
652
  switch (step.format) {
653
+ case _format.format.buttonsSelect:
650
654
  case _format.format.select:
651
655
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
652
656
  name: entry,
@@ -663,9 +667,7 @@ var Step = function Step(_ref4) {
663
667
  }, field),
664
668
  error: error
665
669
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
666
- className: (0, _classnames["default"])(classes.content, {
667
- 'is-invalid': error
668
- }),
670
+ className: (0, _classnames["default"])(classes.content, _defineProperty({}, classes.input__invalid, error)),
669
671
  readOnly: step.disabled ? 'readOnly' : null,
670
672
  onChange: field.onChange,
671
673
  value: field.value,
@@ -693,9 +695,7 @@ var Step = function Step(_ref4) {
693
695
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, step.props, {
694
696
  type: step.format || 'number',
695
697
  id: entry,
696
- className: (0, _classnames["default"])(classes.input, {
697
- 'is-invalid': error
698
- }),
698
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
699
699
  readOnly: step.disabled ? 'readOnly' : null,
700
700
  name: entry,
701
701
  placeholder: step.placeholder,
@@ -719,9 +719,7 @@ var Step = function Step(_ref4) {
719
719
  }, field),
720
720
  error: error
721
721
  }, /*#__PURE__*/_react["default"].createElement(_index.BooleanInput, _extends({}, step.props, {
722
- className: (0, _classnames["default"])({
723
- 'is-invalid': error
724
- }),
722
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
725
723
  readOnly: step.disabled ? 'readOnly' : null,
726
724
  onChange: field.onChange,
727
725
  value: field.value
@@ -731,6 +729,7 @@ var Step = function Step(_ref4) {
731
729
 
732
730
  case _type.type.object:
733
731
  switch (step.format) {
732
+ case _format.format.buttonsSelect:
734
733
  case _format.format.select:
735
734
  return /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
736
735
  name: entry,
@@ -748,9 +747,7 @@ var Step = function Step(_ref4) {
748
747
  }, field),
749
748
  error: error
750
749
  }, /*#__PURE__*/_react["default"].createElement(_index.SelectInput, _extends({}, step.props, {
751
- className: (0, _classnames["default"])({
752
- 'is-invalid': error
753
- }),
750
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
754
751
  readOnly: step.disabled ? 'readOnly' : null,
755
752
  onChange: field.onChange,
756
753
  value: field.value,
@@ -808,9 +805,7 @@ var Step = function Step(_ref4) {
808
805
  }, field),
809
806
  error: error
810
807
  }, /*#__PURE__*/_react["default"].createElement(_index.ObjectInput, _extends({}, step.props, {
811
- className: (0, _classnames["default"])({
812
- 'is-invalid': error
813
- }),
808
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
814
809
  readOnly: step.disabled ? 'readOnly' : null,
815
810
  onChange: field.onChange,
816
811
  value: field.value,
@@ -838,9 +833,7 @@ var Step = function Step(_ref4) {
838
833
  error: error
839
834
  }, /*#__PURE__*/_react["default"].createElement(_reactRainbowComponents.DatePicker, _extends({}, step.props, {
840
835
  id: "datePicker-1",
841
- className: (0, _classnames["default"])({
842
- 'is-invalid': error
843
- }),
836
+ className: (0, _classnames["default"])(_defineProperty({}, classes.input__invalid, error)),
844
837
  readOnly: step.disabled ? 'readOnly' : null,
845
838
  value: field.value,
846
839
  onChange: field.onChange,
@@ -883,9 +876,7 @@ var Step = function Step(_ref4) {
883
876
  };
884
877
 
885
878
  return /*#__PURE__*/_react["default"].createElement("div", {
886
- className: (0, _classnames["default"])("d-flex flex-row justify-content-start", {
887
- 'is-invalid': error
888
- })
879
+ className: (0, _classnames["default"])("d-flex flex-row justify-content-start", _defineProperty({}, classes.input__invalid, error))
889
880
  }, /*#__PURE__*/_react["default"].createElement("input", {
890
881
  ref: function ref(r) {
891
882
  return setInput(r);
@@ -939,9 +930,7 @@ var Step = function Step(_ref4) {
939
930
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, step.props, {
940
931
  type: "file",
941
932
  id: entry,
942
- className: (0, _classnames["default"])(classes.input, {
943
- 'is-invalid': error
944
- }),
933
+ className: (0, _classnames["default"])(classes.input, _defineProperty({}, classes.input__invalid, error)),
945
934
  readOnly: step.disabled ? 'readOnly' : null,
946
935
  name: entry,
947
936
  placeholder: step.placeholder
@@ -963,6 +952,7 @@ var ArrayStep = function ArrayStep(_ref15) {
963
952
  values = _ref15.values,
964
953
  defaultValue = _ref15.defaultValue,
965
954
  setValue = _ref15.setValue;
955
+ var classes = (0, _styleContext.useCustomStyle)();
966
956
 
967
957
  var _useFieldArray = (0, _reactHookForm.useFieldArray)({
968
958
  control: control,
@@ -975,9 +965,6 @@ var ArrayStep = function ArrayStep(_ref15) {
975
965
  append = _useFieldArray.append,
976
966
  remove = _useFieldArray.remove;
977
967
 
978
- console.log({
979
- fields: fields
980
- });
981
968
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, fields.map(function (field, idx) {
982
969
  return /*#__PURE__*/_react["default"].createElement("div", {
983
970
  key: field.id,
@@ -999,9 +986,7 @@ var ArrayStep = function ArrayStep(_ref15) {
999
986
  }, "remove")));
1000
987
  }), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("input", {
1001
988
  type: "button",
1002
- className: (0, _classnames["default"])("btn btn-info mt-2", {
1003
- 'is-invalid': error
1004
- }),
989
+ className: (0, _classnames["default"])("btn btn-info mt-2", _defineProperty({}, classes.input__invalid, error)),
1005
990
  onClick: function onClick() {
1006
991
  append({
1007
992
  value: step.addableDefaultValue
package/lib/format.d.ts CHANGED
@@ -8,4 +8,5 @@ export declare const format: {
8
8
  password: string;
9
9
  hidden: string;
10
10
  form: string;
11
+ buttonsSelect: string;
11
12
  };
package/lib/format.js CHANGED
@@ -13,6 +13,7 @@ var format = {
13
13
  email: 'email',
14
14
  password: 'password',
15
15
  hidden: 'hidden',
16
- form: 'form'
16
+ form: 'form',
17
+ buttonsSelect: 'buttons'
17
18
  };
18
19
  exports.format = format;
@@ -21,6 +21,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
23
 
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
24
26
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
27
 
26
28
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -46,20 +48,20 @@ var Collapse = function Collapse(props) {
46
48
  setCollapsed(!collapsed);
47
49
  };
48
50
 
49
- return /*#__PURE__*/_react["default"].createElement("div", {
50
- className: (0, _classnames["default"])('form__collapse', {
51
- errored: props.errored
52
- })
53
- }, /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement("div", {
51
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("hr", {
52
+ className: (0, _classnames["default"])(_defineProperty({}, classes.collapse_error, props.errored))
53
+ }), /*#__PURE__*/_react["default"].createElement("div", {
54
54
  className: "".concat(classes.cursor_pointer, " ").concat(classes.flex, " ").concat(classes.justifyContentBetween),
55
55
  onClick: toggle
56
56
  }, /*#__PURE__*/_react["default"].createElement("span", {
57
- className: classes.collapse_label
57
+ className: (0, _classnames["default"])(classes.collapse_label, _defineProperty({}, classes.collapse_error, props.errored))
58
58
  }, props.label), /*#__PURE__*/_react["default"].createElement("button", {
59
59
  type: "button",
60
- className: classes.btn,
60
+ className: (0, _classnames["default"])(classes.btn, _defineProperty({}, classes.collapse_error, props.errored)),
61
61
  onClick: toggle
62
- }, !!collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.Eye, null), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.EyeOff, null))), !collapsed && props.children, props.lineEnd && /*#__PURE__*/_react["default"].createElement("hr", null));
62
+ }, !!collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.Eye, null), !collapsed && /*#__PURE__*/_react["default"].createElement(_reactFeather.EyeOff, null))), !collapsed && /*#__PURE__*/_react["default"].createElement("div", {
63
+ className: classes.ml_10
64
+ }, props.children), props.lineEnd && /*#__PURE__*/_react["default"].createElement("hr", null));
63
65
  };
64
66
 
65
67
  exports.Collapse = Collapse;
@@ -9,6 +9,8 @@ exports.SelectInput = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
12
14
  var _creatable = _interopRequireDefault(require("react-select/creatable"));
13
15
 
14
16
  var _reactSelect = _interopRequireDefault(require("react-select"));
@@ -17,6 +19,10 @@ var _Option = require("../Option");
17
19
 
18
20
  var _utils = require("../utils");
19
21
 
22
+ var _ = require("..");
23
+
24
+ var _styleContext = require("../styleContext");
25
+
20
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
27
 
22
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -76,6 +82,7 @@ var valueToSelectOption = function valueToSelectOption(value) {
76
82
  };
77
83
 
78
84
  var SelectInput = function SelectInput(props) {
85
+ var classes = (0, _styleContext.useCustomStyle)();
79
86
  var possibleValues = (props.possibleValues || []).map(function (v) {
80
87
  return props.transformer ? props.transformer(v) : v;
81
88
  }).map(function (v) {
@@ -157,6 +164,40 @@ var SelectInput = function SelectInput(props) {
157
164
  }
158
165
  };
159
166
 
167
+ var handleSelectButtonClick = function handleSelectButtonClick(v) {
168
+ if (props.isMulti) {
169
+ if (value.includes(v)) {
170
+ return onChange(value.filter(function (val) {
171
+ return val.value !== v.value;
172
+ }));
173
+ } else {
174
+ return onChange([].concat(_toConsumableArray(value), [v]));
175
+ }
176
+ }
177
+
178
+ return onChange(v);
179
+ };
180
+
181
+ if (props.format === _.format.buttonsSelect) {
182
+ return /*#__PURE__*/_react["default"].createElement("div", {
183
+ style: {
184
+ display: 'flex'
185
+ }
186
+ }, values.map(function (v, idx) {
187
+ var active = props.isMulti ? value.includes(v) : v.value === value.value;
188
+ return /*#__PURE__*/_react["default"].createElement("button", {
189
+ key: idx,
190
+ type: "button",
191
+ className: (0, _classnames["default"])(props.className, classes.btn, classes.btn_grey, classes.ml_5, {
192
+ active: active
193
+ }),
194
+ onClick: function onClick() {
195
+ return handleSelectButtonClick(v);
196
+ }
197
+ }, v.label);
198
+ }));
199
+ }
200
+
160
201
  if (props.createOption) {
161
202
  return /*#__PURE__*/_react["default"].createElement(_creatable["default"], _extends({}, props, {
162
203
  name: "".concat(props.label, "-search"),
package/lib/style.d.ts CHANGED
@@ -17,7 +17,8 @@ export namespace style {
17
17
  const padding: number;
18
18
  const fontSize: string;
19
19
  const cursor: string;
20
- const border: number;
20
+ const borderWidth: string;
21
+ const backgroundColor: string;
21
22
  }
22
23
  namespace btn_sm {
23
24
  const fontSize_1: string;
@@ -36,39 +37,59 @@ export namespace style {
36
37
  };
37
38
  };
38
39
  const btn_red: {
39
- color: string;
40
- backgroundColor: string;
41
- borderColor: string;
40
+ color: any;
41
+ borderColor: any;
42
42
  "&:hover": {
43
- backgroundColor: string;
44
- borderColor: string;
43
+ color: string;
44
+ backgroundColor: any;
45
+ borderColor: any;
46
+ };
47
+ "&.active": {
48
+ color: string;
49
+ backgroundColor: any;
50
+ borderColor: any;
45
51
  };
46
52
  };
47
53
  const btn_green: {
48
- color: string;
49
- backgroundColor: string;
50
- borderColor: string;
54
+ color: any;
55
+ borderColor: any;
51
56
  "&:hover": {
52
- backgroundColor: string;
53
- borderColor: string;
57
+ color: string;
58
+ backgroundColor: any;
59
+ borderColor: any;
60
+ };
61
+ "&.active": {
62
+ color: string;
63
+ backgroundColor: any;
64
+ borderColor: any;
54
65
  };
55
66
  };
56
67
  const btn_blue: {
57
- color: string;
58
- backgroundColor: string;
59
- borderColor: string;
68
+ color: any;
69
+ borderColor: any;
60
70
  "&:hover": {
61
- backgroundColor: string;
62
- borderColor: string;
71
+ color: string;
72
+ backgroundColor: any;
73
+ borderColor: any;
74
+ };
75
+ "&.active": {
76
+ color: string;
77
+ backgroundColor: any;
78
+ borderColor: any;
63
79
  };
64
80
  };
65
81
  const btn_grey: {
66
- color: string;
67
- backgroundColor: string;
68
- borderColor: string;
82
+ color: any;
83
+ borderColor: any;
69
84
  "&:hover": {
70
- backgroundColor: string;
71
- borderColor: string;
85
+ color: string;
86
+ backgroundColor: any;
87
+ borderColor: any;
88
+ };
89
+ "&.active": {
90
+ color: string;
91
+ backgroundColor: any;
92
+ borderColor: any;
72
93
  };
73
94
  };
74
95
  namespace txt_red {
@@ -142,6 +163,10 @@ export namespace style {
142
163
  const marginTop_3: number;
143
164
  export { marginTop_3 as marginTop };
144
165
  }
166
+ namespace collapse_error {
167
+ const color_1: string;
168
+ export { color_1 as color };
169
+ }
145
170
  const datepicker: {
146
171
  "& input": {
147
172
  borderRadius: string;
@@ -149,11 +174,23 @@ export namespace style {
149
174
  };
150
175
  const code: {};
151
176
  namespace input__boolean__on {
152
- const color_1: string;
153
- export { color_1 as color };
154
- }
155
- namespace input__boolean__off {
156
177
  const color_2: string;
157
178
  export { color_2 as color };
158
179
  }
180
+ namespace input__boolean__off {
181
+ const color_3: string;
182
+ export { color_3 as color };
183
+ }
184
+ namespace input__invalid {
185
+ const borderColor: string;
186
+ }
187
+ namespace invalid_feedback {
188
+ export const width: string;
189
+ const marginTop_4: string;
190
+ export { marginTop_4 as marginTop };
191
+ const fontSize_2: string;
192
+ export { fontSize_2 as fontSize };
193
+ const color_4: string;
194
+ export { color_4 as color };
195
+ }
159
196
  }