UNPKG

@it-corp/vpbank-spotlight

Version:

Command center components for react and VPbank components

98 lines (92 loc) 3.31 kB
'use client'; 'use strict'; var React = require('react'); var vpbankCore = require('@it-corp/vpbank-core'); var Spotlight_context = require('./Spotlight.context.cjs'); var spotlight_store = require('./spotlight.store.cjs'); var Spotlight_module = require('./Spotlight.module.css.cjs'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); const defaultProps = { dimmedSections: true, highlightQuery: false }; const SpotlightAction = vpbankCore.factory( (_props, ref) => { const props = vpbankCore.useProps("SpotlightAction", defaultProps, _props); const { className, style, classNames, styles, id, description, label, leftSection, rightSection, children, dimmedSections, highlightQuery, highlightColor, closeSpotlightOnTrigger, onClick, onMouseDown, keywords, vars, ...others } = props; const ctx = Spotlight_context.useSpotlightContext(); const stylesApi = { classNames, styles }; const labelNode = highlightQuery && typeof label === "string" ? /* @__PURE__ */ React__default.default.createElement( vpbankCore.Highlight, { component: "span", highlight: ctx.query, color: highlightColor, ...ctx.getStyles("actionLabel", stylesApi) }, label ) : /* @__PURE__ */ React__default.default.createElement("span", { ...ctx.getStyles("actionLabel", stylesApi) }, label); return /* @__PURE__ */ React__default.default.createElement( vpbankCore.UnstyledButton, { ref, "data-action": true, ...ctx.getStyles("action", { className, style, ...stylesApi }), ...others, onMouseDown: (event) => { event.preventDefault(); onMouseDown?.(event); }, onClick: (event) => { onClick?.(event); if (closeSpotlightOnTrigger ?? ctx.closeOnActionTrigger) { spotlight_store.spotlightActions.close(ctx.store); } }, tabIndex: -1 }, children || /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, leftSection && /* @__PURE__ */ React__default.default.createElement( vpbankCore.Box, { component: "span", mod: { position: "left", dimmed: dimmedSections }, ...ctx.getStyles("actionSection", stylesApi) }, leftSection ), /* @__PURE__ */ React__default.default.createElement("span", { ...ctx.getStyles("actionBody", stylesApi) }, labelNode, /* @__PURE__ */ React__default.default.createElement("span", { ...ctx.getStyles("actionDescription", stylesApi) }, description)), rightSection && /* @__PURE__ */ React__default.default.createElement( vpbankCore.Box, { component: "span", mod: { position: "right", dimmed: dimmedSections }, ...ctx.getStyles("actionSection", stylesApi) }, rightSection )) ); } ); SpotlightAction.classes = Spotlight_module; SpotlightAction.displayName = "@it-corp/vpbank-spotlight/SpotlightAction"; exports.SpotlightAction = SpotlightAction; //# sourceMappingURL=SpotlightAction.cjs.map