@canlooks/can-ui 0.0.44 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/cjs/components/button/button.js +2 -2
  2. package/dist/cjs/components/button/button.style.js +2 -0
  3. package/dist/cjs/components/calendar/calendar.d.ts +32 -0
  4. package/dist/cjs/components/calendar/calendar.js +51 -0
  5. package/dist/cjs/components/calendar/calendar.style.d.ts +15 -0
  6. package/dist/cjs/components/{dateTimePicker → calendar}/calendar.style.js +131 -91
  7. package/dist/cjs/components/calendar/index.d.ts +1 -0
  8. package/dist/cjs/components/calendar/index.js +4 -0
  9. package/dist/cjs/components/calendar/panelDates.d.ts +2 -0
  10. package/dist/cjs/components/{dateTimePicker/calendarDates.js → calendar/panelDates.js} +11 -19
  11. package/dist/cjs/components/calendar/panelMonth.d.ts +2 -0
  12. package/dist/cjs/components/calendar/panelMonth.js +29 -0
  13. package/dist/cjs/components/calendar/panelYear.d.ts +2 -0
  14. package/dist/cjs/components/calendar/panelYear.js +36 -0
  15. package/dist/cjs/components/card/card.style.js +2 -2
  16. package/dist/cjs/components/checkboxBase/checkboxBase.js +2 -2
  17. package/dist/cjs/components/colorPicker/colorPicker.js +2 -2
  18. package/dist/cjs/components/colorPicker/colorPicker.style.js +1 -1
  19. package/dist/cjs/components/dateTimePicker/dateTimePicker.d.ts +1 -1
  20. package/dist/cjs/components/dateTimePicker/dateTimePicker.js +10 -13
  21. package/dist/cjs/components/dateTimePicker/dateTimePicker.style.d.ts +4 -4
  22. package/dist/cjs/components/dateTimePicker/dateTimePicker.style.js +1 -1
  23. package/dist/cjs/components/dateTimePicker/index.d.ts +1 -1
  24. package/dist/cjs/components/dateTimePicker/index.js +1 -1
  25. package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +1 -0
  26. package/dist/cjs/components/form/form.d.ts +1 -1
  27. package/dist/cjs/components/icon/icon.d.ts +6 -0
  28. package/dist/cjs/components/icon/icon.js +9 -0
  29. package/dist/cjs/components/icon/index.d.ts +1 -0
  30. package/dist/cjs/components/icon/index.js +4 -0
  31. package/dist/cjs/components/pinchable/pinchable.style.js +1 -1
  32. package/dist/cjs/components/placeholder/placeholder.js +3 -3
  33. package/dist/cjs/components/popper/popper.js +1 -1
  34. package/dist/cjs/components/segmented/segmented.d.ts +3 -1
  35. package/dist/cjs/components/segmented/segmented.js +2 -2
  36. package/dist/cjs/components/segmented/segmented.style.d.ts +4 -1
  37. package/dist/cjs/components/segmented/segmented.style.js +94 -90
  38. package/dist/cjs/components/slider/slider.d.ts +0 -1
  39. package/dist/cjs/components/tooltip/tooltip.style.js +1 -0
  40. package/dist/cjs/components/waterfall/waterfall.style.js +1 -1
  41. package/dist/cjs/components/waterfall/waterfallItem.js +1 -1
  42. package/dist/cjs/extensions/documentViewer/documentViewer.js +1 -1
  43. package/dist/cjs/index.d.ts +2 -1
  44. package/dist/cjs/index.js +2 -3
  45. package/dist/cjs/types.d.ts +1 -1
  46. package/dist/cjs/utils/style.d.ts +2 -2
  47. package/dist/cjs/utils/style.js +8 -4
  48. package/dist/esm/components/button/button.js +3 -3
  49. package/dist/esm/components/button/button.style.js +2 -0
  50. package/dist/esm/components/calendar/calendar.d.ts +32 -0
  51. package/dist/esm/components/calendar/calendar.js +46 -0
  52. package/dist/esm/components/calendar/calendar.style.d.ts +15 -0
  53. package/dist/esm/components/{dateTimePicker → calendar}/calendar.style.js +131 -91
  54. package/dist/esm/components/calendar/index.d.ts +1 -0
  55. package/dist/esm/components/calendar/index.js +1 -0
  56. package/dist/esm/components/calendar/panelDates.d.ts +2 -0
  57. package/dist/esm/components/{dateTimePicker/calendarDates.js → calendar/panelDates.js} +11 -19
  58. package/dist/esm/components/calendar/panelMonth.d.ts +2 -0
  59. package/dist/esm/components/calendar/panelMonth.js +26 -0
  60. package/dist/esm/components/calendar/panelYear.d.ts +2 -0
  61. package/dist/esm/components/calendar/panelYear.js +33 -0
  62. package/dist/esm/components/card/card.style.js +2 -2
  63. package/dist/esm/components/checkboxBase/checkboxBase.js +3 -3
  64. package/dist/esm/components/colorPicker/colorPicker.js +3 -3
  65. package/dist/esm/components/colorPicker/colorPicker.style.js +1 -1
  66. package/dist/esm/components/dateTimePicker/dateTimePicker.d.ts +1 -1
  67. package/dist/esm/components/dateTimePicker/dateTimePicker.js +11 -14
  68. package/dist/esm/components/dateTimePicker/dateTimePicker.style.d.ts +4 -4
  69. package/dist/esm/components/dateTimePicker/dateTimePicker.style.js +1 -1
  70. package/dist/esm/components/dateTimePicker/index.d.ts +1 -1
  71. package/dist/esm/components/dateTimePicker/index.js +1 -1
  72. package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +1 -0
  73. package/dist/esm/components/form/form.d.ts +1 -1
  74. package/dist/esm/components/icon/icon.d.ts +6 -0
  75. package/dist/esm/components/icon/icon.js +6 -0
  76. package/dist/esm/components/icon/index.d.ts +1 -0
  77. package/dist/esm/components/icon/index.js +1 -0
  78. package/dist/esm/components/pinchable/pinchable.style.js +2 -2
  79. package/dist/esm/components/placeholder/placeholder.js +3 -3
  80. package/dist/esm/components/popper/popper.js +1 -1
  81. package/dist/esm/components/segmented/segmented.d.ts +3 -1
  82. package/dist/esm/components/segmented/segmented.js +3 -3
  83. package/dist/esm/components/segmented/segmented.style.d.ts +4 -1
  84. package/dist/esm/components/segmented/segmented.style.js +93 -90
  85. package/dist/esm/components/slider/slider.d.ts +0 -1
  86. package/dist/esm/components/tooltip/tooltip.style.js +1 -0
  87. package/dist/esm/components/waterfall/waterfall.style.js +2 -2
  88. package/dist/esm/components/waterfall/waterfallItem.js +1 -1
  89. package/dist/esm/extensions/documentViewer/documentViewer.js +1 -1
  90. package/dist/esm/index.d.ts +2 -1
  91. package/dist/esm/index.js +2 -1
  92. package/dist/esm/types.d.ts +1 -1
  93. package/dist/esm/utils/style.d.ts +2 -2
  94. package/dist/esm/utils/style.js +7 -3
  95. package/documentation/dist/assets/{index-DD484MoK.js → index-gntHdyKP.js} +1766 -1723
  96. package/documentation/dist/components/segmented.md +14 -13
  97. package/documentation/dist/index.html +1 -1
  98. package/package.json +1 -1
  99. package/dist/cjs/components/dateTimePicker/calendar.d.ts +0 -18
  100. package/dist/cjs/components/dateTimePicker/calendar.js +0 -29
  101. package/dist/cjs/components/dateTimePicker/calendar.style.d.ts +0 -15
  102. package/dist/cjs/components/dateTimePicker/calendarDates.d.ts +0 -2
  103. package/dist/cjs/components/dateTimePicker/calendarMonths.d.ts +0 -2
  104. package/dist/cjs/components/dateTimePicker/calendarMonths.js +0 -22
  105. package/dist/cjs/components/dateTimePicker/calendarYears.d.ts +0 -2
  106. package/dist/cjs/components/dateTimePicker/calendarYears.js +0 -29
  107. package/dist/esm/components/dateTimePicker/calendar.d.ts +0 -18
  108. package/dist/esm/components/dateTimePicker/calendar.js +0 -25
  109. package/dist/esm/components/dateTimePicker/calendar.style.d.ts +0 -15
  110. package/dist/esm/components/dateTimePicker/calendarDates.d.ts +0 -2
  111. package/dist/esm/components/dateTimePicker/calendarMonths.d.ts +0 -2
  112. package/dist/esm/components/dateTimePicker/calendarMonths.js +0 -19
  113. package/dist/esm/components/dateTimePicker/calendarYears.d.ts +0 -2
  114. package/dist/esm/components/dateTimePicker/calendarYears.js +0 -26
