@peculiar/fortify-webcomponents
Version:
Web-components for creating CSR or Certificate and viewing certificates list using Fortify
85 lines (76 loc) • 4.65 kB
JavaScript
/*!
* © Peculiar Ventures https://peculiarventures.com/ - BSD 3-Clause License
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const index = require('./index-39af7d9f.js');
const button = require('./button-528dbba8.js');
const typography = require('./typography-526424d5.js');
/*!
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
*/
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: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:var(--pv-size-base-2);margin-bottom:var(--pv-size-base)}.group_title.sc-peculiar-button-menu{line-height:var(--pv-size-base-6);padding:0 var(--pv-size-base-2)}";
const PeculiarButtonMenuStyle0 = buttonMenuCss;
const ButtonMenu = class {
constructor(hostRef) {
index.registerInstance(this, hostRef);
this.handleClick = () => {
this.open = !this.open;
};
this.groups = [];
this.open = false;
}
render() {
return (index.h(index.Host, { key: '484c56eb147ee97b4be9d9c0c324a6192be5d1b4', class: {
is_shown: this.open,
} }, index.h(button.Button, { key: '00b7864c569169633c30a69f26185891ba9c39d1', class: "button_popover", onClick: this.handleClick, startIcon: index.h(ActionsIcon, null) }), index.h("div", { key: 'afe0500732f053c8b22c65ec11bd2010546fc5e6', 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 = PeculiarButtonMenuStyle0;
const highlightWordsCss = ":host{display:inline}::slotted(mark){background-color:var(--pv-color-attention-tint-4)}";
const PeculiarHighlightWordsStyle0 = highlightWordsCss;
const HighlightWords = class {
constructor(hostRef) {
index.registerInstance(this, hostRef);
this.tag = 'mark';
this.search = undefined;
}
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: '353abad7e2fc43ea4af75ec025e08d2ff3159ee6' }, index.h("slot", { key: '9ac44c0a2b95ea7a778e2d6a2909c797f8c17b6d' })));
}
get host() { return index.getElement(this); }
};
HighlightWords.style = PeculiarHighlightWordsStyle0;
exports.peculiar_button_menu = ButtonMenu;
exports.peculiar_highlight_words = HighlightWords;
//# sourceMappingURL=peculiar-button-menu_2.cjs.entry.js.map