RawItem.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  10. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  11. var _vueTypes = _interopRequireDefault(require("../_util/vue-types"));
  12. var _context = require("./context");
  13. var _Item = _interopRequireDefault(require("./Item"));
  14. var _excluded = ["component"],
  15. _excluded2 = ["className"],
  16. _excluded3 = ["class"];
  17. var _default2 = (0, _vue.defineComponent)({
  18. compatConfig: {
  19. MODE: 3
  20. },
  21. name: 'RawItem',
  22. inheritAttrs: false,
  23. props: {
  24. component: _vueTypes.default.any,
  25. title: _vueTypes.default.any,
  26. id: String,
  27. onMouseenter: {
  28. type: Function
  29. },
  30. onMouseleave: {
  31. type: Function
  32. },
  33. onClick: {
  34. type: Function
  35. },
  36. onKeydown: {
  37. type: Function
  38. },
  39. onFocus: {
  40. type: Function
  41. }
  42. },
  43. setup: function setup(props, _ref) {
  44. var slots = _ref.slots,
  45. attrs = _ref.attrs;
  46. var context = (0, _context.useInjectOverflowContext)();
  47. return function () {
  48. // Render directly when context not provided
  49. if (!context.value) {
  50. var _slots$default;
  51. var _props$component = props.component,
  52. Component = _props$component === void 0 ? 'div' : _props$component,
  53. _restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
  54. return (0, _vue.createVNode)(Component, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _restProps), attrs), {
  55. default: function _default() {
  56. return [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
  57. }
  58. });
  59. }
  60. var _context$value = context.value,
  61. contextClassName = _context$value.className,
  62. restContext = (0, _objectWithoutProperties2.default)(_context$value, _excluded2);
  63. var className = attrs.class,
  64. restProps = (0, _objectWithoutProperties2.default)(attrs, _excluded3);
  65. // Do not pass context to sub item to avoid multiple measure
  66. return (0, _vue.createVNode)(_context.OverflowContextProvider, {
  67. "value": null
  68. }, {
  69. default: function _default() {
  70. return [(0, _vue.createVNode)(_Item.default, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
  71. "class": (0, _classNames.default)(contextClassName, className)
  72. }, restContext), restProps), props), slots)];
  73. }
  74. });
  75. };
  76. }
  77. });
  78. exports.default = _default2;