UNPKG

nice-ui

Version:

React design system, components, and utilities

44 lines (43 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IconsMenu = void 0; const React = require("react"); const Menu_1 = require("../../../../../../4-card/Menu"); const context_1 = require("../context"); const useBehaviorSubject_1 = require("../../../../../../hooks/useBehaviorSubject"); const Split_1 = require("../../../../../../3-list-item/Split"); const Code_1 = require("../../../../../../1-inline/Code"); const Sidetip_1 = require("../../../../../../1-inline/Sidetip"); const IconsMenu = ({ steps }) => { const state = (0, context_1.useIconsGrid)(); const sets = (0, useBehaviorSubject_1.useBehaviorSubject)(state.sets$); const icons = (0, useBehaviorSubject_1.useBehaviorSubject)(state.icons$); const setsFiltered = sets.filter((set) => !!icons.get(set)?.length); if (!setsFiltered.length) return null; return (React.createElement("div", null, React.createElement(Menu_1.Menu, { items: [ { key: 'all', to: '/icons/all', menuItem: 'Show all', active: !steps[0] || (steps[0] === 'all' && steps.length === 1), }, { key: 'browse', to: '/icons/browse', menuItem: 'Browse', active: steps[0] === 'browse' && steps.length === 1, activeChild: steps[0] === 'browse', children: setsFiltered.map((set) => ({ key: set, to: `/icons/browse/${set}`, menuItem: (React.createElement(Split_1.Split, { style: { alignItems: 'center' } }, React.createElement(Code_1.Code, { gray: true }, set), React.createElement(Sidetip_1.Sidetip, { small: true }, icons.get(set)?.length))), active: steps[0] === 'browse' && steps[1] === set, })), }, ] }))); }; exports.IconsMenu = IconsMenu;