@@ -30,19 +30,20 @@ export default function Index() {
30
30
 
31
31
  ## SegmentedProps
32
32
 
33
- | 属性 | 类型 | 默认值 | 说明 |
34
- |--------------|------------------------------------------------------------------------|--------------|----------------------|
35
- | options | [SegmentedOptionProps](#SegmentedOptionProps)[] | - | |
36
- | orientation | 'horizontal' \| 'vertical' | 'horizontal' | |
37
- | size | 'small' \| 'medium' \| 'large' | 'medium' | |
38
- | labelKey | string | 'label' | `option`中用做`label`的键 |
39
- | primaryKey | string | 'value' | `option`中用做主键的键 |
40
- | fullWidth | boolean | false | 是否占满整行 |
41
- | defaultValue | | - | |
42
- | value | | - | |
43
- | onChange | (value) => void | - | |
44
- | readOnly | boolean | false | |
45
- | disabled | boolean | false | |
33
+ | 属性 | 类型 | 默认值 | 说明 |
34
+ |----------------|------------------------------------------------------------------------|--------------------|----------------------|
35
+ | options | [SegmentedOptionProps](#SegmentedOptionProps)[] | - | |
36
+ | orientation | 'horizontal' \| 'vertical' | 'horizontal' | |
37
+ | size | 'small' \| 'medium' \| 'large' | 'medium' | |
38
+ | labelKey | string | 'label' | `option`中用做`label`的键 |
39
+ | primaryKey | string | 'value' | `option`中用做主键的键 |
40
+ | fullWidth | boolean | false | 是否占满整行 |
41
+ | indicatorColor | string | background.content | 指示器的颜色 |
42
+ | defaultValue | | - | |
43
+ | value | | - | |
44
+ | onChange | (value) => void | - | |
45
+ | readOnly | boolean | false | |
46
+ | disabled | boolean | false | |
46
47
 
47
48
  ## SegmentedOptionProps
48
49
 
@@ -5,7 +5,7 @@
5
5
  <link rel="shortcut icon" href="/logo.png">
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
7
  <title>Canlooks UI</title>
8
- <script type="module" crossorigin src="/assets/index-DD484MoK.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-gntHdyKP.js"></script>
9
9
  </head>
10
10
  <body>
11
11
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canlooks/can-ui",
3
- "version": "0.0.44",
3
+ "version": "0.0.46",
4
4
  "author": "C.CanLiang <canlooks@gmail.com>",
5
5
  "description": "My ui framework",
6
6
  "license": "MIT",
@@ -1,18 +0,0 @@
1
- import { DivProps } from '../../types';
2
- import { Dayjs } from 'dayjs';
3
- import { Dispatch, SetStateAction } from 'react';
4
- type SharedCalendarProps = {
5
- defaultNull: boolean;
6
- value: Dayjs;
7
- onChange(value: Dayjs): void;
8
- };
9
- export interface CalendarProps extends SharedCalendarProps, Omit<DivProps, 'onChange'> {
10
- type: 'dates' | 'months' | 'years';
11
- }
12
- export interface CommonCalendarProps extends SharedCalendarProps {
13
- innerD: Dayjs;
14
- setInnerD: Dispatch<SetStateAction<Dayjs>>;
15
- setViewType(type: CalendarProps['type']): void;
16
- }
17
- export declare const Calendar: ({ type, ...props }: CalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element;
18
- export {};
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Calendar = void 0;
4
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
- const calendarDates_1 = require("./calendarDates");
6
- const utils_1 = require("../../utils");
7
- const calendarMonths_1 = require("./calendarMonths");
8
- const popper_1 = require("../popper");
9
- const calendarYears_1 = require("./calendarYears");
10
- const Calendar = ({ type, ...props }) => {
11
- const { open } = (0, popper_1.usePopperContext)();
12
- const [viewType, setViewType] = (0, utils_1.useDerivedState)(prevType => open ? type : prevType, [open, type]);
13
- const [innerD, setInnerD] = (0, utils_1.useDerivedState)(props.value);
14
- const commonProps = {
15
- ...props,
16
- setViewType,
17
- innerD: innerD.current,
18
- setInnerD
19
- };
20
- switch (viewType.current) {
21
- case 'dates':
22
- return (0, jsx_runtime_1.jsx)(calendarDates_1.CalendarDates, { ...commonProps });
23
- case 'months':
24
- return (0, jsx_runtime_1.jsx)(calendarMonths_1.CalendarMonths, { ...commonProps });
25
- default:
26
- return (0, jsx_runtime_1.jsx)(calendarYears_1.CalendarYears, { ...commonProps });
27
- }
28
- };
29
- exports.Calendar = Calendar;
@@ -1,15 +0,0 @@
1
- export declare const classes: {
2
- calendarHead: string;
3
- calendarHeadSide: string;
4
- calendarHeadControl: string;
5
- calendarHeadCenter: string;
6
- calendarHeadButton: string;
7
- calendarBody: string;
8
- dateItem: string;
9
- monthItem: string;
10
- yearItem: string;
11
- calendarFoot: string;
12
- } & {
13
- root: string;
14
- };
15
- export declare const style: () => import("@emotion/react").SerializedStyles;
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarDates: import("react").MemoExoticComponent<({ defaultNull, value, onChange, innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarMonths: import("react").MemoExoticComponent<({ innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CalendarMonths = void 0;
4
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
- const react_1 = require("react");
6
- const calendar_style_1 = require("./calendar.style");
7
- const button_1 = require("../button");
8
- exports.CalendarMonths = (0, react_1.memo)(({ innerD, setInnerD, setViewType }) => {
9
- const currentMonth = innerD.month();
10
- const clickHandler = (month) => {
11
- currentMonth !== month && setInnerD(d => d.month(month));
12
- setViewType('dates');
13
- };
14
- const renderButtons = () => {
15
- const ret = [];
16
- for (let i = 0; i < 12; i++) {
17
- ret.push((0, jsx_runtime_1.jsxs)(button_1.Button, { className: calendar_style_1.classes.monthItem, variant: currentMonth === i ? 'filled' : 'text', size: "large", color: currentMonth === i ? 'primary' : 'text', onClick: () => clickHandler(i), children: [i + 1, "\u6708"] }, i));
18
- }
19
- return ret;
20
- };
21
- return ((0, jsx_runtime_1.jsxs)("div", { css: calendar_style_1.style, className: calendar_style_1.classes.root, children: [(0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarHead, children: (0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarHeadCenter, children: "\u6708\u4EFD" }) }), (0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarBody, "data-view-type": "months", children: renderButtons() })] }));
22
- });
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarYears: import("react").MemoExoticComponent<({ innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CalendarYears = void 0;
4
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
- const react_1 = require("react");
6
- const calendar_style_1 = require("./calendar.style");
7
- const button_1 = require("../button");
8
- const tooltip_1 = require("../tooltip");
9
- const __1 = require("../..");
10
- const faAngleLeft_1 = require("@fortawesome/free-solid-svg-icons/faAngleLeft");
11
- const faAngleRight_1 = require("@fortawesome/free-solid-svg-icons/faAngleRight");
12
- exports.CalendarYears = (0, react_1.memo)(({ innerD, setInnerD, setViewType }) => {
13
- const currentYear = innerD.year();
14
- const clickHandler = (year) => {
15
- currentYear !== year && setInnerD(d => d.year(year));
16
- setViewType('months');
17
- };
18
- const [page, setPage] = (0, react_1.useState)(() => Math.floor(currentYear / 12));
19
- const renderHeadControl = (icon, title, onClick) => ((0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: title, children: (0, jsx_runtime_1.jsx)(button_1.Button, { className: calendar_style_1.classes.calendarHeadControl, variant: "text", size: "small", color: "text", onClick: onClick, children: icon }) }));
20
- const renderButtons = () => {
21
- const ret = [];
22
- for (let i = 0; i < 12; i++) {
23
- const years = page * 12 + i + 1;
24
- ret.push((0, jsx_runtime_1.jsx)(button_1.Button, { className: calendar_style_1.classes.monthItem, variant: currentYear === years ? 'filled' : 'text', size: "large", color: currentYear === years ? 'primary' : 'text', onClick: () => clickHandler(years), children: years }, i));
25
- }
26
- return ret;
27
- };
28
- return ((0, jsx_runtime_1.jsxs)("div", { css: calendar_style_1.style, className: calendar_style_1.classes.root, children: [(0, jsx_runtime_1.jsxs)("div", { className: calendar_style_1.classes.calendarHead, children: [(0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarHeadSide, children: renderHeadControl((0, jsx_runtime_1.jsx)(__1.Icon, { icon: faAngleLeft_1.faAngleLeft }), '上一页', () => setPage(p => p - 1)) }), (0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarHeadSide, children: renderHeadControl((0, jsx_runtime_1.jsx)(__1.Icon, { icon: faAngleRight_1.faAngleRight }), '下一页', () => setPage(p => p + 1)) }), (0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarHeadCenter, children: "\u5E74\u4EFD" })] }), (0, jsx_runtime_1.jsx)("div", { className: calendar_style_1.classes.calendarBody, "data-view-type": "months", children: renderButtons() })] }));
29
- });
@@ -1,18 +0,0 @@
1
- import { DivProps } from '../../types';
2
- import { Dayjs } from 'dayjs';
3
- import { Dispatch, SetStateAction } from 'react';
4
- type SharedCalendarProps = {
5
- defaultNull: boolean;
6
- value: Dayjs;
7
- onChange(value: Dayjs): void;
8
- };
9
- export interface CalendarProps extends SharedCalendarProps, Omit<DivProps, 'onChange'> {
10
- type: 'dates' | 'months' | 'years';
11
- }
12
- export interface CommonCalendarProps extends SharedCalendarProps {
13
- innerD: Dayjs;
14
- setInnerD: Dispatch<SetStateAction<Dayjs>>;
15
- setViewType(type: CalendarProps['type']): void;
16
- }
17
- export declare const Calendar: ({ type, ...props }: CalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element;
18
- export {};
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { CalendarDates } from './calendarDates';
3
- import { useDerivedState } from '../../utils';
4
- import { CalendarMonths } from './calendarMonths';
5
- import { usePopperContext } from '../popper';
6
- import { CalendarYears } from './calendarYears';
7
- export const Calendar = ({ type, ...props }) => {
8
- const { open } = usePopperContext();
9
- const [viewType, setViewType] = useDerivedState(prevType => open ? type : prevType, [open, type]);
10
- const [innerD, setInnerD] = useDerivedState(props.value);
11
- const commonProps = {
12
- ...props,
13
- setViewType,
14
- innerD: innerD.current,
15
- setInnerD
16
- };
17
- switch (viewType.current) {
18
- case 'dates':
19
- return _jsx(CalendarDates, { ...commonProps });
20
- case 'months':
21
- return _jsx(CalendarMonths, { ...commonProps });
22
- default:
23
- return _jsx(CalendarYears, { ...commonProps });
24
- }
25
- };
@@ -1,15 +0,0 @@
1
- export declare const classes: {
2
- calendarHead: string;
3
- calendarHeadSide: string;
4
- calendarHeadControl: string;
5
- calendarHeadCenter: string;
6
- calendarHeadButton: string;
7
- calendarBody: string;
8
- dateItem: string;
9
- monthItem: string;
10
- yearItem: string;
11
- calendarFoot: string;
12
- } & {
13
- root: string;
14
- };
15
- export declare const style: () => import("@emotion/react").SerializedStyles;
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarDates: import("react").MemoExoticComponent<({ defaultNull, value, onChange, innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarMonths: import("react").MemoExoticComponent<({ innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,19 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { memo } from 'react';
3
- import { classes, style } from './calendar.style';
4
- import { Button } from '../button';
5
- export const CalendarMonths = memo(({ innerD, setInnerD, setViewType }) => {
6
- const currentMonth = innerD.month();
7
- const clickHandler = (month) => {
8
- currentMonth !== month && setInnerD(d => d.month(month));
9
- setViewType('dates');
10
- };
11
- const renderButtons = () => {
12
- const ret = [];
13
- for (let i = 0; i < 12; i++) {
14
- ret.push(_jsxs(Button, { className: classes.monthItem, variant: currentMonth === i ? 'filled' : 'text', size: "large", color: currentMonth === i ? 'primary' : 'text', onClick: () => clickHandler(i), children: [i + 1, "\u6708"] }, i));
15
- }
16
- return ret;
17
- };
18
- return (_jsxs("div", { css: style, className: classes.root, children: [_jsx("div", { className: classes.calendarHead, children: _jsx("div", { className: classes.calendarHeadCenter, children: "\u6708\u4EFD" }) }), _jsx("div", { className: classes.calendarBody, "data-view-type": "months", children: renderButtons() })] }));
19
- });
@@ -1,2 +0,0 @@
1
- import { CommonCalendarProps } from './calendar';
2
- export declare const CalendarYears: import("react").MemoExoticComponent<({ innerD, setInnerD, setViewType }: CommonCalendarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
@@ -1,26 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { memo, useState } from 'react';
3
- import { classes, style } from './calendar.style';
4
- import { Button } from '../button';
5
- import { Tooltip } from '../tooltip';
6
- import { Icon } from '../..';
7
- import { faAngleLeft } from '@fortawesome/free-solid-svg-icons/faAngleLeft';
8
- import { faAngleRight } from '@fortawesome/free-solid-svg-icons/faAngleRight';
9
- export const CalendarYears = memo(({ innerD, setInnerD, setViewType }) => {
10
- const currentYear = innerD.year();
11
- const clickHandler = (year) => {
12
- currentYear !== year && setInnerD(d => d.year(year));
13
- setViewType('months');
14
- };
15
- const [page, setPage] = useState(() => Math.floor(currentYear / 12));
16
- const renderHeadControl = (icon, title, onClick) => (_jsx(Tooltip, { title: title, children: _jsx(Button, { className: classes.calendarHeadControl, variant: "text", size: "small", color: "text", onClick: onClick, children: icon }) }));
17
- const renderButtons = () => {
18
- const ret = [];
19
- for (let i = 0; i < 12; i++) {
20
- const years = page * 12 + i + 1;
21
- ret.push(_jsx(Button, { className: classes.monthItem, variant: currentYear === years ? 'filled' : 'text', size: "large", color: currentYear === years ? 'primary' : 'text', onClick: () => clickHandler(years), children: years }, i));
22
- }
23
- return ret;
24
- };
25
- return (_jsxs("div", { css: style, className: classes.root, children: [_jsxs("div", { className: classes.calendarHead, children: [_jsx("div", { className: classes.calendarHeadSide, children: renderHeadControl(_jsx(Icon, { icon: faAngleLeft }), '上一页', () => setPage(p => p - 1)) }), _jsx("div", { className: classes.calendarHeadSide, children: renderHeadControl(_jsx(Icon, { icon: faAngleRight }), '下一页', () => setPage(p => p + 1)) }), _jsx("div", { className: classes.calendarHeadCenter, children: "\u5E74\u4EFD" })] }), _jsx("div", { className: classes.calendarBody, "data-view-type": "months", children: renderButtons() })] }));
26
- });