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

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 [selectedKeys, setSelectedKeys] = (0, import_react16.useState)([]);
782
- const handleChange = (item, keys) => {
783
- setSelectedKeys(keys);
781
+ const [selectedIndex, setSelectedIndex] = (0, import_react16.useState)(null);
782
+ const handleChange = (item, index) => {
783
+ setSelectedIndex(index);
784
784
  if (props.onChange) {
785
785
  props.onChange(item);
786
786
  }
787
787
  };
788
- function getItem(label, key, icon, children, item, keys = []) {
788
+ function getItem(label, key, icon, children, item) {
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: keys.includes(key.toString()) ? {
795
+ style: selectedIndex === key ? {
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,21 +800,19 @@ var Sidebar = (props) => {
800
800
  ) : null,
801
801
  children,
802
802
  label,
803
- onClick: children ? void 0 : () => handleChange(item, keys.concat(key.toString()))
804
- // Only set onClick for leaf nodes
803
+ onClick: children ? void 0 : () => handleChange(item, key.toString())
805
804
  };
806
805
  }
807
- function mapItems(items2, parentKeys = []) {
806
+ function mapItems(items2, parentKey = "") {
808
807
  return items2.map((eachItem, index) => {
809
- const key = parentKeys.concat(index.toString());
808
+ const key = parentKey ? `${parentKey}-${index}` : index.toString();
810
809
  const childItems = eachItem.items ? mapItems(eachItem.items, key) : void 0;
811
810
  return getItem(
812
811
  eachItem.label,
813
- key[key.length - 1],
812
+ key,
814
813
  eachItem.icon ? icons[eachItem.icon] || /* @__PURE__ */ import_react16.default.createElement("img", { src: eachItem.icon, alt: "" }) : null,
815
814
  childItems,
816
- eachItem,
817
- key
815
+ eachItem
818
816
  );
819
817
  });
820
818
  }
@@ -829,14 +827,7 @@ var Sidebar = (props) => {
829
827
  },
830
828
  /* @__PURE__ */ import_react16.default.createElement("div", { className: "demo-logo-vertical" }),
831
829
  /* @__PURE__ */ import_react16.default.createElement("img", { src: props.img, alt: "", className: props.imgClassName }),
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
- )
830
+ /* @__PURE__ */ import_react16.default.createElement(import_antd11.Menu, { mode: "inline", items, selectedKeys: [selectedIndex] })
840
831
  ));
841
832
  };
842
833
 
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 [selectedKeys, setSelectedKeys] = useState5([]);
711
- const handleChange = (item, keys) => {
712
- setSelectedKeys(keys);
710
+ const [selectedIndex, setSelectedIndex] = useState5(null);
711
+ const handleChange = (item, index) => {
712
+ setSelectedIndex(index);
713
713
  if (props.onChange) {
714
714
  props.onChange(item);
715
715
  }
716
716
  };
717
- function getItem(label, key, icon, children, item, keys = []) {
717
+ function getItem(label, key, icon, children, item) {
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: keys.includes(key.toString()) ? {
724
+ style: selectedIndex === key ? {
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,21 +729,19 @@ var Sidebar = (props) => {
729
729
  ) : null,
730
730
  children,
731
731
  label,
732
- onClick: children ? void 0 : () => handleChange(item, keys.concat(key.toString()))
733
- // Only set onClick for leaf nodes
732
+ onClick: children ? void 0 : () => handleChange(item, key.toString())
734
733
  };
735
734
  }
736
- function mapItems(items2, parentKeys = []) {
735
+ function mapItems(items2, parentKey = "") {
737
736
  return items2.map((eachItem, index) => {
738
- const key = parentKeys.concat(index.toString());
737
+ const key = parentKey ? `${parentKey}-${index}` : index.toString();
739
738
  const childItems = eachItem.items ? mapItems(eachItem.items, key) : void 0;
740
739
  return getItem(
741
740
  eachItem.label,
742
- key[key.length - 1],
741
+ key,
743
742
  eachItem.icon ? icons[eachItem.icon] || /* @__PURE__ */ React15.createElement("img", { src: eachItem.icon, alt: "" }) : null,
744
743
  childItems,
745
- eachItem,
746
- key
744
+ eachItem
747
745
  );
748
746
  });
749
747
  }
@@ -758,14 +756,7 @@ var Sidebar = (props) => {
758
756
  },
759
757
  /* @__PURE__ */ React15.createElement("div", { className: "demo-logo-vertical" }),
760
758
  /* @__PURE__ */ React15.createElement("img", { src: props.img, alt: "", className: props.imgClassName }),
761
- /* @__PURE__ */ React15.createElement(
762
- Menu,
763
- {
764
- mode: "inline",
765
- items,
766
- selectedKeys: selectedKeys.map((key) => key.split("-").pop())
767
- }
768
- )
759
+ /* @__PURE__ */ React15.createElement(Menu, { mode: "inline", items, selectedKeys: [selectedIndex] })
769
760
  ));
770
761
  };
771
762
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apexcura/ui-components",
3
- "version": "0.0.16-Beta51",
3
+ "version": "0.0.16-Beta53",
4
4
  "description": "Apex cura React components library",
5
5
  "keywords": [
6
6
  "apex cura",