@apexcura/ui-components 0.0.16-Beta50 → 0.0.16-Beta51

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/dist/index.js CHANGED
@@ -778,21 +778,21 @@ var import_antd11 = require("antd");
778
778
  var { Sider } = import_antd11.Layout;
779
779
  var Sidebar = (props) => {
780
780
  const [collapsed, setCollapsed] = (0, import_react16.useState)(false);
781
- const [selectedIndex, setSelectedIndex] = (0, import_react16.useState)(null);
782
- const handleChange = (item, index) => {
783
- setSelectedIndex(index);
781
+ const [selectedKeys, setSelectedKeys] = (0, import_react16.useState)([]);
782
+ const handleChange = (item, keys) => {
783
+ setSelectedKeys(keys);
784
784
  if (props.onChange) {
785
785
  props.onChange(item);
786
786
  }
787
787
  };
788
- function getItem(label, key, icon, children, item) {
788
+ function getItem(label, key, icon, children, item, keys = []) {
789
789
  return {
790
790
  key,
791
791
  icon: icon ? /* @__PURE__ */ import_react16.default.createElement(
792
792
  "span",
793
793
  {
794
794
  className: props.iconsClassName,
795
- style: selectedIndex === key ? {
795
+ style: keys.includes(key.toString()) ? {
796
796
  filter: "brightness(0) saturate(100%) invert(22%) sepia(87%) saturate(7476%) hue-rotate(209deg) brightness(97%) contrast(107%)"
797
797
  } : {}
798
798
  },
@@ -800,20 +800,21 @@ var Sidebar = (props) => {
800
800
  ) : null,
801
801
  children,
802
802
  label,
803
- onClick: children ? void 0 : () => handleChange(item, key.toString())
803
+ onClick: children ? void 0 : () => handleChange(item, keys.concat(key.toString()))
804
804
  // Only set onClick for leaf nodes
805
805
  };
806
806
  }
807
- function mapItems(items2, parentKey = "") {
807
+ function mapItems(items2, parentKeys = []) {
808
808
  return items2.map((eachItem, index) => {
809
- const key = parentKey ? `${parentKey}-${index}` : index.toString();
809
+ const key = parentKeys.concat(index.toString());
810
810
  const childItems = eachItem.items ? mapItems(eachItem.items, key) : void 0;
811
811
  return getItem(
812
812
  eachItem.label,
813
- key,
813
+ key[key.length - 1],
814
814
  eachItem.icon ? icons[eachItem.icon] || /* @__PURE__ */ import_react16.default.createElement("img", { src: eachItem.icon, alt: "" }) : null,
815
815
  childItems,
816
- eachItem
816
+ eachItem,
817
+ key
817
818
  );
818
819
  });
819
820
  }
@@ -828,7 +829,14 @@ var Sidebar = (props) => {
828
829
  },
829
830
  /* @__PURE__ */ import_react16.default.createElement("div", { className: "demo-logo-vertical" }),
830
831
  /* @__PURE__ */ import_react16.default.createElement("img", { src: props.img, alt: "", className: props.imgClassName }),
831
- /* @__PURE__ */ import_react16.default.createElement(import_antd11.Menu, { mode: "inline", items, selectedKeys: [selectedIndex] })
832
+ /* @__PURE__ */ import_react16.default.createElement(
833
+ import_antd11.Menu,
834
+ {
835
+ mode: "inline",
836
+ items,
837
+ selectedKeys: selectedKeys.map((key) => key.split("-").pop())
838
+ }
839
+ )
832
840
  ));
833
841
  };
834
842
 
package/dist/index.mjs CHANGED
@@ -707,21 +707,21 @@ import { Layout, Menu } from "antd";
707
707
  var { Sider } = Layout;
708
708
  var Sidebar = (props) => {
709
709
  const [collapsed, setCollapsed] = useState5(false);
710
- const [selectedIndex, setSelectedIndex] = useState5(null);
711
- const handleChange = (item, index) => {
712
- setSelectedIndex(index);
710
+ const [selectedKeys, setSelectedKeys] = useState5([]);
711
+ const handleChange = (item, keys) => {
712
+ setSelectedKeys(keys);
713
713
  if (props.onChange) {
714
714
  props.onChange(item);
715
715
  }
716
716
  };
717
- function getItem(label, key, icon, children, item) {
717
+ function getItem(label, key, icon, children, item, keys = []) {
718
718
  return {
719
719
  key,
720
720
  icon: icon ? /* @__PURE__ */ React15.createElement(
721
721
  "span",
722
722
  {
723
723
  className: props.iconsClassName,
724
- style: selectedIndex === key ? {
724
+ style: keys.includes(key.toString()) ? {
725
725
  filter: "brightness(0) saturate(100%) invert(22%) sepia(87%) saturate(7476%) hue-rotate(209deg) brightness(97%) contrast(107%)"
726
726
  } : {}
727
727
  },
@@ -729,20 +729,21 @@ var Sidebar = (props) => {
729
729
  ) : null,
730
730
  children,
731
731
  label,
732
- onClick: children ? void 0 : () => handleChange(item, key.toString())
732
+ onClick: children ? void 0 : () => handleChange(item, keys.concat(key.toString()))
733
733
  // Only set onClick for leaf nodes
734
734
  };
735
735
  }
736
- function mapItems(items2, parentKey = "") {
736
+ function mapItems(items2, parentKeys = []) {
737
737
  return items2.map((eachItem, index) => {
738
- const key = parentKey ? `${parentKey}-${index}` : index.toString();
738
+ const key = parentKeys.concat(index.toString());
739
739
  const childItems = eachItem.items ? mapItems(eachItem.items, key) : void 0;
740
740
  return getItem(
741
741
  eachItem.label,
742
- key,
742
+ key[key.length - 1],
743
743
  eachItem.icon ? icons[eachItem.icon] || /* @__PURE__ */ React15.createElement("img", { src: eachItem.icon, alt: "" }) : null,
744
744
  childItems,
745
- eachItem
745
+ eachItem,
746
+ key
746
747
  );
747
748
  });
748
749
  }
@@ -757,7 +758,14 @@ var Sidebar = (props) => {
757
758
  },
758
759
  /* @__PURE__ */ React15.createElement("div", { className: "demo-logo-vertical" }),
759
760
  /* @__PURE__ */ React15.createElement("img", { src: props.img, alt: "", className: props.imgClassName }),
760
- /* @__PURE__ */ React15.createElement(Menu, { mode: "inline", items, selectedKeys: [selectedIndex] })
761
+ /* @__PURE__ */ React15.createElement(
762
+ Menu,
763
+ {
764
+ mode: "inline",
765
+ items,
766
+ selectedKeys: selectedKeys.map((key) => key.split("-").pop())
767
+ }
768
+ )
761
769
  ));
762
770
  };
763
771
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apexcura/ui-components",
3
- "version": "0.0.16-Beta50",
3
+ "version": "0.0.16-Beta51",
4
4
  "description": "Apex cura React components library",
5
5
  "keywords": [
6
6
  "apex cura",