How to use the @airbnb/lunar/lib/hooks/useStyles function in @airbnb/lunar

To help you get started, we’ve selected a few @airbnb/lunar 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 airbnb / lunar / packages / layouts / src / components / LayoutShell / index.tsx View on Github external
export default function LayoutShell({ children, sideBar }: Props) {
  const [styles, cx] = useStyles(styleSheet);

  return (
    <div>
      {sideBar &amp;&amp; <aside>{sideBar}</aside>}

      <div>{children}</div>
    </div>
  );
}
github airbnb / lunar / packages / layouts / src / components / SideBar / index.tsx View on Github external
export default function SideBar({ accessibilityLabel, children }: Props) {
  const [styles, cx] = useStyles(styleSheet);

  return (
    <nav>
      <ul aria-label="{accessibilityLabel}" role="menubar">
        {children}
      </ul>
    </nav>
  );
}
github airbnb / lunar / packages / layouts / src / components / Layout / index.tsx View on Github external
export default function Layout({
  after,
  before,
  centerAlign,
  children,
  fluid,
  minHeight,
  noBackground,
  noPadding,
}: Props &amp; AsideProps) {
  const [styles, cx] = useStyles(styleSheet);

  return (
    <div>
      {before}

      <main role="main">
        </main></div>
github airbnb / lunar / packages / layouts / src / components / Aside / index.tsx View on Github external
export default function Aside({
  after,
  before,
  children,
  collapsible,
  noPadding,
  scrollable,
  width,
  onCollapseToggle,
}: Props) {
  const [styles, cx] = useStyles(styleSheet);
  const [expanded, setExpanded] = useState(true);

  const handleCollapseToggle: React.DOMAttributes['onClick'] = collapsible
    ? () =&gt; {
        setExpanded(prev =&gt; !prev);

        if (onCollapseToggle) {
          onCollapseToggle(!expanded);
        }
      }
    : undefined;

  return (
github airbnb / lunar / packages / layouts / src / components / SplitLayout / index.tsx View on Github external
export default function SplitLayout({ after, before, fluid }: Props) {
  const [styles, cx] = useStyles(styleSheet);

  return (
    
      <div>
        <div>{before}</div>
        <div>{after}</div>
      </div>
    
  );
}
github airbnb / lunar / packages / app-shell / src / components / Layout.tsx View on Github external
function ShellLayout({ children }: Props) {
  const [styles, cx] = useStyles(styleSheet);

  return <div>{children}</div>;
}
github airbnb / lunar / packages / forms / src / components / FilterMenu / index.tsx View on Github external
accessibilityLabel,
  activeCount,
  children,
  dropdownProps = { right: 0 },
  ignoreClickOutside,
  keepOpenOnClear,
  large,
  menuProps,
  small,
  zIndex = 1,
  onApply,
  onClear,
  onHide,
  onShow,
}: Props) {
  const [styles, cx] = useStyles(styleSheet);
  const [opened, setOpened] = useState(false);

  const handleShowFilters = () => {
    setOpened(true);

    if (onShow) {
      onShow();
    }
  };

  const handleHideFilters = () => {
    setOpened(false);

    if (onHide) {
      onHide();
    }
github airbnb / lunar / packages / layouts / src / components / SideBar / Item.tsx View on Github external
function SideBarItem({ active, label, href, icon, onClick }: Props) {
  const [styles, cx] = useStyles(styleSheet);

  return (
    <li role="none">
      
        <span>{React.cloneElement(icon, { size: '2em' })}</span>

        {label &amp;&amp; (
          <span>
            </span></li>
github airbnb / lunar / packages / app-shell / src / components / Toasts / index.tsx View on Github external
export default function Toasts() {
  const context = useContext(AppContext);
  const [styles, cx] = useStyles(styleSheet);

  if (!context || context.toasts.length === 0) {
    return null;
  }

  const toasts = [...context.toasts];

  toasts.reverse();

  return (
    <div>
      {toasts.map(toast =&gt; (
        </div>