UNPKG

wix-style-react

Version:
137 lines (104 loc) • 6.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Text = _interopRequireDefault(require("../Text")); var _TableToolbar = _interopRequireDefault(require("../TableToolbar")); var _Calendar = _interopRequireDefault(require("../Calendar")); var _Button = _interopRequireDefault(require("../Button")); var _Box = _interopRequireDefault(require("../Box")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var CalendarPanelFooter = /*#__PURE__*/function (_React$PureComponent) { (0, _inherits2["default"])(CalendarPanelFooter, _React$PureComponent); var _super = _createSuper(CalendarPanelFooter); function CalendarPanelFooter() { (0, _classCallCheck2["default"])(this, CalendarPanelFooter); return _super.apply(this, arguments); } (0, _createClass2["default"])(CalendarPanelFooter, [{ key: "render", value: function render() { var _this$props = this.props, dataHook = _this$props.dataHook, dateToString = _this$props.dateToString, secondaryActionLabel = _this$props.secondaryActionLabel, primaryActionLabel = _this$props.primaryActionLabel, selectedDaysProp = _this$props.selectedDays, primaryActionDisabled = _this$props.primaryActionDisabled, primaryActionOnClick = _this$props.primaryActionOnClick, secondaryActionOnClick = _this$props.secondaryActionOnClick; function getSelectedDaysString(selectedDaysRaw) { if (!selectedDaysRaw) { return ''; } var selectedDays = _Calendar["default"].parseValue(selectedDaysRaw); if (_Calendar["default"].isRangeValue(selectedDays)) { var toSuffix = selectedDays.to ? " ".concat(dateToString(selectedDays.to)) : ''; return "".concat(dateToString(selectedDays.from), " -").concat(toSuffix); } else { return dateToString(selectedDays); } } return /*#__PURE__*/_react["default"].createElement("div", { "data-hook": dataHook }, /*#__PURE__*/_react["default"].createElement(_TableToolbar["default"], null, /*#__PURE__*/_react["default"].createElement(_TableToolbar["default"].ItemGroup, { position: "start" }, /*#__PURE__*/_react["default"].createElement(_TableToolbar["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_Text["default"], { size: "small", weight: "thin", secondary: true, dataHook: "selected-days-text" }, getSelectedDaysString(selectedDaysProp)))), /*#__PURE__*/_react["default"].createElement(_TableToolbar["default"].ItemGroup, { position: "end" }, /*#__PURE__*/_react["default"].createElement(_Box["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], { size: "small", priority: "secondary", dataHook: "secondary-action-button", onClick: secondaryActionOnClick }, secondaryActionLabel), /*#__PURE__*/_react["default"].createElement(_Box["default"], { margin: "0 6px" }), /*#__PURE__*/_react["default"].createElement(_Button["default"], { size: "small", disabled: primaryActionDisabled, dataHook: "primary-action-button", onClick: primaryActionOnClick }, primaryActionLabel))))); } }]); return CalendarPanelFooter; }(_react["default"].PureComponent); (0, _defineProperty2["default"])(CalendarPanelFooter, "displayName", 'CalendarPanelFooter'); (0, _defineProperty2["default"])(CalendarPanelFooter, "propTypes", { /** Applies a data-hook HTML attribute that can be used in the tests */ dataHook: _propTypes["default"].string, /** Defines primary (submit) action label */ primaryActionLabel: _propTypes["default"].string.isRequired, /** Defines secondary (cancel) action label */ secondaryActionLabel: _propTypes["default"].string.isRequired, /** Specifies whether primary action is disabled */ primaryActionDisabled: _propTypes["default"].bool.isRequired, /** Defines a callback function which is called every time primary button is clicked */ primaryActionOnClick: _propTypes["default"].func.isRequired, /** Defines a callback function which is called every time secondary button is clicked */ secondaryActionOnClick: _propTypes["default"].func.isRequired, /** Defines an active date or a date range selection */ selectedDays: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].instanceOf(Date), _propTypes["default"].shape({ from: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].instanceOf(Date)]), to: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].instanceOf(Date)]) })]), /** Formats date into a string for displaying the current selected days. Receives a Date instance (not undefined). */ dateToString: _propTypes["default"].func.isRequired }); var _default = CalendarPanelFooter; exports["default"] = _default;