@tanstack/hotkeys-devtools 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/HotkeysContextProvider.js +11 -1
- package/dist/HotkeysContextProvider.js.map +1 -1
- package/dist/components/ActionButtons.js +7 -2
- package/dist/components/ActionButtons.js.map +1 -1
- package/dist/components/DetailsPanel.js +458 -215
- package/dist/components/DetailsPanel.js.map +1 -1
- package/dist/components/HotkeyList.js +294 -139
- package/dist/components/HotkeyList.js.map +1 -1
- package/dist/components/Shell.js +3 -1
- package/dist/components/Shell.js.map +1 -1
- package/package.json +2 -2
- package/src/HotkeysContextProvider.tsx +31 -3
- package/src/components/ActionButtons.tsx +18 -5
- package/src/components/DetailsPanel.tsx +500 -204
- package/src/components/HotkeyList.tsx +195 -2
- package/src/components/Shell.tsx +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.js","names":["For","Show","createMemo","formatForDisplay","useStyles","useHotkeysDevtoolsState","ActionButtons","ConflictBehavior","HotkeyRegistration","DetailsPanelProps","selectedRegistration","getTargetDescription","target","HTMLElement","Document","Window","document","window","tag","tagName","toLowerCase","id","cls","className","split","join","findTargetConflicts","registration","all","Array","filter","other","hotkey","options","eventType","findScopeConflicts","getConflictItemStyle","behavior","isSameTarget","getConflictLabel","DetailsPanel","props","styles","state","_el$","_tmpl$","_$insert","_$createComponent","when","fallback","_el$2","_tmpl$2","_$effect","_$className","noSelection","children","reg","parsed","parsedHotkey","targetConflicts","registrations","scopeConflicts","allConflicts","conflictBehavior","keyParts","parts","p","ctrl","push","shift","alt","meta","key","_el$3","_tmpl$3","_el$4","firstChild","_el$5","nextSibling","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","_p$","_v$","stateHeader","_v$2","stateTitle","_v$3","infoGrid","_v$4","infoLabel","_v$5","infoValueMono","_v$6","_v$7","_v$8","_v$9","e","t","a","o","i","n","s","h","r","undefined","_el$10","_tmpl$5","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_el$35","_el$36","_el$37","_el$38","_el$39","_el$40","_el$41","_el$42","each","part","_el$49","_tmpl$6","keyBreakdownPlus","_el$50","_tmpl$7","keyCapLarge","String","enabled","preventDefault","stopPropagation","ignoreInputs","requireReset","hasFired","length","_el$43","_tmpl$4","_el$44","_el$45","_el$47","_el$46","_el$48","conflict","itemStyle","label","_el$51","_tmpl$8","_el$52","_el$53","_el$59","_el$54","_el$60","_el$56","_el$61","_el$57","_el$62","_tmpl$9","_el$63","_el$64","_el$70","_el$65","_el$71","_el$67","_el$72","_el$68","conflictItemScope","_v$0","detailSection","_v$1","detailSectionHeader","_v$10","conflictList","_v$11","detailsGrid","_v$12","_v$13","_v$14","keyBreakdown","_v$15","_v$16","_v$17","_v$18","_v$19","optionRow","_v$20","optionLabel","_v$21","optionValueTrue","optionValueFalse","_v$22","_v$23","_v$24","optionValue","_v$25","_v$26","_v$27","_v$28","_v$29","_v$30","_v$31","_v$32","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","_v$39","_v$40","_v$41","_v$42","d","l","u","c","w","m","f","y","g","b","T","A","O","I","S","W","C","B","v","k","x","j","stateDetails"],"sources":["../../src/components/DetailsPanel.tsx"],"sourcesContent":["import { For, Show, createMemo } from 'solid-js'\nimport { formatForDisplay } from '@tanstack/hotkeys'\nimport { useStyles } from '../styles/use-styles'\nimport { useHotkeysDevtoolsState } from '../HotkeysContextProvider'\nimport { ActionButtons } from './ActionButtons'\nimport type { ConflictBehavior, HotkeyRegistration } from '@tanstack/hotkeys'\n\ntype DetailsPanelProps = {\n selectedRegistration: () => HotkeyRegistration | null\n}\n\nfunction getTargetDescription(target: HTMLElement | Document | Window): string {\n if (typeof document !== 'undefined' && target === document) {\n return 'document'\n }\n if (typeof window !== 'undefined' && target === window) {\n return 'window'\n }\n if (target instanceof HTMLElement) {\n const tag = target.tagName.toLowerCase()\n const id = target.id ? `#${target.id}` : ''\n const cls = target.className\n ? `.${target.className.split(' ').join('.')}`\n : ''\n return `${tag}${id}${cls}`\n }\n return 'element'\n}\n\nfunction findTargetConflicts(\n registration: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n): Array<HotkeyRegistration> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n other.hotkey === registration.hotkey &&\n other.options.eventType === registration.options.eventType &&\n other.target === registration.target,\n )\n}\n\nfunction findScopeConflicts(\n registration: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n): Array<HotkeyRegistration> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n other.hotkey === registration.hotkey &&\n other.options.eventType === registration.options.eventType &&\n other.target !== registration.target,\n )\n}\n\nfunction getConflictItemStyle(\n behavior: ConflictBehavior,\n isSameTarget: boolean,\n):\n | 'conflictItem'\n | 'conflictItemAllow'\n | 'conflictItemError'\n | 'conflictItemScope' {\n if (!isSameTarget) return 'conflictItemScope'\n if (behavior === 'allow') return 'conflictItemAllow'\n if (behavior === 'error') return 'conflictItemError'\n return 'conflictItem'\n}\n\nfunction getConflictLabel(\n behavior: ConflictBehavior,\n isSameTarget: boolean,\n): string {\n if (!isSameTarget) return 'scope'\n if (behavior === 'allow') return 'allowed'\n if (behavior === 'error') return 'error'\n if (behavior === 'replace') return 'replaced'\n return 'warning'\n}\n\nexport function DetailsPanel(props: DetailsPanelProps) {\n const styles = useStyles()\n const state = useHotkeysDevtoolsState()\n\n return (\n <div class={styles().stateDetails}>\n <Show\n when={props.selectedRegistration()}\n fallback={\n <div class={styles().noSelection}>\n Select a hotkey from the list to view its details\n </div>\n }\n >\n {(reg) => {\n const parsed = () => reg().parsedHotkey\n const targetConflicts = createMemo(() =>\n findTargetConflicts(reg(), state.registrations()),\n )\n const scopeConflicts = createMemo(() =>\n findScopeConflicts(reg(), state.registrations()),\n )\n const allConflicts = createMemo(() => [\n ...targetConflicts(),\n ...scopeConflicts(),\n ])\n const conflictBehavior = (): ConflictBehavior =>\n reg().options.conflictBehavior ?? 'warn'\n\n // Build key parts for visual breakdown\n const keyParts = createMemo(() => {\n const parts: Array<string> = []\n const p = parsed()\n if (p.ctrl) parts.push('Ctrl')\n if (p.shift) parts.push('Shift')\n if (p.alt) parts.push('Alt')\n if (p.meta) parts.push('Meta')\n parts.push(p.key)\n return parts\n })\n\n return (\n <>\n <div class={styles().stateHeader}>\n <div class={styles().stateTitle}>\n {formatForDisplay(reg().hotkey)}\n </div>\n <div class={styles().infoGrid}>\n <div class={styles().infoLabel}>ID</div>\n <div class={styles().infoValueMono}>{reg().id}</div>\n <div class={styles().infoLabel}>Raw</div>\n <div class={styles().infoValueMono}>{reg().hotkey}</div>\n <div class={styles().infoLabel}>Target</div>\n <div class={styles().infoValueMono}>\n {getTargetDescription(reg().target)}\n </div>\n </div>\n </div>\n\n <div class={styles().detailsGrid}>\n {/* Key Breakdown */}\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Key Breakdown</div>\n <div class={styles().keyBreakdown}>\n <For each={keyParts()}>\n {(part, i) => (\n <>\n <Show when={i() > 0}>\n <span class={styles().keyBreakdownPlus}>+</span>\n </Show>\n <span class={styles().keyCapLarge}>{part}</span>\n </>\n )}\n </For>\n </div>\n </div>\n\n {/* Actions */}\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons registration={reg()} />\n </div>\n\n {/* Options */}\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Options</div>\n <div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>enabled</span>\n <span\n class={\n reg().options.enabled !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.enabled !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>eventType</span>\n <span class={styles().optionValue}>\n {reg().options.eventType ?? 'keydown'}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>preventDefault</span>\n <span\n class={\n reg().options.preventDefault\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.preventDefault)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>stopPropagation</span>\n <span\n class={\n reg().options.stopPropagation\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.stopPropagation)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>ignoreInputs</span>\n <span\n class={\n reg().options.ignoreInputs !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.ignoreInputs !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>requireReset</span>\n <span\n class={\n reg().options.requireReset\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.requireReset)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>conflictBehavior</span>\n <span class={styles().optionValue}>\n {conflictBehavior()}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>hasFired</span>\n <span\n class={\n reg().hasFired\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().hasFired)}\n </span>\n </div>\n </div>\n </div>\n\n {/* Conflicts */}\n <Show when={allConflicts().length > 0}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>\n Conflicts ({allConflicts().length})\n </div>\n <div class={styles().conflictList}>\n <For each={targetConflicts()}>\n {(conflict) => {\n const itemStyle = () =>\n getConflictItemStyle(conflictBehavior(), true)\n const label = () =>\n getConflictLabel(conflictBehavior(), true)\n return (\n <div class={styles()[itemStyle()]}>\n <span>{label()}</span> {conflict.id}:{' '}\n {formatForDisplay(conflict.hotkey)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {getTargetDescription(conflict.target)}\n </div>\n )\n }}\n </For>\n <For each={scopeConflicts()}>\n {(conflict) => (\n <div class={styles().conflictItemScope}>\n <span>scope</span> {conflict.id}:{' '}\n {formatForDisplay(conflict.hotkey)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {getTargetDescription(conflict.target)}\n </div>\n )}\n </For>\n </div>\n </div>\n </Show>\n </div>\n </>\n )\n }}\n </Show>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.js","names":["For","Show","createMemo","formatForDisplay","formatHotkeySequence","useStyles","useHotkeysDevtoolsState","ActionButtons","ConflictBehavior","HotkeyRegistration","HotkeySequence","SequenceRegistrationView","sequenceKey","sequence","Array","join","isSequenceRegistration","reg","isArray","DetailsPanelProps","selectedRegistration","getTargetDescription","target","HTMLElement","Document","Window","document","window","tag","tagName","toLowerCase","id","cls","className","split","findTargetConflicts","registration","all","filter","other","hotkey","options","eventType","findScopeConflicts","findSequenceTargetConflicts","findSequenceScopeConflicts","getConflictItemStyle","behavior","isSameTarget","getConflictLabel","HotkeyDetails","props","state","ReturnType","t","r","b","same","styles","parsed","parsedHotkey","targetConflicts","registrations","scopeConflicts","allConflicts","conflictBehavior","keyParts","parts","p","ctrl","push","shift","alt","meta","key","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_el$6","_el$7","_el$8","_el$9","_$insert","_$effect","_p$","_v$","stateHeader","_v$2","stateTitle","_v$3","infoGrid","_v$4","infoLabel","_v$5","infoValueMono","_v$6","_v$7","_v$8","_v$9","e","_$className","a","o","i","n","s","h","undefined","_el$0","_tmpl$3","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_el$35","_el$36","_el$37","_el$38","_el$39","_el$40","_$createComponent","each","children","part","when","_el$47","_tmpl$4","keyBreakdownPlus","_el$48","_tmpl$5","keyCapLarge","String","enabled","preventDefault","stopPropagation","ignoreInputs","requireReset","hasFired","length","_el$41","_tmpl$2","_el$42","_el$43","_el$45","_el$44","_el$46","conflict","itemStyle","label","_el$49","_tmpl$6","_el$50","_el$51","_el$57","_el$52","_el$58","_el$54","_el$59","_el$55","_el$60","_tmpl$7","_el$61","_el$62","_el$68","_el$63","_el$69","_el$65","_el$70","_el$66","conflictItemScope","_v$0","detailSection","_v$1","detailSectionHeader","_v$10","conflictList","_v$11","detailsGrid","_v$12","_v$13","_v$14","keyBreakdown","_v$15","_v$16","_v$17","_v$18","_v$19","optionRow","_v$20","optionLabel","_v$21","optionValueTrue","optionValueFalse","_v$22","_v$23","_v$24","optionValue","_v$25","_v$26","_v$27","_v$28","_v$29","_v$30","_v$31","_v$32","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","_v$39","_v$40","_v$41","_v$42","d","l","u","c","w","m","f","y","g","T","A","O","I","S","W","C","B","v","k","x","j","SequenceDetails","seq","sequenceRegistrations","_el$71","_tmpl$8","_el$72","_el$73","_el$74","_el$75","_el$76","_el$77","_el$78","_el$79","_v$43","_v$44","_v$45","_v$46","_v$47","_v$48","_v$49","_v$50","_v$51","_el$80","_tmpl$9","_el$81","_el$82","_el$83","_el$84","_el$85","_el$86","_el$87","_el$88","_el$89","_el$90","_el$91","_el$92","_el$93","_el$94","_el$95","_el$96","_el$97","_el$98","_el$99","_el$100","_el$101","_el$102","_el$103","_el$104","_el$105","_el$106","_el$107","_el$108","_el$109","_el$110","step","_el$117","_tmpl$0","_el$118","timeout","_el$111","_el$112","_el$113","_el$115","_el$114","_el$116","_el$119","_el$120","_el$121","_el$127","_el$122","_el$128","_el$124","_el$129","_el$125","_el$130","_el$131","_el$132","_el$138","_el$133","_el$139","_el$135","_el$140","_el$136","_v$52","_v$53","_v$54","_v$55","_v$56","_v$57","_v$58","_v$59","_v$60","_v$61","_v$62","_v$63","_v$64","_v$65","_v$66","_v$67","_v$68","_v$69","_v$70","_v$71","_v$72","_v$73","_v$74","_v$75","_v$76","_v$77","_v$78","_v$79","_v$80","_v$81","_v$82","_v$83","DetailsPanel","_el$141","_tmpl$1","fallback","_el$142","_tmpl$10","noSelection","stateDetails"],"sources":["../../src/components/DetailsPanel.tsx"],"sourcesContent":["import { For, Show, createMemo } from 'solid-js'\nimport { formatForDisplay, formatHotkeySequence } from '@tanstack/hotkeys'\nimport { useStyles } from '../styles/use-styles'\nimport { useHotkeysDevtoolsState } from '../HotkeysContextProvider'\nimport { ActionButtons } from './ActionButtons'\nimport type {\n ConflictBehavior,\n HotkeyRegistration,\n HotkeySequence,\n SequenceRegistrationView,\n} from '@tanstack/hotkeys'\n\nfunction sequenceKey(sequence: Array<string>): string {\n return sequence.join('|')\n}\n\nfunction isSequenceRegistration(\n reg: HotkeyRegistration | SequenceRegistrationView,\n): reg is SequenceRegistrationView {\n return 'sequence' in reg && Array.isArray(reg.sequence)\n}\n\ntype DetailsPanelProps = {\n selectedRegistration: () =>\n | HotkeyRegistration\n | SequenceRegistrationView\n | null\n}\n\nfunction getTargetDescription(target: HTMLElement | Document | Window): string {\n if (typeof document !== 'undefined' && target === document) {\n return 'document'\n }\n if (typeof window !== 'undefined' && target === window) {\n return 'window'\n }\n if (target instanceof HTMLElement) {\n const tag = target.tagName.toLowerCase()\n const id = target.id ? `#${target.id}` : ''\n const cls = target.className\n ? `.${target.className.split(' ').join('.')}`\n : ''\n return `${tag}${id}${cls}`\n }\n return 'element'\n}\n\nfunction findTargetConflicts(\n registration: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n): Array<HotkeyRegistration> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n other.hotkey === registration.hotkey &&\n other.options.eventType === registration.options.eventType &&\n other.target === registration.target,\n )\n}\n\nfunction findScopeConflicts(\n registration: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n): Array<HotkeyRegistration> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n other.hotkey === registration.hotkey &&\n other.options.eventType === registration.options.eventType &&\n other.target !== registration.target,\n )\n}\n\nfunction findSequenceTargetConflicts(\n registration: SequenceRegistrationView,\n all: Array<SequenceRegistrationView>,\n): Array<SequenceRegistrationView> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n sequenceKey(other.sequence) === sequenceKey(registration.sequence) &&\n other.options.eventType === registration.options.eventType &&\n other.target === registration.target,\n )\n}\n\nfunction findSequenceScopeConflicts(\n registration: SequenceRegistrationView,\n all: Array<SequenceRegistrationView>,\n): Array<SequenceRegistrationView> {\n return all.filter(\n (other) =>\n other.id !== registration.id &&\n sequenceKey(other.sequence) === sequenceKey(registration.sequence) &&\n other.options.eventType === registration.options.eventType &&\n other.target !== registration.target,\n )\n}\n\nfunction getConflictItemStyle(\n behavior: ConflictBehavior,\n isSameTarget: boolean,\n):\n | 'conflictItem'\n | 'conflictItemAllow'\n | 'conflictItemError'\n | 'conflictItemScope' {\n if (!isSameTarget) return 'conflictItemScope'\n if (behavior === 'allow') return 'conflictItemAllow'\n if (behavior === 'error') return 'conflictItemError'\n return 'conflictItem'\n}\n\nfunction getConflictLabel(\n behavior: ConflictBehavior,\n isSameTarget: boolean,\n): string {\n if (!isSameTarget) return 'scope'\n if (behavior === 'allow') return 'allowed'\n if (behavior === 'error') return 'error'\n if (behavior === 'replace') return 'replaced'\n return 'warning'\n}\n\nfunction HotkeyDetails(props: {\n registration: HotkeyRegistration\n state: ReturnType<typeof useHotkeysDevtoolsState>\n getTargetDescription: (t: HTMLElement | Document | Window) => string\n findTargetConflicts: (\n r: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n ) => Array<HotkeyRegistration>\n findScopeConflicts: (\n r: HotkeyRegistration,\n all: Array<HotkeyRegistration>,\n ) => Array<HotkeyRegistration>\n getConflictItemStyle: (\n b: ConflictBehavior,\n same: boolean,\n ) =>\n | 'conflictItem'\n | 'conflictItemAllow'\n | 'conflictItemError'\n | 'conflictItemScope'\n getConflictLabel: (b: ConflictBehavior, same: boolean) => string\n formatForDisplay: (hotkey: string) => string\n styles: ReturnType<typeof useStyles>\n}) {\n const reg = () => props.registration\n const parsed = () => reg().parsedHotkey\n const targetConflicts = createMemo(() =>\n props.findTargetConflicts(reg(), props.state.registrations()),\n )\n const scopeConflicts = createMemo(() =>\n props.findScopeConflicts(reg(), props.state.registrations()),\n )\n const allConflicts = createMemo(() => [\n ...targetConflicts(),\n ...scopeConflicts(),\n ])\n const conflictBehavior = (): ConflictBehavior =>\n reg().options.conflictBehavior ?? 'warn'\n\n const keyParts = createMemo(() => {\n const parts: Array<string> = []\n const p = parsed()\n if (p.ctrl) parts.push('Ctrl')\n if (p.shift) parts.push('Shift')\n if (p.alt) parts.push('Alt')\n if (p.meta) parts.push('Meta')\n parts.push(p.key)\n return parts\n })\n\n const styles = props.styles\n\n return (\n <>\n <div class={styles().stateHeader}>\n <div class={styles().stateTitle}>\n {props.formatForDisplay(reg().hotkey)}\n </div>\n <div class={styles().infoGrid}>\n <div class={styles().infoLabel}>ID</div>\n <div class={styles().infoValueMono}>{reg().id}</div>\n <div class={styles().infoLabel}>Raw</div>\n <div class={styles().infoValueMono}>{reg().hotkey}</div>\n <div class={styles().infoLabel}>Target</div>\n <div class={styles().infoValueMono}>\n {props.getTargetDescription(reg().target)}\n </div>\n </div>\n </div>\n\n <div class={styles().detailsGrid}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Key Breakdown</div>\n <div class={styles().keyBreakdown}>\n <For each={keyParts()}>\n {(part, i) => (\n <>\n <Show when={i() > 0}>\n <span class={styles().keyBreakdownPlus}>+</span>\n </Show>\n <span class={styles().keyCapLarge}>{part}</span>\n </>\n )}\n </For>\n </div>\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons registration={reg()} />\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Options</div>\n <div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>enabled</span>\n <span\n class={\n reg().options.enabled !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.enabled !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>eventType</span>\n <span class={styles().optionValue}>\n {reg().options.eventType ?? 'keydown'}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>preventDefault</span>\n <span\n class={\n reg().options.preventDefault\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.preventDefault)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>stopPropagation</span>\n <span\n class={\n reg().options.stopPropagation\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.stopPropagation)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>ignoreInputs</span>\n <span\n class={\n reg().options.ignoreInputs !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.ignoreInputs !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>requireReset</span>\n <span\n class={\n reg().options.requireReset\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.requireReset)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>conflictBehavior</span>\n <span class={styles().optionValue}>{conflictBehavior()}</span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>hasFired</span>\n <span\n class={\n reg().hasFired\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().hasFired)}\n </span>\n </div>\n </div>\n </div>\n\n <Show when={allConflicts().length > 0}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>\n Conflicts ({allConflicts().length})\n </div>\n <div class={styles().conflictList}>\n <For each={targetConflicts()}>\n {(conflict) => {\n const itemStyle = () =>\n props.getConflictItemStyle(conflictBehavior(), true)\n const label = () =>\n props.getConflictLabel(conflictBehavior(), true)\n return (\n <div class={styles()[itemStyle()]}>\n <span>{label()}</span> {conflict.id}:{' '}\n {props.formatForDisplay(conflict.hotkey)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {props.getTargetDescription(conflict.target)}\n </div>\n )\n }}\n </For>\n <For each={scopeConflicts()}>\n {(conflict) => (\n <div class={styles().conflictItemScope}>\n <span>scope</span> {conflict.id}:{' '}\n {props.formatForDisplay(conflict.hotkey)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {props.getTargetDescription(conflict.target)}\n </div>\n )}\n </For>\n </div>\n </div>\n </Show>\n </div>\n </>\n )\n}\n\nfunction SequenceDetails(props: {\n registration: SequenceRegistrationView\n state: ReturnType<typeof useHotkeysDevtoolsState>\n getTargetDescription: (t: HTMLElement | Document | Window) => string\n findSequenceTargetConflicts: (\n r: SequenceRegistrationView,\n all: Array<SequenceRegistrationView>,\n ) => Array<SequenceRegistrationView>\n findSequenceScopeConflicts: (\n r: SequenceRegistrationView,\n all: Array<SequenceRegistrationView>,\n ) => Array<SequenceRegistrationView>\n getConflictItemStyle: (\n b: ConflictBehavior,\n same: boolean,\n ) =>\n | 'conflictItem'\n | 'conflictItemAllow'\n | 'conflictItemError'\n | 'conflictItemScope'\n getConflictLabel: (b: ConflictBehavior, same: boolean) => string\n formatHotkeySequence: (seq: HotkeySequence) => string\n formatForDisplay: (hotkey: string) => string\n styles: ReturnType<typeof useStyles>\n}) {\n const reg = () => props.registration\n const targetConflicts = createMemo(() =>\n props.findSequenceTargetConflicts(\n reg(),\n props.state.sequenceRegistrations(),\n ),\n )\n const scopeConflicts = createMemo(() =>\n props.findSequenceScopeConflicts(\n reg(),\n props.state.sequenceRegistrations(),\n ),\n )\n const allConflicts = createMemo(() => [\n ...targetConflicts(),\n ...scopeConflicts(),\n ])\n const conflictBehavior = (): ConflictBehavior =>\n reg().options.conflictBehavior ?? 'warn'\n\n const styles = props.styles\n\n return (\n <>\n <div class={styles().stateHeader}>\n <div class={styles().stateTitle}>\n {props.formatHotkeySequence(reg().sequence)}\n </div>\n <div class={styles().infoGrid}>\n <div class={styles().infoLabel}>ID</div>\n <div class={styles().infoValueMono}>{reg().id}</div>\n <div class={styles().infoLabel}>Sequence</div>\n <div class={styles().infoValueMono}>\n {props.formatHotkeySequence(reg().sequence)}\n </div>\n <div class={styles().infoLabel}>Target</div>\n <div class={styles().infoValueMono}>\n {props.getTargetDescription(reg().target)}\n </div>\n </div>\n </div>\n\n <div class={styles().detailsGrid}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Key Breakdown</div>\n <div class={styles().keyBreakdown}>\n <For each={reg().sequence}>\n {(step, i) => (\n <>\n <Show when={i() > 0}>\n <span class={styles().keyBreakdownPlus}>→</span>\n </Show>\n <span class={styles().keyCapLarge}>\n {props.formatForDisplay(step)}\n </span>\n </>\n )}\n </For>\n </div>\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons registration={reg()} />\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Options</div>\n <div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>enabled</span>\n <span\n class={\n reg().options.enabled !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.enabled !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>eventType</span>\n <span class={styles().optionValue}>\n {reg().options.eventType ?? 'keydown'}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>timeout</span>\n <span class={styles().optionValue}>\n {reg().options.timeout ?? 1000}ms\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>preventDefault</span>\n <span\n class={\n reg().options.preventDefault\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.preventDefault)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>stopPropagation</span>\n <span\n class={\n reg().options.stopPropagation\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!reg().options.stopPropagation)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>ignoreInputs</span>\n <span\n class={\n reg().options.ignoreInputs !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(reg().options.ignoreInputs !== false)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>conflictBehavior</span>\n <span class={styles().optionValue}>{conflictBehavior()}</span>\n </div>\n </div>\n </div>\n\n <Show when={allConflicts().length > 0}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>\n Conflicts ({allConflicts().length})\n </div>\n <div class={styles().conflictList}>\n <For each={targetConflicts()}>\n {(conflict) => {\n const itemStyle = () =>\n props.getConflictItemStyle(conflictBehavior(), true)\n const label = () =>\n props.getConflictLabel(conflictBehavior(), true)\n return (\n <div class={styles()[itemStyle()]}>\n <span>{label()}</span> {conflict.id}:{' '}\n {props.formatHotkeySequence(conflict.sequence)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {props.getTargetDescription(conflict.target)}\n </div>\n )\n }}\n </For>\n <For each={scopeConflicts()}>\n {(conflict) => (\n <div class={styles().conflictItemScope}>\n <span>scope</span> {conflict.id}:{' '}\n {props.formatHotkeySequence(conflict.sequence)} (\n {conflict.options.eventType ?? 'keydown'}) on{' '}\n {props.getTargetDescription(conflict.target)}\n </div>\n )}\n </For>\n </div>\n </div>\n </Show>\n </div>\n </>\n )\n}\n\nexport function DetailsPanel(props: DetailsPanelProps) {\n const styles = useStyles()\n const state = useHotkeysDevtoolsState()\n\n return (\n <div class={styles().stateDetails}>\n <Show\n when={props.selectedRegistration()}\n fallback={\n <div class={styles().noSelection}>\n Select a hotkey or sequence from the list to view its details\n </div>\n }\n >\n {(reg) => (\n <Show\n when={isSequenceRegistration(reg())}\n fallback={\n <HotkeyDetails\n registration={reg() as HotkeyRegistration}\n state={state}\n getTargetDescription={getTargetDescription}\n findTargetConflicts={findTargetConflicts}\n findScopeConflicts={findScopeConflicts}\n getConflictItemStyle={getConflictItemStyle}\n getConflictLabel={getConflictLabel}\n formatForDisplay={formatForDisplay}\n styles={styles}\n />\n }\n >\n <SequenceDetails\n registration={reg() as SequenceRegistrationView}\n state={state}\n getTargetDescription={getTargetDescription}\n findSequenceTargetConflicts={findSequenceTargetConflicts}\n findSequenceScopeConflicts={findSequenceScopeConflicts}\n getConflictItemStyle={getConflictItemStyle}\n getConflictLabel={getConflictLabel}\n formatHotkeySequence={formatHotkeySequence}\n formatForDisplay={formatForDisplay}\n styles={styles}\n />\n </Show>\n )}\n </Show>\n </div>\n )\n}\n"],"mappings":"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"}
|