tntd 3.0.0-beta.2 → 3.0.0-beta.20
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.
- package/es/alert/alert.js +5 -4
- package/es/alert/alert.js.map +1 -1
- package/es/array-input/index.js +57 -42
- package/es/array-input/index.js.map +1 -1
- package/es/array-input/index.less +4 -1
- package/es/button/button.less +17 -12
- package/es/cascader/cascader.js +30 -0
- package/es/cascader/cascader.js.map +1 -0
- package/es/cascader/cascader.less +16 -0
- package/es/cascader/index.js +3 -6
- package/es/cascader/index.js.map +1 -1
- package/es/check-card/index.js +2 -3
- package/es/check-card/index.js.map +1 -1
- package/es/checkbox/checkbox.js +5 -5
- package/es/checkbox/checkbox.js.map +1 -1
- package/es/collapse/collapse.less +3 -3
- package/es/color-picker/ColorPicker.js +4 -6
- package/es/color-picker/ColorPicker.js.map +1 -1
- package/es/descriptions/descriptions.js +35 -17
- package/es/descriptions/descriptions.js.map +1 -1
- package/es/descriptions/descriptions.less +6 -2
- package/es/descriptions/style/index.less +1 -0
- package/es/drawer/drawer.js +34 -24
- package/es/drawer/drawer.js.map +1 -1
- package/es/drawer/index.less +8 -12
- package/es/drawer/style/drawer.less +2 -4
- package/es/form/form.js +5 -3
- package/es/form/form.js.map +1 -1
- package/es/form/form.less +12 -6
- package/es/form/style/index.less +6 -6
- package/es/handle/index.js +9 -6
- package/es/handle/index.js.map +1 -1
- package/es/handle/index.less +16 -0
- package/es/handle-icon/index.js +201 -0
- package/es/handle-icon/index.js.map +1 -0
- package/es/handle-icon/index.less +53 -0
- package/es/icon/style/style.less +1 -1
- package/es/index.js +5 -0
- package/es/index.js.map +1 -1
- package/es/input/input.js +10 -6
- package/es/input/input.js.map +1 -1
- package/es/input/style/mixin.less +2 -3
- package/es/locale/en_US.js +6 -0
- package/es/locale/en_US.js.map +1 -1
- package/es/locale/zh_CN.js +6 -0
- package/es/locale/zh_CN.js.map +1 -1
- package/es/modal/style/confirm.less +6 -10
- package/es/modal/style/modal.less +1 -1
- package/es/page-container/index.js +13 -0
- package/es/page-container/index.js.map +1 -0
- package/es/page-container/index.less +38 -0
- package/es/page-loading/index.js +29 -0
- package/es/page-loading/index.js.map +1 -0
- package/es/page-loading/index.less +38 -0
- package/es/page-loading/loading.gif +0 -0
- package/es/query-form/index.js +125 -109
- package/es/query-form/index.js.map +1 -1
- package/es/query-form/index.less +9 -12
- package/es/{query-form → query-form-backup}/Field/Composition/index.less +11 -3
- package/es/query-form-backup/index.less +90 -0
- package/es/query-list-scene/QueryForm.js +1 -3
- package/es/query-list-scene/QueryForm.js.map +1 -1
- package/es/query-list-scene/index.less +3 -3
- package/es/radio/radio.js +4 -4
- package/es/radio/radio.js.map +1 -1
- package/es/select/select.js +5 -3
- package/es/select/select.js.map +1 -1
- package/es/select/select.less +1 -1
- package/es/select/style/index.less +4 -4
- package/es/style/themes/default.less +3 -3
- package/es/table/expand.less +49 -0
- package/es/table/hooks/index.js +2 -1
- package/es/table/hooks/index.js.map +1 -1
- package/es/table/hooks/use-expand-fixed.js +78 -0
- package/es/table/hooks/use-expand-fixed.js.map +1 -0
- package/es/table/index.js +1 -0
- package/es/table/index.js.map +1 -1
- package/es/table/style/index.less +61 -68
- package/es/table/style/size.less +4 -4
- package/es/table/table.js +49 -15
- package/es/table/table.js.map +1 -1
- package/es/table/table.less +13 -22
- package/es/table/table.stories.js +413 -2
- package/es/table/table.stories.js.map +1 -1
- package/es/table/utils.js +11 -0
- package/es/table/utils.js.map +1 -1
- package/es/table-container/index.js +15 -0
- package/es/table-container/index.js.map +1 -0
- package/es/table-container/index.less +16 -0
- package/es/tabs/tabs.less +23 -25
- package/es/tabs-container/index.js +13 -0
- package/es/tabs-container/index.js.map +1 -0
- package/es/tabs-container/index.less +51 -0
- package/es/tag/color.less +28 -18
- package/es/tag/index.js +1 -1
- package/es/tag/index.js.map +1 -1
- package/es/tag/tag.less +41 -5
- package/es/title/index.js +4 -3
- package/es/title/index.js.map +1 -1
- package/es/tntd-action/Action.js +60 -13
- package/es/tntd-action/Action.js.map +1 -1
- package/es/tntd-action/index.js +5 -5
- package/es/tntd-action/index.js.map +1 -1
- package/es/tntd-action/index.less +5 -3
- package/es/tntd-cascader/AntdCascader/component/getIcons.js +7 -8
- package/es/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -1
- package/es/tntd-cascader/AntdCascader/index.js +4 -5
- package/es/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/es/tntd-form/FormItem/ItemHolder.js +1 -6
- package/es/tntd-form/FormItem/ItemHolder.js.map +1 -1
- package/es/tntd-rc-select/_util/getIcons.js +7 -8
- package/es/tntd-rc-select/_util/getIcons.js.map +1 -1
- package/es/tntd-select/index.js +9 -8
- package/es/tntd-select/index.js.map +1 -1
- package/es/tntd-select/index.less +7 -0
- package/es/tooltip/index.js +1 -0
- package/es/tooltip/index.js.map +1 -1
- package/es/tooltip/index.less +1 -2
- package/lib/alert/alert.d.ts.map +1 -1
- package/lib/alert/alert.js +4 -3
- package/lib/alert/alert.js.map +1 -1
- package/lib/array-input/index.d.ts +1 -12
- package/lib/array-input/index.d.ts.map +1 -1
- package/lib/array-input/index.js +62 -55
- package/lib/array-input/index.js.map +1 -1
- package/lib/array-input/index.less +4 -1
- package/lib/button/button.less +17 -12
- package/lib/cascader/cascader.d.ts +10 -0
- package/lib/cascader/cascader.d.ts.map +1 -0
- package/lib/cascader/cascader.js +49 -0
- package/lib/cascader/cascader.js.map +1 -0
- package/lib/cascader/cascader.less +16 -0
- package/lib/cascader/index.d.ts +3 -7
- package/lib/cascader/index.d.ts.map +1 -1
- package/lib/cascader/index.js +5 -10
- package/lib/cascader/index.js.map +1 -1
- package/lib/check-card/index.js +1 -2
- package/lib/check-card/index.js.map +1 -1
- package/lib/checkbox/checkbox.d.ts +2 -2
- package/lib/checkbox/checkbox.d.ts.map +1 -1
- package/lib/checkbox/checkbox.js +5 -5
- package/lib/checkbox/checkbox.js.map +1 -1
- package/lib/collapse/collapse.less +3 -3
- package/lib/color-picker/ColorPicker.d.ts.map +1 -1
- package/lib/color-picker/ColorPicker.js +2 -4
- package/lib/color-picker/ColorPicker.js.map +1 -1
- package/lib/descriptions/descriptions.d.ts.map +1 -1
- package/lib/descriptions/descriptions.js +38 -19
- package/lib/descriptions/descriptions.js.map +1 -1
- package/lib/descriptions/descriptions.less +6 -2
- package/lib/descriptions/style/index.less +1 -0
- package/lib/drawer/drawer.d.ts +5 -0
- package/lib/drawer/drawer.d.ts.map +1 -1
- package/lib/drawer/drawer.js +34 -23
- package/lib/drawer/drawer.js.map +1 -1
- package/lib/drawer/index.less +8 -12
- package/lib/drawer/style/drawer.less +2 -4
- package/lib/form/form.js +5 -3
- package/lib/form/form.js.map +1 -1
- package/lib/form/form.less +12 -6
- package/lib/form/style/index.less +6 -6
- package/lib/handle/index.d.ts.map +1 -1
- package/lib/handle/index.js +15 -10
- package/lib/handle/index.js.map +1 -1
- package/lib/handle/index.less +16 -0
- package/lib/handle-icon/index.d.ts +7 -0
- package/lib/handle-icon/index.d.ts.map +1 -0
- package/lib/handle-icon/index.js +221 -0
- package/lib/handle-icon/index.js.map +1 -0
- package/lib/handle-icon/index.less +53 -0
- package/lib/icon/style/style.less +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +35 -0
- package/lib/index.js.map +1 -1
- package/lib/input/input.js +8 -4
- package/lib/input/input.js.map +1 -1
- package/lib/input/style/mixin.less +2 -3
- package/lib/locale/default.d.ts +6 -0
- package/lib/locale/default.d.ts.map +1 -1
- package/lib/locale/en_US.d.ts +6 -0
- package/lib/locale/en_US.d.ts.map +1 -1
- package/lib/locale/en_US.js +6 -0
- package/lib/locale/en_US.js.map +1 -1
- package/lib/locale/zh_CN.d.ts +6 -0
- package/lib/locale/zh_CN.d.ts.map +1 -1
- package/lib/locale/zh_CN.js +6 -0
- package/lib/locale/zh_CN.js.map +1 -1
- package/lib/modal/style/confirm.less +6 -10
- package/lib/modal/style/modal.less +1 -1
- package/lib/page-container/index.d.ts +4 -0
- package/lib/page-container/index.d.ts.map +1 -0
- package/lib/page-container/index.js +22 -0
- package/lib/page-container/index.js.map +1 -0
- package/lib/page-container/index.less +38 -0
- package/lib/{query-form/Field/Composition/Select.d.ts → page-loading/index.d.ts} +1 -1
- package/lib/page-loading/index.d.ts.map +1 -0
- package/lib/page-loading/index.js +34 -0
- package/lib/page-loading/index.js.map +1 -0
- package/lib/page-loading/index.less +38 -0
- package/lib/page-loading/loading.gif +0 -0
- package/lib/query-form/index.d.ts +7 -4
- package/lib/query-form/index.d.ts.map +1 -1
- package/lib/query-form/index.js +149 -137
- package/lib/query-form/index.js.map +1 -1
- package/lib/query-form/index.less +9 -12
- package/lib/{query-form → query-form-backup}/Field/Composition/index.less +11 -3
- package/lib/query-form-backup/index.less +90 -0
- package/lib/query-list-scene/QueryForm.js +2 -3
- package/lib/query-list-scene/QueryForm.js.map +1 -1
- package/lib/query-list-scene/index.less +3 -3
- package/lib/radio/radio.d.ts +2 -2
- package/lib/radio/radio.d.ts.map +1 -1
- package/lib/radio/radio.js +4 -4
- package/lib/radio/radio.js.map +1 -1
- package/lib/select/select.d.ts.map +1 -1
- package/lib/select/select.js +4 -2
- package/lib/select/select.js.map +1 -1
- package/lib/select/select.less +1 -1
- package/lib/select/style/index.less +4 -4
- package/lib/style/themes/default.less +3 -3
- package/lib/table/expand.less +49 -0
- package/lib/table/hooks/index.d.ts +1 -0
- package/lib/table/hooks/index.d.ts.map +1 -1
- package/lib/table/hooks/index.js +11 -0
- package/lib/table/hooks/index.js.map +1 -1
- package/lib/table/hooks/use-expand-fixed.d.ts +4 -0
- package/lib/table/hooks/use-expand-fixed.d.ts.map +1 -0
- package/lib/table/hooks/use-expand-fixed.js +108 -0
- package/lib/table/hooks/use-expand-fixed.js.map +1 -0
- package/lib/table/index.d.ts +1 -0
- package/lib/table/index.d.ts.map +1 -1
- package/lib/table/index.js +1 -0
- package/lib/table/index.js.map +1 -1
- package/lib/table/style/index.less +61 -68
- package/lib/table/style/size.less +4 -4
- package/lib/table/table.d.ts +3 -1
- package/lib/table/table.d.ts.map +1 -1
- package/lib/table/table.js +50 -13
- package/lib/table/table.js.map +1 -1
- package/lib/table/table.less +13 -22
- package/lib/table/table.stories.d.ts +106 -29
- package/lib/table/table.stories.d.ts.map +1 -1
- package/lib/table/table.stories.js +426 -3
- package/lib/table/table.stories.js.map +1 -1
- package/lib/table/utils.d.ts +1 -0
- package/lib/table/utils.d.ts.map +1 -1
- package/lib/table/utils.js +13 -0
- package/lib/table/utils.js.map +1 -1
- package/lib/table-container/index.d.ts +3 -0
- package/lib/table-container/index.d.ts.map +1 -0
- package/lib/table-container/index.js +25 -0
- package/lib/table-container/index.js.map +1 -0
- package/lib/table-container/index.less +16 -0
- package/lib/tabs/tabs.less +23 -25
- package/lib/tabs-container/index.d.ts +4 -0
- package/lib/tabs-container/index.d.ts.map +1 -0
- package/lib/tabs-container/index.js +22 -0
- package/lib/tabs-container/index.js.map +1 -0
- package/lib/tabs-container/index.less +51 -0
- package/lib/tag/color.less +28 -18
- package/lib/tag/index.js +1 -1
- package/lib/tag/index.js.map +1 -1
- package/lib/tag/tag.less +41 -5
- package/lib/title/index.d.ts +1 -0
- package/lib/title/index.d.ts.map +1 -1
- package/lib/title/index.js +3 -2
- package/lib/title/index.js.map +1 -1
- package/lib/tntd-action/Action.d.ts +1 -1
- package/lib/tntd-action/Action.js +65 -14
- package/lib/tntd-action/Action.js.map +1 -1
- package/lib/tntd-action/index.js +6 -8
- package/lib/tntd-action/index.js.map +1 -1
- package/lib/tntd-action/index.less +5 -3
- package/lib/tntd-cascader/AntdCascader/component/getIcons.js +2 -3
- package/lib/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.d.ts.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.js +1 -2
- package/lib/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/lib/tntd-form/FormItem/ItemHolder.js +1 -6
- package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -1
- package/lib/tntd-rc-select/_util/getIcons.js +2 -3
- package/lib/tntd-rc-select/_util/getIcons.js.map +1 -1
- package/lib/tntd-select/index.d.ts.map +1 -1
- package/lib/tntd-select/index.js +8 -7
- package/lib/tntd-select/index.js.map +1 -1
- package/lib/tntd-select/index.less +7 -0
- package/lib/tooltip/index.d.ts +1 -0
- package/lib/tooltip/index.d.ts.map +1 -1
- package/lib/tooltip/index.js +1 -0
- package/lib/tooltip/index.js.map +1 -1
- package/lib/tooltip/index.less +1 -2
- package/package.json +5 -4
- package/themes/common/css2.x.css +1 -0
- package/themes/common/css3.x.css +1 -0
- package/themes/default/lessVars3.x.less +4 -6
- package/themes/default/variables.less +3 -3
- package/themes/default/variablesVar.less +3 -3
- package/es/array-input/icon.js +0 -25
- package/es/array-input/icon.js.map +0 -1
- package/es/checkbox/checkbox-group.js +0 -5
- package/es/checkbox/checkbox-group.js.map +0 -1
- package/es/drawer/drawer.less +0 -20
- package/es/grid/RowContext.js +0 -3
- package/es/grid/RowContext.js.map +0 -1
- package/es/grid/col.js +0 -103
- package/es/grid/col.js.map +0 -1
- package/es/grid/hooks/useBreakpoint.js +0 -18
- package/es/grid/hooks/useBreakpoint.js.map +0 -1
- package/es/grid/row.js +0 -154
- package/es/grid/row.js.map +0 -1
- package/es/grid/style/rtl.less +0 -69
- package/es/modal/modal.less +0 -18
- package/es/query-form/Field/Composition/FieldPopover.js +0 -284
- package/es/query-form/Field/Composition/FieldPopover.js.map +0 -1
- package/es/query-form/Field/Composition/Select.js +0 -108
- package/es/query-form/Field/Composition/Select.js.map +0 -1
- package/es/query-form/Field/Composition/index.js +0 -275
- package/es/query-form/Field/Composition/index.js.map +0 -1
- package/es/query-form/Field/Composition/utils.js +0 -19
- package/es/query-form/Field/Composition/utils.js.map +0 -1
- package/es/radio/radio-group.js +0 -5
- package/es/radio/radio-group.js.map +0 -1
- package/es/steps/stepStyle/small.less +0 -5
- package/lib/array-input/icon.d.ts +0 -4
- package/lib/array-input/icon.d.ts.map +0 -1
- package/lib/array-input/icon.js +0 -32
- package/lib/array-input/icon.js.map +0 -1
- package/lib/checkbox/checkbox-group.d.ts +0 -8
- package/lib/checkbox/checkbox-group.d.ts.map +0 -1
- package/lib/checkbox/checkbox-group.js +0 -12
- package/lib/checkbox/checkbox-group.js.map +0 -1
- package/lib/drawer/drawer.less +0 -20
- package/lib/grid/RowContext.d.ts +0 -9
- package/lib/grid/RowContext.d.ts.map +0 -1
- package/lib/grid/RowContext.js +0 -9
- package/lib/grid/RowContext.js.map +0 -1
- package/lib/grid/col.d.ts +0 -29
- package/lib/grid/col.d.ts.map +0 -1
- package/lib/grid/col.js +0 -100
- package/lib/grid/col.js.map +0 -1
- package/lib/grid/hooks/useBreakpoint.d.ts +0 -4
- package/lib/grid/hooks/useBreakpoint.d.ts.map +0 -1
- package/lib/grid/hooks/useBreakpoint.js +0 -28
- package/lib/grid/hooks/useBreakpoint.js.map +0 -1
- package/lib/grid/row.d.ts +0 -21
- package/lib/grid/row.d.ts.map +0 -1
- package/lib/grid/row.js +0 -183
- package/lib/grid/row.js.map +0 -1
- package/lib/grid/style/rtl.less +0 -69
- package/lib/modal/modal.less +0 -18
- package/lib/query-form/Field/Composition/FieldPopover.d.ts +0 -17
- package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/FieldPopover.js +0 -319
- package/lib/query-form/Field/Composition/FieldPopover.js.map +0 -1
- package/lib/query-form/Field/Composition/Select.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/Select.js +0 -132
- package/lib/query-form/Field/Composition/Select.js.map +0 -1
- package/lib/query-form/Field/Composition/index.d.ts +0 -14
- package/lib/query-form/Field/Composition/index.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/index.js +0 -330
- package/lib/query-form/Field/Composition/index.js.map +0 -1
- package/lib/query-form/Field/Composition/utils.d.ts +0 -6
- package/lib/query-form/Field/Composition/utils.d.ts.map +0 -1
- package/lib/query-form/Field/Composition/utils.js +0 -27
- package/lib/query-form/Field/Composition/utils.js.map +0 -1
- package/lib/radio/radio-group.d.ts +0 -8
- package/lib/radio/radio-group.d.ts.map +0 -1
- package/lib/radio/radio-group.js +0 -12
- package/lib/radio/radio-group.js.map +0 -1
- package/lib/steps/stepStyle/small.less +0 -5
- /package/es/{query-form → query-form-backup}/Field/Composition/FieldPopover.less +0 -0
- /package/lib/{query-form → query-form-backup}/Field/Composition/FieldPopover.less +0 -0
package/es/alert/alert.js
CHANGED
|
@@ -24,9 +24,10 @@ const prefix = 'tnt-alert';
|
|
|
24
24
|
export const Alert = forwardRef((_a, ref) => {
|
|
25
25
|
var {
|
|
26
26
|
action,
|
|
27
|
-
message
|
|
27
|
+
message,
|
|
28
|
+
icon
|
|
28
29
|
} = _a,
|
|
29
|
-
rest = __rest(_a, ["action", "message"]);
|
|
30
|
+
rest = __rest(_a, ["action", "message", "icon"]);
|
|
30
31
|
const fragment = React.createElement(React.Fragment, null, message, !!action && React.createElement("span", {
|
|
31
32
|
className: "action-btn"
|
|
32
33
|
}, action));
|
|
@@ -48,11 +49,11 @@ export const Alert = forwardRef((_a, ref) => {
|
|
|
48
49
|
default:
|
|
49
50
|
iconType = 'default';
|
|
50
51
|
}
|
|
51
|
-
const iconNode = rest.type ? React.createElement(Icon, {
|
|
52
|
+
const iconNode = icon || (rest.type ? React.createElement(Icon, {
|
|
52
53
|
className: `${prefix}-icon`,
|
|
53
54
|
type: iconType,
|
|
54
55
|
theme: iconTheme
|
|
55
|
-
}) : null;
|
|
56
|
+
}) : null);
|
|
56
57
|
return React.createElement(ConfigConsumer, null, ({
|
|
57
58
|
getPrefixCls
|
|
58
59
|
}) => {
|
package/es/alert/alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/alert/alert.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,cAAc,eAAe,CAAA;AAS7B,MAAM,MAAM,GAAG,WAAW,CAAA;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/alert/alert.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,cAAc,eAAe,CAAA;AAS7B,MAAM,MAAM,GAAG,WAAW,CAAA;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,EAAkC,EAAE,GAAG,EAAE,EAAE;QAA3C,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,OAAW,EAAN,IAAI,cAAhC,6BAAkC,CAAF;IAC/B,MAAM,QAAQ,GAAG,CACf;QACG,OAAO;QACP,CAAC,CAAC,MAAM,IAAI,8BAAM,SAAS,EAAC,YAAY,IAAE,MAAM,CAAQ,CACxD,CACJ,CAAA;IAED,MAAM,SAAS,GAAc,QAAQ,CAAA;IACrC,IAAI,QAAQ,GAAG,SAAS,CAAA;IAExB,QAAQ,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE;QAClB,KAAK,SAAS;YACZ,QAAQ,GAAG,cAAc,CAAA;YACzB,MAAK;QACP,KAAK,MAAM;YACT,QAAQ,GAAG,aAAa,CAAA;YACxB,MAAK;QACP,KAAK,OAAO;YACV,QAAQ,GAAG,cAAc,CAAA;YACzB,MAAK;QACP,KAAK,SAAS;YACZ,QAAQ,GAAG,oBAAoB,CAAA;YAC/B,MAAK;QACP;YACE,QAAQ,GAAG,SAAS,CAAA;KACvB;IAED,MAAM,QAAQ,GACZ,IAAI;QACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,MAAM,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE9F,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE,WAAW,EAAE;gBACjD,CAAC,GAAG,MAAM,cAAc,CAAC,EAAE,MAAM;aAClC,CAAC,IACF,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACgB,CAAA;AAEnB,eAAe,KAAK,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-03-21 19:43:36\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-03-21 19:46:23\n * @FilePath: /tntd/packages/tntd/src/alert/alert.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport type { AlertProps as AntdAlertProps } from 'antd/es/alert'\nimport type { ThemeType } from 'antd/es/icon'\nimport Icon from 'antd/es/icon'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport { default as AntdAlert } from 'antd/es/alert'\nimport classname from 'classnames'\nexport * from 'antd/es/alert'\n\nexport interface AlertProps extends AntdAlertProps {\n action: React.ReactNode\n}\n\ninterface AlertComponent\n extends React.ForwardRefExoticComponent<AntdAlertProps & React.RefAttributes<AntdAlert>> {}\n\nconst prefix = 'tnt-alert'\n\nexport const Alert = forwardRef<AntdAlert, AlertProps>(\n ({ action, message, icon, ...rest }, ref) => {\n const fragment = (\n <>\n {message}\n {!!action && <span className=\"action-btn\">{action}</span>}\n </>\n )\n\n const iconTheme: ThemeType = 'filled'\n let iconType = 'default'\n\n switch (rest?.type) {\n case 'success':\n iconType = 'check-circle'\n break\n case 'info':\n iconType = 'info-circle'\n break\n case 'error':\n iconType = 'close-circle'\n break\n case 'warning':\n iconType = 'exclamation-circle'\n break\n default:\n iconType = 'default'\n }\n\n const iconNode =\n icon ||\n (rest.type ? <Icon className={`${prefix}-icon`} type={iconType} theme={iconTheme} /> : null)\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdAlert\n ref={ref}\n {...rest}\n message={fragment}\n icon={iconNode}\n className={classname(rest?.className, 'tnt-alert', {\n [`${prefix}-with-action`]: action,\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as AlertComponent\n\nexport default Alert\n"]}
|
package/es/array-input/index.js
CHANGED
|
@@ -13,17 +13,19 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
13
13
|
return t;
|
|
14
14
|
};
|
|
15
15
|
import React, { isValidElement, useCallback, useEffect, useState } from 'react';
|
|
16
|
-
import
|
|
16
|
+
import LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver';
|
|
17
17
|
import Col from '../col';
|
|
18
18
|
import Row from '../row';
|
|
19
19
|
import Table from '../table';
|
|
20
20
|
import Tooltip from '../tooltip';
|
|
21
|
+
import Icon from '../icon';
|
|
22
|
+
import Button from '../button';
|
|
21
23
|
import './index.less';
|
|
22
24
|
const {
|
|
23
25
|
Column
|
|
24
26
|
} = Table;
|
|
25
27
|
const getWidth = span => 1000 / span;
|
|
26
|
-
|
|
28
|
+
function ArrayInput({
|
|
27
29
|
children,
|
|
28
30
|
defaultValue,
|
|
29
31
|
value,
|
|
@@ -33,11 +35,17 @@ export default function ArrayInput({
|
|
|
33
35
|
require = false,
|
|
34
36
|
deleteTip = '',
|
|
35
37
|
plusTip = '',
|
|
36
|
-
addText
|
|
38
|
+
addText,
|
|
39
|
+
locale,
|
|
40
|
+
xProps = {},
|
|
41
|
+
renderAction
|
|
37
42
|
}) {
|
|
38
43
|
if (!_isFunction(children)) {
|
|
39
44
|
throw new Error('ArrayInput的children必须是函数');
|
|
40
45
|
}
|
|
46
|
+
if (addText === undefined) {
|
|
47
|
+
addText = locale === null || locale === void 0 ? void 0 : locale.add;
|
|
48
|
+
}
|
|
41
49
|
const [_value, setValue] = useState(value || defaultValue);
|
|
42
50
|
useEffect(() => {
|
|
43
51
|
setValue(value);
|
|
@@ -79,6 +87,7 @@ export default function ArrayInput({
|
|
|
79
87
|
if (!_isArray(fields)) {
|
|
80
88
|
fields = _get(fields, 'props.children', []);
|
|
81
89
|
}
|
|
90
|
+
const actionSpan = 24 - _sum(fields.map(f => _get(f, 'props.span', 4))) % 24;
|
|
82
91
|
return React.createElement(Row, {
|
|
83
92
|
gutter: gutter,
|
|
84
93
|
key: index,
|
|
@@ -109,29 +118,26 @@ export default function ArrayInput({
|
|
|
109
118
|
}
|
|
110
119
|
}, other)));
|
|
111
120
|
}), React.createElement(Col, {
|
|
112
|
-
span:
|
|
121
|
+
span: actionSpan
|
|
113
122
|
}, React.createElement("span", {
|
|
114
123
|
className: "tntd-array-input-action"
|
|
115
|
-
},
|
|
116
|
-
title:
|
|
117
|
-
placement: "left"
|
|
118
|
-
}, React.createElement("span", {
|
|
119
|
-
className: "mr10",
|
|
120
|
-
onClick: () => onAdd(index)
|
|
121
|
-
}, plusIcon)) : React.createElement("span", {
|
|
122
|
-
className: "mr10",
|
|
123
|
-
onClick: () => onAdd(index)
|
|
124
|
-
}, plusIcon), deleteTip ? React.createElement(Tooltip, {
|
|
125
|
-
title: deleteTip,
|
|
126
|
-
placement: "right"
|
|
124
|
+
}, renderAction ? renderAction(item, index, onDelete, onAdd) : React.createElement(React.Fragment, null, deleteTip ? React.createElement(Tooltip, {
|
|
125
|
+
title: deleteTip
|
|
127
126
|
}, React.createElement("span", {
|
|
128
127
|
onClick: () => onDelete(index)
|
|
129
|
-
},
|
|
128
|
+
}, React.createElement(Icon, {
|
|
129
|
+
type: "delete"
|
|
130
|
+
}))) : React.createElement("span", {
|
|
130
131
|
onClick: () => onDelete(index)
|
|
131
|
-
},
|
|
132
|
-
|
|
132
|
+
}, React.createElement(Icon, {
|
|
133
|
+
type: "delete"
|
|
134
|
+
}))))));
|
|
135
|
+
}), React.createElement(Button, {
|
|
136
|
+
type: "link",
|
|
133
137
|
onClick: () => onAdd()
|
|
134
|
-
},
|
|
138
|
+
}, React.createElement(Icon, {
|
|
139
|
+
type: "plus"
|
|
140
|
+
}), addText));
|
|
135
141
|
} else {
|
|
136
142
|
let fields = children({}, 0);
|
|
137
143
|
if (!_isArray(fields)) {
|
|
@@ -149,15 +155,11 @@ export default function ArrayInput({
|
|
|
149
155
|
});
|
|
150
156
|
return React.createElement("div", {
|
|
151
157
|
className: "tntd-array-input"
|
|
152
|
-
}, React.createElement(Table, {
|
|
158
|
+
}, React.createElement(Table, Object.assign({
|
|
153
159
|
dataSource: dataSource,
|
|
154
160
|
pagination: false,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
onClick: () => onAdd()
|
|
158
|
-
}, addText)
|
|
159
|
-
}
|
|
160
|
-
}, fields.map(field => {
|
|
161
|
+
bordered: true
|
|
162
|
+
}, xProps), fields.map(field => {
|
|
161
163
|
const {
|
|
162
164
|
name,
|
|
163
165
|
span,
|
|
@@ -191,26 +193,39 @@ export default function ArrayInput({
|
|
|
191
193
|
title: "\u64CD\u4F5C",
|
|
192
194
|
width: getWidth(24 - _sumBy(fields, 'props.span') % 24),
|
|
193
195
|
render: (text, row, index) => {
|
|
196
|
+
if (renderAction) {
|
|
197
|
+
return renderAction(row, index, onDelete, onAdd);
|
|
198
|
+
}
|
|
194
199
|
return React.createElement("span", {
|
|
195
200
|
className: "tntd-array-input-action"
|
|
196
|
-
},
|
|
197
|
-
title:
|
|
198
|
-
placement: "left"
|
|
199
|
-
}, React.createElement("span", {
|
|
200
|
-
className: "mr10",
|
|
201
|
-
onClick: () => onAdd(index)
|
|
202
|
-
}, plusIcon)) : React.createElement("span", {
|
|
203
|
-
className: "mr10",
|
|
204
|
-
onClick: () => onAdd(index)
|
|
205
|
-
}, plusIcon), deleteTip ? React.createElement(Tooltip, {
|
|
206
|
-
title: deleteTip,
|
|
207
|
-
placement: "right"
|
|
201
|
+
}, deleteTip ? React.createElement(Tooltip, {
|
|
202
|
+
title: deleteTip
|
|
208
203
|
}, React.createElement("span", {
|
|
209
204
|
onClick: () => onDelete(index)
|
|
210
|
-
},
|
|
205
|
+
}, React.createElement(Icon, {
|
|
206
|
+
type: "delete"
|
|
207
|
+
}))) : React.createElement("span", {
|
|
211
208
|
onClick: () => onDelete(index)
|
|
212
|
-
},
|
|
209
|
+
}, React.createElement(Icon, {
|
|
210
|
+
type: "delete"
|
|
211
|
+
})));
|
|
213
212
|
}
|
|
214
|
-
}))
|
|
213
|
+
})), React.createElement(Button, {
|
|
214
|
+
type: "dashed",
|
|
215
|
+
block: true,
|
|
216
|
+
className: "mt10",
|
|
217
|
+
onClick: () => onAdd()
|
|
218
|
+
}, React.createElement(Icon, {
|
|
219
|
+
type: "plus"
|
|
220
|
+
}), addText));
|
|
215
221
|
}
|
|
222
|
+
}
|
|
223
|
+
export default function WarpArrayInput(props) {
|
|
224
|
+
return React.createElement(LocaleReceiver, {
|
|
225
|
+
componentName: "ArrayInput"
|
|
226
|
+
}, locale => {
|
|
227
|
+
return React.createElement(ArrayInput, Object.assign({}, props, {
|
|
228
|
+
locale: locale
|
|
229
|
+
}));
|
|
230
|
+
});
|
|
216
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport { deleteIcon, plusIcon } from './icon'\n\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nexport default function ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText = '添加',\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)}>\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n {inValue.length === 0 && <a onClick={() => onAdd()}>{addText}</a>}\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table\n dataSource={dataSource}\n pagination={false}\n locale={{\n emptyText: <a onClick={() => onAdd()}>{addText}</a>,\n }}\n >\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n return (\n <span className=\"tntd-array-input-action\">\n {plusTip ? (\n <Tooltip title={plusTip} placement=\"left\">\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n </Tooltip>\n ) : (\n <span className=\"mr10\" onClick={() => onAdd(index)}>\n {plusIcon}\n </span>\n )}\n {deleteTip ? (\n <Tooltip title={deleteTip} placement=\"right\">\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>{deleteIcon}</span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n </div>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray, isFunction, set, sum, sumBy } from 'lodash'\nimport React, { isValidElement, useCallback, useEffect, useState } from 'react'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport Col from '../col'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport Icon from '../icon'\nimport Button from '../button'\n\nimport './index.less'\n\nconst { Column } = Table\nconst getWidth = (span) => 1000 / span\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n gutter = 10,\n require = false,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n renderAction,\n}) {\n if (!isFunction(children)) {\n throw new Error('ArrayInput的children必须是函数')\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const _onChange = useCallback((value) => {\n if (onChange) {\n onChange(value)\n } else {\n setValue(value)\n }\n }, [])\n\n let inValue = _value || []\n if (require && inValue.length === 0) {\n inValue = [{}]\n }\n\n const changeValue = (index, name, value) => {\n inValue[index] = {\n ...inValue[index],\n [name]: value,\n }\n _onChange([...inValue])\n }\n\n const onAdd = (index) => {\n if (index === undefined) {\n _onChange([...inValue, {}])\n } else {\n inValue.splice(index + 1, 0, {})\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n if (mode === 'list') {\n return (\n <div className=\"tntd-array-input\">\n {inValue.map((item, index) => {\n let fields = children(item, index)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const actionSpan = 24 - (sum(fields.map((f) => get(f, 'props.span', 4))) % 24)\n return (\n <Row gutter={gutter} key={index} className=\"tntd-array-input-item\">\n {fields.map((field, i) => {\n if (!isValidElement(field)) {\n return field ? (\n <Col span={4} key={i}>\n {field}\n </Col>\n ) : (\n ''\n )\n }\n const { name, span = 4, onChange: fieldChange, ...other } = field?.props\n return (\n <Col span={span} key={i}>\n {React.cloneElement(field, {\n value: item[name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n ...other,\n })}\n </Col>\n )\n })}\n <Col span={actionSpan}>\n <span className=\"tntd-array-input-action\">\n {renderAction ? (\n renderAction(item, index, onDelete, onAdd)\n ) : (\n <>\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </>\n )}\n </span>\n </Col>\n </Row>\n )\n })}\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n } else {\n let fields = children({}, 0)\n if (!isArray(fields)) {\n fields = get(fields, 'props.children', [])\n }\n const dataSource = inValue.map((value, index) => {\n const fields = children(value, index)\n const back = {}\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n return (\n <div className=\"tntd-array-input\">\n <Table dataSource={dataSource} pagination={false} bordered {...xProps}>\n {fields.map((field) => {\n const { name, span, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={getWidth(span || 24 / (fields.length + 1))}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { onChange: fieldChange } = field.props\n return React.cloneElement(field, {\n value: inValue[index][name] || undefined,\n onChange: (e) => {\n fieldChange && fieldChange(e, index, changeValue)\n const newValue = e.target ? e.target.value : e\n changeValue(index, name, newValue)\n },\n })\n }}\n ></Column>\n )\n })}\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title=\"操作\"\n width={getWidth(24 - (sumBy(fields, 'props.span') % 24))}\n render={(text, row, index) => {\n if (renderAction) {\n return renderAction(row, index, onDelete, onAdd)\n }\n return (\n <span className=\"tntd-array-input-action\">\n {deleteTip ? (\n <Tooltip title={deleteTip}>\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n </Tooltip>\n ) : (\n <span onClick={() => onDelete(index)}>\n <Icon type=\"delete\" />\n </span>\n )}\n </span>\n )\n }}\n ></Column>\n </Table>\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n </div>\n )\n }\n}\n\nexport default function WarpArrayInput(props) {\n return (\n <LocaleReceiver componentName=\"ArrayInput\">\n {(locale) => {\n return <ArrayInput {...props} locale={locale} />\n }}\n </LocaleReceiver>\n )\n}\n"]}
|
package/es/button/button.less
CHANGED
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
@btn-prefix-cls: ~'@{ant-prefix}-btn';
|
|
5
5
|
|
|
6
6
|
.tnt-btn {
|
|
7
|
-
&-tertiary {
|
|
8
|
-
.button-variant-tertiary(@btn-default-color, @primary-color, @btn-tertiary-bg);
|
|
9
|
-
}
|
|
10
|
-
&.@{btn-prefix-cls}-primary {
|
|
11
|
-
.button-disabled(@btn-primary-color, @blue-3, @blue-3);
|
|
12
|
-
}
|
|
13
|
-
&.@{btn-prefix-cls}-danger {
|
|
14
|
-
.button-disabled(@btn-primary-color, @red-3, @red-3);
|
|
15
|
-
}
|
|
16
|
-
&.@{btn-prefix-cls}-link {
|
|
17
|
-
.button-disabled(@blue-3, transparent, transparent);
|
|
18
|
-
}
|
|
19
7
|
&.tnt-btn-mini {
|
|
20
8
|
.button-size(@btn-height-mini; @btn-padding-mini; @btn-font-size-mini; @btn-border-radius-sm);
|
|
21
9
|
&.@{btn-prefix-cls}-icon-only {
|
|
@@ -46,6 +34,23 @@
|
|
|
46
34
|
padding-left: 0;
|
|
47
35
|
}
|
|
48
36
|
}
|
|
37
|
+
&-tertiary {
|
|
38
|
+
.button-variant-tertiary(@btn-default-color, @primary-color, @btn-tertiary-bg);
|
|
39
|
+
}
|
|
40
|
+
&.@{btn-prefix-cls}-primary {
|
|
41
|
+
.button-disabled(@btn-primary-color, @blue-3, @blue-3);
|
|
42
|
+
}
|
|
43
|
+
&.@{btn-prefix-cls}-danger {
|
|
44
|
+
.button-disabled(@btn-primary-color, @red-3, @red-3);
|
|
45
|
+
}
|
|
46
|
+
&.@{btn-prefix-cls}-link {
|
|
47
|
+
.button-disabled(@blue-3, transparent, transparent);
|
|
48
|
+
padding: 0;
|
|
49
|
+
}
|
|
50
|
+
> .@{iconfont-css-prefix} + span,
|
|
51
|
+
> span + .@{iconfont-css-prefix} {
|
|
52
|
+
margin-left: 4px;
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
.button-variant-tertiary(@color; @hover-color; @background) {
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
import AntdCascader from 'antd/es/cascader';
|
|
10
|
+
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
11
|
+
import classNames from 'classnames';
|
|
12
|
+
import React, { forwardRef } from 'react';
|
|
13
|
+
import { connectReadonlyComponent } from '../connect';
|
|
14
|
+
import { PreviewText } from '../preview-text';
|
|
15
|
+
export * from 'antd/es/cascader';
|
|
16
|
+
const tntPrefixCls = 'tnt-cascader';
|
|
17
|
+
const Cascader = forwardRef((_a, ref) => {
|
|
18
|
+
var {
|
|
19
|
+
className,
|
|
20
|
+
children
|
|
21
|
+
} = _a,
|
|
22
|
+
rest = __rest(_a, ["className", "children"]);
|
|
23
|
+
return React.createElement(ConfigConsumer, null, () => {
|
|
24
|
+
return React.createElement(AntdCascader, Object.assign({}, rest, {
|
|
25
|
+
ref: ref,
|
|
26
|
+
className: classNames(className, tntPrefixCls)
|
|
27
|
+
}), children);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
export default connectReadonlyComponent(Cascader, PreviewText.Cascader);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascader.js","sourceRoot":"","sources":["../../src/cascader/cascader.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,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,kBAAkB,CAAA;AAShC,MAAM,YAAY,GAAG,cAAc,CAAA;AAEnC,MAAM,QAAQ,GAAG,UAAU,CACzB,CAAC,EAAgC,EAAE,GAAG,EAAE,EAAE;QAAzC,EAAE,SAAS,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,YAAY,oBAAK,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,KAC7E,QAAQ,CACI,CAChB,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACmB,CAAA;AAEtB,eAAe,wBAAwB,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA","sourcesContent":["import type { CascaderProps as AntdCascaderProps } from 'antd/es/cascader'\nimport AntdCascader from 'antd/es/cascader'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport classNames from 'classnames'\nimport React, { forwardRef } from 'react'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nexport * from 'antd/es/cascader'\n\nexport type CascaderProps = AntdCascaderProps & {\n readonly?: boolean\n}\n\ninterface CascaderComponent\n extends React.ForwardRefExoticComponent<AntdCascaderProps & React.RefAttributes<AntdCascader>> {}\n\nconst tntPrefixCls = 'tnt-cascader'\n\nconst Cascader = forwardRef<AntdCascader, AntdCascaderProps>(\n ({ className, children, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdCascader {...rest} ref={ref} className={classNames(className, tntPrefixCls)}>\n {children}\n </AntdCascader>\n )\n }}\n </ConfigConsumer>\n )\n }\n) as CascaderComponent\n\nexport default connectReadonlyComponent(Cascader, PreviewText.Cascader)\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@cascader-prefix-cls: ~'@{ant-prefix}-cascader';
|
|
2
|
+
|
|
3
|
+
.tnt-cascader {
|
|
4
|
+
.@{cascader-prefix-cls}-picker {
|
|
5
|
+
&-clear {
|
|
6
|
+
width: 16px;
|
|
7
|
+
height: 16px;
|
|
8
|
+
font-size: initial;
|
|
9
|
+
margin-top: -8px;
|
|
10
|
+
}
|
|
11
|
+
&-arrow {
|
|
12
|
+
width: 16px;
|
|
13
|
+
height: 16px;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
package/es/cascader/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { connectReadonlyComponent } from '../connect';
|
|
3
|
-
import { PreviewText } from '../preview-text';
|
|
1
|
+
import Cascader from './cascader';
|
|
4
2
|
import './style';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export const Cascader = connectReadonlyComponent(AntdCascader, PreviewText.Cascader);
|
|
3
|
+
import './cascader.less';
|
|
4
|
+
export * from './cascader';
|
|
8
5
|
export default Cascader;
|
package/es/cascader/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cascader/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cascader/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,SAAS,CAAA;AAChB,OAAO,iBAAiB,CAAA;AAExB,cAAc,YAAY,CAAA;AAE1B,eAAe,QAAQ,CAAA","sourcesContent":["import Cascader from './cascader'\nimport './style'\nimport './cascader.less'\n\nexport * from './cascader'\n\nexport default Cascader\n"]}
|
package/es/check-card/index.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import "antd/es/avatar/style";
|
|
2
|
-
import _Avatar from "antd/es/avatar";
|
|
3
1
|
var __rest = this && this.__rest || function (s, e) {
|
|
4
2
|
var t = {};
|
|
5
3
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -9,6 +7,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
9
7
|
return t;
|
|
10
8
|
};
|
|
11
9
|
import useMountMergeState from 'rc-util/lib/hooks/useMergedState';
|
|
10
|
+
import Avatar from '../avatar';
|
|
12
11
|
import classNames from 'classnames';
|
|
13
12
|
import React, { useContext, useEffect, useMemo } from 'react';
|
|
14
13
|
import ProCardActions from '../actions';
|
|
@@ -114,7 +113,7 @@ const CheckCard = props => {
|
|
|
114
113
|
}
|
|
115
114
|
const avatarDom = avatar ? React.createElement("div", {
|
|
116
115
|
className: `${prefixCls}-avatar`
|
|
117
|
-
}, typeof avatar === 'string' ? React.createElement(
|
|
116
|
+
}, typeof avatar === 'string' ? React.createElement(Avatar, {
|
|
118
117
|
size: 48,
|
|
119
118
|
shape: "square",
|
|
120
119
|
src: avatar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/check-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMountMergeState from 'rc-util/lib/hooks/useMergedState'\nimport { Avatar, ConfigProvider } from 'antd'\nimport classNames from 'classnames'\nimport type { MouseEventHandler } from 'react'\nimport React, { useContext, useEffect, useMemo } from 'react'\nimport ProCardActions from '../actions'\nimport type { CheckCardGroupProps } from './group'\nimport CheckCardGroup, { CardLoading, CheckCardGroupConnext } from './group'\nimport './index.less'\n\ninterface CheckCardProps {\n /**\n * 自定义前缀\n *\n * @ignore\n */\n prefixCls?: string\n /** Change 回调 */\n onChange?: (checked: boolean) => void\n /** Click 回调 */\n onClick?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /** 鼠标进入时的回调 */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>\n /** 鼠标出来时的回调 */\n onMouseLeave?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /**\n * 默认是否勾选\n *\n * @default false\n * @title 默认勾选\n */\n defaultChecked?: boolean\n /**\n * 强制勾选\n *\n * @default false\n * @title 强制勾选\n */\n checked?: boolean\n /**\n * 不可用\n *\n * @default false\n * @title 禁用\n */\n disabled?: boolean\n /**\n * 选项卡样式\n *\n * @ignore\n */\n style?: React.CSSProperties\n /**\n * 选项卡 className\n *\n * @ignore\n */\n className?: string\n /**\n * 左侧头像展示,可以是一个链接也可以是是一个 ReactNode\n *\n * @title 头像\n */\n avatar?: React.ReactNode\n /**\n * 标题展示\n *\n * @title 标题\n */\n title?: React.ReactNode\n /**\n * 二级标题展示\n *\n * @title 二级标题\n */\n subTitle?: React.ReactNode\n /**\n * 描述展示\n *\n * @title 描述\n */\n description?: React.ReactNode\n /**\n * 选项值\n *\n * @title 值\n */\n value?: any\n /**\n * 内容是否在加载中\n *\n * @default false\n * @title 加载中\n */\n loading?: boolean\n /**\n * 图片封面默认,该模式下其他展示值被忽略\n *\n * @title 卡片背景图片\n */\n cover?: React.ReactNode\n /**\n * 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高\n *\n * @default default\n * @title 选择框大小\n */\n size?: 'large' | 'default' | 'small'\n /**\n * 是否显示边框\n *\n * @default true\n * @title 显示边框\n */\n bordered?: boolean\n /**\n * 卡片右上角的操作区域\n *\n * @title 操作栏\n */\n extra?: React.ReactNode\n\n children?: React.ReactNode\n /**\n * 内容区域的样式设计\n */\n bodyStyle?: React.CSSProperties\n /**\n * 右下角的操作区\n */\n actions?: React.ReactNode[]\n\n ghost?: boolean\n}\n\nexport interface CheckCardState {\n checked: boolean\n}\n\nconst CheckCard: React.FC<CheckCardProps> & {\n Group: typeof CheckCardGroup\n} = (props) => {\n const [stateChecked, setStateChecked] = useMountMergeState<boolean>(\n props.defaultChecked || false,\n {\n value: props.checked,\n onChange: props.onChange,\n }\n )\n const checkCardGroup = useContext(CheckCardGroupConnext)\n\n const handleClick = (e: any) => {\n props?.onClick?.(e)\n const newChecked = !stateChecked\n checkCardGroup?.toggleOption?.({ value: props.value })\n setStateChecked?.(newChecked, e)\n }\n\n // small => sm large => lg\n const getSizeCls = (size?: string) => {\n if (size === 'large') return 'lg'\n if (size === 'small') return 'sm'\n return ''\n }\n\n useEffect(() => {\n checkCardGroup?.registerValue?.(props.value)\n return () => checkCardGroup?.cancelValue?.(props.value)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value])\n\n /**\n * 头像自定义\n *\n * @param prefixCls\n * @param cover\n * @returns\n */\n const renderCover = (prefixCls: string, cover: string | React.ReactNode) => {\n return (\n <div className={`${prefixCls}-cover`}>\n {typeof cover === 'string' ? <img src={cover} alt=\"tntd-checkcard\" /> : cover}\n </div>\n )\n }\n\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description,\n cover,\n extra,\n style = {},\n ...others\n } = props\n\n const checkCardProps: CheckCardProps = { ...others }\n const prefixCls = 'tntd-checkcard'\n checkCardProps.checked = stateChecked\n\n let multiple: boolean | undefined = false\n\n if (checkCardGroup) {\n // 受组控制模式\n checkCardProps.disabled = props.disabled || checkCardGroup.disabled\n checkCardProps.loading = props.loading || checkCardGroup.loading\n checkCardProps.bordered = props.bordered || checkCardGroup.bordered\n\n multiple = checkCardGroup.multiple\n\n const isChecked = checkCardGroup.multiple\n ? checkCardGroup.value?.includes(props.value)\n : checkCardGroup.value === props.value\n\n // loading时check为false\n checkCardProps.checked = checkCardProps.loading ? false : isChecked\n checkCardProps.size = props.size || checkCardGroup.size\n }\n\n const { disabled = false, size, loading: cardLoading, bordered = true, checked } = checkCardProps\n const sizeCls = getSizeCls(size)\n\n const classString = classNames(prefixCls, className, {\n [`${prefixCls}-loading`]: cardLoading,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-multiple`]: multiple,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-ghost`]: props.ghost,\n })\n\n const metaDom = useMemo(() => {\n if (cardLoading) {\n return <CardLoading prefixCls={prefixCls || ''} />\n }\n\n if (cover) {\n return renderCover(prefixCls || '', cover)\n }\n\n const avatarDom = avatar ? (\n <div className={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <Avatar size={48} shape=\"square\" src={avatar} /> : avatar}\n </div>\n ) : null\n\n const headerDom = (title ?? extra) != null && (\n <div className={`${prefixCls}-header`}>\n <div className={`${prefixCls}-header-left`}>\n <div className={`${prefixCls}-title`}>{title}</div>\n {props.subTitle ? <div className={`${prefixCls}-subTitle`}>{props.subTitle}</div> : null}\n </div>\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n )\n\n const descriptionDom = description ? (\n <div className={`${prefixCls}-description`}>{description}</div>\n ) : null\n\n const metaClass = classNames(`${prefixCls}-content`, {\n [`${prefixCls}-avatar-header`]: avatarDom && headerDom && !descriptionDom,\n })\n\n return (\n <div className={metaClass}>\n {avatarDom}\n {headerDom || descriptionDom ? (\n <div className={`${prefixCls}-detail`}>\n {headerDom}\n {descriptionDom}\n </div>\n ) : null}\n </div>\n )\n }, [avatar, cardLoading, cover, description, extra, prefixCls, props.subTitle, title])\n\n return (\n <div\n className={classString}\n style={style}\n onClick={(e) => {\n if (!cardLoading && !disabled) {\n handleClick(e)\n }\n }}\n onMouseEnter={props.onMouseEnter}\n >\n {metaDom}\n {props.children ? (\n <div className={classNames(`${prefixCls}-body`)} style={props.bodyStyle}>\n {props.children}\n </div>\n ) : null}\n {props.actions ? <ProCardActions actions={props.actions} prefixCls={prefixCls} /> : null}\n </div>\n )\n}\n\nCheckCard.Group = CheckCardGroup\n\nexport type { CheckCardGroupProps, CheckCardProps }\n\nexport default CheckCard\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/check-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMountMergeState from 'rc-util/lib/hooks/useMergedState'\nimport Avatar from '../avatar'\nimport classNames from 'classnames'\nimport type { MouseEventHandler } from 'react'\nimport React, { useContext, useEffect, useMemo } from 'react'\nimport ProCardActions from '../actions'\nimport type { CheckCardGroupProps } from './group'\nimport CheckCardGroup, { CardLoading, CheckCardGroupConnext } from './group'\nimport './index.less'\n\ninterface CheckCardProps {\n /**\n * 自定义前缀\n *\n * @ignore\n */\n prefixCls?: string\n /** Change 回调 */\n onChange?: (checked: boolean) => void\n /** Click 回调 */\n onClick?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /** 鼠标进入时的回调 */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>\n /** 鼠标出来时的回调 */\n onMouseLeave?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /**\n * 默认是否勾选\n *\n * @default false\n * @title 默认勾选\n */\n defaultChecked?: boolean\n /**\n * 强制勾选\n *\n * @default false\n * @title 强制勾选\n */\n checked?: boolean\n /**\n * 不可用\n *\n * @default false\n * @title 禁用\n */\n disabled?: boolean\n /**\n * 选项卡样式\n *\n * @ignore\n */\n style?: React.CSSProperties\n /**\n * 选项卡 className\n *\n * @ignore\n */\n className?: string\n /**\n * 左侧头像展示,可以是一个链接也可以是是一个 ReactNode\n *\n * @title 头像\n */\n avatar?: React.ReactNode\n /**\n * 标题展示\n *\n * @title 标题\n */\n title?: React.ReactNode\n /**\n * 二级标题展示\n *\n * @title 二级标题\n */\n subTitle?: React.ReactNode\n /**\n * 描述展示\n *\n * @title 描述\n */\n description?: React.ReactNode\n /**\n * 选项值\n *\n * @title 值\n */\n value?: any\n /**\n * 内容是否在加载中\n *\n * @default false\n * @title 加载中\n */\n loading?: boolean\n /**\n * 图片封面默认,该模式下其他展示值被忽略\n *\n * @title 卡片背景图片\n */\n cover?: React.ReactNode\n /**\n * 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高\n *\n * @default default\n * @title 选择框大小\n */\n size?: 'large' | 'default' | 'small'\n /**\n * 是否显示边框\n *\n * @default true\n * @title 显示边框\n */\n bordered?: boolean\n /**\n * 卡片右上角的操作区域\n *\n * @title 操作栏\n */\n extra?: React.ReactNode\n\n children?: React.ReactNode\n /**\n * 内容区域的样式设计\n */\n bodyStyle?: React.CSSProperties\n /**\n * 右下角的操作区\n */\n actions?: React.ReactNode[]\n\n ghost?: boolean\n}\n\nexport interface CheckCardState {\n checked: boolean\n}\n\nconst CheckCard: React.FC<CheckCardProps> & {\n Group: typeof CheckCardGroup\n} = (props) => {\n const [stateChecked, setStateChecked] = useMountMergeState<boolean>(\n props.defaultChecked || false,\n {\n value: props.checked,\n onChange: props.onChange,\n }\n )\n const checkCardGroup = useContext(CheckCardGroupConnext)\n\n const handleClick = (e: any) => {\n props?.onClick?.(e)\n const newChecked = !stateChecked\n checkCardGroup?.toggleOption?.({ value: props.value })\n setStateChecked?.(newChecked, e)\n }\n\n // small => sm large => lg\n const getSizeCls = (size?: string) => {\n if (size === 'large') return 'lg'\n if (size === 'small') return 'sm'\n return ''\n }\n\n useEffect(() => {\n checkCardGroup?.registerValue?.(props.value)\n return () => checkCardGroup?.cancelValue?.(props.value)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value])\n\n /**\n * 头像自定义\n *\n * @param prefixCls\n * @param cover\n * @returns\n */\n const renderCover = (prefixCls: string, cover: string | React.ReactNode) => {\n return (\n <div className={`${prefixCls}-cover`}>\n {typeof cover === 'string' ? <img src={cover} alt=\"tntd-checkcard\" /> : cover}\n </div>\n )\n }\n\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description,\n cover,\n extra,\n style = {},\n ...others\n } = props\n\n const checkCardProps: CheckCardProps = { ...others }\n const prefixCls = 'tntd-checkcard'\n checkCardProps.checked = stateChecked\n\n let multiple: boolean | undefined = false\n\n if (checkCardGroup) {\n // 受组控制模式\n checkCardProps.disabled = props.disabled || checkCardGroup.disabled\n checkCardProps.loading = props.loading || checkCardGroup.loading\n checkCardProps.bordered = props.bordered || checkCardGroup.bordered\n\n multiple = checkCardGroup.multiple\n\n const isChecked = checkCardGroup.multiple\n ? checkCardGroup.value?.includes(props.value)\n : checkCardGroup.value === props.value\n\n // loading时check为false\n checkCardProps.checked = checkCardProps.loading ? false : isChecked\n checkCardProps.size = props.size || checkCardGroup.size\n }\n\n const { disabled = false, size, loading: cardLoading, bordered = true, checked } = checkCardProps\n const sizeCls = getSizeCls(size)\n\n const classString = classNames(prefixCls, className, {\n [`${prefixCls}-loading`]: cardLoading,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-multiple`]: multiple,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-ghost`]: props.ghost,\n })\n\n const metaDom = useMemo(() => {\n if (cardLoading) {\n return <CardLoading prefixCls={prefixCls || ''} />\n }\n\n if (cover) {\n return renderCover(prefixCls || '', cover)\n }\n\n const avatarDom = avatar ? (\n <div className={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <Avatar size={48} shape=\"square\" src={avatar} /> : avatar}\n </div>\n ) : null\n\n const headerDom = (title ?? extra) != null && (\n <div className={`${prefixCls}-header`}>\n <div className={`${prefixCls}-header-left`}>\n <div className={`${prefixCls}-title`}>{title}</div>\n {props.subTitle ? <div className={`${prefixCls}-subTitle`}>{props.subTitle}</div> : null}\n </div>\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n )\n\n const descriptionDom = description ? (\n <div className={`${prefixCls}-description`}>{description}</div>\n ) : null\n\n const metaClass = classNames(`${prefixCls}-content`, {\n [`${prefixCls}-avatar-header`]: avatarDom && headerDom && !descriptionDom,\n })\n\n return (\n <div className={metaClass}>\n {avatarDom}\n {headerDom || descriptionDom ? (\n <div className={`${prefixCls}-detail`}>\n {headerDom}\n {descriptionDom}\n </div>\n ) : null}\n </div>\n )\n }, [avatar, cardLoading, cover, description, extra, prefixCls, props.subTitle, title])\n\n return (\n <div\n className={classString}\n style={style}\n onClick={(e) => {\n if (!cardLoading && !disabled) {\n handleClick(e)\n }\n }}\n onMouseEnter={props.onMouseEnter}\n >\n {metaDom}\n {props.children ? (\n <div className={classNames(`${prefixCls}-body`)} style={props.bodyStyle}>\n {props.children}\n </div>\n ) : null}\n {props.actions ? <ProCardActions actions={props.actions} prefixCls={prefixCls} /> : null}\n </div>\n )\n}\n\nCheckCard.Group = CheckCardGroup\n\nexport type { CheckCardGroupProps, CheckCardProps }\n\nexport default CheckCard\n"]}
|
package/es/checkbox/checkbox.js
CHANGED
|
@@ -6,12 +6,12 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
6
6
|
}
|
|
7
7
|
return t;
|
|
8
8
|
};
|
|
9
|
-
import React, { forwardRef } from 'react';
|
|
10
|
-
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
11
9
|
import AntdCheckbox from 'antd/es/checkbox';
|
|
10
|
+
import { ConfigConsumer } from 'antd/es/config-provider';
|
|
11
|
+
import classNames from 'classnames';
|
|
12
|
+
import React, { forwardRef } from 'react';
|
|
12
13
|
import { connectReadonlyComponent } from '../connect';
|
|
13
14
|
import { PreviewText } from '../preview-text';
|
|
14
|
-
import classNames from 'classnames';
|
|
15
15
|
export * from 'antd/es/checkbox';
|
|
16
16
|
const tntPrefixCls = 'tnt-checkbox';
|
|
17
17
|
const Checkbox = forwardRef((_a, ref) => {
|
|
@@ -25,11 +25,11 @@ const Checkbox = forwardRef((_a, ref) => {
|
|
|
25
25
|
return React.createElement(AntdCheckbox, Object.assign({}, rest, {
|
|
26
26
|
ref: ref,
|
|
27
27
|
className: classNames(className, tntPrefixCls)
|
|
28
|
-
}), React.createElement("span", {
|
|
28
|
+
}), children ? React.createElement("span", {
|
|
29
29
|
className: `${tntPrefixCls}-children`
|
|
30
30
|
}, React.createElement("span", null, children), !!desc && React.createElement("span", {
|
|
31
31
|
className: `${tntPrefixCls}-desc`
|
|
32
|
-
}, desc)));
|
|
32
|
+
}, desc)) : undefined);
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
const CheckboxGroup = forwardRef((_a, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;AAIA,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,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,kBAAkB,CAAA;AAchC,MAAM,YAAY,GAAG,cAAc,CAAA;AAEnC,MAAM,QAAQ,GAAG,UAAU,CACzB,CAAC,EAAsC,EAAE,GAAG,EAAE,EAAE;QAA/C,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,OAAW,EAAN,IAAI,cAApC,iCAAsC,CAAF;IACnC,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,YAAY,oBAAK,IAAI,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,KAC7E,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,CACA,CAChB,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACmB,CAAA;AAEtB,MAAM,aAAa,GAAG,UAAU,CAC9B,CAAC,EAAsB,EAAE,GAAG,EAAE,EAAE;QAA/B,EAAE,SAAS,OAAW,EAAN,IAAI,cAApB,aAAsB,CAAF;IACnB,OAAO,CACL,oBAAC,cAAc,QACZ,GAAG,EAAE;QACJ,OAAO,CACL,oBAAC,YAAY,CAAC,KAAK,oBACb,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,CACF,CAAA;AAED,QAAQ,CAAC,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;AAE5E,eAAe,QAAQ,CAAA","sourcesContent":["import type {\n CheckboxGroupProps as AntdCheckboxGroupProps,\n CheckboxProps as AntdCheckboxProps,\n} from 'antd/es/checkbox'\nimport AntdCheckbox from 'antd/es/checkbox'\nimport type AntdCheckboxGroup from 'antd/es/checkbox/Group'\nimport { ConfigConsumer } from 'antd/es/config-provider'\nimport classNames from 'classnames'\nimport React, { forwardRef } from 'react'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nexport * from 'antd/es/checkbox'\n\nexport type CheckboxProps = AntdCheckboxProps & {\n desc?: string | React.ReactNode\n}\nexport type CheckboxGroupProps = AntdCheckboxGroupProps & {\n readonly?: boolean\n}\n\ninterface CheckboxComponent\n extends React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<AntdCheckbox>> {\n Group: React.FC<CheckboxGroupProps>\n}\n\nconst tntPrefixCls = 'tnt-checkbox'\n\nconst Checkbox = forwardRef<AntdCheckbox, CheckboxProps>(\n ({ className, children, desc, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdCheckbox {...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 </AntdCheckbox>\n )\n }}\n </ConfigConsumer>\n )\n }\n) as CheckboxComponent\n\nconst CheckboxGroup = forwardRef<AntdCheckboxGroup, CheckboxGroupProps>(\n ({ className, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {() => {\n return (\n <AntdCheckbox.Group\n {...rest}\n ref={ref}\n className={classNames(className, `${tntPrefixCls}-group`)}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n)\n\nCheckbox.Group = connectReadonlyComponent(CheckboxGroup, PreviewText.Select)\n\nexport default Checkbox\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@collapse-prefix-cls: ~'@{ant-prefix}-collapse';
|
|
2
2
|
|
|
3
3
|
.@{collapse-prefix-cls} {
|
|
4
|
-
border: @border-
|
|
4
|
+
border-color: @border-color-split;
|
|
5
5
|
& > &-item {
|
|
6
|
-
border-bottom: @border-
|
|
6
|
+
border-bottom-color: @border-color-split;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
&-content {
|
|
10
|
-
border-top: @border-
|
|
10
|
+
border-top-color: @border-color-split;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import "antd/es/icon/style";
|
|
2
|
-
import _Icon from "antd/es/icon";
|
|
3
|
-
import "antd/es/popover/style";
|
|
4
|
-
import _Popover from "antd/es/popover";
|
|
5
1
|
import _toLower from "lodash/toLower";
|
|
6
2
|
import _upperFirst from "lodash/upperFirst";
|
|
7
3
|
import _isObject from "lodash/isObject";
|
|
@@ -16,6 +12,8 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
16
12
|
import React, { useState, useCallback, useEffect, useMemo } from 'react';
|
|
17
13
|
import { AlphaPicker, BlockPicker, ChromePicker, CirclePicker, CompactPicker, GithubPicker, HuePicker, MaterialPicker, PhotoshopPicker, SketchPicker, SliderPicker, SwatchesPicker, TwitterPicker } from 'react-color';
|
|
18
14
|
import cn from 'classnames';
|
|
15
|
+
import Popover from '../popover';
|
|
16
|
+
import Icon from '../icon';
|
|
19
17
|
import imgSrc from './tip.svg';
|
|
20
18
|
const prefixCls = 'tntd-color-picker';
|
|
21
19
|
const modeMap = {
|
|
@@ -92,7 +90,7 @@ export default function ColorPicker(_a) {
|
|
|
92
90
|
const ModePicker = modeMap[modeKey] || SketchPicker;
|
|
93
91
|
return [ModePicker, propsFormatMap[modeKey] || (p => p)];
|
|
94
92
|
}, [mode]);
|
|
95
|
-
return React.createElement(
|
|
93
|
+
return React.createElement(Popover, {
|
|
96
94
|
placement: placement,
|
|
97
95
|
trigger: "click",
|
|
98
96
|
visible: visible && !disabled,
|
|
@@ -131,7 +129,7 @@ export default function ColorPicker(_a) {
|
|
|
131
129
|
})), allowClear && !!value && !disabled && React.createElement("span", {
|
|
132
130
|
className: `${prefixCls}-clear`,
|
|
133
131
|
onClick: doClear
|
|
134
|
-
}, React.createElement(
|
|
132
|
+
}, React.createElement(Icon, {
|
|
135
133
|
type: "close-circle",
|
|
136
134
|
theme: "filled"
|
|
137
135
|
})))));
|