How to use the @ui5/webcomponents-react/lib/SideNavigationOpenState.SideNavigationOpenState.Expanded function in @ui5/webcomponents-react

To help you get started, we’ve selected a few @ui5/webcomponents-react examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github SAP / ui5-webcomponents-react / packages / main / src / components / SideNavigationListItem / index.tsx View on Github external
listItemClasses.put(className);
    }

    if (isExpanded) {
      listItemClasses.put(classes.expanded);
    }

    const noIcons = props['noIcons'];
    if (noIcons) {
      listItemClasses.put(classes.noIcons);
    }

    const childCount = Children.count(children);
    const validChildren = Children.toArray(children).filter(Boolean);

    const isOpenStateExpanded = props['openState'] === SideNavigationOpenState.Expanded;

    useEffect(() => {
      if (validChildren.length) {
        const selectedElement = validChildren.find((child: any) => child.props.id === props['selectedId']);
        if (selectedElement) {
          setExpanded(isOpenStateExpanded);
        }
      }
    }, [props['selectedId'], id, children, setExpanded, isOpenStateExpanded]);

    const isSelfSelected = props['selectedId'] === id;
    const hasSelectedChild =
      !isOpenStateExpanded &&
      childCount > 0 &&
      !!validChildren.find((child: any) => child.props.id === props['selectedId']);
github SAP / ui5-webcomponents-react / packages / main / src / components / SideNavigation / index.tsx View on Github external
key: index,
              selectedId: internalSelectedId,
              noIcons,
              onListItemSelected
            })
          )}
        
      )}
    
  );
});

SideNavigation.displayName = 'SideNavigation';

SideNavigation.defaultProps = {
  openState: SideNavigationOpenState.Expanded,
  footerItems: [],
  selectedId: null,
  onItemClick: () => {},
  onItemSelect: () => {}
};

export { SideNavigation };
github SAP / ui5-webcomponents-react / packages / main / src / components / SideNavigation / index.tsx View on Github external
className,
    tooltip
  } = props;

  const classes = useStyles();

  const [internalSelectedId, setInternalSelectedId] = useState(selectedId);

  useEffect(() => {
    setInternalSelectedId(selectedId);
  }, [selectedId, setInternalSelectedId]);

  const sideNavigationClasses = StyleClassHelper.of(classes.sideNavigation);

  switch (openState) {
    case SideNavigationOpenState.Expanded: {
      sideNavigationClasses.put(classes.expanded);
      break;
    }
    case SideNavigationOpenState.Condensed: {
      sideNavigationClasses.put(classes.condensed);
      break;
    }
    case SideNavigationOpenState.Collapsed: {
      sideNavigationClasses.put(classes.collapsed);
      break;
    }
  }

  if (className) {
    sideNavigationClasses.put(className);
  }

@ui5/webcomponents-react

React Wrapper for UI5 Web Components and additional components

Apache-2.0
Latest version published 4 days ago

Package Health Score

90 / 100
Full package analysis

Similar packages