skeleton2.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var skeleton = require('./skeleton.js');
  5. var skeletonItem = require('./skeleton-item2.js');
  6. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  7. var index$1 = require('../../../hooks/use-throttle-render/index.js');
  8. var index = require('../../../hooks/use-namespace/index.js');
  9. const __default__ = vue.defineComponent({
  10. name: "ElSkeleton"
  11. });
  12. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  13. ...__default__,
  14. props: skeleton.skeletonProps,
  15. setup(__props, { expose }) {
  16. const props = __props;
  17. const ns = index.useNamespace("skeleton");
  18. const uiLoading = index$1.useThrottleRender(vue.toRef(props, "loading"), props.throttle);
  19. expose({
  20. uiLoading
  21. });
  22. return (_ctx, _cache) => {
  23. return vue.unref(uiLoading) ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
  24. key: 0,
  25. class: [vue.unref(ns).b(), vue.unref(ns).is("animated", _ctx.animated)]
  26. }, _ctx.$attrs), [
  27. (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.count, (i) => {
  28. return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: i }, [
  29. vue.unref(uiLoading) ? vue.renderSlot(_ctx.$slots, "template", { key: i }, () => [
  30. vue.createVNode(skeletonItem["default"], {
  31. class: vue.normalizeClass(vue.unref(ns).is("first")),
  32. variant: "p"
  33. }, null, 8, ["class"]),
  34. (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.rows, (item) => {
  35. return vue.openBlock(), vue.createBlock(skeletonItem["default"], {
  36. key: item,
  37. class: vue.normalizeClass([
  38. vue.unref(ns).e("paragraph"),
  39. vue.unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
  40. ]),
  41. variant: "p"
  42. }, null, 8, ["class"]);
  43. }), 128))
  44. ]) : vue.createCommentVNode("v-if", true)
  45. ], 64);
  46. }), 128))
  47. ], 16)) : vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.mergeProps({ key: 1 }, _ctx.$attrs)));
  48. };
  49. }
  50. });
  51. var Skeleton = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "skeleton.vue"]]);
  52. exports["default"] = Skeleton;
  53. //# sourceMappingURL=skeleton2.js.map