@sandlada/vue-mdc
Version:

55 lines (54 loc) • 1.52 kB
JavaScript
/**
* @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