Header.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { createVNode as _createVNode } from "vue";
  2. import useMergeProps from '../hooks/useMergeProps';
  3. import { useInjectPanel } from '../PanelContext';
  4. const HIDDEN_STYLE = {
  5. visibility: 'hidden'
  6. };
  7. function Header(_props, _ref) {
  8. let {
  9. slots
  10. } = _ref;
  11. var _a;
  12. const props = useMergeProps(_props);
  13. const {
  14. prefixCls,
  15. prevIcon = '\u2039',
  16. nextIcon = '\u203A',
  17. superPrevIcon = '\u00AB',
  18. superNextIcon = '\u00BB',
  19. onSuperPrev,
  20. onSuperNext,
  21. onPrev,
  22. onNext
  23. } = props;
  24. const {
  25. hideNextBtn,
  26. hidePrevBtn
  27. } = useInjectPanel();
  28. return _createVNode("div", {
  29. "class": prefixCls
  30. }, [onSuperPrev && _createVNode("button", {
  31. "type": "button",
  32. "onClick": onSuperPrev,
  33. "tabindex": -1,
  34. "class": `${prefixCls}-super-prev-btn`,
  35. "style": hidePrevBtn.value ? HIDDEN_STYLE : {}
  36. }, [superPrevIcon]), onPrev && _createVNode("button", {
  37. "type": "button",
  38. "onClick": onPrev,
  39. "tabindex": -1,
  40. "class": `${prefixCls}-prev-btn`,
  41. "style": hidePrevBtn.value ? HIDDEN_STYLE : {}
  42. }, [prevIcon]), _createVNode("div", {
  43. "class": `${prefixCls}-view`
  44. }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]), onNext && _createVNode("button", {
  45. "type": "button",
  46. "onClick": onNext,
  47. "tabindex": -1,
  48. "class": `${prefixCls}-next-btn`,
  49. "style": hideNextBtn.value ? HIDDEN_STYLE : {}
  50. }, [nextIcon]), onSuperNext && _createVNode("button", {
  51. "type": "button",
  52. "onClick": onSuperNext,
  53. "tabindex": -1,
  54. "class": `${prefixCls}-super-next-btn`,
  55. "style": hideNextBtn.value ? HIDDEN_STYLE : {}
  56. }, [superNextIcon])]);
  57. }
  58. Header.displayName = 'Header';
  59. Header.inheritAttrs = false;
  60. export default Header;