tntd 3.0.69 → 3.0.71

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 (70) hide show
  1. package/es/array-input/index.js +3 -0
  2. package/es/array-input/index.js.map +1 -1
  3. package/es/button/button.js +2 -2
  4. package/es/button/button.js.map +1 -1
  5. package/es/button/button.less +175 -0
  6. package/es/button/style/index.less +7 -0
  7. package/es/button/style/mixin.less +118 -65
  8. package/es/prev-locale.js +4 -0
  9. package/es/prev-locale.js.map +1 -1
  10. package/es/style/themes/default.less +2 -4
  11. package/es/table/style/size.less +4 -2
  12. package/es/tntd-action/Action.js +87 -10
  13. package/es/tntd-action/index.js +61 -7
  14. package/es/tntd-action/index.js.map +1 -1
  15. package/es/tntd-action/index.less +35 -0
  16. package/es/tntd-checkbox-select/index.js +3 -9
  17. package/es/tntd-checkbox-select/index.js.map +1 -1
  18. package/lib/array-input/index.d.ts.map +1 -1
  19. package/lib/array-input/index.js +3 -0
  20. package/lib/array-input/index.js.map +1 -1
  21. package/lib/button/button.d.ts +2 -2
  22. package/lib/button/button.d.ts.map +1 -1
  23. package/lib/button/button.js +2 -2
  24. package/lib/button/button.js.map +1 -1
  25. package/lib/button/button.less +175 -0
  26. package/lib/button/style/index.less +7 -0
  27. package/lib/button/style/mixin.less +118 -65
  28. package/lib/prev-locale.d.ts +3 -0
  29. package/lib/prev-locale.d.ts.map +1 -1
  30. package/lib/prev-locale.js +4 -0
  31. package/lib/prev-locale.js.map +1 -1
  32. package/lib/style/themes/default.less +2 -4
  33. package/lib/table/style/size.less +4 -2
  34. package/lib/tntd-action/index.d.ts +1 -2
  35. package/lib/tntd-action/index.d.ts.map +1 -1
  36. package/lib/tntd-action/index.js +61 -7
  37. package/lib/tntd-action/index.js.map +1 -1
  38. package/lib/tntd-action/index.less +35 -0
  39. package/lib/tntd-checkbox-select/index.d.ts.map +1 -1
  40. package/lib/tntd-checkbox-select/index.js +3 -9
  41. package/lib/tntd-checkbox-select/index.js.map +1 -1
  42. package/package.json +2 -2
  43. package/themes/default/variables.less +8 -0
  44. package/themes/default/variablesVar.less +9 -0
  45. package/es/checkbox/checkbox-group.js +0 -16
  46. package/es/checkbox/checkbox-group.js.map +0 -1
  47. package/es/radio/radio-group.js +0 -16
  48. package/es/radio/radio-group.js.map +0 -1
  49. package/es/steps/stepStyle/small.less +0 -5
  50. package/es/table/total-shower.js +0 -20
  51. package/es/table/total-shower.js.map +0 -1
  52. package/es/utils/simple-template.js +0 -19
  53. package/es/utils/simple-template.js.map +0 -1
  54. package/lib/checkbox/checkbox-group.d.ts +0 -8
  55. package/lib/checkbox/checkbox-group.d.ts.map +0 -1
  56. package/lib/checkbox/checkbox-group.js +0 -16
  57. package/lib/checkbox/checkbox-group.js.map +0 -1
  58. package/lib/radio/radio-group.d.ts +0 -8
  59. package/lib/radio/radio-group.d.ts.map +0 -1
  60. package/lib/radio/radio-group.js +0 -16
  61. package/lib/radio/radio-group.js.map +0 -1
  62. package/lib/steps/stepStyle/small.less +0 -5
  63. package/lib/table/total-shower.d.ts +0 -9
  64. package/lib/table/total-shower.d.ts.map +0 -1
  65. package/lib/table/total-shower.js +0 -20
  66. package/lib/table/total-shower.js.map +0 -1
  67. package/lib/utils/simple-template.d.ts +0 -9
  68. package/lib/utils/simple-template.d.ts.map +0 -1
  69. package/lib/utils/simple-template.js +0 -19
  70. package/lib/utils/simple-template.js.map +0 -1
