reka-ui
Version:
Vue port for Radix UI Primitives.
45 lines (42 loc) • 1.43 kB
JavaScript
import { defineComponent, createBlock, openBlock, unref, withCtx, renderSlot } from 'vue';
import { P as Primitive } from '../Primitive/Primitive.js';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "VisuallyHidden",
props: {
feature: { default: "focusable" },
asChild: { type: Boolean },
as: { default: "span" }
},
setup(__props) {
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(Primitive), {
as: _ctx.as,
"as-child": _ctx.asChild,
"aria-hidden": _ctx.feature === "focusable" ? "true" : void 0,
"data-hidden": _ctx.feature === "fully-hidden" ? "" : void 0,
tabindex: _ctx.feature === "fully-hidden" ? "-1" : void 0,
style: {
// See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss
position: "absolute",
border: 0,
width: "1px",
height: "1px",
padding: 0,
margin: "-1px",
overflow: "hidden",
clip: "rect(0, 0, 0, 0)",
clipPath: "inset(50%)",
whiteSpace: "nowrap",
wordWrap: "normal"
}
}, {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default")
]),
_: 3
}, 8, ["as", "as-child", "aria-hidden", "data-hidden", "tabindex"]);
};
}
});
export { _sfc_main as _ };
//# sourceMappingURL=VisuallyHidden.js.map