@ant-design/x
Version:
Craft AI-driven interfaces effortlessly
72 lines (65 loc) • 2.78 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _icons = require("@ant-design/icons");
var _clsx = require("clsx");
var _react = _interopRequireDefault(require("react"));
var _locale = require("../locale");
var _en_US = _interopRequireDefault(require("../locale/en_US"));
var _RecordingIcon = _interopRequireDefault(require("../sender/components/SpeechButton/RecordingIcon"));
var _xProvider = require("../x-provider");
var _ActionsItem = _interopRequireWildcard(require("./ActionsItem"));
var _style = _interopRequireDefault(require("./style"));
const ActionsAudio = props => {
const {
status = _ActionsItem.ACTIONS_ITEM_STATUS.DEFAULT,
className,
style,
prefixCls: customizePrefixCls,
rootClassName,
classNames = {},
styles = {},
...otherProps
} = props;
// ============================ Prefix ============================
const {
direction,
getPrefixCls
} = (0, _xProvider.useXProviderContext)();
const prefixCls = getPrefixCls('actions', customizePrefixCls);
const [hashId, cssVarCls] = (0, _style.default)(prefixCls);
const audioCls = `${prefixCls}-audio`;
// ============================ Classname ============================
const mergedCls = (0, _clsx.clsx)(prefixCls, audioCls, hashId, cssVarCls, rootClassName, className, classNames.root, {
[`${audioCls}-rtl`]: direction === 'rtl',
[`${audioCls}-${status}`]: status
});
// ============================ Locale ============================
const [contextLocale] = (0, _locale.useLocale)('Actions', _en_US.default.Actions);
const StatusLabel = {
[_ActionsItem.ACTIONS_ITEM_STATUS.LOADING]: contextLocale.audioLoading,
[_ActionsItem.ACTIONS_ITEM_STATUS.ERROR]: contextLocale.audioError,
[_ActionsItem.ACTIONS_ITEM_STATUS.RUNNING]: contextLocale.audioRunning,
[_ActionsItem.ACTIONS_ITEM_STATUS.DEFAULT]: contextLocale.audio
};
return /*#__PURE__*/_react.default.createElement(_ActionsItem.default, (0, _extends2.default)({
label: status ? StatusLabel[status] : '',
style: style,
styles: styles,
classNames: {
...classNames,
root: mergedCls
},
status: status,
defaultIcon: /*#__PURE__*/_react.default.createElement(_icons.MutedOutlined, null),
runningIcon: /*#__PURE__*/_react.default.createElement(_RecordingIcon.default, {
className: `${audioCls}-recording-icon`
})
}, otherProps));
};
var _default = exports.default = ActionsAudio;