VLabel.mjs 936 B

1234567891011121314151617181920212223242526272829303132
  1. import { createVNode as _createVNode } from "vue";
  2. // Styles
  3. import "./VLabel.css";
  4. // Composables
  5. import { makeComponentProps } from "../../composables/component.mjs";
  6. import { makeThemeProps } from "../../composables/theme.mjs"; // Utilities
  7. import { EventProp, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
  8. export const makeVLabelProps = propsFactory({
  9. text: String,
  10. onClick: EventProp(),
  11. ...makeComponentProps(),
  12. ...makeThemeProps()
  13. }, 'VLabel');
  14. export const VLabel = genericComponent()({
  15. name: 'VLabel',
  16. props: makeVLabelProps(),
  17. setup(props, _ref) {
  18. let {
  19. slots
  20. } = _ref;
  21. useRender(() => _createVNode("label", {
  22. "class": ['v-label', {
  23. 'v-label--clickable': !!props.onClick
  24. }, props.class],
  25. "style": props.style,
  26. "onClick": props.onClick
  27. }, [props.text, slots.default?.()]));
  28. return {};
  29. }
  30. });
  31. //# sourceMappingURL=VLabel.mjs.map