tntd 2.8.15 → 2.8.17

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 (145) hide show
  1. package/es/alert/alert.js +71 -0
  2. package/es/alert/alert.js.map +1 -0
  3. package/es/alert/alert.less +128 -0
  4. package/es/cascader/cascader.js +30 -0
  5. package/es/cascader/cascader.js.map +1 -0
  6. package/es/cascader/cascader.less +16 -0
  7. package/es/checkbox/check.png +0 -0
  8. package/es/checkbox/checkbox.js +48 -0
  9. package/es/checkbox/checkbox.js.map +1 -0
  10. package/es/checkbox/checkbox.less +69 -0
  11. package/es/date-picker/DatePicker.js +101 -0
  12. package/es/date-picker/DatePicker.js.map +1 -0
  13. package/es/date-picker/index.less +294 -0
  14. package/es/input-number/inputNumber.js +34 -0
  15. package/es/input-number/inputNumber.js.map +1 -0
  16. package/es/input-number/inputNumber.less +12 -0
  17. package/es/modal/index.less +36 -0
  18. package/es/popconfirm/index.less +32 -0
  19. package/es/popconfirm/popconfirm.js +43 -0
  20. package/es/popconfirm/popconfirm.js.map +1 -0
  21. package/es/popover/index.less +57 -0
  22. package/es/popover/popover.js +34 -0
  23. package/es/popover/popover.js.map +1 -0
  24. package/es/progress/progress.js +132 -0
  25. package/es/progress/progress.js.map +1 -0
  26. package/es/progress/progress.less +82 -0
  27. package/es/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  28. package/es/query-form-backup/Field/Composition/index.less +114 -0
  29. package/es/query-form-backup/index.less +90 -0
  30. package/es/radio/radio.js +57 -0
  31. package/es/radio/radio.js.map +1 -0
  32. package/es/radio/radio.less +43 -0
  33. package/es/spin/spin.js +36 -0
  34. package/es/spin/spin.js.map +1 -0
  35. package/es/spin/spin.less +9 -0
  36. package/es/steps/assets/background_left.svg +12 -0
  37. package/es/steps/assets/background_right.svg +12 -0
  38. package/es/steps/assets/horizontal_line.svg +3 -0
  39. package/es/steps/assets/vertical_line.svg +3 -0
  40. package/es/steps/stepStyle/icon.less +51 -0
  41. package/es/steps/stepStyle/progress-dot.less +10 -0
  42. package/es/steps/stepStyle/variables.less +8 -0
  43. package/es/steps/stepStyle/vertical.less +41 -0
  44. package/es/switch/index.less +45 -0
  45. package/es/tabs/tabs.less +125 -0
  46. package/es/time-picker/TimePicker.js +36 -0
  47. package/es/time-picker/TimePicker.js.map +1 -0
  48. package/es/time-picker/index.less +38 -0
  49. package/es/tntd-action/Action.js +117 -0
  50. package/es/tntd-action/Action.js.map +1 -0
  51. package/es/tntd-action/index.less +59 -0
  52. package/es/tntd-select/index.less +7 -0
  53. package/es/tntd-virtual-tree/index.js +35 -7
  54. package/es/tntd-virtual-tree/index.js.map +1 -1
  55. package/es/tntd-virtual-tree/index.less +36 -17
  56. package/es/tntd-virtual-tree-select/index.js +7 -2
  57. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  58. package/es/tntd-virtual-tree-select/index.less +6 -1
  59. package/lib/alert/alert.d.ts +12 -0
  60. package/lib/alert/alert.d.ts.map +1 -0
  61. package/lib/alert/alert.js +93 -0
  62. package/lib/alert/alert.js.map +1 -0
  63. package/lib/alert/alert.less +128 -0
  64. package/lib/cascader/cascader.d.ts +10 -0
  65. package/lib/cascader/cascader.d.ts.map +1 -0
  66. package/lib/cascader/cascader.js +49 -0
  67. package/lib/cascader/cascader.js.map +1 -0
  68. package/lib/cascader/cascader.less +16 -0
  69. package/lib/checkbox/check.png +0 -0
  70. package/lib/checkbox/checkbox.d.ts +16 -0
  71. package/lib/checkbox/checkbox.d.ts.map +1 -0
  72. package/lib/checkbox/checkbox.js +65 -0
  73. package/lib/checkbox/checkbox.js.map +1 -0
  74. package/lib/checkbox/checkbox.less +69 -0
  75. package/lib/date-picker/DatePicker.d.ts +21 -0
  76. package/lib/date-picker/DatePicker.d.ts.map +1 -0
  77. package/lib/date-picker/DatePicker.js +128 -0
  78. package/lib/date-picker/DatePicker.js.map +1 -0
  79. package/lib/date-picker/index.less +294 -0
  80. package/lib/input-number/inputNumber.d.ts +10 -0
  81. package/lib/input-number/inputNumber.d.ts.map +1 -0
  82. package/lib/input-number/inputNumber.js +54 -0
  83. package/lib/input-number/inputNumber.js.map +1 -0
  84. package/lib/input-number/inputNumber.less +12 -0
  85. package/lib/modal/index.less +36 -0
  86. package/lib/popconfirm/index.less +32 -0
  87. package/lib/popconfirm/popconfirm.d.ts +8 -0
  88. package/lib/popconfirm/popconfirm.d.ts.map +1 -0
  89. package/lib/popconfirm/popconfirm.js +61 -0
  90. package/lib/popconfirm/popconfirm.js.map +1 -0
  91. package/lib/popover/index.less +57 -0
  92. package/lib/popover/popover.d.ts +14 -0
  93. package/lib/popover/popover.d.ts.map +1 -0
  94. package/lib/popover/popover.js +55 -0
  95. package/lib/popover/popover.js.map +1 -0
  96. package/lib/progress/progress.d.ts +12 -0
  97. package/lib/progress/progress.d.ts.map +1 -0
  98. package/lib/progress/progress.js +148 -0
  99. package/lib/progress/progress.js.map +1 -0
  100. package/lib/progress/progress.less +82 -0
  101. package/lib/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  102. package/lib/query-form-backup/Field/Composition/index.less +114 -0
  103. package/lib/query-form-backup/index.less +90 -0
  104. package/lib/radio/radio.d.ts +17 -0
  105. package/lib/radio/radio.d.ts.map +1 -0
  106. package/lib/radio/radio.js +75 -0
  107. package/lib/radio/radio.js.map +1 -0
  108. package/lib/radio/radio.less +43 -0
  109. package/lib/spin/spin.d.ts +9 -0
  110. package/lib/spin/spin.d.ts.map +1 -0
  111. package/lib/spin/spin.js +44 -0
  112. package/lib/spin/spin.js.map +1 -0
  113. package/lib/spin/spin.less +9 -0
  114. package/lib/steps/assets/background_left.svg +12 -0
  115. package/lib/steps/assets/background_right.svg +12 -0
  116. package/lib/steps/assets/horizontal_line.svg +3 -0
  117. package/lib/steps/assets/vertical_line.svg +3 -0
  118. package/lib/steps/stepStyle/icon.less +51 -0
  119. package/lib/steps/stepStyle/progress-dot.less +10 -0
  120. package/lib/steps/stepStyle/variables.less +8 -0
  121. package/lib/steps/stepStyle/vertical.less +41 -0
  122. package/lib/switch/index.less +45 -0
  123. package/lib/tabs/tabs.less +125 -0
  124. package/lib/time-picker/TimePicker.d.ts +9 -0
  125. package/lib/time-picker/TimePicker.d.ts.map +1 -0
  126. package/lib/time-picker/TimePicker.js +55 -0
  127. package/lib/time-picker/TimePicker.js.map +1 -0
  128. package/lib/time-picker/index.less +38 -0
  129. package/lib/tntd-action/Action.d.ts +6 -0
  130. package/lib/tntd-action/Action.d.ts.map +1 -0
  131. package/lib/tntd-action/Action.js +141 -0
  132. package/lib/tntd-action/Action.js.map +1 -0
  133. package/lib/tntd-action/index.less +59 -0
  134. package/lib/tntd-select/index.less +7 -0
  135. package/lib/tntd-virtual-tree/index.d.ts +2 -1
  136. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  137. package/lib/tntd-virtual-tree/index.js +36 -8
  138. package/lib/tntd-virtual-tree/index.js.map +1 -1
  139. package/lib/tntd-virtual-tree/index.less +36 -17
  140. package/lib/tntd-virtual-tree-select/index.d.ts +3 -1
  141. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  142. package/lib/tntd-virtual-tree-select/index.js +9 -3
  143. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  144. package/lib/tntd-virtual-tree-select/index.less +6 -1
  145. package/package.json +1 -1
