UNPKG

@hypothesis/frontend-shared

Version:

Shared components, styles and utilities for Hypothesis projects

59 lines 1.62 kB
var _jsxFileName = "/home/runner/work/frontend-shared/frontend-shared/src/pattern-library/examples/select-aria-labelledby.tsx"; import { useId, useState } from 'preact/hooks'; import { Select } from '../..'; import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "preact/jsx-dev-runtime"; const items = [{ id: '1', name: 'All students' }, { id: '2', name: 'Albert Banana' }, { id: '3', name: 'Bernard California' }, { id: '4', name: 'Cecelia Davenport' }, { id: '5', name: 'Doris Evanescence' }]; export default function App() { const [value, setSelected] = useState(); const labelId = useId(); return _jsxDEV("div", { className: "w-96 mx-auto", children: [_jsxDEV("p", { id: labelId, children: "Select a person with aria labelledby" }, void 0, false, { fileName: _jsxFileName, lineNumber: 19, columnNumber: 7 }, this), _jsxDEV(Select, { "aria-labelledby": labelId, value: value, onChange: setSelected, buttonContent: value ? value.name : _jsxDEV(_Fragment, { children: "Select one\u2026" }, void 0, false), children: items.map(item => _jsxDEV(Select.Option, { value: item, children: item.name }, item.id, false, { fileName: _jsxFileName, lineNumber: 27, columnNumber: 11 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 20, columnNumber: 7 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 18, columnNumber: 5 }, this); } //# sourceMappingURL=select-aria-labelledby.js.map