UNPKG

@peculiar/fortify-webcomponents

Version:

Web-components for creating CSR or Certificate and viewing certificates list using Fortify

85 lines (77 loc) 4.66 kB
/*! * © Peculiar Ventures https://peculiarventures.com/ - BSD 3-Clause License */ 'use strict'; var index = require('./index-C-N1xkRB.js'); var button = require('./button-CdL8Icyk.js'); var typography = require('./typography-BzZd2J3Y.js'); /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const ActionsIcon = (props) => { const { color = 'gray-10' } = props; return (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "30", height: "31", fill: "none" }, index.h("path", { fill: `var(--pv-color-${color})`, d: "M15 13.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm14 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z" }))); }; const buttonMenuCss = () => `.sc-peculiar-button-menu-h{display:-ms-inline-flexbox;display:inline-flex;position:relative}.is_shown.sc-peculiar-button-menu-h .button_popover.sc-peculiar-button-menu:before{position:fixed;width:100%;height:100%;top:0;left:0;content:""}.is_shown.sc-peculiar-button-menu-h .popover.sc-peculiar-button-menu{display:block}.popover.sc-peculiar-button-menu{min-width:200px;position:absolute;top:100%;right:0;border-radius:4px;z-index:1;-webkit-box-shadow:var(--pv-shadow-light-medium);box-shadow:var(--pv-shadow-light-medium);background:var(--pv-color-white);padding:calc(var(--pv-size-base) * 2) 0;margin:var(--pv-size-base) 0;display:none}.button_option.sc-peculiar-button-menu{width:100%;-ms-flex-pack:start;justify-content:flex-start;border-radius:0}.group.sc-peculiar-button-menu:not(:last-child){border-bottom:1px solid var(--pv-color-gray-5);padding-bottom:calc(var(--pv-size-base) * 2);margin-bottom:var(--pv-size-base)}.group_title.sc-peculiar-button-menu{line-height:calc(var(--pv-size-base) * 6);padding:0 calc(var(--pv-size-base) * 2)}`; const ButtonMenu = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.groups = []; this.open = false; this.handleClick = () => { this.open = !this.open; }; } render() { return (index.h(index.Host, { key: '66dd03eaa8d6e1f6dee3d9782390e094c5804b4a', class: { is_shown: this.open } }, index.h(button.Button, { key: 'ba4e5601321b4e778937f6386a8a5220e28f5809', class: "button_popover", startIcon: index.h(ActionsIcon, null), onClick: this.handleClick }), index.h("div", { key: 'ed4d374f4a4982a24665e1cb60eaa57428ba0e4e', role: "dialog", tabIndex: -1, class: "popover", "aria-hidden": String(this.open) }, this.groups.map((group) => (index.h("div", { class: "group" }, index.h(typography.Typography, { variant: "c2", color: "gray-9", class: "group_title" }, group.title), group.options.map((option) => (index.h(button.Button, { class: "button_option", startIcon: option.startIcon, href: option.href, onClick: (event) => { event.stopPropagation(); this.handleClick(); if (option.onClick) { option.onClick(event); } } }, option.text))))))))); } }; ButtonMenu.style = buttonMenuCss(); const highlightWordsCss = () => `:host{display:inline}::slotted(mark){background-color:var(--pv-color-attention-tint-4)}`; const HighlightWords = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.tag = 'mark'; } componentDidLoad() { this.handleHighlightSearch(); } componentDidUpdate() { this.handleHighlightSearch(); } handleHighlightSearch() { const basicString = this.resetHighlightSearch(this.host.innerHTML); let result = basicString; if (this.search) { const substring = new RegExp(`(${this.search})`, 'gi'); result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`); } this.host.innerHTML = result; } resetHighlightSearch(source) { // eslint-disable-next-line no-useless-escape const substring = new RegExp(`<\/?${this.tag}>`, 'g'); return source.replace(substring, ''); } render() { return (index.h(index.Host, { key: '95b1cef18522eabfb495710d6756d8eee86dfa73' }, index.h("slot", { key: '360e1c4d7121833dbfccdd6e1021d2030017373b' }))); } get host() { return index.getElement(this); } }; HighlightWords.style = highlightWordsCss(); exports.peculiar_button_menu = ButtonMenu; exports.peculiar_highlight_words = HighlightWords; //# sourceMappingURL=peculiar-button-menu.peculiar-highlight-words.entry.cjs.js.map