@tanstack/hotkeys-devtools 0.4.4 → 0.7.0
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 +1 -1
- package/dist/HotkeysContextProvider.js +25 -2
- package/dist/HotkeysContextProvider.js.map +1 -1
- package/dist/components/DetailsPanel.js +367 -217
- package/dist/components/DetailsPanel.js.map +1 -1
- package/dist/components/HeldKeysTopbar.js +7 -4
- package/dist/components/HeldKeysTopbar.js.map +1 -1
- package/dist/components/HotkeyList.js +229 -195
- package/dist/components/HotkeyList.js.map +1 -1
- package/dist/components/Shell.js +100 -43
- package/dist/components/Shell.js.map +1 -1
- package/dist/sequence-progress.js +20 -0
- package/dist/sequence-progress.js.map +1 -0
- package/dist/styles/use-styles.js +107 -2
- package/dist/styles/use-styles.js.map +1 -1
- package/package.json +2 -2
- package/src/HotkeysContextProvider.tsx +35 -0
- package/src/components/DetailsPanel.tsx +201 -44
- package/src/components/HeldKeysTopbar.tsx +9 -5
- package/src/components/HotkeyList.tsx +187 -151
- package/src/components/Shell.tsx +101 -34
- package/src/sequence-progress.ts +29 -0
- package/src/styles/use-styles.ts +109 -2
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;;;AAYA,SAASY,YAAYC,UAAiC;AACpD,QAAOA,SAASE,KAAK,IAAI;;AAG3B,SAASC,uBACPC,KACiC;AACjC,QAAO,cAAcA,OAAOH,MAAMI,QAAQD,IAAIJ,SAAS;;AAUzD,SAASQ,qBAAqBC,QAAiD;AAC7E,KAAI,OAAOI,aAAa,eAAeJ,WAAWI,SAChD,QAAO;AAET,KAAI,OAAOC,WAAW,eAAeL,WAAWK,OAC9C,QAAO;AAET,KAAIL,kBAAkBC,YAMpB,QAAO,GALKD,OAAOO,QAAQC,aAAa,GAC7BR,OAAOS,KAAK,IAAIT,OAAOS,OAAO,KAC7BT,OAAOW,YACf,IAAIX,OAAOW,UAAUC,MAAM,IAAI,CAACnB,KAAK,IAAI,KACzC;AAGN,QAAO;;AAGT,SAASoB,oBACPC,cACAC,KAC2B;AAC3B,QAAOA,IAAIC,QACRC,UACCA,MAAMR,OAAOK,aAAaL,MAC1BQ,MAAMC,WAAWJ,aAAaI,UAC9BD,MAAME,QAAQC,cAAcN,aAAaK,QAAQC,aACjDH,MAAMjB,WAAWc,aAAad,OACjC;;AAGH,SAASqB,mBACPP,cACAC,KAC2B;AAC3B,QAAOA,IAAIC,QACRC,UACCA,MAAMR,OAAOK,aAAaL,MAC1BQ,MAAMC,WAAWJ,aAAaI,UAC9BD,MAAME,QAAQC,cAAcN,aAAaK,QAAQC,aACjDH,MAAMjB,WAAWc,aAAad,OACjC;;AAGH,SAASsB,4BACPR,cACAC,KACiC;AACjC,QAAOA,IAAIC,QACRC,UACCA,MAAMR,OAAOK,aAAaL,MAC1BnB,YAAY2B,MAAM1B,SAAS,KAAKD,YAAYwB,aAAavB,SAAS,IAClE0B,MAAME,QAAQC,cAAcN,aAAaK,QAAQC,aACjDH,MAAMjB,WAAWc,aAAad,OACjC;;AAGH,SAASuB,2BACPT,cACAC,KACiC;AACjC,QAAOA,IAAIC,QACRC,UACCA,MAAMR,OAAOK,aAAaL,MAC1BnB,YAAY2B,MAAM1B,SAAS,KAAKD,YAAYwB,aAAavB,SAAS,IAClE0B,MAAME,QAAQC,cAAcN,aAAaK,QAAQC,aACjDH,MAAMjB,WAAWc,aAAad,OACjC;;AAGH,SAASwB,qBACPC,UACAC,cAKsB;AACtB,KAAI,CAACA,aAAc,QAAO;AAC1B,KAAID,aAAa,QAAS,QAAO;AACjC,KAAIA,aAAa,QAAS,QAAO;AACjC,QAAO;;AAGT,SAASE,iBACPF,UACAC,cACQ;AACR,KAAI,CAACA,aAAc,QAAO;AAC1B,KAAID,aAAa,QAAS,QAAO;AACjC,KAAIA,aAAa,QAAS,QAAO;AACjC,KAAIA,aAAa,UAAW,QAAO;AACnC,QAAO;;AAGT,SAASG,cAAcC,OAuBpB;CACD,MAAMlC,YAAYkC,MAAMf;CACxB,MAAMuB,eAAe1C,KAAK,CAAC2C;CAC3B,MAAMC,kBAAkB3D,iBACtBiD,MAAMhB,oBAAoBlB,KAAK,EAAEkC,MAAMC,MAAMU,eAAe,CAC9D,CAAC;CACD,MAAMC,iBAAiB7D,iBACrBiD,MAAMR,mBAAmB1B,KAAK,EAAEkC,MAAMC,MAAMU,eAAe,CAC7D,CAAC;CACD,MAAME,eAAe9D,iBAAiB,CACpC,GAAG2D,iBAAiB,EACpB,GAAGE,gBAAgB,CACpB,CAAC;CACF,MAAME,yBACJhD,KAAK,CAACwB,QAAQwB,oBAAoB;CAEpC,MAAMC,WAAWhE,iBAAiB;EAChC,MAAMiE,QAAuB,EAAE;EAC/B,MAAMC,IAAIT,QAAQ;AAClB,MAAIS,EAAEC,KAAMF,OAAMG,KAAK,OAAO;AAC9B,MAAIF,EAAEG,MAAOJ,OAAMG,KAAK,QAAQ;AAChC,MAAIF,EAAEI,IAAKL,OAAMG,KAAK,MAAM;AAC5B,MAAIF,EAAEK,KAAMN,OAAMG,KAAK,OAAO;AAC9BH,QAAMG,KAAKF,EAAEM,IAAI;AACjB,SAAOP;GACP;CAEF,MAAMT,SAASP,MAAMO;AAErB,QAAA,QAAA;EAAA,IAAAiB,OAAAC,QAAA,EAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAG,aAAAC,QAAAF,MAAAD,YAAAI,QAAAD,MAAAD,aAAAG,QAAAD,MAAAF,aAAAI,QAAAD,MAAAH,aAAAK,QAAAD,MAAAJ,aAAAM,QAAAD,MAAAL;AAAAO,SAAAV,aAIS1B,MAAMhD,iBAAiBc,KAAK,CAACuB,OAAO,CAAA;AAAA+C,SAAAL,aAIAjE,KAAK,CAACc,GAAE;AAAAwD,SAAAH,aAERnE,KAAK,CAACuB,OAAM;AAAA+C,SAAAD,aAG9CnC,MAAM9B,qBAAqBJ,KAAK,CAACK,OAAO,CAAA;AAAAkE,UAAAC,QAAA;GAAA,IAAAC,MAXnChC,QAAQ,CAACiC,aAAWC,OAClBlC,QAAQ,CAACmC,YAAUC,OAGnBpC,QAAQ,CAACqC,UAAQC,OACftC,QAAQ,CAACuC,WAASC,OAClBxC,QAAQ,CAACyC,eAAaC,OACtB1C,QAAQ,CAACuC,WAASI,OAClB3C,QAAQ,CAACyC,eAAaG,OACtB5C,QAAQ,CAACuC,WAASM,OAClB7C,QAAQ,CAACyC;AAAaT,WAAAD,IAAAe,KAAAC,UAAA9B,MAAAc,IAAAe,IAAAd,IAAA;AAAAE,YAAAH,IAAAnC,KAAAmD,UAAA5B,OAAAY,IAAAnC,IAAAsC,KAAA;AAAAE,YAAAL,IAAAiB,KAAAD,UAAA1B,OAAAU,IAAAiB,IAAAZ,KAAA;AAAAE,YAAAP,IAAAkB,KAAAF,UAAAxB,OAAAQ,IAAAkB,IAAAX,KAAA;AAAAE,YAAAT,IAAAmB,KAAAH,UAAAvB,OAAAO,IAAAmB,IAAAV,KAAA;AAAAE,YAAAX,IAAAoB,KAAAJ,UAAAtB,OAAAM,IAAAoB,IAAAT,KAAA;AAAAC,YAAAZ,IAAAqB,KAAAL,UAAArB,OAAAK,IAAAqB,IAAAT,KAAA;AAAAC,YAAAb,IAAAsB,KAAAN,UAAApB,OAAAI,IAAAsB,IAAAT,KAAA;AAAAC,YAAAd,IAAAlC,KAAAkD,UAAAnB,OAAAG,IAAAlC,IAAAgD,KAAA;AAAA,UAAAd;KAAA;GAAAe,GAAAQ;GAAA1D,GAAA0D;GAAAN,GAAAM;GAAAL,GAAAK;GAAAJ,GAAAI;GAAAH,GAAAG;GAAAF,GAAAE;GAAAD,GAAAC;GAAAzD,GAAAyD;GAAA,CAAA;AAAA,SAAArC;KAAA,SAAA;EAAA,IAAAsC,QAAAC,SAAA,EAAAC,QAAAF,MAAAnC,YAAAsC,SAAAD,MAAArC,YAAAuC,SAAAD,OAAApC,aAAAsC,SAAAH,MAAAnC,aAAAuC,SAAAD,OAAAxC,YAAA0C,SAAAF,OAAAtC,aAAAyC,SAAAD,OAAA1C,YAAA6C,SAAAF,OAAAzC,YAAAF,YAAA8C,SAAAD,OAAA7C,YAAA+C,SAAAD,OAAA5C,aAAA8C,SAAAH,OAAA3C,aAAA+C,SAAAD,OAAAhD,YAAAkD,SAAAD,OAAA/C,aAAAiD,SAAAH,OAAA9C,aAAAkD,SAAAD,OAAAnD,YAAAqD,SAAAD,OAAAlD,aAAAoD,SAAAH,OAAAjD,aAAAqD,SAAAD,OAAAtD,YAAAwD,SAAAD,OAAArD,aAAAuD,SAAAH,OAAApD,aAAAwD,SAAAD,OAAAzD,YAAA2D,SAAAD,OAAAxD,aAAA0D,SAAAH,OAAAvD,aAAA2D,SAAAD,OAAA5D,YAAA8D,SAAAD,OAAA3D,aAAA6D,SAAAH,OAAA1D,aAAA8D,SAAAD,OAAA/D,YAAAiE,SAAAD,OAAA9D,aAAAgE,SAAAH,OAAA7D,aAAAiE,SAAAD,OAAAlE,YAAAoE,SAAAD,OAAAjE;AAAAO,SAAA8B,QAAA8B,gBAU/BnJ,KAAG;GAAA,IAACoJ,OAAI;AAAA,WAAElF,UAAU;;GAAAmF,WACjBC,MAAM1C,MAAC,CAAAuC,gBAEJlJ,MAAI;IAAA,IAACsJ,OAAI;AAAA,YAAE3C,GAAG,GAAG;;IAAC,IAAAyC,WAAA;KAAA,IAAAG,SAAAC,SAAA;AAAAjE,kBAAAiB,UAAA+C,QACJ9F,QAAQ,CAACgG,iBAAgB,CAAA;AAAA,YAAAF;;IAAA,CAAA,SAAA;IAAA,IAAAG,SAAAC,SAAA;AAAArE,WAAAoE,QAEJL,KAAI;AAAA9D,iBAAAiB,UAAAkD,QAA3BjG,QAAQ,CAACmG,YAAW,CAAA;AAAA,WAAAF;OAAA,CAAA;GAEpC,CAAA,CAAA;AAAApE,SAAA+B,QAAA6B,gBAOJ5I,eAAa,EAAA,IAAC6B,eAAY;AAAA,UAAEnB,KAAK;KAAA,CAAA,EAAA,KAAA;AAAAsE,SAAAsC,cAe3BiC,OAAO7I,KAAK,CAACwB,QAAQsH,YAAY,MAAM,CAAA;AAAAxE,SAAAyC,cAMvC/G,KAAK,CAACwB,QAAQC,aAAa,UAAS;AAAA6C,SAAA4C,cAYpC2B,OAAO,CAAC,CAAC7I,KAAK,CAACwB,QAAQuH,eAAe,CAAA;AAAAzE,SAAA+C,cAYtCwB,OAAO,CAAC,CAAC7I,KAAK,CAACwB,QAAQwH,gBAAgB,CAAA;AAAA1E,SAAAkD,cAYvCqB,OAAO7I,KAAK,CAACwB,QAAQyH,iBAAiB,MAAM,CAAA;AAAA3E,SAAAqD,cAY5CkB,OAAO,CAAC,CAAC7I,KAAK,CAACwB,QAAQ0H,aAAa,CAAA;AAAA5E,SAAAwD,QAKH9E,iBAAgB;AAAAsB,SAAA2D,cAWjDY,OAAO7I,KAAK,CAACmJ,SAAS,CAAA;AAAA7E,SAAA0B,OAAAkC,gBAM9BlJ,MAAI;GAAA,IAACsJ,OAAI;AAAA,WAAEvF,cAAc,CAACqG,SAAS;;GAAC,IAAAhB,WAAA;IAAA,IAAAiB,SAAAC,SAAA,EAAAC,SAAAF,OAAAxF,YAAA4F,SAAAF,OAAA1F,WAAAE;AAAA0F,WAAA1F;IAAA,IAAA4F,SAAAJ,OAAAxF;AAAAO,WAAAiF,cAGnBxG,cAAc,CAACqG,QAAMK,OAAA;AAAAnF,WAAAqF,QAAAzB,gBAGhCnJ,KAAG;KAAA,IAACoJ,OAAI;AAAA,aAAEvF,iBAAiB;;KAAAwF,WACxBwB,aAAa;MACb,MAAMC,kBACJ3H,MAAML,qBAAqBmB,kBAAkB,EAAE,KAAK;MACtD,MAAM8G,cACJ5H,MAAMF,iBAAiBgB,kBAAkB,EAAE,KAAK;AAClD,oBAAA;OAAA,IAAA+G,SAAAC,SAAA,EAAAC,SAAAF,OAAAlG,YAAAsG,SAAAF,OAAAlG,YAAAA,aAAAsG,SAAAF,OAAApG,YAAAA,aAAAwG,SAAAF,OAAAtG,YAAAA;AAAAwG,cAAAxG;AAAAO,cAAA2F,QAEWH,MAAK;AAAAxF,cAAAyF,cAAYH,SAAS9I,IAAEqJ,OAAA;AAAA7F,cAAAyF,cAClC7H,MAAMhD,iBAAiB0K,SAASrI,OAAO,EAAA8I,OAAA;AAAA/F,cAAAyF,cACvCH,SAASpI,QAAQC,aAAa,WAAS8I,OAAA;AAAAjG,cAAAyF,cACvC7H,MAAM9B,qBAAqBwJ,SAASvJ,OAAO,EAAA,KAAA;AAAAkE,oBAAAiB,UAAAuE,QAJlCtH,QAAQ,CAACoH,WAAW,EAAC,CAAA;AAAA,cAAAE;UAAA;;KAOpC,CAAA,EAAA,KAAA;AAAAzF,WAAAqF,QAAAzB,gBAEFnJ,KAAG;KAAA,IAACoJ,OAAI;AAAA,aAAErF,gBAAgB;;KAAAsF,WACvBwB,oBAAQ;MAAA,IAAAa,SAAAC,SAAA,EAAAG,SAAAJ,OAAA5G,WAAAE,YAAAA,aAAAgH,SAAAF,OAAA9G,YAAAA,aAAAkH,SAAAF,OAAAhH,YAAAA;AAAAkH,aAAAlH;AAAAO,aAAAmG,cAEcb,SAAS9I,IAAE+J,OAAA;AAAAvG,aAAAmG,cAC9BvI,MAAMhD,iBAAiB0K,SAASrI,OAAO,EAAAwJ,OAAA;AAAAzG,aAAAmG,cACvCb,SAASpI,QAAQC,aAAa,WAASwJ,OAAA;AAAA3G,aAAAmG,cACvCvI,MAAM9B,qBAAqBwJ,SAASvJ,OAAO,EAAA,KAAA;AAAAkE,mBAAAiB,UAAAiF,QAJlChI,QAAQ,CAAC0I,kBAAiB,CAAA;AAAA,aAAAV;SAAA;KAMvC,CAAA,EAAA,KAAA;AAAAlG,YAAAC,QAAA;KAAA,IAAA4G,OA7BK3I,QAAQ,CAAC4I,eAAaC,OACpB7I,QAAQ,CAAC8I,qBAAmBC,QAG5B/I,QAAQ,CAACgJ;AAAYL,cAAA5G,IAAAe,KAAAC,UAAA6D,QAAA7E,IAAAe,IAAA6F,KAAA;AAAAE,cAAA9G,IAAAnC,KAAAmD,UAAA+D,QAAA/E,IAAAnC,IAAAiJ,KAAA;AAAAE,eAAAhH,IAAAiB,KAAAD,UAAAmE,QAAAnF,IAAAiB,IAAA+F,MAAA;AAAA,YAAAhH;OAAA;KAAAe,GAAAQ;KAAA1D,GAAA0D;KAAAN,GAAAM;KAAA,CAAA;AAAA,WAAAsD;;GAAA,CAAA,EAAA,KAAA;AAAA9E,UAAAC,QAAA;GAAA,IAAAkH,QAnH3BjJ,QAAQ,CAACkJ,aAAWC,QAClBnJ,QAAQ,CAAC4I,eAAaQ,QACpBpJ,QAAQ,CAAC8I,qBAAmBO,QAC5BrJ,QAAQ,CAACsJ,cAAYC,QAcvBvJ,QAAQ,CAAC4I,eAAaY,QACpBxJ,QAAQ,CAAC8I,qBAAmBW,QAI9BzJ,QAAQ,CAAC4I,eAAac,QACpB1J,QAAQ,CAAC8I,qBAAmBa,QAE1B3J,QAAQ,CAAC4J,WAASC,QACf7J,QAAQ,CAAC8J,aAAWC,QAG7BxM,KAAK,CAACwB,QAAQsH,YAAY,QACtBrG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBC,QAMvBlK,QAAQ,CAAC4J,WAASO,QACfnK,QAAQ,CAAC8J,aAAWM,QACpBpK,QAAQ,CAACqK,aAAWC,QAIvBtK,QAAQ,CAAC4J,WAASW,QACfvK,QAAQ,CAAC8J,aAAWU,QAG7BjN,KAAK,CAACwB,QAAQuH,iBACVtG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBQ,QAMvBzK,QAAQ,CAAC4J,WAASc,QACf1K,QAAQ,CAAC8J,aAAWa,QAG7BpN,KAAK,CAACwB,QAAQwH,kBACVvG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBW,QAMvB5K,QAAQ,CAAC4J,WAASiB,QACf7K,QAAQ,CAAC8J,aAAWgB,QAG7BvN,KAAK,CAACwB,QAAQyH,iBAAiB,QAC3BxG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBc,QAMvB/K,QAAQ,CAAC4J,WAASoB,QACfhL,QAAQ,CAAC8J,aAAWmB,QAG7B1N,KAAK,CAACwB,QAAQ0H,eACVzG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBiB,QAMvBlL,QAAQ,CAAC4J,WAASuB,QACfnL,QAAQ,CAAC8J,aAAWsB,QACpBpL,QAAQ,CAACqK,aAAWgB,QAEvBrL,QAAQ,CAAC4J,WAAS0B,QACftL,QAAQ,CAAC8J,aAAWyB,QAG7BhO,KAAK,CAACmJ,WACF1G,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK;AAAgBhB,aAAAlH,IAAAe,KAAAC,UAAAQ,OAAAxB,IAAAe,IAAAmG,MAAA;AAAAE,aAAApH,IAAAnC,KAAAmD,UAAAU,OAAA1B,IAAAnC,IAAAuJ,MAAA;AAAAC,aAAArH,IAAAiB,KAAAD,UAAAW,QAAA3B,IAAAiB,IAAAoG,MAAA;AAAAC,aAAAtH,IAAAkB,KAAAF,UAAAY,QAAA5B,IAAAkB,IAAAoG,MAAA;AAAAE,aAAAxH,IAAAmB,KAAAH,UAAAa,QAAA7B,IAAAmB,IAAAqG,MAAA;AAAAC,aAAAzH,IAAAoB,KAAAJ,UAAAc,QAAA9B,IAAAoB,IAAAqG,MAAA;AAAAC,aAAA1H,IAAAqB,KAAAL,UAAAe,QAAA/B,IAAAqB,IAAAqG,MAAA;AAAAC,aAAA3H,IAAAsB,KAAAN,UAAAgB,QAAAhC,IAAAsB,IAAAqG,MAAA;AAAAC,aAAA5H,IAAAlC,KAAAkD,UAAAkB,QAAAlC,IAAAlC,IAAA8J,MAAA;AAAAE,aAAA9H,IAAAyJ,KAAAzI,UAAAmB,QAAAnC,IAAAyJ,IAAA3B,MAAA;AAAAE,aAAAhI,IAAA0J,KAAA1I,UAAAoB,QAAApC,IAAA0J,IAAA1B,MAAA;AAAAG,aAAAnI,IAAA2J,KAAA3I,UAAAqB,QAAArC,IAAA2J,IAAAxB,MAAA;AAAAC,aAAApI,IAAA4J,KAAA5I,UAAAsB,QAAAtC,IAAA4J,IAAAxB,MAAA;AAAAC,aAAArI,IAAA6J,KAAA7I,UAAAuB,QAAAvC,IAAA6J,IAAAxB,MAAA;AAAAE,aAAAvI,IAAA8J,KAAA9I,UAAAwB,QAAAxC,IAAA8J,IAAAvB,MAAA;AAAAC,aAAAxI,IAAA+J,KAAA/I,UAAAyB,QAAAzC,IAAA+J,IAAAvB,MAAA;AAAAC,aAAAzI,IAAAgK,KAAAhJ,UAAA0B,QAAA1C,IAAAgK,IAAAvB,MAAA;AAAAC,aAAA1I,IAAAiK,KAAAjJ,UAAA2B,QAAA3C,IAAAiK,IAAAvB,MAAA;AAAAC,aAAA3I,IAAArB,KAAAqC,UAAA4B,QAAA5C,IAAArB,IAAAgK,MAAA;AAAAC,aAAA5I,IAAAjC,KAAAiD,UAAA6B,QAAA7C,IAAAjC,IAAA6K,MAAA;AAAAC,aAAA7I,IAAAkK,KAAAlJ,UAAA8B,QAAA9C,IAAAkK,IAAArB,MAAA;AAAAC,aAAA9I,IAAAmK,KAAAnJ,UAAA+B,QAAA/C,IAAAmK,IAAArB,MAAA;AAAAC,aAAA/I,IAAAoK,KAAApJ,UAAAgC,QAAAhD,IAAAoK,IAAArB,MAAA;AAAAC,aAAAhJ,IAAAqK,KAAArJ,UAAAiC,QAAAjD,IAAAqK,IAAArB,MAAA;AAAAC,aAAAjJ,IAAAsK,KAAAtJ,UAAAkC,QAAAlD,IAAAsK,IAAArB,MAAA;AAAAC,aAAAlJ,IAAAuK,KAAAvJ,UAAAmC,QAAAnD,IAAAuK,IAAArB,MAAA;AAAAC,aAAAnJ,IAAAwK,KAAAxJ,UAAAoC,QAAApD,IAAAwK,IAAArB,MAAA;AAAAC,aAAApJ,IAAAyK,KAAAzJ,UAAAqC,QAAArD,IAAAyK,IAAArB,MAAA;AAAAC,aAAArJ,IAAA0K,KAAA1J,UAAAsC,QAAAtD,IAAA0K,IAAArB,MAAA;AAAAC,aAAAtJ,IAAA2K,KAAA3J,UAAAuC,QAAAvD,IAAA2K,IAAArB,MAAA;AAAAC,aAAAvJ,IAAA4K,KAAA5J,UAAAwC,QAAAxD,IAAA4K,IAAArB,MAAA;AAAAC,aAAAxJ,IAAA6K,KAAA7J,UAAAyC,QAAAzD,IAAA6K,IAAArB,MAAA;AAAA,UAAAxJ;KAAA;GAAAe,GAAAQ;GAAA1D,GAAA0D;GAAAN,GAAAM;GAAAL,GAAAK;GAAAJ,GAAAI;GAAAH,GAAAG;GAAAF,GAAAE;GAAAD,GAAAC;GAAAzD,GAAAyD;GAAAkI,GAAAlI;GAAAmI,GAAAnI;GAAAoI,GAAApI;GAAAqI,GAAArI;GAAAsI,GAAAtI;GAAAuI,GAAAvI;GAAAwI,GAAAxI;GAAAyI,GAAAzI;GAAA0I,GAAA1I;GAAA5C,GAAA4C;GAAAxD,GAAAwD;GAAA2I,GAAA3I;GAAA4I,GAAA5I;GAAA6I,GAAA7I;GAAA8I,GAAA9I;GAAA+I,GAAA/I;GAAAgJ,GAAAhJ;GAAAiJ,GAAAjJ;GAAAkJ,GAAAlJ;GAAAmJ,GAAAnJ;GAAAoJ,GAAApJ;GAAAqJ,GAAArJ;GAAAsJ,GAAAtJ;GAAA,CAAA;AAAA,SAAAC;KAAA,CAAA;;AAiD/C,SAASsJ,gBAAgBpN,OAwBtB;CACD,MAAMlC,YAAYkC,MAAMf;CACxB,MAAMyB,kBAAkB3D,iBACtBiD,MAAMP,4BACJ3B,KAAK,EACLkC,MAAMC,MAAMqN,uBACd,CACF,CAAC;CACD,MAAM1M,iBAAiB7D,iBACrBiD,MAAMN,2BACJ5B,KAAK,EACLkC,MAAMC,MAAMqN,uBACd,CACF,CAAC;CACD,MAAMzM,eAAe9D,iBAAiB,CACpC,GAAG2D,iBAAiB,EACpB,GAAGE,gBAAgB,CACpB,CAAC;CACF,MAAME,yBACJhD,KAAK,CAACwB,QAAQwB,oBAAoB;CAEpC,MAAMP,SAASP,MAAMO;AAErB,QAAA,QAAA;EAAA,IAAAgN,SAAAC,SAAA,EAAAC,SAAAF,OAAA5L,YAAA+L,SAAAD,OAAA5L,aAAA8L,SAAAD,OAAA/L,YAAAiM,SAAAD,OAAA9L,aAAAgM,SAAAD,OAAA/L,aAAAiM,SAAAD,OAAAhM,aAAAkM,SAAAD,OAAAjM,aAAAmM,SAAAD,OAAAlM;AAAAO,SAAAqL,cAISzN,MAAM/C,qBAAqBa,KAAK,CAACJ,SAAS,CAAA;AAAA0E,SAAAwL,cAIN9P,KAAK,CAACc,GAAE;AAAAwD,SAAA0L,cAG1C9N,MAAM/C,qBAAqBa,KAAK,CAACJ,SAAS,CAAA;AAAA0E,SAAA4L,cAI1ChO,MAAM9B,qBAAqBJ,KAAK,CAACK,OAAO,CAAA;AAAAkE,UAAAC,QAAA;GAAA,IAAA2L,QAbnC1N,QAAQ,CAACiC,aAAW0L,QAClB3N,QAAQ,CAACmC,YAAUyL,QAGnB5N,QAAQ,CAACqC,UAAQwL,QACf7N,QAAQ,CAACuC,WAASuL,QAClB9N,QAAQ,CAACyC,eAAasL,QACtB/N,QAAQ,CAACuC,WAASyL,QAClBhO,QAAQ,CAACyC,eAAawL,QAGtBjO,QAAQ,CAACuC,WAAS2L,QAClBlO,QAAQ,CAACyC;AAAaiL,aAAA3L,IAAAe,KAAAC,UAAAiK,QAAAjL,IAAAe,IAAA4K,MAAA;AAAAC,aAAA5L,IAAAnC,KAAAmD,UAAAmK,QAAAnL,IAAAnC,IAAA+N,MAAA;AAAAC,aAAA7L,IAAAiB,KAAAD,UAAAoK,QAAApL,IAAAiB,IAAA4K,MAAA;AAAAC,aAAA9L,IAAAkB,KAAAF,UAAAqK,QAAArL,IAAAkB,IAAA4K,MAAA;AAAAC,aAAA/L,IAAAmB,KAAAH,UAAAsK,QAAAtL,IAAAmB,IAAA4K,MAAA;AAAAC,aAAAhM,IAAAoB,KAAAJ,UAAAuK,QAAAvL,IAAAoB,IAAA4K,MAAA;AAAAC,aAAAjM,IAAAqB,KAAAL,UAAAwK,QAAAxL,IAAAqB,IAAA4K,MAAA;AAAAC,aAAAlM,IAAAsB,KAAAN,UAAAyK,QAAAzL,IAAAsB,IAAA4K,MAAA;AAAAC,aAAAnM,IAAAlC,KAAAkD,UAAA0K,QAAA1L,IAAAlC,IAAAqO,MAAA;AAAA,UAAAnM;KAAA;GAAAe,GAAAQ;GAAA1D,GAAA0D;GAAAN,GAAAM;GAAAL,GAAAK;GAAAJ,GAAAI;GAAAH,GAAAG;GAAAF,GAAAE;GAAAD,GAAAC;GAAAzD,GAAAyD;GAAA,CAAA;AAAA,SAAA0J;KAAA,SAAA;EAAA,IAAAmB,SAAAC,SAAA,EAAAC,SAAAF,OAAA/M,YAAAkN,SAAAD,OAAAjN,YAAAmN,SAAAD,OAAAhN,aAAAkN,SAAAH,OAAA/M,aAAAmN,SAAAD,OAAApN,YAAAsN,SAAAF,OAAAlN,aAAAqN,SAAAD,OAAAtN,YAAAyN,SAAAF,OAAArN,YAAAF,YAAA0N,SAAAD,OAAAzN,YAAA2N,SAAAD,OAAAxN,aAAA0N,SAAAH,OAAAvN,aAAA2N,SAAAD,OAAA5N,YAAA8N,SAAAD,OAAA3N,aAAA6N,SAAAH,OAAA1N,aAAA8N,SAAAD,OAAA/N,YAAAiO,SAAAD,OAAA9N,aAAAgO,SAAAD,OAAAjO,YAAAmO,SAAAJ,OAAA7N,aAAAkO,UAAAD,OAAAnO,YAAAqO,UAAAD,QAAAlO,aAAAoO,UAAAH,OAAAjO,aAAAqO,UAAAD,QAAAtO,YAAAwO,UAAAD,QAAArO,aAAAuO,UAAAH,QAAApO,aAAAwO,UAAAD,QAAAzO,YAAA2O,UAAAD,QAAAxO,aAAA0O,UAAAH,QAAAvO,aAAA2O,UAAAD,QAAA5O,YAAA8O,UAAAD,QAAA3O;AAAAO,SAAA0M,QAAA9I,gBAU/BnJ,KAAG;GAAA,IAACoJ,OAAI;AAAA,WAAEnI,KAAK,CAACJ;;GAAQwI,WACrBwK,MAAMjN,MAAC,CAAAuC,gBAEJlJ,MAAI;IAAA,IAACsJ,OAAI;AAAA,YAAE3C,GAAG,GAAG;;IAAC,IAAAyC,WAAA;KAAA,IAAAyK,UAAAC,SAAA;AAAAvO,kBAAAiB,UAAAqN,SACJpQ,QAAQ,CAACgG,iBAAgB,CAAA;AAAA,YAAAoK;;IAAA,CAAA,SAAA;IAAA,IAAAE,UAAApK,SAAA;AAAArE,WAAAyO,eAGrC7Q,MAAMhD,iBAAiB0T,KAAK,CAAA;AAAArO,iBAAAiB,UAAAuN,SADlBtQ,QAAQ,CAACmG,YAAW,CAAA;AAAA,WAAAmK;OAAA,CAAA;GAIpC,CAAA,CAAA;AAAAzO,SAAA2M,QAAA/I,gBAOJ5I,eAAa,EAAA,IAAC6B,eAAY;AAAA,UAAEnB,KAAK;KAAA,CAAA,EAAA,KAAA;AAAAsE,SAAAkN,cAe3B3I,OAAO7I,KAAK,CAACwB,QAAQsH,YAAY,MAAM,CAAA;AAAAxE,SAAAqN,cAMvC3R,KAAK,CAACwB,QAAQC,aAAa,UAAS;AAAA6C,SAAAwN,cAMpC9R,KAAK,CAACwB,QAAQwR,WAAW,KAAIjB,OAAA;AAAAzN,SAAA4N,eAY7BrJ,OAAO,CAAC,CAAC7I,KAAK,CAACwB,QAAQuH,eAAe,CAAA;AAAAzE,SAAA+N,eAYtCxJ,OAAO,CAAC,CAAC7I,KAAK,CAACwB,QAAQwH,gBAAgB,CAAA;AAAA1E,SAAAkO,eAYvC3J,OAAO7I,KAAK,CAACwB,QAAQyH,iBAAiB,MAAM,CAAA;AAAA3E,SAAAqO,SAKX3P,iBAAgB;AAAAsB,SAAAsM,QAAA1I,gBAKzDlJ,MAAI;GAAA,IAACsJ,OAAI;AAAA,WAAEvF,cAAc,CAACqG,SAAS;;GAAC,IAAAhB,WAAA;IAAA,IAAA6K,UAAA3J,SAAA,EAAA4J,UAAAD,QAAApP,YAAAuP,UAAAF,QAAArP,WAAAE;AAAAqP,YAAArP;IAAA,IAAAuP,UAAAJ,QAAAnP;AAAAO,WAAA4O,eAGnBnQ,cAAc,CAACqG,QAAMgK,QAAA;AAAA9O,WAAAgP,SAAApL,gBAGhCnJ,KAAG;KAAA,IAACoJ,OAAI;AAAA,aAAEvF,iBAAiB;;KAAAwF,WACxBwB,aAAa;MACb,MAAMC,kBACJ3H,MAAML,qBAAqBmB,kBAAkB,EAAE,KAAK;MACtD,MAAM8G,cACJ5H,MAAMF,iBAAiBgB,kBAAkB,EAAE,KAAK;AAClD,oBAAA;OAAA,IAAAuQ,UAAAvJ,SAAA,EAAAwJ,UAAAD,QAAA1P,YAAA6P,UAAAF,QAAAzP,YAAAA,aAAA6P,UAAAF,QAAA3P,YAAAA,aAAA+P,UAAAF,QAAA7P,YAAAA;AAAA+P,eAAA/P;AAAAO,cAAAkP,SAEW1J,MAAK;AAAAxF,cAAAiP,eAAY3J,SAAS9I,IAAE4S,QAAA;AAAApP,cAAAiP,eAClCrR,MAAM/C,qBAAqByK,SAAShK,SAAS,EAAAgU,QAAA;AAAAtP,cAAAiP,eAC7C3J,SAASpI,QAAQC,aAAa,WAASqS,QAAA;AAAAxP,cAAAiP,eACvCrR,MAAM9B,qBAAqBwJ,SAASvJ,OAAO,EAAA,KAAA;AAAAkE,oBAAAiB,UAAA+N,SAJlC9Q,QAAQ,CAACoH,WAAW,EAAC,CAAA;AAAA,cAAA0J;UAAA;;KAOpC,CAAA,EAAA,KAAA;AAAAjP,WAAAgP,SAAApL,gBAEFnJ,KAAG;KAAA,IAACoJ,OAAI;AAAA,aAAErF,gBAAgB;;KAAAsF,WACvBwB,oBAAQ;MAAA,IAAAoK,UAAAtJ,SAAA,EAAAyJ,UAAAH,QAAAnQ,WAAAE,YAAAA,aAAAsQ,UAAAF,QAAApQ,YAAAA,aAAAwQ,UAAAF,QAAAtQ,YAAAA;AAAAwQ,cAAAxQ;AAAAO,aAAA0P,eAEcpK,SAAS9I,IAAEqT,QAAA;AAAA7P,aAAA0P,eAC9B9R,MAAM/C,qBAAqByK,SAAShK,SAAS,EAAAyU,QAAA;AAAA/P,aAAA0P,eAC7CpK,SAASpI,QAAQC,aAAa,WAAS8S,QAAA;AAAAjQ,aAAA0P,eACvC9R,MAAM9B,qBAAqBwJ,SAASvJ,OAAO,EAAA,KAAA;AAAAkE,mBAAAiB,UAAAwO,SAJlCvR,QAAQ,CAAC0I,kBAAiB,CAAA;AAAA,aAAA6I;SAAA;KAMvC,CAAA,EAAA,KAAA;AAAAzP,YAAAC,QAAA;KAAA,IAAAiQ,QA7BKhS,QAAQ,CAAC4I,eAAaqJ,QACpBjS,QAAQ,CAAC8I,qBAAmBoJ,QAG5BlS,QAAQ,CAACgJ;AAAYgJ,eAAAjQ,IAAAe,KAAAC,UAAAyN,SAAAzO,IAAAe,IAAAkP,MAAA;AAAAC,eAAAlQ,IAAAnC,KAAAmD,UAAA0N,SAAA1O,IAAAnC,IAAAqS,MAAA;AAAAC,eAAAnQ,IAAAiB,KAAAD,UAAA8N,SAAA9O,IAAAiB,IAAAkP,MAAA;AAAA,YAAAnQ;OAAA;KAAAe,GAAAQ;KAAA1D,GAAA0D;KAAAN,GAAAM;KAAA,CAAA;AAAA,WAAAkN;;GAAA,CAAA,EAAA,KAAA;AAAA1O,UAAAC,QAAA;GAAA,IAAAoQ,QAnG3BnS,QAAQ,CAACkJ,aAAWkJ,QAClBpS,QAAQ,CAAC4I,eAAayJ,QACpBrS,QAAQ,CAAC8I,qBAAmBwJ,QAC5BtS,QAAQ,CAACsJ,cAAYiJ,QAgBvBvS,QAAQ,CAAC4I,eAAa4J,QACpBxS,QAAQ,CAAC8I,qBAAmB2J,QAI9BzS,QAAQ,CAAC4I,eAAa8J,QACpB1S,QAAQ,CAAC8I,qBAAmB6J,QAE1B3S,QAAQ,CAAC4J,WAASgJ,QACf5S,QAAQ,CAAC8J,aAAW+I,QAG7BtV,KAAK,CAACwB,QAAQsH,YAAY,QACtBrG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgB6I,QAMvB9S,QAAQ,CAAC4J,WAASmJ,QACf/S,QAAQ,CAAC8J,aAAWkJ,QACpBhT,QAAQ,CAACqK,aAAW4I,QAIvBjT,QAAQ,CAAC4J,WAASsJ,QACflT,QAAQ,CAAC8J,aAAWqJ,QACpBnT,QAAQ,CAACqK,aAAW+I,QAIvBpT,QAAQ,CAAC4J,WAASyJ,QACfrT,QAAQ,CAAC8J,aAAWwJ,QAG7B/V,KAAK,CAACwB,QAAQuH,iBACVtG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgBsJ,QAMvBvT,QAAQ,CAAC4J,WAAS4J,QACfxT,QAAQ,CAAC8J,aAAW2J,QAG7BlW,KAAK,CAACwB,QAAQwH,kBACVvG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgByJ,QAMvB1T,QAAQ,CAAC4J,WAAS+J,QACf3T,QAAQ,CAAC8J,aAAW8J,QAG7BrW,KAAK,CAACwB,QAAQyH,iBAAiB,QAC3BxG,QAAQ,CAACgK,kBACThK,QAAQ,CAACiK,kBAAgB4J,QAMvB7T,QAAQ,CAAC4J,WAASkK,QACf9T,QAAQ,CAAC8J,aAAWiK,QACpB/T,QAAQ,CAACqK;AAAW8H,aAAApQ,IAAAe,KAAAC,UAAAoL,QAAApM,IAAAe,IAAAqP,MAAA;AAAAC,aAAArQ,IAAAnC,KAAAmD,UAAAsL,QAAAtM,IAAAnC,IAAAwS,MAAA;AAAAC,aAAAtQ,IAAAiB,KAAAD,UAAAuL,QAAAvM,IAAAiB,IAAAqP,MAAA;AAAAC,aAAAvQ,IAAAkB,KAAAF,UAAAwL,QAAAxM,IAAAkB,IAAAqP,MAAA;AAAAC,aAAAxQ,IAAAmB,KAAAH,UAAAyL,QAAAzM,IAAAmB,IAAAqP,MAAA;AAAAC,aAAAzQ,IAAAoB,KAAAJ,UAAA0L,QAAA1M,IAAAoB,IAAAqP,MAAA;AAAAC,aAAA1Q,IAAAqB,KAAAL,UAAA2L,QAAA3M,IAAAqB,IAAAqP,MAAA;AAAAC,aAAA3Q,IAAAsB,KAAAN,UAAA4L,QAAA5M,IAAAsB,IAAAqP,MAAA;AAAAC,aAAA5Q,IAAAlC,KAAAkD,UAAA8L,QAAA9M,IAAAlC,IAAA8S,MAAA;AAAAC,aAAA7Q,IAAAyJ,KAAAzI,UAAA+L,QAAA/M,IAAAyJ,IAAAoH,MAAA;AAAAC,aAAA9Q,IAAA0J,KAAA1I,UAAAgM,QAAAhN,IAAA0J,IAAAoH,MAAA;AAAAC,aAAA/Q,IAAA2J,KAAA3I,UAAAiM,QAAAjN,IAAA2J,IAAAoH,MAAA;AAAAC,aAAAhR,IAAA4J,KAAA5I,UAAAkM,QAAAlN,IAAA4J,IAAAoH,MAAA;AAAAC,aAAAjR,IAAA6J,KAAA7I,UAAAmM,QAAAnN,IAAA6J,IAAAoH,MAAA;AAAAC,aAAAlR,IAAA8J,KAAA9I,UAAAoM,QAAApN,IAAA8J,IAAAoH,MAAA;AAAAC,aAAAnR,IAAA+J,KAAA/I,UAAAqM,QAAArN,IAAA+J,IAAAoH,MAAA;AAAAC,aAAApR,IAAAgK,KAAAhJ,UAAAsM,QAAAtN,IAAAgK,IAAAoH,MAAA;AAAAC,aAAArR,IAAAiK,KAAAjJ,UAAAwM,QAAAxN,IAAAiK,IAAAoH,MAAA;AAAAC,aAAAtR,IAAArB,KAAAqC,UAAAyM,SAAAzN,IAAArB,IAAA2S,MAAA;AAAAC,aAAAvR,IAAAjC,KAAAiD,UAAA0M,SAAA1N,IAAAjC,IAAAwT,MAAA;AAAAC,aAAAxR,IAAAkK,KAAAlJ,UAAA2M,SAAA3N,IAAAkK,IAAAsH,MAAA;AAAAC,aAAAzR,IAAAmK,KAAAnJ,UAAA4M,SAAA5N,IAAAmK,IAAAsH,MAAA;AAAAC,aAAA1R,IAAAoK,KAAApJ,UAAA6M,SAAA7N,IAAAoK,IAAAsH,MAAA;AAAAC,aAAA3R,IAAAqK,KAAArJ,UAAA8M,SAAA9N,IAAAqK,IAAAsH,MAAA;AAAAC,aAAA5R,IAAAsK,KAAAtJ,UAAA+M,SAAA/N,IAAAsK,IAAAsH,MAAA;AAAAC,aAAA7R,IAAAuK,KAAAvJ,UAAAgN,SAAAhO,IAAAuK,IAAAsH,MAAA;AAAAC,aAAA9R,IAAAwK,KAAAxJ,UAAAiN,SAAAjO,IAAAwK,IAAAsH,MAAA;AAAAC,aAAA/R,IAAAyK,KAAAzJ,UAAAkN,SAAAlO,IAAAyK,IAAAsH,MAAA;AAAAC,aAAAhS,IAAA0K,KAAA1J,UAAAmN,SAAAnO,IAAA0K,IAAAsH,MAAA;AAAA,UAAAhS;KAAA;GAAAe,GAAAQ;GAAA1D,GAAA0D;GAAAN,GAAAM;GAAAL,GAAAK;GAAAJ,GAAAI;GAAAH,GAAAG;GAAAF,GAAAE;GAAAD,GAAAC;GAAAzD,GAAAyD;GAAAkI,GAAAlI;GAAAmI,GAAAnI;GAAAoI,GAAApI;GAAAqI,GAAArI;GAAAsI,GAAAtI;GAAAuI,GAAAvI;GAAAwI,GAAAxI;GAAAyI,GAAAzI;GAAA0I,GAAA1I;GAAA5C,GAAA4C;GAAAxD,GAAAwD;GAAA2I,GAAA3I;GAAA4I,GAAA5I;GAAA6I,GAAA7I;GAAA8I,GAAA9I;GAAA+I,GAAA/I;GAAAgJ,GAAAhJ;GAAAiJ,GAAAjJ;GAAAkJ,GAAAlJ;GAAAmJ,GAAAnJ;GAAA,CAAA;AAAA,SAAA6K;KAAA,CAAA;;AA6C/C,SAAgB6F,aAAavU,OAA0B;CACrD,MAAMO,SAASrD,WAAW;CAC1B,MAAM+C,QAAQ9C,yBAAyB;AAEvC,eAAA;EAAA,IAAAqX,UAAAC,SAAA;AAAArS,SAAAoS,SAAAxO,gBAEKlJ,MAAI;GAAA,IACHsJ,OAAI;AAAA,WAAEpG,MAAM/B,sBAAsB;;GAAA,IAClCyW,WAAQ;AAAA,kBAAA;KAAA,IAAAC,UAAAC,UAAA;AAAAvS,kBAAAiB,UAAAqR,SACMpU,QAAQ,CAACsU,YAAW,CAAA;AAAA,YAAAF;QAAA;;GAAAzO,WAKhCpI,QAAGkI,gBACFlJ,MAAI;IAAA,IACHsJ,OAAI;AAAA,YAAEvI,uBAAuBC,KAAK,CAAC;;IAAA,IACnC4W,WAAQ;AAAA,YAAA1O,gBACLjG,eAAa;MAAA,IACZd,eAAY;AAAA,cAAEnB,KAAK;;MACZmC;MACe/B;MACDc;MACDQ;MACEG;MACJG;MACA9C;MACVuD;MAAM,CAAA;;IAAA,IAAA2F,WAAA;AAAA,YAAAF,gBAIjBoH,iBAAe;MAAA,IACdnO,eAAY;AAAA,cAAEnB,KAAK;;MACZmC;MACe/B;MACOuB;MACDC;MACNC;MACJG;MACI7C;MACJD;MACVuD;MAAM,CAAA;;IAAA,CAAA;GAGnB,CAAA,CAAA;AAAA8B,eAAAiB,UAAAkR,SAvCOjU,QAAQ,CAACuU,aAAY,CAAA;AAAA,SAAAN;KAAA"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.js","names":["For","Show","createMemo","clsx","detectPlatform","formatForDisplay","formatHotkeySequence","normalizeHotkey","normalizeHotkeyFromParsed","parseHotkey","useStyles","useHotkeysDevtoolsState","effectiveSequenceMatchedSteps","ActionButtons","ConflictBehavior","FormatDisplayOptions","HotkeyRegistration","HotkeySequence","ParsedHotkey","RegisterableHotkey","SequenceRegistrationView","PLATFORM_ROWS","id","const","label","KeyBreakdownPlatformTable","props","getParsed","getCanonicalPlatform","styles","ReturnType","st","_el$","_tmpl$","_$insert","_$createComponent","each","children","row","_el$2","_tmpl$2","_el$3","firstChild","_el$4","nextSibling","platform","_$effect","_p$","_v$","platformBreakdownRow","_v$2","platformBreakdownLabel","_v$3","platformBreakdownPretty","e","_$className","t","a","undefined","platformBreakdown","sequenceKey","sequence","Array","join","isSequenceRegistration","reg","isArray","DetailsPanelProps","selectedRegistration","getTargetDescription","target","HTMLElement","Document","Window","document","window","tag","tagName","toLowerCase","cls","className","split","findTargetConflicts","registration","all","filter","other","hotkey","options","eventType","findScopeConflicts","findSequenceTargetConflicts","findSequenceScopeConflicts","getConflictItemStyle","behavior","isSameTarget","getConflictLabel","HotkeyDetails","state","r","b","same","parsed","parsedHotkey","targetConflicts","registrations","scopeConflicts","allConflicts","conflictBehavior","registrationPlatform","rawModParts","_el$5","_tmpl$3","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","_el$10","_el$11","_v$4","stateHeader","_v$5","stateTitle","_v$6","infoGrid","_v$7","infoLabel","_v$8","infoValueMono","_v$9","_v$0","_v$1","_v$10","o","i","n","s","h","_el$12","_tmpl$5","_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","_el$43","_el$44","_el$45","_el$46","_el$47","_el$48","part","when","_el$55","_tmpl$6","keyBreakdownPlus","_el$56","_tmpl$7","keyCapLarge","String","enabled","preventDefault","stopPropagation","ignoreInputs","requireReset","hasFired","length","_el$49","_tmpl$4","_el$50","_el$51","_el$53","_el$52","_el$54","conflict","itemStyle","_el$57","_tmpl$8","_el$58","_el$59","_el$65","_el$60","_el$66","_el$62","_el$67","_el$63","_el$68","_tmpl$9","_el$69","_el$70","_el$76","_el$71","_el$77","_el$73","_el$78","_el$74","conflictItemScope","_v$11","detailSection","_v$12","detailSectionHeader","_v$13","conflictList","_v$14","detailsGrid","_v$15","_v$16","_v$17","keyBreakdownSplitRow","_v$18","keyBreakdownSplitLeft","_v$19","keyBreakdown","_v$20","keyBreakdownSplitArrow","_v$21","keyBreakdownSplitRight","_v$22","_v$23","_v$24","_v$25","_v$26","optionRow","_v$27","optionLabel","_v$28","optionValueTrue","optionValueFalse","_v$29","_v$30","_v$31","optionValue","_v$32","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","_v$39","_v$40","_v$41","_v$42","_v$43","_v$44","_v$45","_v$46","_v$47","_v$48","_v$49","d","l","u","c","w","m","f","y","g","p","T","A","O","I","S","W","C","B","v","k","x","j","q","z","P","H","SequenceDetails","seq","liveReg","sequenceRegistrations","find","matchedSteps","sequenceProgressNow","sequenceCanonicalPlatform","_el$79","_tmpl$0","_el$80","_el$81","_el$82","_el$83","_el$84","_el$85","_el$86","_el$87","step","_el$126","_tmpl$10","_el$127","sequenceStepMatched","_el$128","_el$129","_v$50","_v$51","_v$52","_v$53","_v$54","_v$55","_v$56","_v$57","_v$58","_el$88","_tmpl$1","_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","_el$111","_el$112","_el$113","_el$114","_el$115","_el$116","_el$117","_el$118","_el$119","_el$130","_tmpl$11","_el$131","keyCapLargeInProgress","stepIdx","stepParsed","stepRawParts","_el$132","_tmpl$12","_el$133","_el$134","_el$135","_el$136","_el$137","_el$138","_el$139","_el$140","_el$141","_v$92","sequenceChordDetail","_v$93","keyBreakdownSubHeader","_v$94","_v$95","_v$96","_v$97","_v$98","timeout","_el$120","_el$121","_el$122","_el$124","_el$123","_el$125","_el$142","_el$143","_el$144","_el$150","_el$145","_el$151","_el$147","_el$152","_el$148","_el$153","_el$154","_el$155","_el$161","_el$156","_el$162","_el$158","_el$163","_el$159","_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","_v$84","_v$85","_v$86","_v$87","_v$88","_v$89","_v$90","_v$91","DetailsPanel","_el$164","fallback","_el$165","_tmpl$13","noSelection","stateDetails"],"sources":["../../src/components/DetailsPanel.tsx"],"sourcesContent":["import { For, Show, createMemo } from 'solid-js'\nimport clsx from 'clsx'\nimport {\n detectPlatform,\n formatForDisplay,\n formatHotkeySequence,\n normalizeHotkey,\n normalizeHotkeyFromParsed,\n parseHotkey,\n} from '@tanstack/hotkeys'\nimport { useStyles } from '../styles/use-styles'\nimport { useHotkeysDevtoolsState } from '../HotkeysContextProvider'\nimport { effectiveSequenceMatchedSteps } from '../sequence-progress'\nimport { ActionButtons } from './ActionButtons'\nimport type {\n ConflictBehavior,\n FormatDisplayOptions,\n HotkeyRegistration,\n HotkeySequence,\n ParsedHotkey,\n RegisterableHotkey,\n SequenceRegistrationView,\n} from '@tanstack/hotkeys'\n\nconst PLATFORM_ROWS = [\n { id: 'mac' as const, label: 'macOS' },\n { id: 'windows' as const, label: 'Windows' },\n { id: 'linux' as const, label: 'Linux' },\n]\n\nfunction KeyBreakdownPlatformTable(props: {\n getParsed: () => ParsedHotkey\n /** Platform used when the parsed hotkey was produced (registration `options.platform`). */\n getCanonicalPlatform: () => 'mac' | 'windows' | 'linux'\n styles: ReturnType<typeof useStyles>\n}) {\n const st = () => props.styles()\n return (\n <div class={st().platformBreakdown}>\n <For each={PLATFORM_ROWS}>\n {(row) => (\n <div class={st().platformBreakdownRow}>\n <span class={st().platformBreakdownLabel}>{row.label}</span>\n <span class={st().platformBreakdownPretty}>\n {formatForDisplay(\n normalizeHotkeyFromParsed(\n props.getParsed(),\n props.getCanonicalPlatform(),\n ),\n {\n platform: row.id,\n },\n )}\n </span>\n </div>\n )}\n </For>\n </div>\n )\n}\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: (\n hotkey: RegisterableHotkey,\n options?: FormatDisplayOptions,\n ) => 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 registrationPlatform = () => reg().options.platform ?? detectPlatform()\n\n const rawModParts = createMemo(() =>\n normalizeHotkeyFromParsed(parsed(), registrationPlatform()).split('+'),\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().keyBreakdownSplitRow}>\n <div class={styles().keyBreakdownSplitLeft}>\n <div class={styles().keyBreakdown}>\n <For each={rawModParts()}>\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 <span class={styles().keyBreakdownSplitArrow} aria-hidden=\"true\">\n {'->'}\n </span>\n <div class={styles().keyBreakdownSplitRight}>\n <KeyBreakdownPlatformTable\n getParsed={() => parsed()}\n getCanonicalPlatform={registrationPlatform}\n styles={props.styles}\n />\n </div>\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: (\n hotkey: RegisterableHotkey,\n options?: FormatDisplayOptions,\n ) => string\n styles: ReturnType<typeof useStyles>\n}) {\n const reg = () => props.registration\n const liveReg = createMemo(\n () =>\n props.state.sequenceRegistrations().find((r) => r.id === reg().id) ??\n reg(),\n )\n const matchedSteps = createMemo(() =>\n effectiveSequenceMatchedSteps(liveReg(), props.state.sequenceProgressNow()),\n )\n const targetConflicts = createMemo(() =>\n props.findSequenceTargetConflicts(\n liveReg(),\n props.state.sequenceRegistrations(),\n ),\n )\n const scopeConflicts = createMemo(() =>\n props.findSequenceScopeConflicts(\n liveReg(),\n props.state.sequenceRegistrations(),\n ),\n )\n const allConflicts = createMemo(() => [\n ...targetConflicts(),\n ...scopeConflicts(),\n ])\n const conflictBehavior = (): ConflictBehavior =>\n liveReg().options.conflictBehavior ?? 'warn'\n\n const sequenceCanonicalPlatform = createMemo(\n () => liveReg().options.platform ?? detectPlatform(),\n )\n\n const styles = props.styles\n\n return (\n <>\n <div class={styles().stateHeader}>\n <div class={styles().stateTitle}>\n <For each={liveReg().sequence}>\n {(step, i) => (\n <span>\n <Show when={i() > 0}> </Show>\n <span\n class={\n i() < matchedSteps()\n ? styles().sequenceStepMatched\n : undefined\n }\n >\n {props.formatForDisplay(step)}\n </span>\n </span>\n )}\n </For>\n </div>\n <div class={styles().infoGrid}>\n <div class={styles().infoLabel}>ID</div>\n <div class={styles().infoValueMono}>{liveReg().id}</div>\n <div class={styles().infoLabel}>Sequence</div>\n <div class={styles().infoValueMono}>\n <For each={liveReg().sequence}>\n {(step, i) => (\n <span>\n <Show when={i() > 0}> </Show>\n <span\n class={\n i() < matchedSteps()\n ? styles().sequenceStepMatched\n : undefined\n }\n >\n {props.formatForDisplay(step)}\n </span>\n </span>\n )}\n </For>\n </div>\n <div class={styles().infoLabel}>Target</div>\n <div class={styles().infoValueMono}>\n {props.getTargetDescription(liveReg().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={liveReg().sequence}>\n {(step, i) => (\n <>\n <Show when={i() > 0}>\n <span class={styles().keyBreakdownPlus}>→</span>\n </Show>\n <span\n class={clsx(\n styles().keyCapLarge,\n i() < matchedSteps() && styles().keyCapLargeInProgress,\n )}\n >\n {props.formatForDisplay(step)}\n </span>\n </>\n )}\n </For>\n </div>\n\n <div class={styles().keyBreakdownSubHeader}>Each chord</div>\n <For each={liveReg().sequence}>\n {(step, stepIdx) => {\n const stepParsed = () =>\n parseHotkey(step, sequenceCanonicalPlatform())\n const stepRawParts = () =>\n normalizeHotkey(step, sequenceCanonicalPlatform()).split('+')\n return (\n <div class={styles().sequenceChordDetail}>\n <div class={styles().keyBreakdownSubHeader}>\n Step {stepIdx() + 1}\n </div>\n <div class={styles().keyBreakdownSplitRow}>\n <div class={styles().keyBreakdownSplitLeft}>\n <div class={styles().keyBreakdown}>\n <For each={stepRawParts()}>\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 <span\n class={styles().keyBreakdownSplitArrow}\n aria-hidden=\"true\"\n >\n {'->'}\n </span>\n <div class={styles().keyBreakdownSplitRight}>\n <KeyBreakdownPlatformTable\n getParsed={stepParsed}\n getCanonicalPlatform={() => sequenceCanonicalPlatform()}\n styles={props.styles}\n />\n </div>\n </div>\n </div>\n )\n }}\n </For>\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons registration={liveReg()} />\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 liveReg().options.enabled !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(liveReg().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 {liveReg().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 {liveReg().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 liveReg().options.preventDefault\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!liveReg().options.preventDefault)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>stopPropagation</span>\n <span\n class={\n liveReg().options.stopPropagation\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(!!liveReg().options.stopPropagation)}\n </span>\n </div>\n <div class={styles().optionRow}>\n <span class={styles().optionLabel}>ignoreInputs</span>\n <span\n class={\n liveReg().options.ignoreInputs !== false\n ? styles().optionValueTrue\n : styles().optionValueFalse\n }\n >\n {String(liveReg().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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"}
|
|
@@ -2,13 +2,14 @@ import { useHotkeysDevtoolsState } from "../HotkeysContextProvider.js";
|
|
|
2
2
|
import { useStyles } from "../styles/use-styles.js";
|
|
3
3
|
import { className, createComponent, effect, insert, memo, template } from "solid-js/web";
|
|
4
4
|
import { For, Show } from "solid-js";
|
|
5
|
-
import {
|
|
5
|
+
import { detectPlatform, formatForDisplay } from "@tanstack/hotkeys";
|
|
6
6
|
|
|
7
7
|
//#region src/components/HeldKeysTopbar.tsx
|
|
8
8
|
var _tmpl$ = /* @__PURE__ */ template(`<div><span>Held</span><div>`), _tmpl$2 = /* @__PURE__ */ template(`<span>--`), _tmpl$3 = /* @__PURE__ */ template(`<span>`), _tmpl$4 = /* @__PURE__ */ template(`<span><span>`);
|
|
9
9
|
function HeldKeysBar() {
|
|
10
10
|
const styles = useStyles();
|
|
11
11
|
const state = useHotkeysDevtoolsState();
|
|
12
|
+
const platform = detectPlatform();
|
|
12
13
|
return (() => {
|
|
13
14
|
var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
|
|
14
15
|
insert(_el$3, createComponent(Show, {
|
|
@@ -29,10 +30,12 @@ function HeldKeysBar() {
|
|
|
29
30
|
},
|
|
30
31
|
children: (key) => {
|
|
31
32
|
const code = () => state.heldCodes()[key];
|
|
32
|
-
const label = () =>
|
|
33
|
+
const label = () => formatForDisplay(key, {
|
|
34
|
+
platform,
|
|
35
|
+
useSymbols: true
|
|
36
|
+
});
|
|
33
37
|
const codeLabel = () => {
|
|
34
|
-
|
|
35
|
-
return c ? formatKeyForDebuggingDisplay(c, { source: "code" }) : void 0;
|
|
38
|
+
return code() || void 0;
|
|
36
39
|
};
|
|
37
40
|
return (() => {
|
|
38
41
|
var _el$5 = _tmpl$4(), _el$6 = _el$5.firstChild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeldKeysTopbar.js","names":["For","Show","
|
|
1
|
+
{"version":3,"file":"HeldKeysTopbar.js","names":["For","Show","detectPlatform","formatForDisplay","useStyles","useHotkeysDevtoolsState","RegisterableHotkey","HeldKeysBar","styles","state","platform","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_$insert","_$createComponent","when","heldKeys","length","fallback","_el$4","_tmpl$2","_$effect","_$className","noKeysHeld","children","each","key","code","heldCodes","label","useSymbols","codeLabel","c","undefined","_el$5","_tmpl$4","_el$6","_$memo","_el$7","_tmpl$3","keyCapCode","keyCap","_p$","_v$","heldKeysBar","_v$2","heldKeysBarHeader","_v$3","heldKeysBarList","e","t","a"],"sources":["../../src/components/HeldKeysTopbar.tsx"],"sourcesContent":["import { For, Show } from 'solid-js'\nimport { detectPlatform, formatForDisplay } from '@tanstack/hotkeys'\nimport { useStyles } from '../styles/use-styles'\nimport { useHotkeysDevtoolsState } from '../HotkeysContextProvider'\nimport type { RegisterableHotkey } from '@tanstack/hotkeys'\n\nexport function HeldKeysBar() {\n const styles = useStyles()\n const state = useHotkeysDevtoolsState()\n const platform = detectPlatform()\n\n return (\n <div class={styles().heldKeysBar}>\n <span class={styles().heldKeysBarHeader}>Held</span>\n <div class={styles().heldKeysBarList}>\n <Show\n when={state.heldKeys().length > 0}\n fallback={<span class={styles().noKeysHeld}>--</span>}\n >\n <For each={state.heldKeys()}>\n {(key) => {\n const code = () => state.heldCodes()[key]\n const label = () =>\n formatForDisplay(key as RegisterableHotkey, {\n platform,\n useSymbols: true,\n })\n const codeLabel = () => {\n const c = code()\n return c || undefined\n }\n return (\n <span class={styles().keyCap}>\n <span>{label()}</span>\n <Show when={codeLabel() && codeLabel() !== key}>\n <span class={styles().keyCapCode}>{codeLabel()}</span>\n </Show>\n </span>\n )\n }}\n </For>\n </Show>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAMA,SAAgBO,cAAc;CAC5B,MAAMC,SAASJ,WAAW;CAC1B,MAAMK,QAAQJ,yBAAyB;CACvC,MAAMK,WAAWR,gBAAgB;AAEjC,eAAA;EAAA,IAAAS,OAAAC,QAAA,EAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAG;AAAAC,SAAAF,OAAAG,gBAIOjB,MAAI;GAAA,IACHkB,OAAI;AAAA,WAAEV,MAAMW,UAAU,CAACC,SAAS;;GAAC,IACjCC,WAAQ;AAAA,kBAAA;KAAA,IAAAC,QAAAC,SAAA;AAAAC,kBAAAC,UAAAH,OAAef,QAAQ,CAACmB,WAAU,CAAA;AAAA,YAAAJ;QAAA;;GAAA,IAAAK,WAAA;AAAA,WAAAV,gBAEzClB,KAAG;KAAA,IAAC6B,OAAI;AAAA,aAAEpB,MAAMW,UAAU;;KAAAQ,WACvBE,QAAQ;MACR,MAAMC,aAAatB,MAAMuB,WAAW,CAACF;MACrC,MAAMG,cACJ9B,iBAAiB2B,KAA2B;OAC1CpB;OACAwB,YAAY;OACb,CAAC;MACJ,MAAMC,kBAAkB;AAEtB,cADUJ,MAAM,IACJM;;AAEd,oBAAA;OAAA,IAAAC,QAAAC,SAAA,EAAAC,QAAAF,MAAAxB;AAAAG,cAAAuB,OAEWP,MAAK;AAAAhB,cAAAqB,OAAApB,gBACXjB,MAAI;QAAA,IAACkB,OAAI;AAAA,gBAAEsB,WAAA,CAAA,CAAAN,WAAW,CAAA,EAAA,IAAIA,WAAW,KAAKL;;QAAG,IAAAF,WAAA;SAAA,IAAAc,QAAAC,SAAA;AAAA1B,gBAAAyB,OACTP,UAAS;AAAAV,sBAAAC,UAAAgB,OAA/BlC,QAAQ,CAACoC,WAAU,CAAA;AAAA,gBAAAF;;QAAA,CAAA,EAAA,KAAA;AAAAjB,oBAAAC,UAAAY,OAHvB9B,QAAQ,CAACqC,OAAM,CAAA;AAAA,cAAAP;UAAA;;KAO/B,CAAA;;GAAA,CAAA,CAAA;AAAAb,UAAAqB,QAAA;GAAA,IAAAC,MA3BGvC,QAAQ,CAACwC,aAAWC,OACjBzC,QAAQ,CAAC0C,mBAAiBC,OAC3B3C,QAAQ,CAAC4C;AAAeL,WAAAD,IAAAO,KAAA3B,UAAAf,MAAAmC,IAAAO,IAAAN,IAAA;AAAAE,YAAAH,IAAAQ,KAAA5B,UAAAb,OAAAiC,IAAAQ,IAAAL,KAAA;AAAAE,YAAAL,IAAAS,KAAA7B,UAAAX,OAAA+B,IAAAS,IAAAJ,KAAA;AAAA,UAAAL;KAAA;GAAAO,GAAAhB;GAAAiB,GAAAjB;GAAAkB,GAAAlB;GAAA,CAAA;AAAA,SAAA1B;KAAA"}
|