| 
3 | 3 |   import { flip } from "svelte/animate"  | 
4 | 4 | 
  | 
5 | 5 |   import ValueTreeItem from "$src/components/Stimulus/ValueTreeItem.svelte"  | 
 | 6 | +  import TargetTreeItem from "$src/components/Stimulus/TargetTreeItem.svelte"  | 
6 | 7 |   import InspectButton from "$components/InspectButton.svelte"  | 
7 | 8 |   import HTMLRenderer from "$src/browser_panel/HTMLRenderer.svelte"  | 
 | 9 | +  import ScrollIntoViewButton from "$components/ScrollIntoViewButton.svelte"  | 
8 | 10 |   import { getStimulusData } from "../../State.svelte.js"  | 
9 |  | -  import { flattenNodes, handleKeyboardNavigation, debounce } from "$utils/utils.js"  | 
 | 11 | +  import { flattenNodes, handleKeyboardNavigation, selectorByUUID } from "$utils/utils.js"  | 
10 | 12 |   import { addHighlightOverlay, hideHighlightOverlay } from "../../messaging.js"  | 
11 | 13 |   import { getDevtoolInstance } from "$lib/devtool.js"  | 
12 | 14 |   import { horizontalPanes } from "../../theme.svelte.js"  | 
 | 
153 | 155 |               tabindex="0"  | 
154 | 156 |               onclick={() => setSelectedController(instance)}  | 
155 | 157 |               onkeyup={handleInstancesKeyboardNavigation}  | 
156 |  | -              onmouseenter={() => addHighlightOverlay(`[data-hotwire-dev-tools-uuid="${instance.uuid}"]`)}  | 
 | 158 | +              onmouseenter={() => addHighlightOverlay(selectorByUUID(instance.uuid))}  | 
157 | 159 |               onmouseleave={() => hideHighlightOverlay()}  | 
158 | 160 |             >  | 
159 | 161 |               <div class="d-table-row">  | 
 | 
163 | 165 | 
 
  | 
164 | 166 |                 <div class="stimulus-instance-second-column">  | 
165 | 167 |                   <div class="me-3 overflow-x-auto scrollbar-none">  | 
166 |  | -                    <InspectButton class="btn-hoverable me-2" selector={`[data-hotwire-dev-tools-uuid="${instance.uuid}"]`}></InspectButton>  | 
 | 168 | +                    <InspectButton class="btn-hoverable me-2" selector={selectorByUUID(instance.uuid)}></InspectButton>  | 
167 | 169 |                     <HTMLRenderer htmlString={instance.serializedTag} />  | 
168 | 170 |                   </div>  | 
169 | 171 |                 </div>  | 
 | 
191 | 193 |                 {@const dataAttribute = `data-${selected.identifier}-${valueObject.key}`}  | 
192 | 194 |                 <ValueTreeItem {valueObject} {selected} {dataAttribute} />  | 
193 | 195 |               {/each}  | 
 | 196 | +              <div class="pane-section-heading">Targets</div>  | 
 | 197 | +              {#each selected.controller.targets.sort((a, b) => a.elements?.length < b.elements?.length) as target (selected.uuid + target.name)}  | 
 | 198 | +                <TargetTreeItem {target} {selected} />  | 
 | 199 | +              {/each}  | 
194 | 200 |             </div>  | 
195 | 201 |           </div>  | 
196 | 202 |         {:else}  | 
 | 
0 commit comments