{"version":3,"file":"@gorails-Bja5LECn.js","sources":["../../../../../shared/node_modules/@gorails/ninja-keys/dist/ninja-header.js","../../../../../shared/node_modules/@gorails/ninja-keys/dist/ninja-action.js","../../../../../shared/node_modules/@gorails/ninja-keys/dist/ninja-footer.js","../../../../../shared/node_modules/@gorails/ninja-keys/dist/base-styles.js","../../../../../shared/node_modules/@gorails/ninja-keys/dist/ninja-keys.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ref, createRef } from 'lit/directives/ref.js';\nlet NinjaHeader = class NinjaHeader extends LitElement {\n constructor() {\n super(...arguments);\n this.placeholder = '';\n this.hideBreadcrumbs = false;\n this.breadcrumbHome = 'Home';\n this.breadcrumbs = [];\n this._inputRef = createRef();\n }\n render() {\n let breadcrumbs = '';\n if (!this.hideBreadcrumbs) {\n const itemTemplates = [];\n for (const breadcrumb of this.breadcrumbs) {\n itemTemplates.push(html ` this.selectParent(breadcrumb)}\n class=\"breadcrumb\"\n >\n ${breadcrumb}\n `);\n }\n breadcrumbs = html `
\n this.selectParent()}\n class=\"breadcrumb\"\n >\n ${this.breadcrumbHome}\n \n ${itemTemplates}\n
`;\n }\n return html `\n ${breadcrumbs}\n
\n \n
\n `;\n }\n setSearch(value) {\n if (this._inputRef.value) {\n this._inputRef.value.value = value;\n }\n }\n focusSearch() {\n requestAnimationFrame(() => this._inputRef.value.focus());\n }\n _handleInput(event) {\n const input = event.target;\n this.dispatchEvent(new CustomEvent('change', {\n detail: { search: input.value },\n bubbles: false,\n composed: false,\n }));\n }\n selectParent(breadcrumb) {\n this.dispatchEvent(new CustomEvent('setParent', {\n detail: { parent: breadcrumb },\n bubbles: true,\n composed: true,\n }));\n }\n firstUpdated() {\n this.focusSearch();\n }\n _close() {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n }\n};\nNinjaHeader.styles = css `\n :host {\n flex: 1;\n position: relative;\n }\n .search {\n padding: 1.25em;\n flex-grow: 1;\n flex-shrink: 0;\n margin: 0px;\n border: none;\n appearance: none;\n font-size: 1.125em;\n background: transparent;\n caret-color: var(--ninja-accent-color);\n color: var(--ninja-text-color);\n outline: none;\n font-family: var(--ninja-font-family);\n }\n .search::placeholder {\n color: var(--ninja-placeholder-color);\n }\n .breadcrumb-list {\n padding: 1em 4em 0 1em;\n display: flex;\n flex-direction: row;\n align-items: stretch;\n justify-content: flex-start;\n flex: initial;\n }\n\n .breadcrumb {\n background: var(--ninja-secondary-background-color);\n text-align: center;\n line-height: 1.2em;\n border-radius: var(--ninja-key-border-radius);\n border: 0;\n cursor: pointer;\n padding: 0.1em 0.5em;\n color: var(--ninja-secondary-text-color);\n margin-right: 0.5em;\n outline: none;\n font-family: var(--ninja-font-family);\n }\n\n .search-wrapper {\n display: flex;\n border-bottom: var(--ninja-separate-border);\n }\n `;\n__decorate([\n property()\n], NinjaHeader.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaHeader.prototype, \"hideBreadcrumbs\", void 0);\n__decorate([\n property()\n], NinjaHeader.prototype, \"breadcrumbHome\", void 0);\n__decorate([\n property({ type: Array })\n], NinjaHeader.prototype, \"breadcrumbs\", void 0);\nNinjaHeader = __decorate([\n customElement('ninja-header')\n], NinjaHeader);\nexport { NinjaHeader };\n//# sourceMappingURL=ninja-header.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport '@material/mwc-icon';\nlet NinjaAction = class NinjaAction extends LitElement {\n constructor() {\n super();\n this.selected = false;\n /**\n * Display hotkey as separate buttons on UI or as is\n */\n this.hotKeysJoinedView = false;\n this.addEventListener('click', this.click);\n }\n /**\n * Scroll to show element\n */\n ensureInView() {\n requestAnimationFrame(() => this.scrollIntoView({ block: 'nearest' }));\n }\n click() {\n this.dispatchEvent(new CustomEvent('actionsSelected', {\n detail: this.action,\n bubbles: true,\n composed: true,\n }));\n }\n updated(changedProperties) {\n if (changedProperties.has('selected')) {\n if (this.selected) {\n this.ensureInView();\n }\n }\n }\n render() {\n let icon;\n if (this.action.mdIcon) {\n icon = html `${this.action.mdIcon}`;\n }\n else if (this.action.icon) {\n icon = unsafeHTML(this.action.icon || '');\n }\n // const hotkey = this.action.hotkey\n // ? html`
${this.action.hotkey}
`\n // : '';\n let hotkey;\n if (this.action.hotkey) {\n if (this.hotKeysJoinedView) {\n hotkey = html `
${this.action.hotkey}
`;\n }\n else {\n hotkey = this.action.hotkey\n .split('+')\n .map((key) => html `
${key}
`);\n }\n }\n const classes = {\n selected: this.selected,\n 'ninja-action': true,\n };\n return html `\n
\n ${icon}\n
${this.action.title}
\n ${hotkey}\n
\n `;\n }\n};\nNinjaAction.styles = css `\n :host {\n display: flex;\n width: 100%;\n }\n .ninja-action {\n padding: 0.75em 1em;\n display: flex;\n border-left: 2px solid transparent;\n align-items: center;\n justify-content: start;\n outline: none;\n transition: color 0s ease 0s;\n width: 100%;\n }\n .ninja-action.selected {\n cursor: pointer;\n color: var(--ninja-selected-text-color);\n background-color: var(--ninja-selected-background);\n border-left: 2px solid var(--ninja-accent-color);\n outline: none;\n }\n .ninja-action.selected .ninja-icon {\n color: var(--ninja-selected-text-color);\n }\n .ninja-icon {\n font-size: var(--ninja-icon-size);\n max-width: var(--ninja-icon-size);\n max-height: var(--ninja-icon-size);\n margin-right: 1em;\n color: var(--ninja-icon-color);\n margin-right: 1em;\n position: relative;\n }\n\n .ninja-title {\n flex-shrink: 0.01;\n margin-right: 0.5em;\n flex-grow: 1;\n font-size: 0.8125em;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .ninja-hotkeys {\n margin-left: 0.5em;\n flex-shrink: 0;\n width: min-content;\n }\n\n .ninja-hotkey {\n background: var(--ninja-secondary-background-color);\n padding: 0.06em 0.25em;\n border-radius: var(--ninja-key-border-radius);\n text-transform: capitalize;\n color: var(--ninja-secondary-text-color);\n font-size: 0.75em;\n margin-left: 0.5em;\n }\n `;\n__decorate([\n property({ type: Object })\n], NinjaAction.prototype, \"action\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaAction.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaAction.prototype, \"hotKeysJoinedView\", void 0);\nNinjaAction = __decorate([\n customElement('ninja-action')\n], NinjaAction);\nexport { NinjaAction };\n//# sourceMappingURL=ninja-action.js.map","import { html } from 'lit';\nexport const footerHtml = html `
\n \n \n \n \n\n to select\n \n \n \n \n \n \n \n \n \n \n to navigate\n \n \n esc\n to close\n \n \n \n \n \n move to parent\n \n
`;\n//# sourceMappingURL=ninja-footer.js.map","import { css } from 'lit';\nexport const baseStyles = css `\n :host {\n --ninja-width: 640px;\n --ninja-backdrop-filter: none;\n --ninja-overflow-background: rgba(255, 255, 255, 0.5);\n --ninja-text-color: rgb(60, 65, 73);\n --ninja-font-size: 16px;\n --ninja-top: 20%;\n\n --ninja-key-border-radius: 0.25em;\n --ninja-accent-color: rgb(110, 94, 210);\n --ninja-secondary-background-color: rgb(239, 241, 244);\n --ninja-secondary-text-color: rgb(107, 111, 118);\n\n --ninja-selected-background: rgb(248, 249, 251);\n\n --ninja-icon-color: var(--ninja-secondary-text-color);\n --ninja-icon-size: 1.2em;\n --ninja-separate-border: 1px solid var(--ninja-secondary-background-color);\n\n --ninja-modal-background: #fff;\n --ninja-modal-shadow: rgb(0 0 0 / 50%) 0px 16px 70px;\n\n --ninja-actions-height: 300px;\n --ninja-group-text-color: rgb(144, 149, 157);\n\n --ninja-footer-background: rgba(242, 242, 242, 0.4);\n\n --ninja-placeholder-color: #8e8e8e;\n\n font-size: var(--ninja-font-size);\n\n --ninja-z-index: 1;\n }\n\n :host(.dark) {\n --ninja-backdrop-filter: none;\n --ninja-overflow-background: rgba(0, 0, 0, 0.7);\n --ninja-text-color: #7d7d7d;\n\n --ninja-modal-background: rgba(17, 17, 17, 0.85);\n --ninja-accent-color: rgb(110, 94, 210);\n --ninja-secondary-background-color: rgba(51, 51, 51, 0.44);\n --ninja-secondary-text-color: #888;\n\n --ninja-selected-text-color: #eaeaea;\n --ninja-selected-background: rgba(51, 51, 51, 0.44);\n\n --ninja-icon-color: var(--ninja-secondary-text-color);\n --ninja-separate-border: 1px solid var(--ninja-secondary-background-color);\n\n --ninja-modal-shadow: 0 16px 70px rgba(0, 0, 0, 0.2);\n\n --ninja-group-text-color: rgb(144, 149, 157);\n\n --ninja-footer-background: rgba(30, 30, 30, 85%);\n }\n\n .modal {\n display: none;\n position: fixed;\n z-index: var(--ninja-z-index);\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background: var(--ninja-overflow-background);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-backdrop-filter: var(--ninja-backdrop-filter);\n backdrop-filter: var(--ninja-backdrop-filter);\n text-align: left;\n color: var(--ninja-text-color);\n font-family: var(--ninja-font-family);\n }\n .modal.visible {\n display: block;\n }\n\n .modal-content {\n position: relative;\n top: var(--ninja-top);\n margin: auto;\n padding: 0;\n display: flex;\n flex-direction: column;\n flex-shrink: 1;\n -webkit-box-flex: 1;\n flex-grow: 1;\n min-width: 0px;\n will-change: transform;\n background: var(--ninja-modal-background);\n border-radius: 0.5em;\n box-shadow: var(--ninja-modal-shadow);\n max-width: var(--ninja-width);\n overflow: hidden;\n }\n\n .bump {\n animation: zoom-in-zoom-out 0.2s ease;\n }\n\n @keyframes zoom-in-zoom-out {\n 0% {\n transform: scale(0.99);\n }\n 50% {\n transform: scale(1.01, 1.01);\n }\n 100% {\n transform: scale(1, 1);\n }\n }\n\n .ninja-github {\n color: var(--ninja-keys-text-color);\n font-weight: normal;\n text-decoration: none;\n }\n\n .actions-list {\n max-height: var(--ninja-actions-height);\n overflow: auto;\n scroll-behavior: smooth;\n position: relative;\n margin: 0;\n padding: 0.5em 0;\n list-style: none;\n scroll-behavior: smooth;\n }\n\n .group-header {\n height: 1.375em;\n line-height: 1.375em;\n padding-left: 1.25em;\n padding-top: 0.5em;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n font-size: 0.75em;\n line-height: 1em;\n color: var(--ninja-group-text-color);\n margin: 1px 0;\n }\n\n .modal-footer {\n background: var(--ninja-footer-background);\n padding: 0.5em 1em;\n display: flex;\n /* font-size: 0.75em; */\n border-top: var(--ninja-separate-border);\n color: var(--ninja-secondary-text-color);\n }\n\n .modal-footer .help {\n display: flex;\n margin-right: 1em;\n align-items: center;\n font-size: 0.75em;\n }\n\n .ninja-examplekey {\n background: var(--ninja-secondary-background-color);\n padding: 0.06em 0.25em;\n border-radius: var(--ninja-key-border-radius);\n color: var(--ninja-secondary-text-color);\n width: 1em;\n height: 1em;\n margin-right: 0.5em;\n font-size: 1.25em;\n fill: currentColor;\n }\n .ninja-examplekey.esc {\n width: auto;\n height: auto;\n font-size: 1.1em;\n }\n .ninja-examplekey.backspace {\n opacity: 0.7;\n }\n`;\n//# sourceMappingURL=base-styles.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { live } from 'lit/directives/live.js';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport hotkeys from 'hotkeys-js';\nimport './ninja-header.js';\nimport './ninja-action.js';\nimport { footerHtml } from './ninja-footer.js';\nimport { baseStyles } from './base-styles.js';\nlet NinjaKeys = class NinjaKeys extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Search placeholder text\n */\n this.placeholder = 'Type a command or search...';\n /**\n * If true will register all hotkey for all actions\n */\n this.disableHotkeys = false;\n /**\n * Show or hide breadcrumbs on header\n */\n this.hideBreadcrumbs = false;\n /**\n * Open or hide shorcut\n */\n this.openHotkey = 'cmd+k,ctrl+k';\n /**\n * Navigation Up hotkey\n */\n this.navigationUpHotkey = 'up,shift+tab';\n /**\n * Navigation Down hotkey\n */\n this.navigationDownHotkey = 'down,tab';\n /**\n * Close hotkey\n */\n this.closeHotkey = 'esc';\n /**\n * Go back on one level if has parent menu\n */\n this.goBackHotkey = 'backspace';\n /**\n * Select action and execute handler or open submenu\n */\n this.selectHotkey = 'enter'; // enter,space\n /**\n * Show or hide breadcrumbs on header\n */\n this.hotKeysJoinedView = false;\n /**\n * Disable load material icons font on connect\n * If you use custom icons.\n * Set this attribute to prevent load default icons font\n */\n this.noAutoLoadMdIcons = false;\n /**\n * Array of actions\n */\n this.data = [];\n /**\n * Show or hide element\n */\n this.visible = false;\n /**\n * Temproray used for animation effect. TODO: change to animate logic\n */\n this._bump = true;\n this._actionMatches = [];\n this._search = '';\n /**\n * Array of actions in flat structure\n */\n this._flatData = [];\n this._headerRef = createRef();\n }\n /**\n * Public methods\n */\n /**\n * Show a modal\n */\n open(options = {}) {\n this._bump = true;\n this.visible = true;\n this._headerRef.value.focusSearch();\n if (this._actionMatches.length > 0) {\n this._selected = this._actionMatches[0];\n }\n this.setParent(options.parent);\n }\n /**\n * Close modal\n */\n close() {\n this._bump = false;\n this.visible = false;\n }\n /**\n * Navigate to group of actions\n * @param parent id of parent group/action\n */\n setParent(parent) {\n if (!parent) {\n this._currentRoot = undefined;\n // this.breadcrumbs = [];\n }\n else {\n this._currentRoot = parent;\n }\n this._selected = undefined;\n this._search = '';\n this._headerRef.value.setSearch('');\n }\n get breadcrumbs() {\n var _a;\n const path = [];\n let parentAction = (_a = this._selected) === null || _a === void 0 ? void 0 : _a.parent;\n if (parentAction) {\n path.push(parentAction);\n while (parentAction) {\n const action = this._flatData.find((a) => a.id === parentAction);\n if (action === null || action === void 0 ? void 0 : action.parent) {\n path.push(action.parent);\n }\n parentAction = action ? action.parent : undefined;\n }\n }\n return path.reverse();\n }\n connectedCallback() {\n super.connectedCallback();\n if (!this.noAutoLoadMdIcons) {\n document.fonts.load('24px Material Icons', 'apps').then(() => { });\n }\n this._registerInternalHotkeys();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this._unregisterInternalHotkeys();\n }\n _flattern(members, parent) {\n let children = [];\n if (!members) {\n members = [];\n }\n return members\n .map((mem) => {\n const alreadyFlatternByUser = mem.children &&\n mem.children.some((value) => {\n return typeof value == 'string';\n });\n const m = { ...mem, parent: mem.parent || parent };\n if (alreadyFlatternByUser) {\n return m;\n }\n else {\n if (m.children && m.children.length) {\n parent = mem.id;\n children = [...children, ...m.children];\n }\n m.children = m.children ? m.children.map((c) => c.id) : [];\n return m;\n }\n })\n .concat(children.length ? this._flattern(children, parent) : children);\n }\n update(changedProperties) {\n if (changedProperties.has('data') && !this.disableHotkeys) {\n this._flatData = this._flattern(this.data);\n this._flatData\n .filter((action) => !!action.hotkey)\n .forEach((action) => {\n hotkeys(action.hotkey, (event) => {\n event.preventDefault();\n if (action.handler) {\n action.handler(action);\n }\n });\n });\n }\n super.update(changedProperties);\n }\n _registerInternalHotkeys() {\n if (this.openHotkey) {\n hotkeys(this.openHotkey, (event) => {\n event.preventDefault();\n this.visible ? this.close() : this.open();\n });\n }\n if (this.selectHotkey) {\n hotkeys(this.selectHotkey, (event) => {\n if (!this.visible) {\n return;\n }\n event.preventDefault();\n this._actionSelected(this._actionMatches[this._selectedIndex]);\n });\n }\n if (this.goBackHotkey) {\n hotkeys(this.goBackHotkey, (event) => {\n if (!this.visible) {\n return;\n }\n if (!this._search) {\n event.preventDefault();\n this._goBack();\n }\n });\n }\n if (this.navigationDownHotkey) {\n hotkeys(this.navigationDownHotkey, (event) => {\n if (!this.visible) {\n return;\n }\n event.preventDefault();\n if (this._selectedIndex >= this._actionMatches.length - 1) {\n this._selected = this._actionMatches[0];\n }\n else {\n this._selected = this._actionMatches[this._selectedIndex + 1];\n }\n });\n }\n if (this.navigationUpHotkey) {\n hotkeys(this.navigationUpHotkey, (event) => {\n if (!this.visible) {\n return;\n }\n event.preventDefault();\n if (this._selectedIndex === 0) {\n this._selected = this._actionMatches[this._actionMatches.length - 1];\n }\n else {\n this._selected = this._actionMatches[this._selectedIndex - 1];\n }\n });\n }\n if (this.closeHotkey) {\n hotkeys(this.closeHotkey, () => {\n if (!this.visible) {\n return;\n }\n this.close();\n });\n }\n }\n _unregisterInternalHotkeys() {\n if (this.openHotkey) {\n hotkeys.unbind(this.openHotkey);\n }\n if (this.selectHotkey) {\n hotkeys.unbind(this.selectHotkey);\n }\n if (this.goBackHotkey) {\n hotkeys.unbind(this.goBackHotkey);\n }\n if (this.navigationDownHotkey) {\n hotkeys.unbind(this.navigationDownHotkey);\n }\n if (this.navigationUpHotkey) {\n hotkeys.unbind(this.navigationUpHotkey);\n }\n if (this.closeHotkey) {\n hotkeys.unbind(this.closeHotkey);\n }\n }\n _actionFocused(index, $event) {\n // this.selectedIndex = index;\n this._selected = index;\n $event.target.ensureInView();\n }\n _onTransitionEnd() {\n this._bump = false;\n }\n _goBack() {\n const parent = this.breadcrumbs.length > 1\n ? this.breadcrumbs[this.breadcrumbs.length - 2]\n : undefined;\n this.setParent(parent);\n }\n render() {\n const classes = {\n bump: this._bump,\n 'modal-content': true,\n };\n const menuClasses = {\n visible: this.visible,\n modal: true,\n };\n const actionMatches = this._flatData.filter((action) => {\n var _a;\n const regex = new RegExp(this._search, 'gi');\n const matcher = action.title.match(regex) || ((_a = action.keywords) === null || _a === void 0 ? void 0 : _a.match(regex));\n if (!this._currentRoot && this._search) {\n // global search for items on root\n return matcher;\n }\n return action.parent === this._currentRoot && matcher;\n });\n const sections = actionMatches.reduce((entryMap, e) => entryMap.set(e.section, [...(entryMap.get(e.section) || []), e]), new Map());\n this._actionMatches = [...sections.values()].flat();\n if (this._actionMatches.length > 0 && this._selectedIndex === -1) {\n this._selected = this._actionMatches[0];\n }\n if (this._actionMatches.length === 0) {\n this._selected = undefined;\n }\n const actionsList = (actions) => html ` ${repeat(actions, (action) => action.id, (action) => {\n var _a;\n return html ` this._actionFocused(action, event)}\n @actionsSelected=${(event) => this._actionSelected(event.detail)}\n .action=${action}\n >`;\n })}`;\n const itemTemplates = [];\n sections.forEach((actions, section) => {\n const header = section\n ? html `
${section}
`\n : undefined;\n itemTemplates.push(html `${header}${actionsList(actions)}`);\n });\n return html `\n
\n
\n this.setParent(event.detail.parent)}\n @close=${this.close}\n >\n \n
\n
${itemTemplates}
\n
\n ${footerHtml} \n
\n
\n `;\n }\n get _selectedIndex() {\n if (!this._selected) {\n return -1;\n }\n return this._actionMatches.indexOf(this._selected);\n }\n _actionSelected(action) {\n var _a;\n // fire selected event even when action is empty/not selected,\n // so possible handle api search for example\n this.dispatchEvent(new CustomEvent('selected', {\n detail: { search: this._search, action },\n bubbles: true,\n composed: true,\n }));\n if (!action) {\n return;\n }\n if (action.children && ((_a = action.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n this._currentRoot = action.id;\n this._search = '';\n }\n this._headerRef.value.setSearch('');\n this._headerRef.value.focusSearch();\n if (action.handler) {\n const result = action.handler(action);\n if (!(result === null || result === void 0 ? void 0 : result.keepOpen)) {\n this.close();\n }\n }\n this._bump = true;\n }\n async _handleInput(event) {\n this._search = event.detail.search;\n await this.updateComplete;\n this.dispatchEvent(new CustomEvent('change', {\n detail: { search: this._search, actions: this._actionMatches },\n bubbles: true,\n composed: true,\n }));\n }\n _overlayClick(event) {\n var _a;\n if ((_a = event.target) === null || _a === void 0 ? void 0 : _a.classList.contains('modal')) {\n this.close();\n }\n }\n};\nNinjaKeys.styles = [baseStyles];\n__decorate([\n property({ type: String })\n], NinjaKeys.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaKeys.prototype, \"disableHotkeys\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaKeys.prototype, \"hideBreadcrumbs\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"openHotkey\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"navigationUpHotkey\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"navigationDownHotkey\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"closeHotkey\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"goBackHotkey\", void 0);\n__decorate([\n property()\n], NinjaKeys.prototype, \"selectHotkey\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaKeys.prototype, \"hotKeysJoinedView\", void 0);\n__decorate([\n property({ type: Boolean })\n], NinjaKeys.prototype, \"noAutoLoadMdIcons\", void 0);\n__decorate([\n property({\n type: Array,\n hasChanged() {\n // Forced to trigger changed event always.\n // Because of a lot of framework pattern wrap object with an Observer, like vue2.\n // That's why object passed to web component always same and no render triggered. Issue #9\n return true;\n },\n })\n], NinjaKeys.prototype, \"data\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"visible\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_bump\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_actionMatches\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_search\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_currentRoot\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_flatData\", void 0);\n__decorate([\n state()\n], NinjaKeys.prototype, \"breadcrumbs\", null);\n__decorate([\n state()\n], NinjaKeys.prototype, \"_selected\", void 0);\nNinjaKeys = __decorate([\n customElement('ninja-keys')\n], NinjaKeys);\nexport { NinjaKeys };\n//# sourceMappingURL=ninja-keys.js.map"],"names":["__decorate","decorators","target","key","desc","c","r","d","i","NinjaHeader","LitElement","createRef","breadcrumbs","itemTemplates","breadcrumb","html","ref","value","event","input","css","property","customElement","NinjaAction","changedProperties","icon","unsafeHTML","hotkey","classes","classMap","footerHtml","baseStyles","NinjaKeys","options","parent","_a","path","parentAction","action","a","members","children","mem","alreadyFlatternByUser","m","hotkeys","index","$event","menuClasses","sections","regex","matcher","entryMap","e","actionsList","actions","repeat","live","section","header","result","state"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}