UNPKG

merchi_product_form

Version:
168 lines 21.7 kB
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(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 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; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(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 { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faStopwatch } from '@fortawesome/free-solid-svg-icons'; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; import { Fragment as _Fragment } from "react/jsx-runtime"; export var CountdownTimer = /*#__PURE__*/function (_React$Component) { _inherits(CountdownTimer, _React$Component); var _super = _createSuper(CountdownTimer); 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 = _super.call.apply(_super, [this].concat(args)); _defineProperty(_assertThisInitialized(_this), "state", { timeEnd: _this.props.timeEnd, timeUp: false }); return _this; } _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 }); } }]); return CountdownTimer; }(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 = /*#__PURE__*/_jsx(FontAwesomeIcon, { icon: icon }); 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRvb2x0aXBFbGVtZW50IiwiRm9udEF3ZXNvbWVJY29uIiwiZmFTdG9wd2F0Y2giLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDb3VudGRvd25UaW1lciIsIl9SZWFjdCRDb21wb25lbnQiLCJfaW5oZXJpdHMiLCJfc3VwZXIiLCJfY3JlYXRlU3VwZXIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsImFwcGx5IiwiY29uY2F0IiwiX2RlZmluZVByb3BlcnR5IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsInRpbWVFbmQiLCJwcm9wcyIsInRpbWVVcCIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJ0aW1lQ291bnQiLCJzZXRJbnRlcnZhbCIsImNvdW50IiwiYmluZCIsInN0YXRlIiwiX3RoaXMkcHJvcHMiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJhdFRpbWVDYWxsYmFjayIsInRpbWUiLCJkIiwiaCIsIm0iLCJzIiwicmVzdCIsIk1hdGgiLCJmbG9vciIsIm5ld1RpbWVFbmQiLCJzZXRTdGF0ZSIsImNsZWFySW50ZXJ2YWwiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzJHN0YXRlIiwiX3RoaXMkcHJvcHMyIiwiY2xhc3NOYW1lIiwiX3RoaXMkcHJvcHMyJGhpZGVTZWNvIiwiaGlkZVNlY29uZHMiLCJzdHlsZSIsIm1vZGVsIiwicXMiLCJxbSIsInFoIiwicWQiLCJyZXN1bHQiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsIkRhdGVDb3VudGRvd24iLCJfcHJvcHMkY29udGFpbmVyQ2xhc3MiLCJjb250YWluZXJDbGFzcyIsImRlYWRsaW5lIiwiX3Byb3BzJGhpZGVTZWNvbmRzIiwiX3Byb3BzJGljb24iLCJpY29uIiwidG9vbHRpcCIsImlkQ291bnRkb3duRGF0ZSIsIm5vdyIsIkRhdGUiLCJnZXRUaW1lIiwiZmFJY29uIiwiY291bnRkb3duIiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlQ291bnRkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9vbHRpcEVsZW1lbnQgZnJvbSAnLi9Ub29sdGlwRWxlbWVudCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFTdG9wd2F0Y2ggfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuXG5pbnRlcmZhY2UgQ291bnRQcm9wcyB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICB0aW1lRW5kOiBudW1iZXI7XG4gIGNhbGxiYWNrPzogRnVuY3Rpb247XG4gIGhpZGVTZWNvbmRzPzogYm9vbGVhbjtcbiAgbW9kZWw/OiBzdHJpbmc7XG4gIG9wdGlvbnM/OiB7XG4gICAgYXRUaW1lQ2FsbGJhY2s/OiB7XG4gICAgICB0aW1lOiBudW1iZXI7XG4gICAgICBjYWxsYmFjazogRnVuY3Rpb247XG4gICAgfTtcbiAgfTtcbn1cblxuXG5pbnRlcmZhY2UgQ291bnRTdGF0ZSB7XG4gIHRpbWVFbmQ6IG51bWJlcjtcbiAgdGltZVVwOiBib29sZWFuO1xuICBkID86IG51bWJlciB8IHN0cmluZztcbiAgaCA/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG0gPzogbnVtYmVyIHwgc3RyaW5nO1xuICBzID86IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvdW50ZG93blRpbWVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PENvdW50UHJvcHMsIENvdW50U3RhdGU+IHtcbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbW9kZWw6ICd0ZXh0JyxcbiAgfTtcbiAgcHVibGljIHN0YXRlOiBDb3VudFN0YXRlID0ge1xuICAgIHRpbWVFbmQ6IHRoaXMucHJvcHMudGltZUVuZCxcbiAgICB0aW1lVXA6IGZhbHNlLFxuICB9O1xuICBwdWJsaWMgdGltZUNvdW50OiBhbnk7XG4gIHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnRpbWVDb3VudCA9IHNldEludGVydmFsKHRoaXMuY291bnQuYmluZCh0aGlzKSwgMTAwMCk7XG4gIH1cbiAgcHVibGljIGNvdW50KCkge1xuICAgIGNvbnN0IHt0aW1lRW5kfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3Qge29wdGlvbnMsIGNhbGxiYWNrfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qge2F0VGltZUNhbGxiYWNrfSA9IG9wdGlvbnM7XG4gICAgICBpZiAoYXRUaW1lQ2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiB0aW1lRW5kICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgJiYgYXRUaW1lQ2FsbGJhY2sudGltZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIGF0VGltZUNhbGxiYWNrLmNhbGxiYWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAoYXRUaW1lQ2FsbGJhY2sudGltZSA9PT0gdGltZUVuZCAqIDEwMDApIHtcbiAgICAgICAgICAgIGF0VGltZUNhbGxiYWNrLmNhbGxiYWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgZDtcbiAgICBsZXQgaDtcbiAgICBsZXQgbTtcbiAgICBsZXQgcztcbiAgICBsZXQgcmVzdDtcblxuICAgIGlmICh0aW1lRW5kID49IDApIHtcbiAgICAgIHJlc3QgPSB0aW1lRW5kO1xuICAgICAgcyA9IE1hdGguZmxvb3IocmVzdCAlIDYwKTtcbiAgICAgIHJlc3QgPSByZXN0IC8gNjA7XG4gICAgICBtID0gTWF0aC5mbG9vcihyZXN0ICUgNjApO1xuICAgICAgcmVzdCA9IHJlc3QgLyA2MDtcbiAgICAgIGggPSBNYXRoLmZsb29yKHJlc3QgJSAyNCk7XG4gICAgICByZXN0ID0gcmVzdCAvIDI0O1xuICAgICAgZCA9IE1hdGguZmxvb3IocmVzdCk7XG4gICAgICBsZXQgbmV3VGltZUVuZCA9IHRpbWVFbmQgLSAxO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGQ6IGQsXG4gICAgICAgIGg6IGgsXG4gICAgICAgIG06IG0sXG4gICAgICAgIHM6IHMsXG4gICAgICAgIHRpbWVFbmQ6IG5ld1RpbWVFbmQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVDb3VudCk7XG4gICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHt0aW1lVXA6IHRydWV9KTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lQ291bnQpO1xuICB9XG4gIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgY29uc3Qge2QsIGgsIG0sIHMsIHRpbWVVcH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHtjbGFzc05hbWUsIGhpZGVTZWNvbmRzID0gZmFsc2UsIHN0eWxlLCBtb2RlbH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBxcyA9IHMgPyBzICsgJ3MnIDogJyc7XG4gICAgbGV0IHFtID0gbSA/IG0gKyAnbSAnIDogJyc7XG4gICAgbGV0IHFoID0gaCA/IGggKyAnaCAnIDogJyc7XG4gICAgbGV0IHFkID0gZCA/IGQgKyAnZCAnIDogJyc7XG4gICAgbGV0IHJlc3VsdCA7XG5cbiAgICBpZiAoZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzd2l0Y2ggKG1vZGVsKSB7XG4gICAgICAgIGNhc2UgJ3N0YW5kYXJkJzpcbiAgICAgICAgICByZXN1bHQgPSBgJHtxaH0gOiAke3FtfSA6ICR7cXN9YDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgcmVzdWx0ID0gYCR7cWR9JHtxaH0ke3FtfSR7IWhpZGVTZWNvbmRzID8gcXMgOiAnJ31gO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIHt0aW1lVXAgPyAndGltZSBpcyB1cCcgOiByZXN1bHR9XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZztcbiAgZGVhZGxpbmU6IG51bWJlcjtcbiAgaGlkZVNlY29uZHM/OiBib29sZWFuO1xuICBpY29uPzogYW55O1xuICB0b29sdGlwPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBEYXRlQ291bnRkb3duKHByb3BzOiBQcm9wcykge1xuICBjb25zdCB7XG4gICAgY29udGFpbmVyQ2xhc3MgPSAnZC1pbmxpbmUtYmxvY2sgdGV4dC1lbGxpcHNpcycsXG4gICAgZGVhZGxpbmUsXG4gICAgaGlkZVNlY29uZHMgPSB0cnVlLFxuICAgIGljb24gPSBmYVN0b3B3YXRjaCxcbiAgICB0b29sdGlwLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGlkQ291bnRkb3duRGF0ZSA9ICdtZXJjaGktY291bnRkb3duLWRhdGUnXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDtcbiAgY29uc3QgZmFJY29uID0gPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtpY29ufSAvPjtcbiAgY29uc3QgY291bnRkb3duID0gKFxuICAgIDxDb3VudGRvd25UaW1lclxuICAgICAgaGlkZVNlY29uZHM9e2hpZGVTZWNvbmRzfVxuICAgICAgdGltZUVuZD17ZGVhZGxpbmUgLSBub3d9XG4gICAgICBtb2RlbD0ndGV4dCdcbiAgICAvPlxuICApO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjb250YWluZXJDbGFzc30+XG4gICAgICB7dG9vbHRpcCA/IChcbiAgICAgICAgPFRvb2x0aXBFbGVtZW50XG4gICAgICAgICAgaWQ9e2lkQ291bnRkb3duRGF0ZX1cbiAgICAgICAgICB0b29sdGlwPXt0b29sdGlwfVxuICAgICAgICA+XG4gICAgICAgICAge2ZhSWNvbn0ge2NvdW50ZG93bn1cbiAgICAgICAgPC9Ub29sdGlwRWxlbWVudD5cbiAgICAgICkgOiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2ZhSWNvbn0ge2NvdW50ZG93bn1cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRlQ291bnRkb3duO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hFLFNBQVNDLFdBQVcsUUFBUSxtQ0FBbUM7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFBQSxTQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFBQSxTQUFBQyxRQUFBLElBQUFDLFNBQUE7QUEyQmhFLFdBQWFDLGNBQWMsMEJBQUFDLGdCQUFBO0VBQUFDLFNBQUEsQ0FBQUYsY0FBQSxFQUFBQyxnQkFBQTtFQUFBLElBQUFFLE1BQUEsR0FBQUMsWUFBQSxDQUFBSixjQUFBO0VBQUEsU0FBQUEsZUFBQTtJQUFBLElBQUFLLEtBQUE7SUFBQUMsZUFBQSxPQUFBTixjQUFBO0lBQUEsU0FBQU8sSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENB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