UNPKG

@sandlada/vue-mdc

Version:

![Vue MDC Logo](https://raw.githubusercontent.com/sandlada/vue-mdc/refs/heads/main/docs/vue-mdc-cover.png)

55 lines (54 loc) 1.52 kB
/** * @license * Copyright 2025 Sandlada & Kai Orion * SPDX-License-Identifier: MIT */ import { defineComponent, ref, createVNode } from "vue"; import { useReflectAttribute } from "../../node_modules/@glare-labs/vue-reflect-attribute/build/vue-reflect-attribute.js"; import { componentNamePrefix } from "../../internals/component-name-prefix/component-name-prefix.js"; import { RippleAttachableController } from "./ripple-attachable-controller.js"; import { props } from "./ripple.definition.js"; import css from "./styles/ripple.module.scss.js"; const Ripple = /* @__PURE__ */ defineComponent({ name: `${componentNamePrefix}-ripple`, props, slots: {}, emits: [], setup(props2) { const root = ref(null); const _disabled = ref(props2.disabled); const _for = ref(props2.for); const _id = ref(props2.id); useReflectAttribute(root, { attributes: [{ attribute: "id", ref: _id, reflect: true, type: "string" }, { attribute: "disabled", ref: _disabled, reflect: true, type: "boolean" }, { attribute: "for", ref: _for, reflect: true, type: "string" }], tick: "before" }); new RippleAttachableController(root); return () => createVNode("span", { "data-component": "ripple", "aria-hidden": "true", "class": [css.ripple], "ref": root }, null); }, inheritAttrs: true }); export { Ripple }; //# sourceMappingURL=ripple.js.map