daycy
Version:
Simple date (range) picker for React based on Semantic-UI.
1 lines • 7.43 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0,exports.isoWeekEnd=isoWeekEnd,exports.isoWeekStart=isoWeekStart;var _react=_interopRequireWildcard(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_semanticUiReact=require("semantic-ui-react"),_luxon=require("luxon"),_translate2=require("./translate"),_Calendar=_interopRequireDefault(require("./Calendar")),_excluded=["value","includeDates","format","translate","className","fluid","style","noPopup"];function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function isoWeekStart(a){var b=a.year,c=a.week;return _luxon.DateTime.local(b,1,4).plus({weeks:c-1}).startOf("week")}function isoWeekEnd(a){var b=a.year,c=a.week;return _luxon.DateTime.local(b,1,4).plus({weeks:c-1}).endOf("week")}var WeekPicker=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"state",{open:!1}),a.onChange=a.onChange.bind(_assertThisInitialized(a)),a.onOpen=a.onOpen.bind(_assertThisInitialized(a)),a.onClose=a.onClose.bind(_assertThisInitialized(a)),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"onChange",value:function(a){var b=this.props.onChange;a instanceof _luxon.Interval&&(a=a.start),a={year:a.weekYear,week:a.weekNumber},b(a),this.onClose()}},{key:"onOpen",value:function onOpen(a){a.preventDefault(),this.setState({open:!0})}},{key:"onClose",value:function onClose(){this.setState({open:!1})}},{key:"translate",value:function translate(){return(this.props.translate||_translate2.translate).apply(void 0,arguments)}},{key:"render",value:function render(){var a=this.props,b=a.value,c=a.includeDates,d=a.format,e=a.translate,f=a.className,g=a.fluid,h=a.style,i=a.noPopup,j=_objectWithoutProperties(a,_excluded),k=this.state.open;delete j.onChange;var l=["daycy","week-picker"];return f&&l.push(f),k&&l.push("focus"),g&&l.push("fluid"),/*#__PURE__*/_react["default"].createElement(_Calendar["default"],{open:!i&&k,value:null,onChange:this.onChange,onClose:this.onClose,highlightStart:b&&isoWeekStart(b),highlightEnd:b&&isoWeekEnd(b),hover:"week",trigger:/*#__PURE__*/_react["default"].createElement("div",{className:l.join(" "),style:h,onClick:this.onOpen},/*#__PURE__*/_react["default"].createElement(_semanticUiReact.Input,_extends({value:b?this.translate("week.value",b):"",readOnly:!0,focus:k},j)),c&&b&&/*#__PURE__*/_react["default"].createElement("label",null,isoWeekStart(b).toFormat(d)," - ",isoWeekEnd(b).toFormat(d))),translate:e,includeWeeks:!0,onWeekSelect:this.onChange})}}]),b}(_react.Component);exports["default"]=WeekPicker,_defineProperty(WeekPicker,"propTypes",{value:_propTypes["default"].shape({year:_propTypes["default"].number.isRequired,week:_propTypes["default"].number.isRequired}),onChange:_propTypes["default"].func.isRequired,translate:_propTypes["default"].func,fluid:_propTypes["default"].bool,format:_propTypes["default"].string,includeDates:_propTypes["default"].bool,noPopup:_propTypes["default"].bool}),_defineProperty(WeekPicker,"defaultProps",{fluid:!1,format:"dd-LL-yyyy",includeDates:!1,noPopup:!1});