merchi_product_form
Version:
A React component for Merchi product forms
161 lines • 20.7 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
import * as React from 'react';
import TooltipElement from './TooltipElement';
import { FaStopwatch } from 'react-icons/fa';
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
export var CountdownTimer = /*#__PURE__*/function (_React$Component) {
function CountdownTimer() {
var _this;
_classCallCheck(this, CountdownTimer);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, CountdownTimer, [].concat(args));
_defineProperty(_this, "state", {
timeEnd: _this.props.timeEnd,
timeUp: false
});
return _this;
}
_inherits(CountdownTimer, _React$Component);
return _createClass(CountdownTimer, [{
key: "componentDidMount",
value: function componentDidMount() {
this.timeCount = setInterval(this.count.bind(this), 1000);
}
}, {
key: "count",
value: function count() {
var timeEnd = this.state.timeEnd;
var _this$props = this.props,
options = _this$props.options,
callback = _this$props.callback;
if (options !== undefined) {
var atTimeCallback = options.atTimeCallback;
if (atTimeCallback !== undefined && timeEnd !== undefined && atTimeCallback.time !== undefined && atTimeCallback.callback !== undefined) {
if (atTimeCallback.time === timeEnd * 1000) {
atTimeCallback.callback();
}
}
}
var d;
var h;
var m;
var s;
var rest;
if (timeEnd >= 0) {
rest = timeEnd;
s = Math.floor(rest % 60);
rest = rest / 60;
m = Math.floor(rest % 60);
rest = rest / 60;
h = Math.floor(rest % 24);
rest = rest / 24;
d = Math.floor(rest);
var newTimeEnd = timeEnd - 1;
this.setState({
d: d,
h: h,
m: m,
s: s,
timeEnd: newTimeEnd
});
} else {
clearInterval(this.timeCount);
if (typeof callback === 'function') {
callback();
}
this.setState({
timeUp: true
});
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
clearInterval(this.timeCount);
}
}, {
key: "render",
value: function render() {
var _this$state = this.state,
d = _this$state.d,
h = _this$state.h,
m = _this$state.m,
s = _this$state.s,
timeUp = _this$state.timeUp;
var _this$props2 = this.props,
className = _this$props2.className,
_this$props2$hideSeco = _this$props2.hideSeconds,
hideSeconds = _this$props2$hideSeco === void 0 ? false : _this$props2$hideSeco,
style = _this$props2.style,
model = _this$props2.model;
var qs = s ? s + 's' : '';
var qm = m ? m + 'm ' : '';
var qh = h ? h + 'h ' : '';
var qd = d ? d + 'd ' : '';
var result;
if (d !== undefined) {
switch (model) {
case 'standard':
result = "".concat(qh, " : ").concat(qm, " : ").concat(qs);
break;
case 'text':
result = "".concat(qd).concat(qh).concat(qm).concat(!hideSeconds ? qs : '');
break;
}
}
return /*#__PURE__*/_jsx("span", {
className: className,
style: style,
children: timeUp ? 'time is up' : result
});
}
}]);
}(React.Component);
_defineProperty(CountdownTimer, "defaultProps", {
model: 'text'
});
function DateCountdown(props) {
var _props$containerClass = props.containerClass,
containerClass = _props$containerClass === void 0 ? 'd-inline-block text-ellipsis' : _props$containerClass,
deadline = props.deadline,
_props$hideSeconds = props.hideSeconds,
hideSeconds = _props$hideSeconds === void 0 ? true : _props$hideSeconds,
_props$icon = props.icon,
Icon = _props$icon === void 0 ? FaStopwatch : _props$icon,
tooltip = props.tooltip;
var idCountdownDate = 'merchi-countdown-date';
var now = new Date().getTime() / 1000;
var faIcon = Icon ? /*#__PURE__*/_jsx(Icon, {}) : null;
var countdown = /*#__PURE__*/_jsx(CountdownTimer, {
hideSeconds: hideSeconds,
timeEnd: deadline - now,
model: "text"
});
return /*#__PURE__*/_jsx("div", {
className: containerClass,
children: tooltip ? /*#__PURE__*/_jsxs(TooltipElement, {
id: idCountdownDate,
tooltip: tooltip,
children: [faIcon, " ", countdown]
}) : /*#__PURE__*/_jsxs(_Fragment, {
children: [faIcon, " ", countdown]
})
});
}
export default DateCountdown;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRvb2x0aXBFbGVtZW50IiwiRmFTdG9wd2F0Y2giLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDb3VudGRvd25UaW1lciIsIl9SZWFjdCRDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eSIsInRpbWVFbmQiLCJwcm9wcyIsInRpbWVVcCIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJ0aW1lQ291bnQiLCJzZXRJbnRlcnZhbCIsImNvdW50IiwiYmluZCIsInN0YXRlIiwiX3RoaXMkcHJvcHMiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJhdFRpbWVDYWxsYmFjayIsInRpbWUiLCJkIiwiaCIsIm0iLCJzIiwicmVzdCIsIk1hdGgiLCJmbG9vciIsIm5ld1RpbWVFbmQiLCJzZXRTdGF0ZSIsImNsZWFySW50ZXJ2YWwiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzJHN0YXRlIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwiX3RoaXMkcHJvcHMyJGhpZGVTZWNvIiwiaGlkZVNlY29uZHMiLCJzdHlsZSIsIm1vZGVsIiwicXMiLCJxbSIsInFoIiwicWQiLCJyZXN1bHQiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsIkRhdGVDb3VudGRvd24iLCJfcHJvcHMkY29udGFpbmVyQ2xhc3MiLCJjb250YWluZXJDbGFzcyIsImRlYWRsaW5lIiwiX3Byb3BzJGhpZGVTZWNvbmRzIiwiX3Byb3BzJGljb24iLCJpY29uIiwiSWNvbiIsInRvb2x0aXAiLCJpZENvdW50ZG93bkRhdGUiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSIsImZhSWNvbiIsImNvdW50ZG93biIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0ZUNvdW50ZG93bi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgVG9vbHRpcEVsZW1lbnQgZnJvbSAnLi9Ub29sdGlwRWxlbWVudCc7XHJcbmltcG9ydCB7IEZhU3RvcHdhdGNoIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xyXG5cclxuaW50ZXJmYWNlIENvdW50UHJvcHMge1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBzdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XHJcbiAgdGltZUVuZDogbnVtYmVyO1xyXG4gIGNhbGxiYWNrPzogRnVuY3Rpb247XHJcbiAgaGlkZVNlY29uZHM/OiBib29sZWFuO1xyXG4gIG1vZGVsPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiB7XHJcbiAgICBhdFRpbWVDYWxsYmFjaz86IHtcclxuICAgICAgdGltZTogbnVtYmVyO1xyXG4gICAgICBjYWxsYmFjazogRnVuY3Rpb247XHJcbiAgICB9O1xyXG4gIH07XHJcbn1cclxuXHJcblxyXG5pbnRlcmZhY2UgQ291bnRTdGF0ZSB7XHJcbiAgdGltZUVuZDogbnVtYmVyO1xyXG4gIHRpbWVVcDogYm9vbGVhbjtcclxuICBkID86IG51bWJlciB8IHN0cmluZztcclxuICBoID86IG51bWJlciB8IHN0cmluZztcclxuICBtID86IG51bWJlciB8IHN0cmluZztcclxuICBzID86IG51bWJlciB8IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvdW50ZG93blRpbWVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PENvdW50UHJvcHMsIENvdW50U3RhdGU+IHtcclxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgIG1vZGVsOiAndGV4dCcsXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGU6IENvdW50U3RhdGUgPSB7XHJcbiAgICB0aW1lRW5kOiB0aGlzLnByb3BzLnRpbWVFbmQsXHJcbiAgICB0aW1lVXA6IGZhbHNlLFxyXG4gIH07XHJcbiAgcHVibGljIHRpbWVDb3VudDogYW55O1xyXG4gIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHRoaXMudGltZUNvdW50ID0gc2V0SW50ZXJ2YWwodGhpcy5jb3VudC5iaW5kKHRoaXMpLCAxMDAwKTtcclxuICB9XHJcbiAgcHVibGljIGNvdW50KCkge1xyXG4gICAgY29uc3Qge3RpbWVFbmR9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtvcHRpb25zLCBjYWxsYmFja30gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCB7YXRUaW1lQ2FsbGJhY2t9ID0gb3B0aW9ucztcclxuICAgICAgaWYgKGF0VGltZUNhbGxiYWNrICE9PSB1bmRlZmluZWQgJiYgdGltZUVuZCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgJiYgYXRUaW1lQ2FsbGJhY2sudGltZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICAgYXRUaW1lQ2FsbGJhY2suY2FsbGJhY2sgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaWYgKGF0VGltZUNhbGxiYWNrLnRpbWUgPT09IHRpbWVFbmQgKiAxMDAwKSB7XHJcbiAgICAgICAgICAgIGF0VGltZUNhbGxiYWNrLmNhbGxiYWNrKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBkO1xyXG4gICAgbGV0IGg7XHJcbiAgICBsZXQgbTtcclxuICAgIGxldCBzO1xyXG4gICAgbGV0IHJlc3Q7XHJcblxyXG4gICAgaWYgKHRpbWVFbmQgPj0gMCkge1xyXG4gICAgICByZXN0ID0gdGltZUVuZDtcclxuICAgICAgcyA9IE1hdGguZmxvb3IocmVzdCAlIDYwKTtcclxuICAgICAgcmVzdCA9IHJlc3QgLyA2MDtcclxuICAgICAgbSA9IE1hdGguZmxvb3IocmVzdCAlIDYwKTtcclxuICAgICAgcmVzdCA9IHJlc3QgLyA2MDtcclxuICAgICAgaCA9IE1hdGguZmxvb3IocmVzdCAlIDI0KTtcclxuICAgICAgcmVzdCA9IHJlc3QgLyAyNDtcclxuICAgICAgZCA9IE1hdGguZmxvb3IocmVzdCk7XHJcbiAgICAgIGxldCBuZXdUaW1lRW5kID0gdGltZUVuZCAtIDE7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGQ6IGQsXHJcbiAgICAgICAgaDogaCxcclxuICAgICAgICBtOiBtLFxyXG4gICAgICAgIHM6IHMsXHJcbiAgICAgICAgdGltZUVuZDogbmV3VGltZUVuZCxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjbGVhckludGVydmFsKHRoaXMudGltZUNvdW50KTtcclxuICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7dGltZVVwOiB0cnVlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHB1YmxpYyBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lQ291bnQpO1xyXG4gIH1cclxuICBwdWJsaWMgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge2QsIGgsIG0sIHMsIHRpbWVVcH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge2NsYXNzTmFtZSwgaGlkZVNlY29uZHMgPSBmYWxzZSwgc3R5bGUsIG1vZGVsfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcXMgPSBzID8gcyArICdzJyA6ICcnO1xyXG4gICAgbGV0IHFtID0gbSA/IG0gKyAnbSAnIDogJyc7XHJcbiAgICBsZXQgcWggPSBoID8gaCArICdoICcgOiAnJztcclxuICAgIGxldCBxZCA9IGQgPyBkICsgJ2QgJyA6ICcnO1xyXG4gICAgbGV0IHJlc3VsdCA7XHJcblxyXG4gICAgaWYgKGQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzd2l0Y2ggKG1vZGVsKSB7XHJcbiAgICAgICAgY2FzZSAnc3RhbmRhcmQnOlxyXG4gICAgICAgICAgcmVzdWx0ID0gYCR7cWh9IDogJHtxbX0gOiAke3FzfWA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgIHJlc3VsdCA9IGAke3FkfSR7cWh9JHtxbX0keyFoaWRlU2Vjb25kcyA/IHFzIDogJyd9YDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTmFtZX0gc3R5bGU9e3N0eWxlfT5cclxuICAgICAgICB7dGltZVVwID8gJ3RpbWUgaXMgdXAnIDogcmVzdWx0fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIFByb3BzIHtcclxuICBjb250YWluZXJDbGFzcz86IHN0cmluZztcclxuICBkZWFkbGluZTogbnVtYmVyO1xyXG4gIGhpZGVTZWNvbmRzPzogYm9vbGVhbjtcclxuICBpY29uPzogYW55O1xyXG4gIHRvb2x0aXA/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERhdGVDb3VudGRvd24ocHJvcHM6IFByb3BzKSB7XHJcbiAgY29uc3Qge1xyXG4gICAgY29udGFpbmVyQ2xhc3MgPSAnZC1pbmxpbmUtYmxvY2sgdGV4dC1lbGxpcHNpcycsXHJcbiAgICBkZWFkbGluZSxcclxuICAgIGhpZGVTZWNvbmRzID0gdHJ1ZSxcclxuICAgIGljb246IEljb24gPSBGYVN0b3B3YXRjaCxcclxuICAgIHRvb2x0aXAsXHJcbiAgfSA9IHByb3BzO1xyXG4gIGNvbnN0IGlkQ291bnRkb3duRGF0ZSA9ICdtZXJjaGktY291bnRkb3duLWRhdGUnXHJcbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwO1xyXG4gIGNvbnN0IGZhSWNvbiA9IEljb24gPyA8SWNvbiAvPiA6IG51bGw7XHJcbiAgY29uc3QgY291bnRkb3duID0gKFxyXG4gICAgPENvdW50ZG93blRpbWVyXHJcbiAgICAgIGhpZGVTZWNvbmRzPXtoaWRlU2Vjb25kc31cclxuICAgICAgdGltZUVuZD17ZGVhZGxpbmUgLSBub3d9XHJcbiAgICAgIG1vZGVsPSd0ZXh0J1xyXG4gICAgLz5cclxuICApO1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y29udGFpbmVyQ2xhc3N9PlxyXG4gICAgICB7dG9vbHRpcCA/IChcclxuICAgICAgICA8VG9vbHRpcEVsZW1lbnRcclxuICAgICAgICAgIGlkPXtpZENvdW50ZG93bkRhdGV9XHJcbiAgICAgICAgICB0b29sdGlwPXt0b29sdGlwfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtmYUljb259IHtjb3VudGRvd259XHJcbiAgICAgICAgPC9Ub29sdGlwRWxlbWVudD5cclxuICAgICAgKSA6IChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge2ZhSWNvbn0ge2NvdW50ZG93bn1cclxuICAgICAgICA8Lz5cclxuICAgICAgKX1cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IERhdGVDb3VudGRvd247XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsU0FBU0MsV0FBVyxRQUFRLGdCQUFnQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBO0FBMkI3QyxXQUFhQyxjQUFjLDBCQUFBQyxnQkFBQTtFQUFBLFNBQUFELGVBQUE7SUFBQSxJQUFBRSxLQUFBO0lBQUFDLGVBQUEsT0FBQUgsY0FBQTtJQUFB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