@@ -119,6 +119,8 @@ function ArrayInput(_ref) {
119
119
  _ref$defaultAddData = _ref.defaultAddData,
120
120
  defaultAddData = _ref$defaultAddData === void 0 ? {} : _ref$defaultAddData,
121
121
  renderAction = _ref.renderAction,
122
+ _ref$actionFixed = _ref.actionFixed,
123
+ actionFixed = _ref$actionFixed === void 0 ? false : _ref$actionFixed,
122
124
  _ref$actionWidth = _ref.actionWidth,
123
125
  actionWidth = _ref$actionWidth === void 0 ? 80 : _ref$actionWidth,
124
126
  _ref$disabled = _ref.disabled,
@@ -350,6 +352,7 @@ function ArrayInput(_ref) {
350
352
  title: locale.action,
351
353
  width: actionWidth,
352
354
  className: "tntd-array-input-action",
355
+ fixed: actionFixed,
353
356
  render: function render(text, row, index) {
354
357
  if (renderAction) {
355
358
  return renderAction(row, index, onDelete, onAdd);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { DndContext } from '@dnd-kit/core'\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport {\n SortableContext,\n arrayMove,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport { get, isArray, isFunction, set, sum, sumBy, cloneDeep } from 'lodash'\nimport React, { isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport Button from '../button'\nimport Col from '../col'\nimport Icon from '../icon'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport './index.less'\n\nconst { Column } = Table\nconst RowContext = React.createContext({})\nlet key = 1\n\nfunction DragHandle() {\n const { setActivatorNodeRef, listeners } = useContext(RowContext)\n return (\n <Button\n className=\"drag-btn\"\n type=\"tertiary\"\n size=\"small\"\n icon=\"drag\"\n ref={setActivatorNodeRef}\n {...listeners}\n />\n )\n}\nfunction BodyRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: props['data-row-key'],\n })\n const style = {\n ...props.style,\n transform: CSS.Translate.toString(transform),\n transition,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n }\n : {}),\n }\n const contextValue = useMemo(\n () => ({\n setActivatorNodeRef,\n listeners,\n }),\n [setActivatorNodeRef, listeners]\n )\n return (\n <RowContext.Provider value={contextValue}>\n <tr {...props} ref={setNodeRef} style={style} {...attributes} />\n </RowContext.Provider>\n )\n}\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n drag = false, // 只做了table的拖拽排序\n gutter = 10,\n require = false,\n errorMap,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n defaultAddData = {},\n renderAction,\n actionWidth = 80,\n disabled = false,\n}) {\n if (!isFunction(children)) {\n throw new Error(locale.error)\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n let newValue = value\n // 如果数组没有key\n if (Array.isArray(value) && value.some((obj) => !obj.key)) {\n newValue = value.map((obj) => ({ ...obj, key: obj.key || key++ }))\n _onChange(newValue)\n } else {\n setValue(newValue)\n }\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 = [{ key: key++ }]\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 const newData = { ...cloneDeep(defaultAddData), key: key++ }\n if (index === undefined) {\n _onChange([...inValue, newData])\n } else {\n inValue.splice(index + 1, 0, newData)\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n const onDragEnd = ({ active, over }) => {\n if (active.id !== over?.id) {\n _onChange((prevState) => {\n const activeIndex = prevState.findIndex((record) => record.key === active?.id)\n const overIndex = prevState.findIndex((record) => record.key === over?.id)\n return arrayMove(prevState, activeIndex, overIndex)\n })\n }\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 const isError = errorMap ? errorMap[`${index}-${name}`] : ''\n return (\n <Col span={span} key={i}>\n <div className={!isError ? 'tntd-array-input-hide-error' : ''}>\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 disabled,\n ...other,\n })}\n </div>\n {isError && <div className=\"ant-form-item-explain-error\">{isError}</div>}\n </Col>\n )\n })}\n {!disabled && (\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 )}\n </Row>\n )\n })}\n {!disabled && (\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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 = { key: value.key }\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n\n return (\n <div className=\"tntd-array-input\">\n <DndContext modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataSource.map((i) => i.key)}\n strategy={verticalListSortingStrategy}\n >\n <Table\n dataSource={dataSource}\n pagination={false}\n components={{\n body: {\n row: BodyRow,\n },\n }}\n bordered\n {...xProps}\n >\n {drag && (\n <Column\n key=\"dragger\"\n dataIndex=\"dragger\"\n width={60}\n render={() => <DragHandle />}\n ></Column>\n )}\n {fields.map((field) => {\n const { name, width = 160, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={width}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { name, onChange: fieldChange } = field.props\n const isError = errorMap ? errorMap[`${index}-${name}`] : ''\n return (\n <div className={!isError ? 'tntd-array-input-hide-error' : ''}>\n {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), disabled\n },\n })}\n {isError && <div className=\"ant-form-item-explain-error\">{isError}</div>}\n </div>\n )\n }}\n ></Column>\n )\n })}\n {!disabled && (\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title={locale.action}\n width={actionWidth}\n className=\"tntd-array-input-action\"\n render={(text, row, index) => {\n if (renderAction) {\n return renderAction(row, index, onDelete, onAdd)\n }\n return (\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 }}\n ></Column>\n )}\n </Table>\n </SortableContext>\n </DndContext>\n {!disabled && (\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/array-input/index.js"],"names":[],"mappings":"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","sourcesContent":["import { DndContext } from '@dnd-kit/core'\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport {\n SortableContext,\n arrayMove,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport { get, isArray, isFunction, set, sum, sumBy, cloneDeep } from 'lodash'\nimport React, { isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport Button from '../button'\nimport Col from '../col'\nimport Icon from '../icon'\nimport Row from '../row'\nimport Table from '../table'\nimport Tooltip from '../tooltip'\nimport './index.less'\n\nconst { Column } = Table\nconst RowContext = React.createContext({})\nlet key = 1\n\nfunction DragHandle() {\n const { setActivatorNodeRef, listeners } = useContext(RowContext)\n return (\n <Button\n className=\"drag-btn\"\n type=\"tertiary\"\n size=\"small\"\n icon=\"drag\"\n ref={setActivatorNodeRef}\n {...listeners}\n />\n )\n}\nfunction BodyRow(props) {\n const {\n attributes,\n listeners,\n setNodeRef,\n setActivatorNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({\n id: props['data-row-key'],\n })\n const style = {\n ...props.style,\n transform: CSS.Translate.toString(transform),\n transition,\n ...(isDragging\n ? {\n position: 'relative',\n zIndex: 9999,\n }\n : {}),\n }\n const contextValue = useMemo(\n () => ({\n setActivatorNodeRef,\n listeners,\n }),\n [setActivatorNodeRef, listeners]\n )\n return (\n <RowContext.Provider value={contextValue}>\n <tr {...props} ref={setNodeRef} style={style} {...attributes} />\n </RowContext.Provider>\n )\n}\n\nfunction ArrayInput({\n children,\n defaultValue,\n value,\n onChange,\n mode = 'list',\n drag = false, // 只做了table的拖拽排序\n gutter = 10,\n require = false,\n errorMap,\n deleteTip = '',\n plusTip = '',\n addText,\n locale,\n xProps = {},\n defaultAddData = {},\n renderAction,\n actionFixed = false,\n actionWidth = 80,\n disabled = false,\n}) {\n if (!isFunction(children)) {\n throw new Error(locale.error)\n }\n if (addText === undefined) {\n addText = locale?.add\n }\n\n const [_value, setValue] = useState(value || defaultValue)\n\n useEffect(() => {\n let newValue = value\n // 如果数组没有key\n if (Array.isArray(value) && value.some((obj) => !obj.key)) {\n newValue = value.map((obj) => ({ ...obj, key: obj.key || key++ }))\n _onChange(newValue)\n } else {\n setValue(newValue)\n }\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 = [{ key: key++ }]\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 const newData = { ...cloneDeep(defaultAddData), key: key++ }\n if (index === undefined) {\n _onChange([...inValue, newData])\n } else {\n inValue.splice(index + 1, 0, newData)\n _onChange([...inValue])\n }\n }\n\n const onDelete = (i) => {\n inValue.splice(i, 1)\n _onChange([...inValue])\n }\n\n const onDragEnd = ({ active, over }) => {\n if (active.id !== over?.id) {\n _onChange((prevState) => {\n const activeIndex = prevState.findIndex((record) => record.key === active?.id)\n const overIndex = prevState.findIndex((record) => record.key === over?.id)\n return arrayMove(prevState, activeIndex, overIndex)\n })\n }\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 const isError = errorMap ? errorMap[`${index}-${name}`] : ''\n return (\n <Col span={span} key={i}>\n <div className={!isError ? 'tntd-array-input-hide-error' : ''}>\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 disabled,\n ...other,\n })}\n </div>\n {isError && <div className=\"ant-form-item-explain-error\">{isError}</div>}\n </Col>\n )\n })}\n {!disabled && (\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 )}\n </Row>\n )\n })}\n {!disabled && (\n <Button type=\"link\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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 = { key: value.key }\n fields.forEach((field) => {\n const name = field?.props?.name\n name && set(back, name, field)\n })\n return back\n })\n\n return (\n <div className=\"tntd-array-input\">\n <DndContext modifiers={[restrictToVerticalAxis]} onDragEnd={onDragEnd}>\n <SortableContext\n items={dataSource.map((i) => i.key)}\n strategy={verticalListSortingStrategy}\n >\n <Table\n dataSource={dataSource}\n pagination={false}\n components={{\n body: {\n row: BodyRow,\n },\n }}\n bordered\n {...xProps}\n >\n {drag && (\n <Column\n key=\"dragger\"\n dataIndex=\"dragger\"\n width={60}\n render={() => <DragHandle />}\n ></Column>\n )}\n {fields.map((field) => {\n const { name, width = 160, title } = field?.props || {}\n return (\n <Column\n key={name}\n dataIndex={name}\n title={title}\n width={width}\n render={(field, row, index) => {\n if (!isValidElement(field)) {\n return field\n }\n const { name, onChange: fieldChange } = field.props\n const isError = errorMap ? errorMap[`${index}-${name}`] : ''\n return (\n <div className={!isError ? 'tntd-array-input-hide-error' : ''}>\n {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), disabled\n },\n })}\n {isError && <div className=\"ant-form-item-explain-error\">{isError}</div>}\n </div>\n )\n }}\n ></Column>\n )\n })}\n {!disabled && (\n <Column\n key=\"action\"\n dataIndex=\"action\"\n title={locale.action}\n width={actionWidth}\n className=\"tntd-array-input-action\"\n fixed={actionFixed}\n render={(text, row, index) => {\n if (renderAction) {\n return renderAction(row, index, onDelete, onAdd)\n }\n return (\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 }}\n ></Column>\n )}\n </Table>\n </SortableContext>\n </DndContext>\n {!disabled && (\n <Button type=\"dashed\" block className=\"mt10\" onClick={() => onAdd()}>\n <Icon type=\"plus\" />\n {addText}\n </Button>\n )}\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"]}
@@ -63,9 +63,9 @@ var Button = exports.Button = (0, _react.forwardRef)(function (_a, ref) {
63
63
  return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
64
64
  var getPrefixCls = _ref.getPrefixCls;
65
65
  return _react["default"].createElement(_button["default"], Object.assign({}, rest, {
66
- type: type === 'tertiary' ? undefined : type,
66
+ type: type === 'tertiary' || type === 'ai' ? undefined : type,
67
67
  size: size === 'mini' ? undefined : size,
68
- className: (0, _classnames["default"])(className, tntPrefixCls, _defineProperty(_defineProperty({}, "".concat(tntPrefixCls, "-mini"), size === 'mini'), "".concat(tntPrefixCls, "-tertiary"), type === 'tertiary')),
68
+ className: (0, _classnames["default"])(className, tntPrefixCls, _defineProperty(_defineProperty(_defineProperty({}, "".concat(tntPrefixCls, "-mini"), size === 'mini'), "".concat(tntPrefixCls, "-tertiary"), type === 'tertiary'), "".concat(tntPrefixCls, "-ai"), type === 'ai')),
69
69
  children: newChildren,
70
70
  ref: ref
71
71
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAMzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAkB9B,MAAM,YAAY,GAAG,SAAS,CAAA;AAE9B,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,EAA+E,EAAE,GAAG,EAAE,EAAE;QAAxF,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAA7E,gFAA+E,CAAF;IAC5E,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;KACzD;IACD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC5C,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE;gBAC7C,CAAC,GAAG,YAAY,OAAO,CAAC,EAAE,IAAI,KAAK,MAAM;gBACzC,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,IAAI,KAAK,UAAU;aAClD,CAAC,EACF,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,WAAW,GAA+B,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,SAAS,EAAE,IAAI,OAAW,EAAN,IAAI,cAA1B,qBAA4B,CAAF;IACzE,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,UAAU,CAAC,KAAK,oBACX,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;gBAC/B,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE,IAAI,KAAK,MAAM;aAChD,CAAC,IACF,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,GAAG,WAAW,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.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 {\n ButtonProps as AntdButtonProps,\n ButtonGroupProps as AntdButtonGroupProps,\n ButtonType,\n} from 'antd/es/button'\nimport { ConfigConsumer } from '../config-provider'\nimport { default as AntdButton } from 'antd/es/button'\nimport { doUpperTitle } from '../utils/lang'\nimport classNames from 'classnames'\n\nexport * from 'antd/es/button'\n\nexport type TntButtonType = ButtonType | 'tertiary'\nexport interface ButtonProps extends Omit<AntdButtonProps, 'size' | 'type'> {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n size?: 'large' | 'default' | 'small' | 'mini'\n type?: 'default' | 'primary' | 'tertiary' | 'ghost' | 'dashed' | 'danger' | 'link'\n}\nexport interface ButtonGroupProps extends Omit<AntdButtonGroupProps, 'size'> {\n size?: 'large' | 'default' | 'small' | 'mini'\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: React.FC<ButtonGroupProps>\n}\n\nconst tntPrefixCls = 'tnt-btn'\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ className, size, type, children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted) {\n newChildren = doUpperTitle(newChildren, upperCaseIgnore)\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton\n {...rest}\n type={type === 'tertiary' ? undefined : type}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-mini`]: size === 'mini',\n [`${tntPrefixCls}-tertiary`]: type === 'tertiary',\n })}\n children={newChildren}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({ className, size, ...rest }) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton.Group\n {...rest}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, {\n [`${tntPrefixCls}-group-mini`]: size === 'mini',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nButton.Group = ButtonGroup\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAMzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAkB9B,MAAM,YAAY,GAAG,SAAS,CAAA;AAE9B,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,EAA+E,EAAE,GAAG,EAAE,EAAE;QAAxF,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,OAAW,EAAN,IAAI,cAA7E,gFAA+E,CAAF;IAC5E,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,gBAAgB,EAAE;QACrB,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;KACzD;IACD,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC7D,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE;gBAC7C,CAAC,GAAG,YAAY,OAAO,CAAC,EAAE,IAAI,KAAK,MAAM;gBACzC,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,IAAI,KAAK,UAAU;gBACjD,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI;aACtC,CAAC,EACF,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,IACR,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CACiB,CAAA;AAEpB,MAAM,WAAW,GAA+B,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,SAAS,EAAE,IAAI,OAAW,EAAN,IAAI,cAA1B,qBAA4B,CAAF;IACzE,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,OAAO,CACL,oBAAC,UAAU,CAAC,KAAK,oBACX,IAAI,IACR,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;gBAC/B,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE,IAAI,KAAK,MAAM;aAChD,CAAC,IACF,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,GAAG,WAAW,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.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 {\n ButtonProps as AntdButtonProps,\n ButtonGroupProps as AntdButtonGroupProps,\n ButtonType,\n} from 'antd/es/button'\nimport { ConfigConsumer } from '../config-provider'\nimport { default as AntdButton } from 'antd/es/button'\nimport { doUpperTitle } from '../utils/lang'\nimport classNames from 'classnames'\n\nexport * from 'antd/es/button'\n\nexport type TntButtonType = ButtonType | 'tertiary' | 'ai'\nexport interface ButtonProps extends Omit<AntdButtonProps, 'size' | 'type'> {\n upperCaseIgnore?: []\n unUpperConverted?: boolean\n size?: 'large' | 'default' | 'small' | 'mini'\n type?: 'default' | 'primary' | 'tertiary' | 'ai' | 'ghost' | 'dashed' | 'danger' | 'link'\n}\nexport interface ButtonGroupProps extends Omit<AntdButtonGroupProps, 'size'> {\n size?: 'large' | 'default' | 'small' | 'mini'\n}\n\ninterface ButtonComponent\n extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<AntdButton>> {\n Group: React.FC<ButtonGroupProps>\n}\n\nconst tntPrefixCls = 'tnt-btn'\n\nexport const Button = forwardRef<AntdButton, ButtonProps>(\n ({ className, size, type, children, unUpperConverted, upperCaseIgnore, ...rest }, ref) => {\n let newChildren = children\n if (!unUpperConverted) {\n newChildren = doUpperTitle(newChildren, upperCaseIgnore)\n }\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton\n {...rest}\n type={type === 'tertiary' || type === 'ai' ? undefined : type}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, tntPrefixCls, {\n [`${tntPrefixCls}-mini`]: size === 'mini',\n [`${tntPrefixCls}-tertiary`]: type === 'tertiary',\n [`${tntPrefixCls}-ai`]: type === 'ai',\n })}\n children={newChildren}\n ref={ref}\n />\n )\n }}\n </ConfigConsumer>\n )\n }\n) as ButtonComponent\n\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({ className, size, ...rest }) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return (\n <AntdButton.Group\n {...rest}\n size={size === 'mini' ? undefined : size}\n className={classNames(className, {\n [`${tntPrefixCls}-group-mini`]: size === 'mini',\n })}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nButton.Group = ButtonGroup\n"]}
@@ -37,6 +37,9 @@
37
37
  &-tertiary {
38
38
  .button-variant-tertiary(@btn-default-color, @primary-color, @btn-tertiary-bg);
39
39
  }
40
+ &-ai {
41
+ .button-variant-ai(@btn-primary-color, @primary-color, @btn-ai-bg);
42
+ }
40
43
  &.@{btn-prefix-cls}-primary {
41
44
  .button-disabled(@btn-primary-color, @blue-3, @blue-3);
42
45
  }
@@ -75,3 +78,175 @@
75
78
 
76
79
  .button-disabled(@btn-disable-color; @btn-disable-bg; transparent);
77
80
  }
81
+
82
+ // AI按钮
83
+ @ai-animation-duration: 0.3s;
84
+ @ai-animation-easing: cubic-bezier(0.645, 0.045, 0.355, 1);
85
+ @ai-overlay-opacity: 0.2;
86
+
87
+ .ai-gradient-overlay(@overlay-color; @base-gradient) {
88
+ background: linear-gradient(0deg, @overlay-color 0%, @overlay-color 100%), @base-gradient;
89
+ }
90
+
91
+ .generate-hover-in-animation(@name; @background) {
92
+ @keyframes @name {
93
+ 0% {
94
+ background: @background;
95
+ }
96
+ 10% {
97
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.02), @background);
98
+ }
99
+ 20% {
100
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.04), @background);
101
+ }
102
+ 30% {
103
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.06), @background);
104
+ }
105
+ 40% {
106
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.08), @background);
107
+ }
108
+ 50% {
109
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.1), @background);
110
+ }
111
+ 60% {
112
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.12), @background);
113
+ }
114
+ 70% {
115
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.14), @background);
116
+ }
117
+ 80% {
118
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.16), @background);
119
+ }
120
+ 90% {
121
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.18), @background);
122
+ }
123
+ 100% {
124
+ .ai-gradient-overlay(rgba(255, 255, 255, @ai-overlay-opacity), @background);
125
+ }
126
+ }
127
+ }
128
+
129
+ .generate-hover-out-animation(@name; @background) {
130
+ @keyframes @name {
131
+ 0% {
132
+ .ai-gradient-overlay(rgba(255, 255, 255, @ai-overlay-opacity), @background);
133
+ }
134
+ 10% {
135
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.18), @background);
136
+ }
137
+ 20% {
138
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.16), @background);
139
+ }
140
+ 30% {
141
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.14), @background);
142
+ }
143
+ 40% {
144
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.12), @background);
145
+ }
146
+ 50% {
147
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.1), @background);
148
+ }
149
+ 60% {
150
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.08), @background);
151
+ }
152
+ 70% {
153
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.06), @background);
154
+ }
155
+ 80% {
156
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.04), @background);
157
+ }
158
+ 90% {
159
+ .ai-gradient-overlay(rgba(255, 255, 255, 0.02), @background);
160
+ }
161
+ 100% {
162
+ background: @background;
163
+ }
164
+ }
165
+ }
166
+
167
+ .generate-active-animation(@name; @background) {
168
+ @keyframes @name {
169
+ 0% {
170
+ background: @background;
171
+ }
172
+ 10% {
173
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.02), @background);
174
+ }
175
+ 20% {
176
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.04), @background);
177
+ }
178
+ 30% {
179
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.06), @background);
180
+ }
181
+ 40% {
182
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.08), @background);
183
+ }
184
+ 50% {
185
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.1), @background);
186
+ }
187
+ 60% {
188
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.12), @background);
189
+ }
190
+ 70% {
191
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.14), @background);
192
+ }
193
+ 80% {
194
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.16), @background);
195
+ }
196
+ 90% {
197
+ .ai-gradient-overlay(rgba(0, 0, 0, 0.18), @background);
198
+ }
199
+ 100% {
200
+ .ai-gradient-overlay(rgba(0, 0, 0, @ai-overlay-opacity), @background);
201
+ }
202
+ }
203
+ }
204
+
205
+ .button-variant-ai(@color; @hover-color; @background) {
206
+ color: @color;
207
+ background: @background;
208
+ border: none;
209
+ text-shadow: @btn-text-shadow;
210
+ box-shadow: @btn-primary-shadow;
211
+
212
+ animation: ai-hover-out @ai-animation-duration @ai-animation-easing;
213
+ animation-fill-mode: both;
214
+
215
+ &:hover,
216
+ &:focus {
217
+ color: @color;
218
+ .ai-gradient-overlay(rgba(255, 255, 255, @ai-overlay-opacity), @background);
219
+ animation: ai-hover-in @ai-animation-duration @ai-animation-easing;
220
+ animation-fill-mode: both;
221
+ }
222
+
223
+ &:active,
224
+ &.active {
225
+ color: @color;
226
+ .ai-gradient-overlay(rgba(0, 0, 0, @ai-overlay-opacity), @background);
227
+ animation: ai-active-in @ai-animation-duration @ai-animation-easing;
228
+ animation-fill-mode: both;
229
+ }
230
+
231
+ .button-disabled(@white; @disabled-color; transparent);
232
+
233
+ // AI 按钮禁用状态的额外样式
234
+ &[disabled],
235
+ &.@{btn-prefix-cls}-disabled {
236
+ background: @btn-disable-bg-ai !important;
237
+ animation: none !important;
238
+ cursor: not-allowed;
239
+
240
+ &:hover,
241
+ &:focus,
242
+ &:active {
243
+ background: @btn-disable-bg-ai !important;
244
+ animation: none !important;
245
+ }
246
+ }
247
+
248
+ // linear-gradient不支持 transition 动画,使用 animation模拟 transition 动画,目前10帧差不多可以很丝滑
249
+ .generate-hover-in-animation(ai-hover-in; @background);
250
+ .generate-hover-out-animation(ai-hover-out; @background);
251
+ .generate-active-animation(ai-active-in; @background);
252
+ }
@@ -48,6 +48,7 @@
48
48
  .@{btn-prefix-cls}-group &:first-child {
49
49
  &:not(:last-child) {
50
50
  border-right-color: @btn-group-border;
51
+
51
52
  &[disabled] {
52
53
  border-right-color: @btn-default-border;
53
54
  }
@@ -57,6 +58,7 @@
57
58
  .@{btn-prefix-cls}-group &:last-child:not(:first-child),
58
59
  .@{btn-prefix-cls}-group & + & {
59
60
  border-left-color: @btn-group-border;
61
+
60
62
  &[disabled] {
61
63
  border-left-color: @btn-default-border;
62
64
  }
@@ -89,6 +91,7 @@
89
91
 
90
92
  &-round {
91
93
  .btn-round(@btn-prefix-cls);
94
+
92
95
  &.@{btn-prefix-cls}-icon-only {
93
96
  width: auto;
94
97
  }
@@ -130,6 +133,7 @@
130
133
 
131
134
  &&-loading {
132
135
  position: relative;
136
+
133
137
  &:not([disabled]) {
134
138
  pointer-events: none;
135
139
  }
@@ -141,6 +145,7 @@
141
145
 
142
146
  &&-loading:not(&-circle):not(&-circle-outline):not(&-icon-only) {
143
147
  padding-left: 29px;
148
+
144
149
  .@{iconfont-css-prefix}:not(:last-child) {
145
150
  margin-left: -14px;
146
151
  }
@@ -148,6 +153,7 @@
148
153
 
149
154
  &-sm&-loading:not(&-circle):not(&-circle-outline):not(&-icon-only) {
150
155
  padding-left: 24px;
156
+
151
157
  .@{iconfont-css-prefix} {
152
158
  margin-left: -17px;
153
159
  }
@@ -218,6 +224,7 @@ a.@{btn-prefix-cls} {
218
224
  &-lg {
219
225
  line-height: calc(@btn-height-lg - 2px);
220
226
  }
227
+
221
228
  &-sm {
222
229
  line-height: calc(@btn-height-sm - 2px);
223
230
  }