nice-ui
Version:
React design system, components, and utilities
44 lines (43 loc) • 2.08 kB
JavaScript
"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;