@@ -0,0 +1,132 @@
1
+ import React from 'react';
2
+ import { ConfigConsumer } from 'antd/es/config-provider';
3
+ import AntdProgress from 'antd/es/progress';
4
+ import classNames from 'classnames';
5
+ import Ellipsis from '../ellipsis';
6
+ import Icon from '../icon';
7
+ import './progress.less';
8
+ export * from 'antd/es/tooltip';
9
+ const iconMap = {
10
+ line: {
11
+ success: 'check-circle',
12
+ exception: 'close-circle'
13
+ },
14
+ circle: {
15
+ success: 'check',
16
+ exception: 'close'
17
+ }
18
+ };
19
+ const ifPercentBottom = (type, percentPosition) => {
20
+ return type === 'line' && percentPosition === 'bottom';
21
+ };
22
+ const percentTransform = percent => {
23
+ return percent >= 100 ? 100 : percent <= 0 ? 0 : percent;
24
+ };
25
+ const themeStrokeColor = (status, strokeColor, percent) => {
26
+ return status !== 'success' && status !== 'exception' && !strokeColor && percent !== 100 ? 'var(--blue-5)' : '';
27
+ };
28
+ const Progress = props => {
29
+ const {
30
+ className,
31
+ type = 'line',
32
+ percentPosition = 'right',
33
+ percent = 0,
34
+ format,
35
+ size,
36
+ label,
37
+ width = 132,
38
+ status,
39
+ halfCircle,
40
+ gapDegree = props.halfCircle ? 135 : props.gapDegree,
41
+ strokeColor,
42
+ strokeWidth = 7
43
+ } = props;
44
+ const _percent = percentTransform(percent);
45
+ const _strokeColor = themeStrokeColor(status, strokeColor, _percent);
46
+ return React.createElement(ConfigConsumer, null, ({
47
+ getPrefixCls
48
+ }) => {
49
+ const prefixCls = getPrefixCls('progress');
50
+ const CusLabelOrPercent = props => {
51
+ const {
52
+ type,
53
+ theme
54
+ } = props;
55
+ const labelPercentClassName = classNames(`${prefixCls}-percent-bottom`, {
56
+ [`${prefixCls}-percent-bottom-${size}`]: size === 'small',
57
+ [`${prefixCls}-percent-bottom-${type}`]: type === 'line'
58
+ });
59
+ const showIcon = status => React.createElement(Icon, {
60
+ type: `${iconMap[type][status]}`,
61
+ theme: theme,
62
+ className: classNames({
63
+ [`${labelPercentClassName} ${labelPercentClassName}-${status || 'success'}`]: type === 'line'
64
+ })
65
+ });
66
+ const showPercent = React.createElement("div", {
67
+ className: labelPercentClassName
68
+ }, format ? format === null || format === void 0 ? void 0 : format(_percent) : _percent + '%');
69
+ let displayContent;
70
+ if (status === 'success' || status === 'exception') {
71
+ displayContent = showIcon(status);
72
+ } else if (status === 'normal' || status === 'active') {
73
+ displayContent = showPercent;
74
+ } else {
75
+ // 如果状态为空
76
+ displayContent = _percent === 100 ? showIcon('success') : showPercent;
77
+ }
78
+ return displayContent;
79
+ };
80
+ const CusCircleAndDashboardFormat = props => {
81
+ const {
82
+ widthNum
83
+ } = props;
84
+ return React.createElement("div", {
85
+ className: `${prefixCls}-cus-format`
86
+ }, !!label && React.createElement(Ellipsis, {
87
+ className: `${prefixCls}-cus-format-label`,
88
+ title: label,
89
+ widthLimit: widthNum <= 64 ? widthNum : 'calc(100% - 50px)',
90
+ placement: widthNum <= 64 ? 'bottom' : 'top'
91
+ }), React.createElement(CusLabelOrPercent, {
92
+ type: "circle",
93
+ theme: "outlined"
94
+ }));
95
+ };
96
+ //line
97
+ const LineProgress = () => React.createElement(AntdProgress, Object.assign({
98
+ strokeColor: _strokeColor
99
+ }, props, {
100
+ className: classNames('tnt-progress', className, {
101
+ [`${prefixCls}-percent-bottom`]: percentPosition === 'bottom'
102
+ })
103
+ }));
104
+ //circle,dashboard (额外新增label和半圆选项)
105
+ const CircleAndDashboardProgress = () => {
106
+ const widthNum = Number(String(width).split('px').shift());
107
+ return React.createElement(AntdProgress, Object.assign({
108
+ gapDegree: gapDegree,
109
+ strokeColor: _strokeColor,
110
+ strokeWidth: strokeWidth
111
+ }, props, {
112
+ type: halfCircle ? 'dashboard' : type,
113
+ className: classNames('tnt-progress', `${prefixCls}-circle-progress`, className, {
114
+ [`${prefixCls}-small-circle`]: widthNum <= 64 && label,
115
+ [`${prefixCls}-large-circle`]: widthNum > 64 && label,
116
+ [`${prefixCls}-small-half-circle`]: halfCircle && widthNum <= 64 && label,
117
+ [`${prefixCls}-large-half-circle`]: halfCircle && widthNum > 64 && label
118
+ }),
119
+ format: () => React.createElement(CusCircleAndDashboardFormat, {
120
+ widthNum: widthNum
121
+ })
122
+ }));
123
+ };
124
+ const progressMap = {
125
+ line: React.createElement(LineProgress, null),
126
+ circle: React.createElement(CircleAndDashboardProgress, null),
127
+ dashboard: React.createElement(CircleAndDashboardProgress, null)
128
+ };
129
+ return progressMap[type];
130
+ });
131
+ };
132
+ export default Progress;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/progress/progress.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport type { ProgressProps } from 'antd/es/progress'\nimport type { ThemeType } from 'antd/es/icon'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport AntdProgress from 'antd/es/progress'\nimport classNames from 'classnames'\nimport Ellipsis from '../ellipsis'\nimport Icon from '../icon'\nimport './progress.less'\nexport * from 'antd/es/tooltip'\n\ninterface ExtendsProgress {\n percentPosition?: 'bottom' | 'right'\n label?: React.ReactNode\n halfCircle?: boolean\n}\nconst iconMap = {\n line: {\n success: 'check-circle',\n exception: 'close-circle',\n },\n circle: {\n success: 'check',\n exception: 'close',\n },\n}\nconst ifPercentBottom = (type: string, percentPosition: string) => {\n return type === 'line' && percentPosition === 'bottom'\n}\nconst percentTransform = (percent: number) => {\n return percent >= 100 ? 100 : percent <= 0 ? 0 : percent\n}\n\nconst themeStrokeColor = (status?: string, strokeColor?: string | object, percent?: number) => {\n return status !== 'success' && status !== 'exception' && !strokeColor && percent !== 100\n ? 'var(--blue-5)'\n : ''\n}\n\nconst Progress: React.FC<ProgressProps & ExtendsProgress> = (props) => {\n const {\n className,\n type = 'line',\n percentPosition = 'right',\n percent = 0,\n format,\n size,\n label,\n width = 132,\n status,\n halfCircle,\n gapDegree = props.halfCircle ? 135 : props.gapDegree,\n strokeColor,\n strokeWidth = 7,\n } = props\n const _percent = percentTransform(percent)\n const _strokeColor = themeStrokeColor(status, strokeColor, _percent)\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('progress')\n\n const CusLabelOrPercent = (props: { type: 'line' | 'circle'; theme?: ThemeType }) => {\n const { type, theme } = props\n const labelPercentClassName = classNames(`${prefixCls}-percent-bottom`, {\n [`${prefixCls}-percent-bottom-${size}`]: size === 'small',\n [`${prefixCls}-percent-bottom-${type}`]: type === 'line',\n })\n\n const showIcon = (status: 'success' | 'exception') => (\n <Icon\n type={`${iconMap[type][status]}`}\n theme={theme}\n className={classNames({\n [`${labelPercentClassName} ${labelPercentClassName}-${status || 'success'}`]:\n type === 'line',\n })}\n />\n )\n const showPercent = (\n <div className={labelPercentClassName}>\n {format ? format?.(_percent) : _percent + '%'}\n </div>\n )\n\n let displayContent\n if (status === 'success' || status === 'exception') {\n displayContent = showIcon(status)\n } else if (status === 'normal' || status === 'active') {\n displayContent = showPercent\n } else {\n // 如果状态为空\n displayContent = _percent === 100 ? showIcon('success') : showPercent\n }\n return displayContent\n }\n\n const CusCircleAndDashboardFormat = (props: { widthNum: number }) => {\n const { widthNum } = props\n return (\n <div className={`${prefixCls}-cus-format`}>\n {!!label && (\n <Ellipsis\n className={`${prefixCls}-cus-format-label`}\n title={label}\n widthLimit={widthNum <= 64 ? widthNum : 'calc(100% - 50px)'}\n placement={widthNum <= 64 ? 'bottom' : 'top'}\n />\n )}\n <CusLabelOrPercent type=\"circle\" theme=\"outlined\" />\n </div>\n )\n }\n\n //line\n const LineProgress: React.FC = () => (\n <AntdProgress\n strokeColor={_strokeColor}\n {...props}\n className={classNames('tnt-progress', className, {\n [`${prefixCls}-percent-bottom`]: percentPosition === 'bottom',\n })}\n />\n )\n\n //circle,dashboard (额外新增label和半圆选项)\n const CircleAndDashboardProgress: React.FC = () => {\n const widthNum = Number(String(width).split('px').shift())\n return (\n <AntdProgress\n gapDegree={gapDegree}\n strokeColor={_strokeColor}\n strokeWidth={strokeWidth}\n {...props}\n type={halfCircle ? 'dashboard' : type}\n className={classNames('tnt-progress', `${prefixCls}-circle-progress`, className, {\n [`${prefixCls}-small-circle`]: widthNum <= 64 && label,\n [`${prefixCls}-large-circle`]: widthNum > 64 && label,\n [`${prefixCls}-small-half-circle`]: halfCircle && widthNum <= 64 && label,\n [`${prefixCls}-large-half-circle`]: halfCircle && widthNum > 64 && label,\n })}\n format={() => <CusCircleAndDashboardFormat widthNum={widthNum} />}\n />\n )\n }\n\n const progressMap = {\n line: <LineProgress />,\n circle: <CircleAndDashboardProgress />,\n dashboard: <CircleAndDashboardProgress />,\n }\n return progressMap[type]\n }}\n </ConfigConsumer>\n )\n}\n\nexport default Progress\n"]}
@@ -0,0 +1,82 @@
1
+ @import '../style/themes/index.less';
2
+ @import '../style/mixins/index';
3
+ @progress-prefix-cls: ~'@{ant-prefix}-progress';
4
+ .tnt-progress.@{progress-prefix-cls} {
5
+ .ant-progress-text{
6
+ // font-family: PingFang SC;
7
+ font-weight: 500;
8
+ }
9
+ .ant-progress-cus-format-label{
10
+ .ant-progress-cus-format-label{
11
+ padding-bottom: 4px;
12
+ }
13
+ }
14
+ &-percent-bottom{
15
+ .ant-progress-outer{
16
+ padding-right: 0;
17
+ }
18
+ .ant-progress-text{
19
+ width: 100%;
20
+ display: block;
21
+ text-align: right;
22
+ margin-left: 0;
23
+ }
24
+ }
25
+ &-circle-progress{
26
+ .@{progress-prefix-cls}-cus-format{
27
+ height: 100%;
28
+ display: flex;
29
+ flex-direction: column;
30
+ justify-content: center;
31
+ align-items: center;
32
+ }
33
+ }
34
+ &-small-circle{
35
+ .ant-progress-text{
36
+ height: 100%;
37
+ }
38
+ .ant-progress-inner{
39
+ overflow:visible;
40
+ }
41
+ .tntd-ellipsis{
42
+ position: absolute;
43
+ bottom: -1.8em;
44
+ font-size: 0.75em;
45
+ // margin-bottom: 2px;
46
+ // color: #8B919E;
47
+ color:tint(@text-color, 50%);
48
+ font-family: Inter;
49
+ font-weight: 500;
50
+ text-align: center;
51
+ }
52
+ }
53
+ &-large-circle{
54
+ .ant-progress-text{
55
+ height: 100%;
56
+ }
57
+ .tntd-ellipsis{
58
+ font-size: 0.55em;
59
+ // margin-bottom: 2px;
60
+ color:tint(@text-color, 50%);
61
+ font-family: Inter;
62
+ font-weight: 500;
63
+ text-align: center;
64
+ }
65
+ }
66
+ &-small-half-circle{
67
+ .ant-progress-text{
68
+ height: 40%;
69
+ }
70
+ .tntd-ellipsis{
71
+ bottom: -1.5em;
72
+ }
73
+ }
74
+ &-large-half-circle{
75
+ .ant-progress-inner{
76
+ .ant-progress-text{
77
+ top: 42%
78
+ }
79
+ }
80
+ }
81
+ }
82
+
@@ -0,0 +1,35 @@
1
+ .tnt-queryform-field-popover {
2
+ min-width: 280px;
3
+ .ant-popover-inner-content {
4
+ padding: @padding-sm 0;
5
+ }
6
+ .ant-calendar-picker {
7
+ margin: @margin-xxs 0;
8
+ }
9
+ label {
10
+ color: tint(@text-color, 50%);
11
+ margin-bottom: @margin-xs;
12
+ display: block;
13
+ padding: 0 @padding-sm;
14
+ }
15
+ .ant-select-dropdown-menu {
16
+ &-item {
17
+ padding: @padding-xxs @padding-sm;
18
+ &:hover {
19
+ background-color: @bg-color-quaternary;
20
+ }
21
+ }
22
+ }
23
+ &-content {
24
+ padding: @padding-xxs @padding-sm;
25
+ }
26
+ .ant-select-selected-icon {
27
+ position: absolute;
28
+ right: @margin-base;
29
+ top: @margin-xs;
30
+ color: @blue-6;
31
+ }
32
+ .tnt-highlight {
33
+ color: @blue-6;
34
+ }
35
+ }
@@ -0,0 +1,114 @@
1
+ @import '../../../style/themes/index';
2
+ @import '../../../style/mixins/index';
3
+ @import '../../../input/style/mixin';
4
+
5
+ .tnt-queryform-composition-input {
6
+ // width: 100%;
7
+ max-height: 162px;
8
+ overflow-x: hidden;
9
+ cursor: text;
10
+ padding: 2px @padding-xl;
11
+ position: relative;
12
+ box-sizing: border-box;
13
+ background-color: @select-background;
14
+ border: @border-width-base @border-style-base @select-border-color;
15
+ border-top-width: calc(@border-width-base + 0.02px);
16
+ border-radius: @border-radius-base;
17
+ outline: none;
18
+ transition: all 0.3s @ease-in-out;
19
+ user-select: none;
20
+ margin-bottom: @margin-sm;
21
+
22
+ &-prefix {
23
+ position: absolute;
24
+ left: @padding-sm;
25
+ top: 50%;
26
+ transform: translateY(-50%);
27
+ i.anticon {
28
+ color: tint(@bg-color-spotilight, 50%);
29
+ }
30
+ }
31
+
32
+ &-width {
33
+ height: 0;
34
+ opacity: 0;
35
+ width: auto;
36
+ position: absolute;
37
+ max-width: 100%;
38
+ }
39
+
40
+ &-items {
41
+ float: left;
42
+ padding: 0;
43
+ list-style: none;
44
+ margin: 0;
45
+ width: 100%;
46
+ &-item {
47
+ padding: 3px 0;
48
+ }
49
+ li {
50
+ float: left;
51
+ line-height: 1;
52
+ }
53
+ &-input {
54
+ .inputClass {
55
+ background: none;
56
+ border: none !important;
57
+ outline: none;
58
+ box-shadow: none !important;
59
+ width: 150px !important;
60
+ height: 26px;
61
+ line-height: 26px;
62
+ padding: 0;
63
+ input {
64
+ border: none !important;
65
+ outline: none !important;
66
+ box-shadow: none !important;
67
+ height: 26px;
68
+ line-height: 26px;
69
+ padding: 0;
70
+ }
71
+ textarea {
72
+ padding: 0;
73
+ }
74
+ }
75
+ .inputClass-with-placeholder {
76
+ min-width: 398px !important;
77
+ }
78
+ }
79
+ }
80
+ &-clear {
81
+ position: absolute;
82
+ right: @margin-sm;
83
+ top: 50%;
84
+ transform: translateY(-50%);
85
+ display: none;
86
+ i.anticon {
87
+ color: tint(@bg-color-spotilight, 50%);
88
+ }
89
+ &:hover {
90
+ .anticon {
91
+ color: @text-color-secondary !important;
92
+ }
93
+ }
94
+ }
95
+ &:hover {
96
+ border-color: @blue-6;
97
+ outline: 0;
98
+ .tnt-queryform-composition-input-clear {
99
+ display: block;
100
+ }
101
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
102
+ }
103
+ &:focus,
104
+ &:active {
105
+ border-color: @blue-5;
106
+ outline: 0;
107
+ // box-shadow: 0 0 0 2px rgb(18 107 251 / 20%);
108
+ }
109
+ .ant-tag {
110
+ padding: 0 @padding-xs;
111
+ border: none;
112
+ background: @fill-color-tertiary;
113
+ }
114
+ }
@@ -0,0 +1,90 @@
1
+ .tnt-queryform {
2
+ &-top {
3
+ display: flex;
4
+ &-body {
5
+ flex: 1;
6
+ .ant-btn {
7
+ margin-right: 10px;
8
+ }
9
+ }
10
+ }
11
+
12
+ &-extra {
13
+ & > * {
14
+ margin-left: 10px;
15
+ }
16
+ }
17
+
18
+ .ant-form {
19
+ // margin-bottom: @margin-sm;
20
+ &.ant-form-inline {
21
+ flex-wrap: unset;
22
+ position: relative;
23
+ }
24
+
25
+ &.ant-form-inline .ant-form-item {
26
+ margin-right: 10px;
27
+ margin-bottom: @margin-sm;
28
+ display: inline-block;
29
+ }
30
+
31
+ .ant-form-item-control {
32
+ // min-width: 160px;
33
+ line-height: unset;
34
+ .ant-calendar-picker-input {
35
+ padding: 0 @padding-sm;
36
+ }
37
+ .ant-form-item-children {
38
+ & > .ant-input,
39
+ & > .ant-input-affix-wrapper {
40
+ width: 160px;
41
+ // width: 200px;
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ &-drawer {
48
+ margin-top: @margin-xxl;
49
+ &.large-size {
50
+ margin-top: 60px;
51
+ }
52
+
53
+ &.ant-drawer.ant-drawer-open {
54
+ .ant-drawer-mask {
55
+ opacity: 0;
56
+ background: unset;
57
+ }
58
+ }
59
+ .ant-drawer-body {
60
+ .ant-form-item {
61
+ display: block;
62
+ margin-right: 0;
63
+ margin-bottom: @margin-md;
64
+ width: 100%;
65
+ }
66
+ .ant-form-item-label {
67
+ display: block;
68
+ text-align: left;
69
+ line-height: 22px;
70
+ margin-bottom: 10px;
71
+ }
72
+ .ant-form-item-control-wrapper,
73
+ .ant-form-item-control,
74
+ .ant-calendar-picker,
75
+ .ant-input {
76
+ min-width: 100%;
77
+ width: 100%;
78
+ }
79
+
80
+ & > .ant-btn {
81
+ display: block;
82
+ width: 100%;
83
+ margin-bottom: 10px;
84
+ &.ant-btn-primary {
85
+ margin-top: @margin-md;
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,57 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
+ }
7
+ return t;
8
+ };
9
+ /*
10
+ * @Author: 周泽飞 zefei.zhou@tongdun.net
11
+ * @Date: 2024-03-14 16:55:05
12
+ * @LastEditors: 周泽飞 zefei.zhou@tongdun.net
13
+ * @LastEditTime: 2024-03-14 17:00:03
14
+ * @FilePath: /tntd/packages/tntd/src/radio/radio.tsx
15
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
16
+ */
17
+ import { ConfigConsumer } from 'antd/es/config-provider';
18
+ import AntdRadio from 'antd/es/radio';
19
+ import classNames from 'classnames';
20
+ import React, { forwardRef } from 'react';
21
+ import { connectReadonlyComponent } from '../connect';
22
+ import { PreviewText } from '../preview-text';
23
+ export * from 'antd/es/radio';
24
+ const tntPrefixCls = 'tnt-radio';
25
+ const Radio = forwardRef((_a, ref) => {
26
+ var {
27
+ className,
28
+ children,
29
+ desc
30
+ } = _a,
31
+ rest = __rest(_a, ["className", "children", "desc"]);
32
+ return React.createElement(ConfigConsumer, null, () => {
33
+ return React.createElement(AntdRadio, Object.assign({}, rest, {
34
+ ref: ref,
35
+ className: classNames(className, tntPrefixCls)
36
+ }), children ? React.createElement("span", {
37
+ className: `${tntPrefixCls}-children`
38
+ }, React.createElement("span", null, children), !!desc && React.createElement("span", {
39
+ className: `${tntPrefixCls}-desc`
40
+ }, desc)) : undefined);
41
+ });
42
+ });
43
+ const RadioGroup = forwardRef((_a, ref) => {
44
+ var {
45
+ className
46
+ } = _a,
47
+ rest = __rest(_a, ["className"]);
48
+ return React.createElement(ConfigConsumer, null, () => {
49
+ return React.createElement(AntdRadio.Group, Object.assign({}, rest, {
50
+ ref: ref,
51
+ className: classNames(className, `${tntPrefixCls}-group`)
52
+ }));
53
+ });
54
+ });
55
+ Radio.Group = connectReadonlyComponent(RadioGroup, PreviewText.Select);
56
+ Radio.Button = AntdRadio.Button;
57
+ export default Radio;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAKxD,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,cAAc,eAAe,CAAA;AAe7B,MAAM,YAAY,GAAG,WAAW,CAAA;AAEhC,MAAM,KAAK,GAAG,UAAU,CAAwB,CAAC,EAAsC,EAAE,GAAG,EAAE,EAAE;QAA/C,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,OAAW,EAAN,IAAI,cAApC,iCAAsC,CAAF;IACnF,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,SAAS,oBAAK,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,KAC1E,QAAQ,CAAC,CAAC,CAAC,CACV,8BAAM,SAAS,EAAE,GAAG,YAAY,WAAW;YACzC,kCAAO,QAAQ,CAAQ;YACtB,CAAC,CAAC,IAAI,IAAI,8BAAM,SAAS,EAAE,GAAG,YAAY,OAAO,IAAG,IAAI,CAAQ,CAC5D,CACR,CAAC,CAAC,CAAC,SAAS,CACH,CACb,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAmB,CAAA;AAEpB,MAAM,UAAU,GAAG,UAAU,CAAkC,CAAC,EAAsB,EAAE,GAAG,EAAE,EAAE;QAA/B,EAAE,SAAS,OAAW,EAAN,IAAI,cAApB,aAAsB,CAAF;IAClF,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,SAAS,CAAC,KAAK,oBACV,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,YAAY,QAAQ,CAAC,IACzD,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,KAAK,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;AACtE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;AAE/B,eAAe,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-03-14 16:55:05\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-03-14 17:00:03\n * @FilePath: /tntd/packages/tntd/src/radio/radio.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport type {\n RadioGroupProps as AntdRadioGroupProps,\n RadioProps as AntdRadioProps,\n} from 'antd/es/radio'\nimport AntdRadio from 'antd/es/radio'\nimport type AntdRadioGroup from 'antd/es/radio/group'\nimport classNames from 'classnames'\nimport React, { forwardRef } from 'react'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nexport * from 'antd/es/radio'\n\nexport type RadioProps = AntdRadioProps & {\n desc?: string | React.ReactNode\n}\nexport type RadioGroupProps = AntdRadioGroupProps & {\n readonly?: boolean\n}\n\ninterface RadioComponent\n extends React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<AntdRadio>> {\n Group: React.FC<RadioGroupProps>\n Button: typeof AntdRadio.Button\n}\n\nconst tntPrefixCls = 'tnt-radio'\n\nconst Radio = forwardRef<AntdRadio, RadioProps>(({ className, children, desc, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdRadio {...rest} ref={ref} className={classNames(className, tntPrefixCls)}>\n {children ? (\n <span className={`${tntPrefixCls}-children`}>\n <span>{children}</span>\n {!!desc && <span className={`${tntPrefixCls}-desc`}>{desc}</span>}\n </span>\n ) : undefined}\n </AntdRadio>\n )\n }}\n </ConfigConsumer>\n )\n}) as RadioComponent\n\nconst RadioGroup = forwardRef<AntdRadioGroup, RadioGroupProps>(({ className, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdRadio.Group\n {...rest}\n ref={ref}\n className={classNames(className, `${tntPrefixCls}-group`)}\n />\n )\n }}\n </ConfigConsumer>\n )\n})\n\nRadio.Group = connectReadonlyComponent(RadioGroup, PreviewText.Select)\nRadio.Button = AntdRadio.Button\n\nexport default Radio\n"]}
@@ -0,0 +1,43 @@
1
+ @radio-prefix-cls: ~'@{ant-prefix}-radio';
2
+ @radio-inner-prefix-cls: ~'@{radio-prefix-cls}-inner';
3
+
4
+ // 选中状态
5
+ .tnt-radio,
6
+ .tnt-radio-group {
7
+ .@{radio-prefix-cls}-checked {
8
+ .@{radio-inner-prefix-cls} {
9
+ border-color: @radio-dot-color;
10
+ background-color: @radio-dot-color;
11
+ &::after {
12
+ @radio-dot-size: calc(@radio-size - 12px);
13
+
14
+ width: @radio-dot-size;
15
+ height: @radio-dot-size;
16
+ top: calc((@radio-size - @radio-dot-size) / 2 - 1px);
17
+ left: calc((@radio-size - @radio-dot-size) / 2 - 1px);
18
+ background-color: @radio-button-bg;
19
+ }
20
+ }
21
+
22
+ &.@{radio-prefix-cls}-disabled {
23
+ .@{radio-inner-prefix-cls} {
24
+ border-color: @checkbox-check-disabled-color !important;
25
+ background-color: @checkbox-check-disabled-color;
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ .tnt-radio {
32
+ & > span:nth-of-type(2) {
33
+ display: inline-block;
34
+ }
35
+ &-children {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+ &-desc {
40
+ font-size: @font-size-sm;
41
+ color: @bg-color-spotilight-tint-50;
42
+ }
43
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * @Author: 周泽飞 zefei.zhou@tongdun.net
3
+ * @Date: 2024-07-19 18:49:24
4
+ * @LastEditors: 周泽飞 zefei.zhou@tongdun.net
5
+ * @LastEditTime: 2024-07-19 18:54:42
6
+ * @FilePath: /tntd/packages/tntd/src/spin/spin.tsx
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ */
9
+ var __rest = this && this.__rest || function (s, e) {
10
+ var t = {};
11
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
12
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
13
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
14
+ }
15
+ return t;
16
+ };
17
+ import React, { forwardRef } from 'react';
18
+ import { ConfigConsumer } from 'antd/es/config-provider';
19
+ import { default as AntdSpin } from 'antd/es/spin';
20
+ import classNames from 'classnames';
21
+ import './spin.less';
22
+ export const Spin = forwardRef((props, ref) => {
23
+ const {
24
+ className,
25
+ wrapperClassName
26
+ } = props,
27
+ restProps = __rest(props, ["className", "wrapperClassName"]);
28
+ return React.createElement(ConfigConsumer, null, () => {
29
+ return React.createElement(AntdSpin, Object.assign({
30
+ wrapperClassName: classNames('tnt-spin-nested', wrapperClassName || ''),
31
+ className: classNames('tnt-spin', className || '')
32
+ }, restProps, {
33
+ ref: ref
34
+ }));
35
+ });
36
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spin.js","sourceRoot":"","sources":["../../src/spin/spin.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;;;AAEH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,aAAa,CAAA;AAKpB,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACrE,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAArD,iCAA6C,CAAQ,CAAA;IAC3D,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,QAAQ,kBACP,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,IAAI,EAAE,CAAC,EACvE,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC,IAC9C,SAAS,IACb,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAkB,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-07-19 18:49:24\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-07-19 18:54:42\n * @FilePath: /tntd/packages/tntd/src/spin/spin.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\n\nimport React, { forwardRef } from 'react'\nimport type { SpinProps as AntdSpinProps } from 'antd/es/spin'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdSpin } from 'antd/es/spin'\nimport classNames from 'classnames'\n\nimport './spin.less'\n\ninterface SpinComponent\n extends React.ForwardRefExoticComponent<AntdSpinProps & React.RefAttributes<AntdSpin>> {}\n\nexport const Spin = forwardRef<AntdSpin, AntdSpinProps>((props, ref) => {\n const { className, wrapperClassName, ...restProps } = props\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdSpin\n wrapperClassName={classNames('tnt-spin-nested', wrapperClassName || '')}\n className={classNames('tnt-spin', className || '')}\n {...restProps}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n}) as SpinComponent\n"]}
@@ -0,0 +1,9 @@
1
+ @spin-prefix-cls: ~'@{ant-prefix}-spin';
2
+ .tnt-spin-nested{
3
+ .@{spin-prefix-cls}-container {
4
+ &::after{
5
+ content:'';
6
+ background-color: transparent;
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ <svg width="162" height="77" viewBox="0 0 162 77" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Ellipse 27" filter="url(#filter0_f_5274_1997)">
3
+ <ellipse class="test" cx="36.5" cy="-21.5" rx="78.5" ry="51.5" fill="#126BFB" fill-opacity="0.15"/>
4
+ </g>
5
+ <defs>
6
+ <filter id="filter0_f_5274_1997" x="-89" y="-120" width="251" height="197" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
7
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
8
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
9
+ <feGaussianBlur stdDeviation="23.5" result="effect1_foregroundBlur_5274_1997"/>
10
+ </filter>
11
+ </defs>
12
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg width="131" height="80" viewBox="0 0 131 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Ellipse 28" filter="url(#filter0_f_5274_1888)">
3
+ <circle cx="118" cy="100" r="71" fill="#126BFB" fill-opacity="0.08"/>
4
+ </g>
5
+ <defs>
6
+ <filter id="filter0_f_5274_1888" x="0" y="-18" width="236" height="236" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
7
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
8
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
9
+ <feGaussianBlur stdDeviation="23.5" result="effect1_foregroundBlur_5274_1888"/>
10
+ </filter>
11
+ </defs>
12
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="8" height="2" viewBox="0 0 6 2" fill="none">
2
+ <path class="t1" d="M1.5 1H206" stroke="#C9D2DD" stroke-width="2" stroke-linecap="round" stroke-dasharray="2 7"/>
3
+ </svg>