@gsretail.com/gui-core
Version:
A skeleton to create your own React component library using Rollup, TypeScript, Sass and Storybook
2 lines (1 loc) • 19.2 kB
JavaScript
import{__exports as e}from"../../../../../_virtual/index5.js";import t from"react";import"../../../../prop-types/index.js";import"../DayCell/index.js";import"../Month/index.js";import"../DateInput/index.js";import"../../utils.js";import"../../../../classnames/index.js";import"../../../../react-list/react-list.js";import a from"../../../../../_virtual/index.esm.js";import n from"date-fns/max";import r from"date-fns/min";import o from"date-fns/differenceInDays";import s from"date-fns/isSameMonth";import l from"date-fns/addDays";import i from"date-fns/endOfMonth";import u from"date-fns/startOfMonth";import d from"date-fns/differenceInCalendarMonths";import c from"date-fns/setMonth";import f from"date-fns/setYear";import p from"date-fns/addYears";import h from"date-fns/isSameDay";import m from"date-fns/endOfWeek";import y from"date-fns/startOfWeek";import g from"date-fns/eachDayOfInterval";import D from"date-fns/format";import b from"date-fns/subMonths";import v from"date-fns/addMonths";import w from"date-fns/locale/en-US";import"../../styles.js";import"../../accessibility/index.js";import{__exports as S}from"../../../../../_virtual/index12.js";import{__exports as O}from"../../../../../_virtual/index11.js";import{r as M}from"../../../../../_virtual/react-list.js";import{__exports as j}from"../../../../../_virtual/styles.js";import{__exports as P}from"../../../../../_virtual/index9.js";import{__exports as k}from"../../../../../_virtual/index8.js";import{__exports as E}from"../../../../../_virtual/utils.js";import{c as x}from"../../../../../_virtual/index14.js";import{p as _}from"../../../../../_virtual/index3.js";function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var R=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==F(e)&&"function"!=typeof e)return{default:e};var a=ue(t);if(a&&a.has(e))return a.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(t),C=ie(_.exports),A=P,N=ie(S),W=ie(O),H=E,I=ie(x.exports),Y=ie(M.exports),z=a,L=ie(n),T=ie(r),B=ie(o),U=ie(s),V=ie(l),q=ie(i),$=ie(u),G=ie(d),J=ie(c),K=ie(f),Q=ie(p),X=ie(h),Z=ie(m),ee=ie(y),te=ie(g),ae=ie(D),ne=ie(b),re=ie(v),oe=ie(w),se=ie(j),le=k;function ie(e){return e&&e.__esModule?e:{default:e}}function ue(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,a=new WeakMap;return(ue=function(e){return e?a:t})(e)}function de(){return de=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},de.apply(this,arguments)}function ce(e){return function(e){if(Array.isArray(e))return fe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return fe(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return fe(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function pe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function he(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(a),!0).forEach((function(t){we(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):pe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function me(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ye(e,t){return ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ye(e,t)}function ge(e){var t=function(){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(e){return!1}}();return function(){var a,n=ve(e);if(t){var r=ve(this).constructor;a=Reflect.construct(n,arguments,r)}else a=n.apply(this,arguments);return De(this,a)}}function De(e,t){return!t||"object"!==F(t)&&"function"!=typeof t?be(e):t}function be(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ve(e){return ve=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},ve(e)}function we(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var Se=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ye(e,t)}(o,R.PureComponent);var t,a,n,r=ge(o);function o(e,t){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),we(be(a=r.call(this,e,t)),"focusToDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.props,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t.scroll.enabled){var r=(0,G.default)(e,t.minDate,a.dateOptions),o=a.list.getVisibleRange();n&&o.includes(r)||(a.isFirstRender=!0,a.list.scrollTo(r),a.setState({focusedDate:e}))}else{if(n&&t.preventSnapRefocus){var s=(0,G.default)(e,a.state.focusedDate),l="forwards"===t.calendarFocus&&s>=0,i="backwards"===t.calendarFocus&&s<=0;if((l||i)&&Math.abs(s)<t.months)return}a.setState({focusedDate:e})}})),we(be(a),"updateShownDate",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.props,t=e.scroll.enabled?he(he({},e),{},{months:a.list.getVisibleRange().length}):e,n=(0,H.calcFocusDate)(a.state.focusedDate,t);a.focusToDate(n,t)})),we(be(a),"updatePreview",(function(e){if(e){var t={startDate:e,endDate:e,color:a.props.color};a.setState({preview:t})}else a.setState({preview:null})})),we(be(a),"changeShownDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"set",n=a.state.focusedDate,r=a.props,o=r.onShownDateChange,s=r.minDate,l=r.maxDate,i={monthOffset:function(){return(0,re.default)(n,e)},setMonth:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return(0,J.default)(n,e)})),setYear:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return(0,K.default)(n,e)})),set:function(){return e}},u=(0,T.default)([(0,L.default)([i[t](),s]),l]);a.focusToDate(u,a.props,!1),o&&o(u)})),we(be(a),"handleRangeFocusChange",(function(e,t){a.props.onRangeFocusChange&&a.props.onRangeFocusChange([e,t])})),we(be(a),"handleScroll",(function(){var e=a.props,t=e.onShownDateChange,n=e.minDate,r=a.state.focusedDate,o=be(a).isFirstRender,s=a.list.getVisibleRange();if(void 0!==s[0]){var l=(0,re.default)(n,s[0]||0);!(0,U.default)(l,r)&&!o&&(a.setState({focusedDate:l}),t&&t(l)),a.isFirstRender=!1}})),we(be(a),"renderMonthAndYear",(function(e,t,n){var r=n.showMonthArrow,s=n.minDate,l=n.maxDate,i=n.showMonthAndYearPickers,u=n.ariaLabels,d=(l||o.defaultProps.maxDate).getFullYear(),c=(s||o.defaultProps.minDate).getFullYear(),f=a.styles;return R.default.createElement("div",{onMouseUp:function(e){return e.stopPropagation()},className:f.monthAndYearWrapper},r?R.default.createElement("button",{type:"button",className:(0,I.default)(f.nextPrevButton,f.prevButton),onClick:function(){return t(-1,"monthOffset")},"aria-label":u.prevButton},R.default.createElement("i",null)):null,i?R.default.createElement("span",{className:f.monthAndYearPickers},R.default.createElement("span",{className:f.monthPicker},R.default.createElement("select",{value:e.getMonth(),onChange:function(e){return t(e.target.value,"setMonth")},"aria-label":u.monthPicker},a.state.monthNames.map((function(e,t){return R.default.createElement("option",{key:t,value:t},e)})))),R.default.createElement("span",{className:f.monthAndYearDivider}),R.default.createElement("span",{className:f.yearPicker},R.default.createElement("select",{value:e.getFullYear(),onChange:function(e){return t(e.target.value,"setYear")},"aria-label":u.yearPicker},new Array(d-c+1).fill(d).map((function(e,t){var a=e-t;return R.default.createElement("option",{key:a,value:a},a)}))))):R.default.createElement("span",{className:f.monthAndYearPickers},a.state.monthNames[e.getMonth()]," ",e.getFullYear()),r?R.default.createElement("button",{type:"button",className:(0,I.default)(f.nextPrevButton,f.nextButton),onClick:function(){return t(1,"monthOffset")},"aria-label":u.nextButton},R.default.createElement("i",null)):null)})),we(be(a),"renderDateDisplay",(function(){var e=a.props,t=e.focusedRange,n=e.color,r=e.ranges,o=e.rangeColors,s=e.dateDisplayFormat,l=e.editableDateInputs,i=e.startDatePlaceholder,u=e.endDatePlaceholder,d=e.ariaLabels,c=o[t[0]]||n,f=a.styles;return R.default.createElement("div",{className:f.dateDisplayWrapper},r.map((function(e,n){return!1===e.showDateDisplay||e.disabled&&!e.showDateDisplay?null:R.default.createElement("div",{className:f.dateDisplay,key:n,style:{color:e.color||c}},R.default.createElement(W.default,{className:(0,I.default)(f.dateDisplayItem,we({},f.dateDisplayItemActive,t[0]===n&&0===t[1])),readOnly:!l,disabled:e.disabled,value:e.startDate,placeholder:i,dateOptions:a.dateOptions,dateDisplayFormat:s,ariaLabel:d.dateInput&&d.dateInput[e.key]&&d.dateInput[e.key].startDate,onChange:a.onDragSelectionEnd,onFocus:function(){return a.handleRangeFocusChange(n,0)}}),R.default.createElement(W.default,{className:(0,I.default)(f.dateDisplayItem,we({},f.dateDisplayItemActive,t[0]===n&&1===t[1])),readOnly:!l,disabled:e.disabled,value:e.endDate,placeholder:u,dateOptions:a.dateOptions,dateDisplayFormat:s,ariaLabel:d.dateInput&&d.dateInput[e.key]&&d.dateInput[e.key].endDate,onChange:a.onDragSelectionEnd,onFocus:function(){return a.handleRangeFocusChange(n,1)}}))})))})),we(be(a),"onDragSelectionStart",(function(e){var t=a.props,n=t.onChange;t.dragSelectionEnabled?a.setState({drag:{status:!0,range:{startDate:e,endDate:e},disablePreview:!0}}):n&&n(e)})),we(be(a),"onDragSelectionEnd",(function(e){var t=a.props,n=t.updateRange,r=t.displayMode,o=t.onChange;if(t.dragSelectionEnabled)if("date"!==r&&a.state.drag.status){var s={startDate:a.state.drag.range.startDate,endDate:e};"dateRange"!==r||(0,X.default)(s.startDate,e)?a.setState({drag:{status:!1,range:{}}},(function(){return o&&o(e)})):a.setState({drag:{status:!1,range:{}}},(function(){n&&n(s)}))}else o&&o(e)})),we(be(a),"onDragSelectionMove",(function(e){var t=a.state.drag;t.status&&a.props.dragSelectionEnabled&&a.setState({drag:{status:t.status,range:{startDate:t.range.startDate,endDate:e},disablePreview:!0}})})),we(be(a),"estimateMonthSize",(function(e,t){var n=a.props,r=n.direction,o=n.minDate,s=a.state.scrollArea;if(t&&(a.listSizeCache=t,t[e]))return t[e];if("horizontal"===r)return s.monthWidth;var l=(0,re.default)(o,e),i=(0,H.getMonthDisplayRange)(l,a.dateOptions),u=i.start,d=i.end;return(0,B.default)(d,u,a.dateOptions)+1>35?s.longMonthHeight:s.monthHeight})),a.dateOptions={locale:e.locale},void 0!==e.weekStartsOn&&(a.dateOptions.weekStartsOn=e.weekStartsOn),a.styles=(0,H.generateStyles)([se.default,e.classNames]),a.listSizeCache={},a.isFirstRender=!0,a.state={monthNames:a.getMonthNames(),focusedDate:(0,H.calcFocusDate)(null,e),drag:{status:!1,range:{startDate:null,endDate:null},disablePreview:!1},scrollArea:a.calcScrollArea(e)},a}return t=o,(a=[{key:"getMonthNames",value:function(){var e=this;return ce(Array(12).keys()).map((function(t){return e.props.locale.localize.month(t)}))}},{key:"calcScrollArea",value:function(e){var t=e.direction,a=e.months,n=e.scroll;if(!n.enabled)return{enabled:!1};var r=n.longMonthHeight||n.monthHeight;return"vertical"===t?{enabled:!0,monthHeight:n.monthHeight||220,longMonthHeight:r||260,calendarWidth:"auto",calendarHeight:(n.calendarHeight||r||240)*a}:{enabled:!0,monthWidth:n.monthWidth||332,calendarWidth:(n.calendarWidth||n.monthWidth||332)*a,monthHeight:r||300,calendarHeight:r||300}}},{key:"componentDidMount",value:function(){var e=this;this.props.scroll.enabled&&setTimeout((function(){return e.focusToDate(e.state.focusedDate)}))}},{key:"componentDidUpdate",value:function(e){var t={dateRange:"ranges",date:"date"}[this.props.displayMode];this.props[t]!==e[t]&&this.updateShownDate(this.props),e.locale===this.props.locale&&e.weekStartsOn===this.props.weekStartsOn||(this.dateOptions={locale:this.props.locale},void 0!==this.props.weekStartsOn&&(this.dateOptions.weekStartsOn=this.props.weekStartsOn),this.setState({monthNames:this.getMonthNames()})),(0,z.shallowEqualObjects)(e.scroll,this.props.scroll)||this.setState({scrollArea:this.calcScrollArea(this.props)})}},{key:"renderWeekdays",value:function(){var e=this,t=new Date;return R.default.createElement("div",{className:this.styles.weekDays},(0,te.default)({start:(0,ee.default)(t,this.dateOptions),end:(0,Z.default)(t,this.dateOptions)}).map((function(t,a){return R.default.createElement("span",{className:e.styles.weekDay,key:a},(0,ae.default)(t,e.props.weekdayDisplayFormat,e.dateOptions))})))}},{key:"render",value:function(){var e=this,t=this.props,a=t.showDateDisplay,n=t.onPreviewChange,r=t.scroll,o=t.direction,s=t.disabledDates,l=t.disabledDay,i=t.maxDate,u=t.minDate,d=t.rangeColors,c=t.color,f=t.navigatorRenderer,p=t.className,h=t.preview,m=this.state,y=m.scrollArea,g=m.focusedDate,D="vertical"===o,b=f||this.renderMonthAndYear,v=this.props.ranges.map((function(e,t){return he(he({},e),{},{color:e.color||d[t]||c})}));return R.default.createElement("div",{className:(0,I.default)(this.styles.calendarWrapper,p),onMouseUp:function(){return e.setState({drag:{status:!1,range:{}}})},onMouseLeave:function(){e.setState({drag:{status:!1,range:{}}})}},a&&this.renderDateDisplay(),b(g,this.changeShownDate,this.props),r.enabled?R.default.createElement("div",null,D&&this.renderWeekdays(this.dateOptions),R.default.createElement("div",{className:(0,I.default)(this.styles.infiniteMonths,D?this.styles.monthsVertical:this.styles.monthsHorizontal),onMouseLeave:function(){return n&&n()},style:{width:y.calendarWidth+11,height:y.calendarHeight+11},onScroll:this.handleScroll},R.default.createElement(Y.default,{length:(0,G.default)((0,q.default)(i),(0,V.default)((0,$.default)(u),-1),this.dateOptions),treshold:500,type:"variable",ref:function(t){return e.list=t},itemSizeEstimator:this.estimateMonthSize,axis:D?"y":"x",itemRenderer:function(t,a){var r=(0,re.default)(u,t);return R.default.createElement(N.default,de({},e.props,{onPreviewChange:n||e.updatePreview,preview:h||e.state.preview,ranges:v,key:a,drag:e.state.drag,dateOptions:e.dateOptions,disabledDates:s,disabledDay:l,month:r,onDragSelectionStart:e.onDragSelectionStart,onDragSelectionEnd:e.onDragSelectionEnd,onDragSelectionMove:e.onDragSelectionMove,onMouseLeave:function(){return n&&n()},styles:e.styles,style:D?{height:e.estimateMonthSize(t)}:{height:y.monthHeight,width:e.estimateMonthSize(t)},showMonthName:!0,showWeekDays:!D}))}}))):R.default.createElement("div",{className:(0,I.default)(this.styles.months,D?this.styles.monthsVertical:this.styles.monthsHorizontal)},new Array(this.props.months).fill(null).map((function(t,a){var r=(0,re.default)(e.state.focusedDate,a);return"backwards"===e.props.calendarFocus&&(r=(0,ne.default)(e.state.focusedDate,e.props.months-1-a)),R.default.createElement(N.default,de({},e.props,{onPreviewChange:n||e.updatePreview,preview:h||e.state.preview,ranges:v,key:a,drag:e.state.drag,dateOptions:e.dateOptions,disabledDates:s,disabledDay:l,month:r,onDragSelectionStart:e.onDragSelectionStart,onDragSelectionEnd:e.onDragSelectionEnd,onDragSelectionMove:e.onDragSelectionMove,onMouseLeave:function(){return n&&n()},styles:e.styles,showWeekDays:!D||0===a,showMonthName:!D||a>0}))}))))}}])&&me(t.prototype,a),n&&me(t,n),o}();Se.defaultProps={showMonthArrow:!0,showMonthAndYearPickers:!0,disabledDates:[],disabledDay:function(){},classNames:{},locale:oe.default,ranges:[],focusedRange:[0,0],dateDisplayFormat:"MMM d, yyyy",monthDisplayFormat:"MMM yyyy",weekdayDisplayFormat:"E",dayDisplayFormat:"d",showDateDisplay:!0,showPreview:!0,displayMode:"date",months:1,color:"#3d91ff",scroll:{enabled:!1},direction:"vertical",maxDate:(0,Q.default)(new Date,20),minDate:(0,Q.default)(new Date,-100),rangeColors:["#3d91ff","#3ecf8e","#fed14c"],startDatePlaceholder:"Early",endDatePlaceholder:"Continuous",editableDateInputs:!1,dragSelectionEnabled:!0,fixedHeight:!1,calendarFocus:"forwards",preventSnapRefocus:!1,ariaLabels:{}},Se.propTypes={showMonthArrow:C.default.bool,showMonthAndYearPickers:C.default.bool,disabledDates:C.default.array,disabledDay:C.default.func,minDate:C.default.object,maxDate:C.default.object,date:C.default.object,onChange:C.default.func,onPreviewChange:C.default.func,onRangeFocusChange:C.default.func,classNames:C.default.object,locale:C.default.object,shownDate:C.default.object,onShownDateChange:C.default.func,ranges:C.default.arrayOf(A.rangeShape),preview:C.default.shape({startDate:C.default.object,endDate:C.default.object,color:C.default.string}),dateDisplayFormat:C.default.string,monthDisplayFormat:C.default.string,weekdayDisplayFormat:C.default.string,weekStartsOn:C.default.number,dayDisplayFormat:C.default.string,focusedRange:C.default.arrayOf(C.default.number),initialFocusedRange:C.default.arrayOf(C.default.number),months:C.default.number,className:C.default.string,showDateDisplay:C.default.bool,showPreview:C.default.bool,displayMode:C.default.oneOf(["dateRange","date"]),color:C.default.string,updateRange:C.default.func,scroll:C.default.shape({enabled:C.default.bool,monthHeight:C.default.number,longMonthHeight:C.default.number,monthWidth:C.default.number,calendarWidth:C.default.number,calendarHeight:C.default.number}),direction:C.default.oneOf(["vertical","horizontal"]),startDatePlaceholder:C.default.string,endDatePlaceholder:C.default.string,navigatorRenderer:C.default.func,rangeColors:C.default.arrayOf(C.default.string),editableDateInputs:C.default.bool,dragSelectionEnabled:C.default.bool,fixedHeight:C.default.bool,calendarFocus:C.default.string,preventSnapRefocus:C.default.bool,ariaLabels:le.ariaLabelsShape};var Oe=Se;e.default=Oe;