@luscii-healthtech/web-ui 2.48.2 → 2.49.0

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.
@@ -7577,7 +7577,7 @@ var FormFieldErrorMessages = function FormFieldErrorMessages(props) {
7577
7577
  * Includes the default error handling from react-hook-form.
7578
7578
  */
7579
7579
 
7580
- function FormFieldDecorator(_ref) {
7580
+ function FormFieldLabeler(_ref) {
7581
7581
  var name = _ref.name,
7582
7582
  children = _ref.children,
7583
7583
  label = _ref.label,
@@ -7588,7 +7588,7 @@ function FormFieldDecorator(_ref) {
7588
7588
  return /*#__PURE__*/React__default.createElement("div", {
7589
7589
  className: classNames(decoratorClassname)
7590
7590
  }, label && /*#__PURE__*/React__default.createElement("label", {
7591
- className: "cweb-form-field-label block mb-1",
7591
+ className: "block mb-1 cweb-form-field-label",
7592
7592
  htmlFor: name,
7593
7593
  "data-is-required": fieldRequired
7594
7594
  }, /*#__PURE__*/React__default.createElement(Text, {
@@ -7631,7 +7631,7 @@ var FormInput = /*#__PURE__*/React__default.forwardRef(function (_ref, innerRef)
7631
7631
  decoratorClassname = _ref.decoratorClassname,
7632
7632
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$p);
7633
7633
 
7634
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7634
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7635
7635
  name: name,
7636
7636
  fieldErrors: fieldErrors,
7637
7637
  fieldRequired: fieldRequired,
@@ -7668,7 +7668,7 @@ var FormRadioGroup = /*#__PURE__*/React__default.forwardRef(function (_ref, inne
7668
7668
  decoratorClassname = _ref.decoratorClassname,
7669
7669
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$q);
7670
7670
 
7671
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7671
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7672
7672
  name: name,
7673
7673
  fieldErrors: fieldErrors,
7674
7674
  fieldRequired: fieldRequired,
@@ -7706,7 +7706,7 @@ var FormSelect = /*#__PURE__*/React__default.forwardRef(function (_ref, innerRef
7706
7706
  decoratorClassname = _ref.decoratorClassname,
7707
7707
  selectProps = _objectWithoutPropertiesLoose(_ref, _excluded$r);
7708
7708
 
7709
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7709
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7710
7710
  name: name,
7711
7711
  fieldErrors: fieldErrors,
7712
7712
  fieldRequired: fieldRequired,
@@ -7739,7 +7739,7 @@ var FormImagePicker = /*#__PURE__*/React__default.forwardRef(function (_ref, inn
7739
7739
  decoratorClassname = _ref.decoratorClassname,
7740
7740
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$s);
7741
7741
 
7742
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7742
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7743
7743
  name: name,
7744
7744
  fieldErrors: fieldErrors,
7745
7745
  fieldRequired: fieldRequired,
@@ -7788,7 +7788,7 @@ var FormFieldCheckbox = /*#__PURE__*/React__default.forwardRef(function (_ref, i
7788
7788
  decoratorClassname = _ref.decoratorClassname,
7789
7789
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$t);
7790
7790
 
7791
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7791
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7792
7792
  name: name,
7793
7793
  fieldErrors: fieldErrors,
7794
7794
  fieldRequired: fieldRequired,
@@ -7822,6 +7822,84 @@ var FormFieldCheckbox = /*#__PURE__*/React__default.forwardRef(function (_ref, i
7822
7822
  }));
7823
7823
  });
7824
7824
 
7825
+ var FormFieldCheckboxList = function FormFieldCheckboxList(_ref) {
7826
+ var control = _ref.control,
7827
+ name = _ref.name,
7828
+ rules = _ref.rules,
7829
+ fieldErrors = _ref.fieldErrors,
7830
+ fieldRequired = _ref.fieldRequired,
7831
+ label = _ref.label,
7832
+ info = _ref.info,
7833
+ decoratorClassname = _ref.decoratorClassname,
7834
+ _ref$fieldProps = _ref.fieldProps,
7835
+ fieldProps = _ref$fieldProps === void 0 ? {
7836
+ groups: [],
7837
+ onChange: function onChange() {
7838
+ return undefined;
7839
+ }
7840
+ } : _ref$fieldProps;
7841
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7842
+ name: name,
7843
+ fieldErrors: fieldErrors,
7844
+ fieldRequired: fieldRequired,
7845
+ label: label,
7846
+ info: info,
7847
+ decoratorClassname: decoratorClassname
7848
+ }, /*#__PURE__*/React__default.createElement(Controller, {
7849
+ name: name,
7850
+ control: control,
7851
+ rules: rules,
7852
+ render: function render(_ref2) {
7853
+ var _onChange = _ref2.onChange,
7854
+ value = _ref2.value;
7855
+ var className = fieldProps.className,
7856
+ hasDividers = fieldProps.hasDividers;
7857
+
7858
+ var _useState = useState(value),
7859
+ checkboxListValues = _useState[0],
7860
+ setCheckboxListValues = _useState[1];
7861
+
7862
+ useEffect(function () {
7863
+ setCheckboxListValues(value);
7864
+ }, [value]);
7865
+ return /*#__PURE__*/React__default.createElement(CheckboxList, {
7866
+ groups: checkboxListValues,
7867
+ hasDividers: hasDividers,
7868
+ className: className,
7869
+ onChange: function onChange(event) {
7870
+ /**
7871
+ * This needs to be asynchronously orchestrated
7872
+ * because the CheckboxList component triggers multiple onChange
7873
+ * events after each other when you click a group that checks/unchecks the items.
7874
+ *
7875
+ * By always relying on the previous state, React can make put all changes together in one go.
7876
+ */
7877
+ setCheckboxListValues(function (previousState) {
7878
+ var newState = previousState.map(function (group) {
7879
+ var newItems = group.items.map(function (item) {
7880
+ if (item.id === event.id) {
7881
+ return _extends({}, item, {
7882
+ isChecked: event.newCheckedValue
7883
+ });
7884
+ } else {
7885
+ return item;
7886
+ }
7887
+ });
7888
+ return _extends({}, group, {
7889
+ items: newItems
7890
+ });
7891
+ });
7892
+
7893
+ _onChange(newState);
7894
+
7895
+ return newState;
7896
+ });
7897
+ }
7898
+ });
7899
+ }
7900
+ }));
7901
+ };
7902
+
7825
7903
  /**
7826
7904
  * Create a straight forward Form, which takes away the 'overhead' of react-hook-form.
7827
7905
  *
@@ -7963,6 +8041,21 @@ function FormFieldMapper(formFieldProps, useFormReturn) {
7963
8041
  }));
7964
8042
  }
7965
8043
 
8044
+ case "checkboxlist":
8045
+ {
8046
+ return /*#__PURE__*/React__default.createElement(FormFieldCheckboxList, _extends({
8047
+ key: name
8048
+ }, decoratorProps, {
8049
+ fieldRequired: isRequired(options),
8050
+ fieldErrors: errors,
8051
+ type: "checkboxlist",
8052
+ name: name,
8053
+ rules: options,
8054
+ control: control,
8055
+ fieldProps: fieldProps
8056
+ }));
8057
+ }
8058
+
7966
8059
  default:
7967
8060
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
7968
8061
  }