@luscii-healthtech/web-ui 2.48.2 → 2.49.1

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.
@@ -3555,22 +3555,6 @@ var TextLink = function TextLink(props) {
3555
3555
  }, props.text);
3556
3556
  };
3557
3557
 
3558
- var DynamicIcon = function DynamicIcon(props) {
3559
- var icon = props.icon,
3560
- className = props.className;
3561
-
3562
- if (typeof icon === "string") {
3563
- return /*#__PURE__*/React__default.createElement("img", {
3564
- src: icon,
3565
- className: className
3566
- });
3567
- }
3568
-
3569
- return /*#__PURE__*/React__default.createElement(icon, {
3570
- className: className
3571
- });
3572
- };
3573
-
3574
3558
  var NotificationBanner = function NotificationBanner(props) {
3575
3559
  var _props$stretch = props.stretch,
3576
3560
  stretch = _props$stretch === void 0 ? true : _props$stretch,
@@ -3602,10 +3586,12 @@ var NotificationBanner = function NotificationBanner(props) {
3602
3586
  })
3603
3587
  }, /*#__PURE__*/React__default.createElement("div", {
3604
3588
  className: classes
3605
- }, props.icon && /*#__PURE__*/React__default.createElement(DynamicIcon, {
3606
- className: "w-6 h-6 mr-3",
3607
- icon: props.icon
3608
- }), /*#__PURE__*/React__default.createElement("div", {
3589
+ }, props.icon && (typeof props.icon === "function" ? /*#__PURE__*/React__default.createElement(props.icon, {
3590
+ className: "w-6 h-6 mr-3"
3591
+ }) : /*#__PURE__*/React__default.createElement("img", {
3592
+ src: props.icon,
3593
+ className: "w-6 h-6 mr-3"
3594
+ })), /*#__PURE__*/React__default.createElement("div", {
3609
3595
  className: "flex flex-col"
3610
3596
  }, props.children, (props.text || props.linkProps) && /*#__PURE__*/React__default.createElement("div", {
3611
3597
  className: "flex flex-row items-center"
@@ -7577,7 +7563,7 @@ var FormFieldErrorMessages = function FormFieldErrorMessages(props) {
7577
7563
  * Includes the default error handling from react-hook-form.
7578
7564
  */
7579
7565
 
7580
- function FormFieldDecorator(_ref) {
7566
+ function FormFieldLabeler(_ref) {
7581
7567
  var name = _ref.name,
7582
7568
  children = _ref.children,
7583
7569
  label = _ref.label,
@@ -7588,7 +7574,7 @@ function FormFieldDecorator(_ref) {
7588
7574
  return /*#__PURE__*/React__default.createElement("div", {
7589
7575
  className: classNames(decoratorClassname)
7590
7576
  }, label && /*#__PURE__*/React__default.createElement("label", {
7591
- className: "cweb-form-field-label block mb-1",
7577
+ className: "block mb-1 cweb-form-field-label",
7592
7578
  htmlFor: name,
7593
7579
  "data-is-required": fieldRequired
7594
7580
  }, /*#__PURE__*/React__default.createElement(Text, {
@@ -7631,7 +7617,7 @@ var FormInput = /*#__PURE__*/React__default.forwardRef(function (_ref, innerRef)
7631
7617
  decoratorClassname = _ref.decoratorClassname,
7632
7618
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$p);
7633
7619
 
7634
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7620
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7635
7621
  name: name,
7636
7622
  fieldErrors: fieldErrors,
7637
7623
  fieldRequired: fieldRequired,
@@ -7668,7 +7654,7 @@ var FormRadioGroup = /*#__PURE__*/React__default.forwardRef(function (_ref, inne
7668
7654
  decoratorClassname = _ref.decoratorClassname,
7669
7655
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$q);
7670
7656
 
7671
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7657
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7672
7658
  name: name,
7673
7659
  fieldErrors: fieldErrors,
7674
7660
  fieldRequired: fieldRequired,
@@ -7706,7 +7692,7 @@ var FormSelect = /*#__PURE__*/React__default.forwardRef(function (_ref, innerRef
7706
7692
  decoratorClassname = _ref.decoratorClassname,
7707
7693
  selectProps = _objectWithoutPropertiesLoose(_ref, _excluded$r);
7708
7694
 
7709
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7695
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7710
7696
  name: name,
7711
7697
  fieldErrors: fieldErrors,
7712
7698
  fieldRequired: fieldRequired,
@@ -7739,7 +7725,7 @@ var FormImagePicker = /*#__PURE__*/React__default.forwardRef(function (_ref, inn
7739
7725
  decoratorClassname = _ref.decoratorClassname,
7740
7726
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$s);
7741
7727
 
7742
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7728
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7743
7729
  name: name,
7744
7730
  fieldErrors: fieldErrors,
7745
7731
  fieldRequired: fieldRequired,
@@ -7788,7 +7774,7 @@ var FormFieldCheckbox = /*#__PURE__*/React__default.forwardRef(function (_ref, i
7788
7774
  decoratorClassname = _ref.decoratorClassname,
7789
7775
  fieldProps = _objectWithoutPropertiesLoose(_ref, _excluded$t);
7790
7776
 
7791
- return /*#__PURE__*/React__default.createElement(FormFieldDecorator, {
7777
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7792
7778
  name: name,
7793
7779
  fieldErrors: fieldErrors,
7794
7780
  fieldRequired: fieldRequired,
@@ -7822,6 +7808,84 @@ var FormFieldCheckbox = /*#__PURE__*/React__default.forwardRef(function (_ref, i
7822
7808
  }));
7823
7809
  });
7824
7810
 
7811
+ var FormFieldCheckboxList = function FormFieldCheckboxList(_ref) {
7812
+ var control = _ref.control,
7813
+ name = _ref.name,
7814
+ rules = _ref.rules,
7815
+ fieldErrors = _ref.fieldErrors,
7816
+ fieldRequired = _ref.fieldRequired,
7817
+ label = _ref.label,
7818
+ info = _ref.info,
7819
+ decoratorClassname = _ref.decoratorClassname,
7820
+ _ref$fieldProps = _ref.fieldProps,
7821
+ fieldProps = _ref$fieldProps === void 0 ? {
7822
+ groups: [],
7823
+ onChange: function onChange() {
7824
+ return undefined;
7825
+ }
7826
+ } : _ref$fieldProps;
7827
+ return /*#__PURE__*/React__default.createElement(FormFieldLabeler, {
7828
+ name: name,
7829
+ fieldErrors: fieldErrors,
7830
+ fieldRequired: fieldRequired,
7831
+ label: label,
7832
+ info: info,
7833
+ decoratorClassname: decoratorClassname
7834
+ }, /*#__PURE__*/React__default.createElement(Controller, {
7835
+ name: name,
7836
+ control: control,
7837
+ rules: rules,
7838
+ render: function render(_ref2) {
7839
+ var _onChange = _ref2.onChange,
7840
+ value = _ref2.value;
7841
+ var className = fieldProps.className,
7842
+ hasDividers = fieldProps.hasDividers;
7843
+
7844
+ var _useState = useState(value),
7845
+ checkboxListValues = _useState[0],
7846
+ setCheckboxListValues = _useState[1];
7847
+
7848
+ useEffect(function () {
7849
+ setCheckboxListValues(value);
7850
+ }, [value]);
7851
+ return /*#__PURE__*/React__default.createElement(CheckboxList, {
7852
+ groups: checkboxListValues,
7853
+ hasDividers: hasDividers,
7854
+ className: className,
7855
+ onChange: function onChange(event) {
7856
+ /**
7857
+ * This needs to be asynchronously orchestrated
7858
+ * because the CheckboxList component triggers multiple onChange
7859
+ * events after each other when you click a group that checks/unchecks the items.
7860
+ *
7861
+ * By always relying on the previous state, React can make put all changes together in one go.
7862
+ */
7863
+ setCheckboxListValues(function (previousState) {
7864
+ var newState = previousState.map(function (group) {
7865
+ var newItems = group.items.map(function (item) {
7866
+ if (item.id === event.id) {
7867
+ return _extends({}, item, {
7868
+ isChecked: event.newCheckedValue
7869
+ });
7870
+ } else {
7871
+ return item;
7872
+ }
7873
+ });
7874
+ return _extends({}, group, {
7875
+ items: newItems
7876
+ });
7877
+ });
7878
+
7879
+ _onChange(newState);
7880
+
7881
+ return newState;
7882
+ });
7883
+ }
7884
+ });
7885
+ }
7886
+ }));
7887
+ };
7888
+
7825
7889
  /**
7826
7890
  * Create a straight forward Form, which takes away the 'overhead' of react-hook-form.
7827
7891
  *
@@ -7963,6 +8027,21 @@ function FormFieldMapper(formFieldProps, useFormReturn) {
7963
8027
  }));
7964
8028
  }
7965
8029
 
8030
+ case "checkboxlist":
8031
+ {
8032
+ return /*#__PURE__*/React__default.createElement(FormFieldCheckboxList, _extends({
8033
+ key: name
8034
+ }, decoratorProps, {
8035
+ fieldRequired: isRequired(options),
8036
+ fieldErrors: errors,
8037
+ type: "checkboxlist",
8038
+ name: name,
8039
+ rules: options,
8040
+ control: control,
8041
+ fieldProps: fieldProps
8042
+ }));
8043
+ }
8044
+
7966
8045
  default:
7967
8046
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
7968
8047
  }