Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x | /* * Copyright 2020 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import { Accessor, mergeProps } from "solid-js"; import { filterDOMProps } from "@solid-aria/utils"; import { createHover } from "../../internals/solid-aria/createHover"; import type { TooltipTriggerState } from "../state/tooltip-trigger-state"; import type { AriaTooltip, TooltipArguments } from "./types"; /** * Creates a Tooltip bindings according to the WAI-ARIA specification. * * @link https://www.w3.org/WAI/ARIA/apg/patterns/tooltip */ export function createTooltip(props: TooltipArguments, state: Accessor<TooltipTriggerState>): AriaTooltip { const domProps = filterDOMProps(props, { labelable: true }); const { hoverProps } = createHover({ onHoverStart: () => state().open(true), onHoverEnd: () => state().close() }); return { get tooltipProps() { const local = mergeProps(domProps, hoverProps, { role: "tooltip" as const }); return local; } }; } |