MCPcopy Index your code
hub / github.com/TanStack/devtools / Trigger

Function Trigger

packages/devtools/src/components/trigger.tsx:8–50  ·  view source on GitHub ↗
(props: {
  isOpen: Accessor<boolean>
  setIsOpen: (isOpen: boolean) => void
})

Source from the content-addressed store, hash-verified

6import type { Accessor } from 'solid-js'
7
8export const Trigger = (props: {
9 isOpen: Accessor<boolean>
10 setIsOpen: (isOpen: boolean) => void
11}) => {
12 const { settings } = createDevtoolsSettings()
13 const [containerRef, setContainerRef] = createSignal<HTMLElement>()
14 const styles = createStyles()
15 const buttonStyle = createMemo(() => {
16 return clsx(
17 styles().mainCloseBtn,
18 styles().mainCloseBtnPosition(settings().position),
19 styles().mainCloseBtnAnimation(props.isOpen(), settings().hideUntilHover),
20 )
21 })
22
23 createEffect(() => {
24 const triggerComponent = settings().customTrigger
25 const el = containerRef()
26 if (triggerComponent && el) {
27 triggerComponent(el, {
28 theme: settings().theme,
29 })
30 }
31 })
32
33 return (
34 <Show when={!settings().triggerHidden}>
35 <button
36 type="button"
37 aria-label="Open TanStack Devtools"
38 class={buttonStyle()}
39 onClick={() => props.setIsOpen(!props.isOpen())}
40 >
41 <Show
42 when={settings().customTrigger}
43 fallback={<img src={TanStackLogo} alt="TanStack Devtools" />}
44 >
45 <div ref={setContainerRef} />
46 </Show>
47 </button>
48 </Show>
49 )
50}

Callers 1

convertTriggerFunction · 0.85

Calls 3

createDevtoolsSettingsFunction · 0.90
createStylesFunction · 0.90
isOpenMethod · 0.80

Tested by

no test coverage detected