ui-kit-ck-consultant 0.5.266 → 0.5.268
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +23 -6
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +23 -6
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-select-multiples/FormSelectMultiples.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faTimes,\n faCheck,\n faUpDownLeftRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Modal extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isMove: false,\n xStart: null,\n yStart: null,\n x: null,\n y: null\n }\n }\n\n componentDidMount() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n\n window.addEventListener('mouseup', this.handleMouseUp)\n }\n\n componentWillUnmount() {\n window.removeEventListener('mouseup', this.handleMouseUp)\n }\n\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n handleMouseUp = () => {\n this.setState(\n {\n isMove: false\n },\n () => {\n window.removeEventListener('mousemove', this.updateMousePosition)\n }\n )\n }\n\n updateMousePosition = (e) => {\n this.setState({ x: e.clientX, y: e.clientY })\n }\n\n handleClickModal(e) {\n if (e.target === e.currentTarget && !this.props.disableClose) {\n this.props.onClose(e)\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n\n var modalContainerClass = classNames(\n {\n [style.large]: !!this.props.large,\n [style.no_background]: !!this.props.noBackground\n },\n style.modal_container,\n this.props.className\n )\n\n return (\n <div\n className={style.modal}\n onMouseDown={(e) => this.handleClickModal(e)}\n >\n <div\n className={modalContainerClass}\n style={{\n left:\n this.state.x && this.state.xStart\n ? this.state.x - this.state.xStart\n : 0,\n top:\n this.state.y && this.state.yStart\n ? this.state.y - this.state.yStart\n : 0\n }}\n >\n <div\n className={style.modal_move}\n onMouseDown={(e) => {\n this.setState(\n {\n isMove: true,\n xStart: this.state.xStart || e.clientX,\n yStart: this.state.yStart || e.clientY\n },\n () =>\n window.addEventListener('mousemove', this.updateMousePosition)\n )\n }}\n >\n {this.props.isMove ? (\n <FontAwesomeIcon\n className={this.state.isMove ? 'red' : ''}\n icon={faUpDownLeftRight}\n />\n ) : (\n ''\n )}\n </div>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {!this.props.disableClose ? (\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n ) : null}\n <div className={style.modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n <div className={style.modal_body}>{this.props.children}</div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FullModal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.documentElement.style.overflow = 'hidden'\n document.body.style.overflow = 'hidden'\n } else {\n document.documentElement.style.overflow = 'unset'\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n return (\n <div className={classNames(style.modal, this.props.className)}>\n <div className={style.full_modal_container}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n <div className={style.modal_close} style={this.props.closeStyle} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n {this.props.onCustom ? (\n <div className={style.modal_custom} onClick={this.props.onCustom}>\n <FontAwesomeIcon icon={this.props.customIcon} />\n </div>\n ) : null}\n {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n ) : null}\n <div\n className={classNames(\n this.props.noPadding\n ? style.full_modal_body_no_padding\n : style.full_modal_body,\n this.props.noOverflow ? style.full_modal_body_no_overflow : {}\n )}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Button extends React.Component {\n render() {\n var buttonClass = classNames({\n [style.button_outline]: !!this.props.outline,\n [style.button]: !this.props.outline,\n [style.button_special]: !!this.props.children,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [style.button_red]: !!this.props.red,\n [style.button_blue]: !!this.props.blue,\n [style.button_orange]: !!this.props.orange,\n [style.button_green]: !!this.props.green,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <button\n className={buttonClass}\n style={this.props.style}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n >\n <span style={this.props.styleSpan}>{this.props.text ? this.props.text.toUpperCase() : \"\"}</span>\n {this.props.children ? (\n <div\n style={this.props.styleDiv}\n className={classNames(style.button_special_icon)}\n >\n {this.props.children}\n </div>\n ) : (\n ''\n )}\n </button>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class ButtonIcon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isHover: false\n }\n }\n render() {\n var buttonClass = classNames({\n [style.button_icon]: true,\n [style.white]: !!this.props.white,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className,\n [style.button_icon_background]: !!this.props.isBackground\n })\n\n return (\n <button\n className={buttonClass}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n style={this.props.style}\n onMouseEnter={() => this.setState({ isHover: true })}\n onMouseLeave={() => this.setState({ isHover: false })}\n >\n {this.props.children}\n {this.props.info && this.state.isHover ? (\n <span\n style={{\n position: 'absolute',\n padding: '4px',\n borderRadius: '4px',\n backgroundColor: 'var(--primary-color)',\n bottom: this.props.isBackground ? '-22px' : '-16px',\n left: '50%',\n transform: 'translate(-50%, 0)',\n color: '#ffffff',\n fontSize: '9px',\n minWidth: '100%',\n whiteSpace: 'nowrap'\n }}\n >\n {this.props.info}\n </span>\n ) : null}\n </button>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButton extends React.Component {\n render() {\n var floatActionClass = classNames({\n [style.float_action]: true,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={floatActionClass}>\n <div className={classNames(style.float_action_container)}>\n {this.props.children}\n </div>\n <button\n className={classNames(style.float_action_button)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButtonItem extends React.Component {\n render() {\n return (\n <div className={style.float_action_item_container}>\n <span className={classNames(style.float_action_item_text, 'nowrap')}>\n {this.props.text}\n </span>\n <button\n className={classNames(style.float_action_item, this.props.className)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormInput extends React.Component {\n render() {\n if (this.props.children) {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <div className={style.form_input_container_icon}>\n <div>{this.props.children}</div>\n <input\n style={this.props.styleInput}\n className={style.form_input_icon}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n </div>\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n } else {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <input\n style={this.props.styleInput}\n className={style.form_input}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormTextarea extends React.Component {\n handleKeyDown(e) {\n e.target.style.height = 'inherit'\n e.target.style.height = e.target.scrollHeight + 'px'\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.form_textarea_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <textarea\n spellCheck={true}\n lang={'fr'}\n onKeyDown={!this.props.noResize ? this.handleKeyDown : null}\n onBlur={this.props.onBlur}\n rows={this.props.rows}\n cols={this.props.cols}\n className={style.form_textarea}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n style={this.props.style}\n />\n {this.props.error ? (\n <span className={style.form_textarea_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormSelect extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_select_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n {this.props.ignore !== true ? (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n defaultValue={\n this.props.defaultValue ? this.props.defaultValue : 'DEFAULT'\n }\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n ) : (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n )}\n {this.props.error ? (\n <span className={style.form_select_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown, faCaretUp } from '@fortawesome/free-solid-svg-icons'\n\nimport FormInput from '../form-input/FormInput'\nimport FormSelect from '../form-select/FormSelect'\n\nexport default class FormRange extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isOpen: false\n }\n\n this.refComponent = React.createRef()\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n handleClickOutside = (event) => {\n if (\n this.refComponent &&\n this.refComponent.current &&\n !this.refComponent.current.contains(event.target)\n ) {\n this.setState({ isOpen: false })\n }\n }\n\n findText = (options, value) => {\n if (this.props.input) {\n return value\n } else {\n const result = options.filter(\n (item) => item.value.toString() === value.toString()\n )\n\n return result.length ? result[0].text : ''\n }\n }\n\n getLabel = (value1, value2, options1, options2) => {\n if (this.findText(options1, value1) === this.findText(options2, value2)) {\n return `${this.findText(options1, value1)}`\n } else if (\n value1 !== 'DEFAULT' &&\n value1 !== '' &&\n (value2 === 'DEFAULT' || value2 === '')\n ) {\n return `>= ${this.findText(options1, value1)}`\n } else if (\n (value1 === 'DEFAULT' || value1 === '') &&\n value2 !== 'DEFAULT' &&\n value2 !== ''\n ) {\n return `<= ${this.findText(options2, value2)}`\n } else {\n return `${this.findText(options1, value1)} - ${this.findText(\n options2,\n value2\n )}`\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.form_range_container, this.props.className)}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : null}\n <div\n className={style.form_range}\n onClick={() => this.setState({ isOpen: !this.state.isOpen })}\n >\n <span>\n {this.getLabel(\n this.props.value1,\n this.props.value2,\n this.props.options1,\n this.props.options2\n )}\n </span>\n <div>\n <FontAwesomeIcon\n icon={this.state.isOpen ? faCaretUp : faCaretDown}\n />\n </div>\n </div>\n {this.state.isOpen ? (\n <div ref={this.refComponent} className={style.form_range_modal}>\n {this.props.input ? (\n <Fragment>\n <FormInput\n type={this.props.type}\n name={this.props.name1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n />\n <FormInput\n type={this.props.type}\n name={this.props.name2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n />\n </Fragment>\n ) : (\n <Fragment>\n <FormSelect\n type={this.props.type}\n name={this.props.name1}\n options={this.props.options1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n ignore={true}\n disabled={false}\n init={this.props.init1}\n />\n <FormSelect\n type={this.props.type}\n name={this.props.name2}\n options={this.props.options2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n ignore={true}\n disabled={false}\n init={this.props.init2}\n />\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormCheckbox extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_checkbox_container,\n this.props.className\n )}\n >\n <label className={classNames(this.props.className)}>\n {this.props.text}\n <input\n type='checkbox'\n name={this.props.name}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_checkbox_mark} />\n </label>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nimport FormCheckbox from \"../form-checkbox/FormCheckbox\"\n\nexport default class FormSelectMutiples extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isDisplay: false,\n }\n\n this.inputRef = React.createRef()\n }\n\n onClick = (element) => {\n {\n let value = this.props.value\n\n if (value.includes(element.value)) {\n value.splice(value.indexOf(element.value), 1)\n } else {\n value.push(element.value)\n }\n\n this.props.onChange(value)\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.form_select_multiples_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <div ref={this.inputRef} className={style.form_select_multiples} onClick={() => this.setState({ isDisplay: !this.state.isDisplay })}>\n <span>{this.props.value && this.props.value.length ? this.props.options.filter(element => (\n this.props.value.includes(element.value)\n )).map((element, idx) => `${idx ? \";\" : \"\"}${element.text}`) : this.props.default}</span>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n {this.state.isDisplay ? <div style={{\n top: this.inputRef.current.getBoundingClientRect().y + 60,\n left: this.inputRef.current.getBoundingClientRect().x,\n width: this.inputRef.current.offsetWidth,\n }} className={style.form_select_values}>\n <div>\n {this.props.options.map((element, idx) => (\n <div key={idx} onClick={() => this.onClick(element)}>\n <FormCheckbox onChange={() => this.onClick(element)} checked={this.props.value.includes(element.value)} text={element.text} />\n </div>\n ))}\n </div>\n <div className={classNames('mt-auto d-flex', style.form_select_multiples_bottom)}>\n <span onClick={() => this.props.onChange([])}>Effacer</span>\n <span className='ml-auto' onClick={() => this.setState({ isDisplay: false })}>Valider</span>\n </div>\n </div> : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormRadio extends React.Component {\n render() {\n return (\n <div className={classNames(style.radio_container, this.props.className)}>\n <label className={classNames(style.form_radio_container)}>\n {this.props.text}\n <input\n type='radio'\n name={this.props.name}\n value={this.props.value}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_radio_mark} />\n </label>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport Button from '../button/Button'\n\nexport default class Table extends React.Component {\n getArray = (data) => {\n if (data && Array.isArray(data)) {\n return data\n } else if (data) {\n return [data]\n } else {\n return []\n }\n }\n\n getCSV = (callback) => {\n let dataCSV = ''\n\n if (this.props && this.props.children) {\n this.getArray(this.props.children).forEach((children) => {\n if (children.props && children.props.children) {\n this.getArray(children.props.children).forEach((line) => {\n if (line.props && line.props.children) {\n this.getArray(line.props.children).forEach((column) => {\n if (column.props && column.props.children) {\n dataCSV += `${column.props.children.toString()};`\n } else {\n dataCSV += ';'\n }\n })\n dataCSV += '\\n'\n }\n })\n }\n })\n }\n\n const link = document.createElement('a')\n link.href = `data:text/csv;charset=utf-8,\\uFEFF${encodeURIComponent(\n dataCSV\n )}`\n link.download = this.props.nameCSV || 'file.csv'\n link.click()\n\n callback()\n }\n\n render() {\n const tableClass = classNames({\n [style.table]: true,\n [style.tableEmpty]: !!this.props.empty,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <Fragment>\n {this.props.isCSV ? (\n <div className='d-flex'>\n <Button\n text='Télécharger CSV'\n className='w-auto ml-auto mb-10'\n onClick={() => {\n if (this.props.getAllData) {\n this.props.getAllData(() =>\n this.getCSV(this.props.csvCallback)\n )\n } else {\n this.getCSV(this.props.csvCallback)\n }\n }}\n />\n </div>\n ) : null}\n <table className={tableClass} style={this.props.style}>\n {this.props.children}\n {this.props.empty ? (\n <tbody>\n <tr>\n <td colSpan='100'>\n <div className={style.trEmpty}>{this.props.empty}</div>\n </td>\n </tr>\n </tbody>\n ) : (\n false\n )}\n </table>\n </Fragment>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Thead extends React.Component {\n render() {\n return (\n <thead\n className={classNames(style.thead, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </thead>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tbody extends React.Component {\n render() {\n return (\n <tbody\n className={classNames(style.tbody, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </tbody>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nexport default class Th extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sort: false,\n desc: false\n }\n }\n\n handleSortClick = () => {\n this.setState({ desc: !this.state.desc, sort: true }, () => {\n if (this.props.onSort) {\n this.props.onSort(this.state.desc)\n }\n })\n }\n\n getSortButton() {\n if (this.state.sort === false) {\n return (\n <div className={style.table_sort}>\n <div>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n )\n } else if (this.state.desc === true) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n )\n } else if (this.state.desc === false) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n )\n }\n }\n\n render() {\n var thClass = classNames({\n [style.th]: true,\n [style.pointer]: !!this.props.sort,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <th\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={thClass}\n onClick={this.props.sort ? this.handleSortClick : null}\n style={this.props.style}\n >\n <div className={style.table_flex}>\n <span\n style={!this.props.sort ? { margin: 'auto' } : {}}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </span>\n {this.props.sort ? this.getSortButton() : ''}\n </div>\n </th>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Td extends React.Component {\n render() {\n var tdClass = classNames({\n [style.td]: true,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <td\n onClick={this.props.onClick}\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={tdClass}\n style={this.props.style}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </td>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tr extends React.Component {\n render() {\n return (\n <tr\n className={classNames(style.tr, this.props.className)}\n onClick={this.props.onClick}\n style={this.props.style}\n >\n {this.props.children}\n </tr>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Nav extends React.Component {\n render() {\n return (\n <div className={classNames(style.nav, this.props.className)}>\n <div className={style.nav_left}>\n {this.props.back ? (\n <div className={style.nav_back} onClick={this.props.onBack}>\n <FontAwesomeIcon icon={faArrowLeft} />\n </div>\n ) : (\n ''\n )}\n <div className={style.nav_text}>\n <h2>{this.props.title}</h2>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n <div className={style.nav_right}>{this.props.children}</div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faEllipsisV } from '@fortawesome/free-solid-svg-icons'\n\nimport ButtonIcon from '../button/ButtonIcon'\n\nimport style from './style.css'\n\nexport default class Header extends React.Component {\n componentDidMount() {\n this.snowflake()\n }\n\n snowflake = () => {\n var COUNT = 125\n var masthead = document.querySelector('.sky')\n var canvas = document.createElement('canvas')\n var ctx = canvas.getContext('2d')\n var width = masthead.clientWidth\n var height = masthead.clientHeight\n var i = 0\n var active = false\n\n function onResize() {\n width = masthead.clientWidth\n height = masthead.clientHeight\n canvas.width = width\n canvas.height = height\n ctx.fillStyle = '#FFF'\n\n var wasActive = active\n active = width > 600\n\n if (!wasActive && active) requestAnimFrame(update)\n }\n\n var Snowflake = function () {\n this.x = 0\n this.y = 0\n this.vy = 0\n this.vx = 0\n this.r = 0\n\n this.reset()\n }\n\n Snowflake.prototype.reset = function () {\n this.x = Math.random() * width\n this.y = Math.random() * -height\n this.vy = 1 + Math.random() * 3\n this.vx = 0.5 - Math.random()\n this.r = 1 + Math.random() * 2\n this.o = 0.5 + Math.random() * 0.5\n }\n\n canvas.style.position = 'absolute'\n canvas.style.left = canvas.style.top = '0'\n\n var snowflakes = [],\n snowflake\n for (i = 0; i < COUNT; i++) {\n snowflake = new Snowflake()\n snowflake.reset()\n snowflakes.push(snowflake)\n }\n\n function update() {\n ctx.clearRect(0, 0, width, height)\n\n if (!active) return\n\n for (i = 0; i < COUNT; i++) {\n snowflake = snowflakes[i]\n snowflake.y += snowflake.vy\n snowflake.x += snowflake.vx\n\n ctx.globalAlpha = snowflake.o\n ctx.beginPath()\n ctx.arc(snowflake.x, snowflake.y, snowflake.r, 0, Math.PI * 2, false)\n ctx.closePath()\n ctx.fill()\n\n if (snowflake.y > height) {\n snowflake.reset()\n }\n }\n\n requestAnimFrame(update)\n }\n\n // shim layer with setTimeout fallback\n window.requestAnimFrame = (function () {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / 60)\n }\n )\n })()\n\n onResize()\n window.addEventListener('resize', onResize, false)\n\n masthead.appendChild(canvas)\n }\n\n render() {\n return (\n <div className={classNames(style.header, this.props.className, \"sky\")}>\n {/* <div className=\"sky\"></div> */}\n <div\n className={style.header_absolute}\n style={this.props.styleBackground}\n />\n <div className={style.header_left}>\n {this.props.logo ? (\n <img\n src={this.props.logo}\n height={this.props.height}\n onClick={this.props.onClick}\n className={this.props.onClick ? 'cursor-pointer' : ''}\n />\n ) : null}\n {this.props.title ? <h1>{this.props.title}</h1> : null}\n </div>\n <div className={style.header_right}>\n {this.props.sidebarRef && this.props.isMobile ? (\n <ButtonIcon onClick={this.props.sidebarRef.current.handleHideClick}>\n <FontAwesomeIcon icon={faEllipsisV} />\n </ButtonIcon>\n ) : null}\n {this.props.children}\n </div>\n </div>\n )\n }\n}\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Card extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: 0\n }\n this.refTitle = createRef()\n }\n\n componentDidMount() {\n this.setState({ width: this.getWith() })\n }\n\n componentDidUpdate(prevProps, prevState) {\n const width = this.getWith()\n if (width !== prevState.width) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width })\n }\n }\n\n getWith = () => {\n if (this.refTitle.current) {\n return this.refTitle.current.offsetWidth\n } else {\n return 0\n }\n }\n\n render() {\n return (\n <div\n style={\n this.props.border\n ? {\n borderLeft: `solid ${this.props.border} 16px`\n }\n : {}\n }\n className={classNames(style.card, this.props.className)}\n >\n {this.props.disabled ? (\n <div className={classNames(style.card_disabled)} />\n ) : null}\n {this.props.imgLeft ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgLeft}\n alt='left'\n />\n </div>\n ) : null}\n {this.props.isLoad ? (\n <div className={style.card_loader_container}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.loaderText ? <p>{this.props.loaderText}</p> : null}\n </div>\n </div>\n ) : null}\n <div\n style={{\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <div\n className={style.card_top_border}\n style={{\n width: this.state.width,\n ...(this.props.borderTopColor\n ? { backgroundColor: this.props.borderTopColor }\n : {})\n }}\n />\n {this.props.title ? (\n <div className={style.card_header}>\n <div className={style.card_header_left}>\n <h2 ref={this.refTitle}>{this.props.title}</h2>\n </div>\n <div className={style.card_header_right}>\n <div\n className={classNames(\n style.card_header_action,\n this.props.disableStyleAction\n ? style.card_header_action_disable\n : ''\n )}\n onClick={this.props.onClick}\n >\n {this.props.action}\n </div>\n </div>\n </div>\n ) : (\n ''\n )}\n <div\n className={classNames(\n style.card_body,\n this.props.classNameChildren\n )}\n >\n {this.props.children}\n </div>\n </div>\n {this.props.imgRight ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgRight}\n alt='right'\n />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons'\n\nexport default class CardColor extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_color, this.props.className)}>\n {this.props.count === 0 || this.props.count ? (\n <div className={style.card_color_left}>\n <span>{this.props.count}</span>\n </div>\n ) : (\n <div className={style.card_color_image_left}>\n <span>{this.props.image}</span>\n </div>\n )}\n <div className={style.card_color_center}>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n <div className={style.card_color_right} onClick={this.props.onClick}>\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faArrowRight} />\n )}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport default class CardStatistics extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_statistics, this.props.className)}>\n <div className={classNames(style.card_statistics_body)}>\n <span>{this.props.title}</span>\n <span>\n {this.props.subtitle}\n <span className={classNames(this.props.evolutionColor)}>\n {this.props.evolution}\n </span>\n </span>\n </div>\n {this.props.icon ? (\n <div className={classNames(style.card_statistics_icon)}>\n <FontAwesomeIcon icon={this.props.icon} />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class CardTabs extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n active: 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card_tabs, this.props.className)}>\n <div className={style.card_tabs_header}>\n <div className={style.card_tabs_header_left}>\n {this.props.titles.map((title, idx) => (\n <h2\n key={idx}\n className={\n idx === this.state.active ? style.card_tabs_header_active : ''\n }\n onClick={() => this.setState({ active: idx })}\n >\n {title}\n </h2>\n ))}\n </div>\n </div>\n <div\n className={classNames(\n style.card_tabs_body,\n this.props.classNameChildren\n )}\n >\n {this.props.contents[this.state.active]}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Slider extends React.Component {\n render() {\n return (\n <div className={classNames(style.slider, this.props.className)}>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronLeft} />\n </div>\n <span className={style.slider_value}>{this.props.value}</span>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronRight} />\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faPlus, faBan } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Signature extends React.Component {\n render() {\n var signatureClass = classNames({\n [style.signature]: true,\n [style.active]: !!this.props.signature,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className\n })\n\n if (this.props.signature) {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div\n className={style.signature_remove}\n onClick={this.props.onRemove}\n >\n <FontAwesomeIcon icon={faTimes} />\n </div>\n ) : (\n ''\n )}\n <img src={this.props.signature} alt='signature' />\n </div>\n )\n } else {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div className={style.signature_add} onClick={this.props.onAdd}>\n <FontAwesomeIcon icon={faPlus} />\n </div>\n ) : (\n <div className={style.signature_add} style={{ cursor: \"default\" }}>\n <FontAwesomeIcon icon={faBan} />\n </div>\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tabs extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_header, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsBody extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_body, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_menu]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomHeader extends React.Component {\n render() {\n var tabsHeaderClass = classNames({\n [style.tabs_custom_header]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div\n className={tabsHeaderClass}\n >\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_custom_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_custom_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n if (!this.props.active) {\n return null\n }\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_custom_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom_arrow, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowHeader extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.tabs_custom_arrow_header, this.props.className)}\n >\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_custom_arrow_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_custom_arrow_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_custom_arrow_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <div />\n <span>{this.props.title}</span>\n <div />\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEdit extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_edit, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlus } from '@fortawesome/free-solid-svg-icons'\n\nexport default class TabsEditHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_edit_header, this.props.className)}>\n <div>{this.props.children}</div>\n <div>\n <div\n className='cursor-pointer'\n style={{\n backgroundColor: 'var(--primary-color)',\n display: 'flex',\n width: '40px',\n height: '40px',\n margin: 'auto',\n borderRadius: '10px'\n }}\n onClick={() =>\n this.props.onClickAdd ? this.props.onClickAdd() : null\n }\n >\n <FontAwesomeIcon className='m-auto white' icon={faPlus} />\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_edit_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_edit_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_edit_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCaretDown,\n faUser\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class Sidebar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n views: this.props.views,\n isHide: window.innerWidth < 640,\n isMobile: undefined\n }\n }\n\n componentDidMount() {\n this.setSidebar()\n this.checkIfMobile()\n window.addEventListener('resize', this.checkIfMobile)\n }\n\n componentWillUnmount() {\n removeEventListener('resize', this.checkIfMobile)\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (JSON.stringify(this.props.views) !== JSON.stringify(prevProps.views)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ views: this.props.views }, () => {\n this.setSidebar()\n })\n }\n }\n\n checkIfMobile = () => {\n const isMobile = window.innerWidth < 640\n if (isMobile !== this.state.isMobile) {\n this.setState(\n {\n isHide: isMobile ? true : false,\n isMobile\n },\n () => {\n if (this.props.checkIfMobile) {\n this.props.checkIfMobile(this.state.isMobile)\n }\n }\n )\n }\n }\n\n setSidebar = () => {\n if (this.props.location) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.path) {\n if (element.path === this.props.location.pathname) {\n views[idx].active = true\n } else {\n views[idx].active = false\n }\n } else {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.path === this.props.location.pathname) {\n views[idx].active = true\n views[idx].views[idxDropdown].active = true\n } else {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n this.setState({ views: views })\n }\n }\n\n handleDropdownClick(id) {\n const views = this.state.views\n views[id].active = !views[id].active\n this.setState({ views: views })\n }\n\n handleChangeViewClick(path, id, idDropdown = -1) {\n if (\n (idDropdown >= 0 && !this.state.views[id].views[idDropdown].active) ||\n !this.state.views[id].active\n ) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.active === true) {\n views[idx].active = false\n }\n if (element.views) {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.active === true) {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n if (idDropdown < 0) {\n views[id].active = true\n } else {\n views[id].active = true\n views[id].views[idDropdown].active = true\n }\n this.setState({ views: views })\n this.props.onViewChange({ path: path, views: views })\n }\n }\n\n handleHideClick = () => {\n this.setState({ isHide: !this.state.isHide }, () => {\n if (this.props.onHide) {\n this.props.onHide(this.state.isHide)\n }\n })\n }\n\n render() {\n var sidebarClass = classNames(\n {\n [style.small]: !!this.state.isHide,\n [style.mobile]: !!this.state.isMobile\n },\n style.sidebar,\n this.props.className\n )\n\n return (\n <div className={sidebarClass}>\n <div className={style.sidebar_header}>\n <div className={style.sidebar_icon}>\n {this.props.icon ? <img alt='icon' src={this.props.icon} /> : null}\n </div>\n <div className={style.button_hide} onClick={this.handleHideClick}>\n {this.state.isHide ? (\n <FontAwesomeIcon icon={faCaretRight} />\n ) : (\n <FontAwesomeIcon icon={faCaretLeft} />\n )}\n </div>\n </div>\n <div className={style.sidebar_user}>\n {this.props.picture ? (\n <div className={style.sidebar_user_icon}>\n <img src={this.props.picture} alt={'profile'} />\n </div>\n ) : (\n <FontAwesomeIcon\n className={classNames({\n 'm-auto': this.state.isHide === true,\n [style.sidebar_user_icon]: true\n })}\n icon={faUser}\n />\n )}\n {this.state.isHide === false ? (\n <div className={style.sidebar_user_text}>\n <span className={style.sidebar_user_title}>\n {this.props.title}\n </span>\n <span className={style.sidebar_user_subtitle}>\n {this.props.subtitle}\n </span>\n </div>\n ) : null}\n </div>\n <div className={style.sidebar_body}>\n {this.state.views.map((element, idx) => {\n if (element.path && element.isHide !== true) {\n return (\n <div\n key={idx}\n onClick={() => {\n if (\n !element.disabled ||\n (element.disabled && this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(element.path, idx)\n }\n }}\n className={classNames(style.sidebar_button, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n </div>\n )\n } else if (element.isHide !== true) {\n const data = []\n data.push(\n <div\n key={idx}\n onClick={() => this.handleDropdownClick(idx)}\n className={classNames(style.sidebar_button_dropdown, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n {element.active === true ? (\n <FontAwesomeIcon icon={faCaretDown} />\n ) : (\n <FontAwesomeIcon icon={faCaretUp} />\n )}\n </div>\n )\n element.views.map((elementDropdown, idxDropdown) => {\n if (\n element.active === true &&\n elementDropdown.isHide !== true\n ) {\n data.push(\n <div\n key={idx + '-' + idxDropdown}\n onClick={() => {\n if (\n !elementDropdown.disabled ||\n (elementDropdown.disabled &&\n this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(\n elementDropdown.path,\n idx,\n idxDropdown\n )\n }\n }}\n className={classNames(\n style.sidebar_button,\n style.sidebar_button_second,\n {\n [style.active]: !!elementDropdown.active,\n [style.disabled]: !!elementDropdown.disabled\n }\n )}\n >\n {elementDropdown.icon}\n <span>{elementDropdown.name}</span>\n </div>\n )\n }\n })\n return data\n }\n })}\n </div>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass DoughnutChart extends React.Component {\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= (this.props.high ? this.props.high : 90)) {\n return this.props.reverse ? '#db2828' : '#0c8540'\n } else if (percentage >= (this.props.medium ? this.props.medium : 80)) {\n return '#f2711c'\n } else {\n return this.props.reverse ? '#0c8540' : '#db2828'\n }\n }\n\n render() {\n const num = this.props.number\n const max = this.props.max ? this.props.max : 100\n const difNumber = max - this.props.number\n const text = this.props.text\n const unit = this.props.unit ? this.props.unit : '%'\n\n const data = {\n labels: ['Red', 'Green'],\n datasets: [\n {\n datalabels2: this.props.datalabels2,\n data: [this.props.number, difNumber],\n backgroundColor: [this.getColor(num, max), '#f5f5f5'],\n hoverBorderWidth: 0,\n borderWidth: 0\n }\n ]\n }\n return (\n <div className={classNames(style.doughnut_chart, this.props.className)}>\n <Doughnut\n id={this.props.text}\n data={data}\n width={145}\n height={145}\n legend={{ display: false, labels: { boxWidth: 0 } }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: true,\n cutoutPercentage: 90,\n tooltips: { enabled: false }\n }}\n />\n <div className={style.text_doughnut_chart}>\n <p\n style={{ color: this.getColor(num, max) }}\n className={style.number}\n >\n {num}\n {unit}\n </p>\n <p style={{ color: this.getColor(num, max) }} className={style.text}>\n {text}\n </p>\n </div>\n </div>\n )\n }\n}\n\nexport default DoughnutChart\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react'\nimport { Bar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass BarChart extends React.Component {\n getData(value) {\n if (value) {\n return value\n } else {\n return 'bar'\n }\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getLabels() {\n if (this.props.labels) {\n return this.props.labels\n } else {\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 200\n }\n }\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n type: this.getData(this.props.dataSet[i].type),\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: this.getColor(this.props.dataSet[i].color),\n borderColor: this.getColor(\n this.props.dataSet[i].borderColor\n ? this.props.dataSet[i].borderColor\n : this.props.dataSet[i].color\n ),\n fill: this.props.dataSet[i].fill ? this.props.dataSet[i].fill : 'false',\n borderWidth: this.props.borderWidth ? this.props.borderWidth : 0,\n barThickness: this.getWidthBar(),\n barPercentage: 0.5,\n data: this.props.dataSet[i].data,\n yAxisID: this.props.dataSet[i].yAxisID\n ? this.props.dataSet[i].yAxisID\n : '',\n xAxisID: this.props.dataSet[i].xAxisID\n ? this.props.dataSet[i].xAxisID\n : ''\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Bar\n data={data}\n legend={{\n display: this.getIsLegend(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: this.props.yAxes\n ? this.props.yAxes\n : [\n {\n ticks: {\n display: false\n }\n }\n ],\n xAxes: this.props.xAxes\n ? this.props.xAxes\n : [\n {\n gridLines: {\n display: false\n }\n }\n ]\n },\n tooltips: {\n callbacks: {\n label: (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.datasets[tooltipItem.datasetIndex].label || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(tooltipItem.yLabel / 100)\n return `${name} : ${value}`\n } else {\n const options = {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default BarChart\n","import React, { Component } from 'react'\nimport { Radar } from \"react-chartjs-2\"\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nexport class RadarChart extends Component {\n \n getLabels = () => {\n return this.props.labels\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 350\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets = (nbValue) => {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: 'rgba(200, 200, 200, 0.2)',\n borderColor: this.getColor(this.props.dataSet[i].color),\n data: this.props.dataSet[i].data,\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const options = {\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n legend: {\n display: this.getIsLegend(),\n position: 'bottom',\n labels: { boxWidth: 10, fontFamily: 'Arial' },\n legendCallback: function(test) {\n console.log('TEST')\n console.log('test', test)\n }\n },\n scale: {\n reverse: false,\n ticks: {\n display: false,\n beginAtZero: true\n }\n },\n }\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Radar \n data={data}\n options={options}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default RadarChart\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass PieChart extends React.Component {\n legendDisplayData() {\n if (this.props.legendDisplay === false) {\n return this.props.legendDisplay\n } else return true\n }\n\n createDatasets(nbValue) {\n const dataValue = {\n labels: [],\n datasets: [\n {\n percentage: [],\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: []\n }\n ]\n }\n for (let i = 0; i < nbValue; i++) {\n dataValue.datasets[0].datalabels = this.props.datalabels2\n ? this.props.datalabels2[i]\n : null\n dataValue.datasets[0].percentage.push(this.props.data[i].percentage)\n dataValue.datasets[0].data.push(this.props.data[i].data)\n dataValue.datasets[0].backgroundColor.push(this.props.data[i].color)\n dataValue.datasets[0].hoverBackgroundColor.push(\n this.props.data[i].color + '80'\n )\n dataValue.labels.push(this.props.data[i].labels)\n }\n return dataValue\n }\n\n pieForm() {\n if (this.props.full) {\n return 0\n } else {\n return 70\n }\n }\n\n render() {\n return (\n <div className={classNames(style.pie_chart, this.props.className)}>\n <div className={style.pie_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <Doughnut\n data={this.createDatasets(this.props.data.length)}\n legend={{\n display: this.legendDisplayData(),\n position: this.props.positionLegend || 'bottom',\n align: this.props.alignLegend || 'center',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n maintainAspectRatio: false,\n responsive: true,\n cutoutPercentage: this.pieForm(),\n elements: {\n arc: {\n borderWidth: 0\n }\n },\n tooltips: {\n callbacks: {\n label: this.props.label\n ? this.props.label\n : (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.labels[tooltipItem.index] || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ] / 100\n )\n return `${name} : ${value}`\n } else {\n const options = { minimumFractionDigits: digits }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default PieChart\n","import React from 'react'\nimport { HorizontalBar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass HorizontalBarChart extends React.Component {\n scalesType() {\n if (this.props.align) {\n return {\n xAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n display: false\n },\n barThickness: 50,\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n beginAtZero: true\n },\n gridLines: {\n display: false\n }\n }\n ]\n }\n } else\n return {\n xAxes: [\n {\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n gridLines: {\n display: false\n }\n }\n ]\n }\n }\n\n typeLabel(value) {\n if (value) {\n return value\n } else return 'Value'\n }\n\n typeColor(value) {\n if (value) {\n return value\n } else return '#5c5c5c'\n }\n\n labelsData() {\n if (this.props.labels) {\n return this.props.labels\n } else\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n\n widthData() {\n if (this.props.width) {\n return this.props.width\n }\n }\n\n heightData() {\n if (this.props.height) {\n return this.props.height\n }\n }\n\n legendDisplayData() {\n if (this.props.legendDisplay) {\n return this.props.legendDisplay\n } else return false\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.typeLabel(this.props.dataSet[i].label),\n backgroundColor: this.typeColor(this.props.dataSet[i].color),\n borderColor: this.typeColor(this.props.dataSet[i].color),\n barThickness: this.getWidthBar(),\n fill: 'false',\n borderWidth: 0,\n barPercentage: 0.5,\n data: this.props.dataSet[i].data\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n render() {\n const data = {\n labels: this.labelsData(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <HorizontalBar\n style={{ margin: 'auto' }}\n data={data}\n legend={{\n display: this.legendDisplayData(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: this.scalesType()\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default HorizontalBarChart\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass ProgressBar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: null\n }\n this.refProgress = createRef()\n }\n\n componentDidMount() {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n this.setState({ width: this.getWidth(value, max) })\n window.addEventListener('resize', () => {\n this.setState({ width: this.getWidth(value, max) })\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width: this.getWidth(value, max) })\n }\n }\n\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= 90) {\n return 'bg-green'\n } else if (percentage >= 50) {\n return 'bg-orange'\n } else {\n return 'bg-red'\n }\n }\n\n getWidth(value, max) {\n const percentage = (value * 100) / max\n if (this.refProgress.current) {\n // const width = this.refProgress.current.offsetWidth\n return percentage + '%'\n } else {\n return '0px'\n }\n }\n\n render() {\n const max = this.props.max ? this.props.max : 100\n const value = this.props.value ? this.props.value : 0\n return (\n <div\n className={classNames(\n style.progress_bar_container,\n this.props.className\n )}\n >\n <span>{this.props.title}</span>\n <div className={style.bar} ref={this.refProgress}>\n <div\n className={classNames(\n style.custom_progress,\n this.getColor(value, max)\n )}\n style={{ width: this.state.width }}\n />\n <span>{this.props.text ? this.props.text : value + ' / ' + max}</span>\n </div>\n </div>\n )\n }\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Loader extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) return null\n\n return (\n <div className={classNames(style.loader_container, this.props.className)}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.message ? <p>{this.props.message}</p> : null}\n </div>\n </div>\n )\n }\n}\n\nexport default Loader\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Icon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n refIcon: React.createRef(),\n colorStyle: null\n }\n }\n\n componentDidMount() {\n this.setState({\n colorStyle: window\n .getComputedStyle(this.state.refIcon.current, null)\n .getPropertyValue('color')\n })\n }\n\n render() {\n return (\n <div\n ref={this.state.refIcon}\n className={classNames(this.props.className)}\n style={{ fontSize: this.props.size ? this.props.size + 'px' : 'none' }}\n >\n {this.props.icon({\n className: classNames(style.icon),\n color: this.state.colorStyle\n })}\n </div>\n )\n }\n}\n","import React from 'react'\nimport PaginationCMP from 'react-js-pagination'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Pagination extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.paginationContainer, this.props.className)}\n >\n <PaginationCMP\n innerClass={style.pagination}\n activeClass={style.active}\n disabledClass={style.disabled}\n activePage={this.props.activePage}\n itemsCountPerPage={this.props.itemsCountPerPage}\n totalItemsCount={this.props.totalItemsCount}\n pageRangeDisplayed={this.props.pageRangeDisplayed}\n onChange={this.props.onChange}\n firstPageText={this.props.firstPageText}\n lastPageText={this.props.lastPageText}\n prevPageText={this.props.prevPageText}\n nextPageText={this.props.nextPageText}\n hideNavigation={this.props.hideNavigation}\n hideFirstLastPages={this.props.hideFirstLastPages}\n />\n </div>\n )\n }\n}\n\nexport default Pagination\n","class PaginationClass {\n constructor(urlCount, urlPagination, tabLength = 20, isAll = false) {\n this.urlCount = urlCount\n this.urlPagination = urlPagination\n this.currentPage = 0\n this.total = 0\n this.tabLength = tabLength\n this.isAll = isAll\n this.activePage = 1\n this.tabData = []\n }\n\n init(axios, data, callback) {\n this.currentPage = 0\n this.total = 0\n this.activePage = 1\n axios(this.urlCount, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.total = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, total: this.total })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n get(axios, data, callback) {\n data.offset = this.currentPage\n data.value = this.tabLength\n data.isAll = this.isAll\n axios(this.urlPagination, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.tabData = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, tabData: this.tabData })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n page(activePage, callback) {\n if (activePage !== this.activePage) {\n if (activePage < this.activePage) {\n const difPage = activePage - this.activePage\n const currentPageData = this.currentPage + difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n } else {\n const difPage = this.activePage - activePage\n const currentPageData = this.currentPage - difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n }\n } else {\n callback(activePage)\n }\n }\n}\n\nexport default PaginationClass\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport default class Dropzone extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loader: false,\n textInfo: this.typeNameText(this.props.typeName),\n base64: '',\n borderColor: '#5c5c5c',\n styleBtnClose: 'none'\n }\n }\n\n typeNameText(propsTypeName) {\n if (propsTypeName) {\n const name = propsTypeName.join(', ')\n return `Glisser un fichier ou cliquer pour sélectionner un fichier (type accepté, ${name})`\n } else {\n return 'Glisser un fichier ou cliquer pour sélectionner un fichier'\n }\n }\n\n typeAccept(acceptedFiles, propsTypeAccept) {\n let value = false\n if (propsTypeAccept) {\n propsTypeAccept.forEach((e) => {\n if (acceptedFiles[0].type === e) {\n value = true\n }\n })\n } else {\n value = true\n }\n return value\n }\n\n onDrop(acceptedFiles, callback) {\n if (this.typeAccept(acceptedFiles, this.props.typeAccept)) {\n const reader = new window.FileReader()\n reader.onabort = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onerror = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onloadstart = () => {\n this.setState({ loader: true })\n }\n reader.onloadend = () => {\n this.setState({ loader: false })\n }\n reader.onload = () => {\n const base64 = reader.result\n this.setState({ base64: base64 })\n\n if (callback) {\n // eslint-disable-next-line standard/no-callback-literal\n callback({\n base64: base64,\n mime: acceptedFiles[0].type,\n name: acceptedFiles[0].name,\n size: acceptedFiles[0].size\n })\n }\n }\n acceptedFiles.forEach((file) => reader.readAsDataURL(file))\n this.setState({\n textInfo: `Fichier ${acceptedFiles[0].name} est prêt à être envoyé, glisser ou cliquer pour modifier`,\n borderColor: '#74b741',\n styleBtnClose: 'contents'\n })\n } else {\n this.setState({\n textInfo: 'Format non valide',\n borderColor: '#ff0000'\n })\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.FormDragDropFile_container,\n this.props.className\n )}\n >\n <DropzoneCMP\n className={classNames(this.props.classNameChildren)}\n onDrop={(acceptedFiles) => {\n this.onDrop(acceptedFiles, (data) => this.props.dropHandler(data))\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <section style={{ borderColor: this.state.borderColor }}>\n <div\n className={style.btn_close_drag_drop}\n style={{ display: this.state.styleBtnClose }}\n >\n <ButtonIcon\n ref={this.props.ref}\n onClick={() =>\n this.setState(\n {\n borderColor: '#5c5c5c',\n textInfo: this.typeNameText(this.props.typeName),\n styleBtnClose: 'none'\n },\n () => this.props.dropHandler('')\n )\n }\n >\n {/*<FontAwesomeIcon icon={faTimes} /> */}\n </ButtonIcon>\n </div>\n <div {...getRootProps()}>\n <input {...getInputProps()} />\n <span>{this.state.textInfo}</span>\n </div>\n </section>\n )}\n </DropzoneCMP>\n </div>\n )\n }\n}\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faFile,\n faFilePdf,\n faFileWord,\n faFileExcel,\n faFileImage,\n faFileCsv,\n faTrash\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class DropzoneMultiple extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isLoad: false,\n files: []\n }\n }\n\n resizeImage = (base64, mime, callback = () => {}) => {\n if (\n this.props.maxImageSize &&\n ['image/png', 'image/jpeg', 'image/jpg'].includes(mime)\n ) {\n const image = new Image()\n image.src = base64\n image.onload = () => {\n let initialWidth = image.width\n let initialHeight = image.height\n let finalWidth = 0\n let finalHeight = 0\n\n if (initialWidth > initialHeight) {\n if (initialWidth > this.props.maxImageSize) {\n finalWidth = this.props.maxImageSize\n finalHeight = (finalWidth * initialHeight) / initialWidth\n } else {\n finalWidth = initialWidth\n finalHeight = initialHeight\n }\n } else {\n if (initialHeight > this.props.maxImageSize) {\n finalHeight = this.props.maxImageSize\n finalWidth = (finalHeight * initialWidth) / initialHeight\n } else {\n finalWidth = initialWidth\n finalHeight = initialHeight\n }\n }\n\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n canvas.width = finalWidth\n canvas.height = finalHeight\n ctx.drawImage(image, 0, 0, finalWidth, finalHeight)\n base64 = canvas.toDataURL(mime, 0.9)\n\n callback(base64)\n }\n image.onerror = () => {\n callback(base64)\n }\n } else {\n callback(base64)\n }\n }\n\n handleDeleteFile = (idx) => {\n let files = this.state.files\n\n files.splice(idx, 1)\n\n this.setState({\n files\n })\n }\n\n getFileComponent = (idx) => {\n return (\n <div\n key={idx}\n className={classNames(style.dropzone_multiple_item, 'not-click')}\n onClick={() => this.handleDeleteFile(idx)}\n >\n <div className={classNames(style.delete_item_container)}>\n <FontAwesomeIcon icon={faTrash} />\n </div>\n <FontAwesomeIcon icon={this.getIcon(this.state.files[idx].extension)} />\n </div>\n )\n }\n\n hasParentClass = (child, current, classname) => {\n if (\n child.className &&\n typeof child.className === 'string' &&\n child.className.includes(classname)\n ) {\n return true\n } else {\n if (child.parentNode == current || child == current) {\n return false\n } else {\n return this.hasParentClass(child.parentNode, current, classname)\n }\n }\n }\n\n getFile = (file, files) => {\n let name = file.name.split('.')\n if (this.checkExtension(name[name.length - 1])) {\n if (\n !this.props.maxFileSize ||\n this.props.maxFileSize * 1000000 > file.size\n ) {\n const reader = new window.FileReader()\n\n reader.onload = () => {\n this.resizeImage(reader.result, file.type, (base64) => {\n let tmpFiles = this.state.files\n\n tmpFiles.push({\n base64,\n mime: file.type,\n name: file.name,\n extension: name[name.length - 1],\n size: file.size\n })\n\n this.setState(\n {\n files: tmpFiles\n },\n () => {\n this.currentFile += 1\n this.nextFile(files)\n }\n )\n })\n }\n\n reader.readAsDataURL(file)\n } else {\n alert(\n `Fichier trop volumineux - Taille maxium ${this.props.maxFileSize}Mo`\n )\n this.currentFile += 1\n this.nextFile(files)\n }\n } else {\n this.currentFile += 1\n this.nextFile(files)\n }\n }\n\n nextFile = (files) => {\n if (this.currentFile === files.length) {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n } else {\n this.getFile(files[this.currentFile], files)\n }\n }\n\n handleDrop = (files) => {\n if (files && files.length) {\n this.currentFile = 0\n this.nextFile(files)\n } else {\n alert('Une erreur est survenue')\n }\n }\n\n getIcon = (extension) => {\n if (['pdf'].includes(extension)) {\n return faFilePdf\n } else if (['doc', 'docx'].includes(extension)) {\n return faFileWord\n } else if (['xls', 'xlsx'].includes(extension)) {\n return faFileExcel\n } else if (['png', 'jpg', 'jpeg'].includes(extension)) {\n return faFileImage\n } else if (['csv'].includes(extension)) {\n return faFileCsv\n } else {\n return faFile\n }\n }\n\n addFile = (file) => {\n let tmpFiles = this.state.files\n\n tmpFiles.push(file)\n\n this.setState({ files: tmpFiles }, () => {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n })\n }\n\n addFiles = (files) => {\n let tmpFiles = files\n\n this.setState({ files: tmpFiles }, () => {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n })\n }\n\n checkExtension = (extension) => {\n extension = extension ? extension.toLowerCase() : ''\n\n if (!this.props.extensions || this.props.extensions.includes(extension)) {\n return true\n } else {\n return false\n }\n }\n\n render() {\n return (\n <DropzoneCMP onDrop={this.handleDrop}>\n {({ getRootProps, getInputProps }) => (\n <section\n className={classNames(\n style.dropzone_multiple_container,\n this.props.className\n )}\n >\n <div\n {...getRootProps({\n onClick: (e) => {\n if (\n this.hasParentClass(e.target, e.currentTarget, 'not-click')\n ) {\n e.stopPropagation()\n }\n }\n })}\n className={classNames(style.dropzone_multiple_items)}\n >\n {!this.state.files.length ? (\n <span className={classNames(style.background_text)}>\n Glisser et déposer vos fichiers ou cliquer pour en\n sélectionner...{' '}\n {this.props.extensions\n ? `Formats acceptés : ${this.props.extensions.join(', ')}`\n : ''}{' '}\n {this.props.maxFileSize\n ? ` - Taille maximale ${this.props.maxFileSize}Mo`\n : ''}\n </span>\n ) : null}\n <input {...getInputProps()} />\n {this.state.files.map((file, idx) => {\n return this.getFileComponent(idx)\n })}\n </div>\n </section>\n )}\n </DropzoneCMP>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass Status extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.status, this.props.className)}\n style={this.props.style}\n >\n {this.props.text}\n </div>\n )\n }\n}\n\nexport default Status\n","import React from 'react'\nimport style from './style.css'\n\nexport default class AlertContainer extends React.Component {\n render() {\n return <div className={style.alert_container}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Alert extends React.Component {\n componentDidMount() {\n if (this.props.onTimeout) {\n setTimeout(\n () => {\n this.props.onTimeout(this.props.id)\n },\n this.props.timeout ? this.props.timeout : 2000\n )\n }\n }\n\n render() {\n return (\n <div className={classNames(style.alert, this.props.backgroundColor)}>\n <span className={this.props.textColor}>{this.props.text}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class AlertElement extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.alert_element, this.props.backgroundColor)}\n >\n <span\n style={this.props.bold ? { fontWeight: 'bold' } : {}}\n className={this.props.textColor}\n >\n {this.props.children}\n </span>\n <span\n className={classNames(style.alert_element_icon, this.props.textColor)}\n >\n {this.props.icon}\n </span>\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport FormSelect from '../form-select/FormSelect'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport class Chips extends Component {\n constructor(props) {\n super(props)\n this.state = {\n chipsList: this.props.list ? this.props.list : []\n }\n }\n\n componentDidUpdate(prevProps) {\n if (JSON.stringify(this.props.list) !== JSON.stringify(prevProps.list)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ chipsList: this.props.list ? this.props.list : [] })\n }\n }\n\n handleClick = (e) => {\n console.log('e', e)\n let newChipsList = this.state.chipsList\n const { value } = e\n newChipsList = newChipsList.filter((element) => element.value != value)\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n\n handleInputChange = (e) => {\n let newChipsList = this.state.chipsList\n const { value } = e.target\n const index = this.props.options.findIndex(\n (element) => element.value == value\n )\n let isAlreadyInside = false\n newChipsList.map((element) => {\n if (element.value == value || value == 0) isAlreadyInside = true\n return\n })\n if (!isAlreadyInside) {\n newChipsList.push(this.props.options[index])\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.component, this.props.className)}\n style={this.props.style}\n >\n <div className={classNames(style['display-chips'])}>\n {this.state.chipsList.length > 0\n ? this.state.chipsList.map((chips, idx) => {\n return (\n <div key={idx} className={classNames(style.chips)}>\n <div>{chips.text}</div>\n <ButtonIcon\n className={classNames(style.buttonIcon)}\n onClick={() => this.handleClick(chips)}\n >\n <FontAwesomeIcon icon={faTimesCircle} />\n </ButtonIcon>\n </div>\n )\n })\n : null}\n </div>\n <div>\n {this.props.disabledOptions ? null : (\n <FormSelect\n hide={this.disabledOptions ? true : false}\n title='Agences'\n name='agency'\n value={this.state.agency ? this.state.agency : undefined}\n ignore={true}\n options={this.props.options}\n onChange={this.handleInputChange}\n />\n )}\n </div>\n </div>\n )\n }\n}\n\nexport default Chips\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingVerticalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_vertical]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_vertical_left}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_vertical_right}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingVerticalSeparator extends React.Component {\n render() {\n return (\n <div className={style.listing_vertical_separator}>\n <span>|</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingVerticalItem from './ListingVerticalItem'\nimport ListingVerticalSeparator from './ListingVerticalSeparator'\n\nexport default class ListingVertical extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingVerticalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n if (idx < tmpData.length - 1) {\n data.push(<ListingVerticalSeparator key={'s-' + idx} />)\n }\n })\n\n return data\n }\n\n render() {\n return (\n <div className={style.listing_vertical_container}>{this.getData()}</div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingHorizontalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_horizontal]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_horizontal_icon}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_horizontal_text}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingHorizontalSeparator extends React.Component {\n render() {\n return (\n <div\n className={style.listing_horizontal_separator}\n style={{ width: this.props.width }}\n />\n );\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingHorizontalItem from './ListingHorizontalItem'\nimport ListingHorizontalSeparator from './ListingHorizontalSeparator'\n\nexport default class ListingHorizontal extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingHorizontalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n })\n\n return data\n }\n\n render() {\n const separatorWidth = `${\n this.props.data.length > 0\n ? (this.props.data.length - 1) * 140\n : 0\n }px`;\n\n return (\n <div className={style.listing_horizontal_container}>\n <ListingHorizontalSeparator width={separatorWidth} />\n {this.getData()}\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport class Dropdown extends Component {\n constructor(props) {\n super(props)\n this.state = {\n isHide: true\n }\n }\n\n render() {\n var dropdownMenuClass = classNames({\n [style.dropdown_menu]: true,\n [style.show]: !this.state.isHide\n })\n\n return (\n <div className={classNames(style.dropdown)}>\n <div\n className={classNames(style.dropdown_first)}\n onClick={() => this.setState({ isHide: !this.state.isHide })}\n >\n {this.props.title ? <span>{this.props.title}</span> : <></>}\n {this.props.title && this.props.icon ? (\n <div className={classNames(style.space)} />\n ) : (\n <></>\n )}\n {this.props.icon ? this.props.icon : <></>}\n </div>\n <div className={dropdownMenuClass}>\n {this.props.data.map((element, key) => (\n <span key={key}>{element.title}</span>\n ))}\n </div>\n </div>\n )\n }\n}\n\nexport default Dropdown\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\n\nexport default class Error404 extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.error_full)}>\n <div className={classNames(style.error_center)}>\n <div className={classNames(style.error_center_group)}>\n <h3 className={classNames(style.error_title)}>Page not found</h3>\n <h1 className={classNames(style.error_code)}>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>0</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n </h1>\n </div>\n <h2 className={classNames(style.error_text)}>\n {this.props.text ? this.props.text : \"La page n'existe pas\"}\n </h2>\n <Button\n onClick={() =>\n this.props.onBack ? this.props.onBack() : window.history.back()\n }\n text='Retour'\n outline\n />\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\nimport Modal from '../modal/Modal'\nimport { Row, Col } from 'react-flexbox-grid'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\nimport Cookies from 'universal-cookie'\n\nexport default class Cookie extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n show: false,\n showInfo: false\n }\n this.cookies = new Cookies()\n }\n\n componentDidMount() {\n if (\n this.props.force ||\n (this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2')\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.force !== this.props.force ||\n prevProps.name !== this.props.name\n ) {\n if (\n this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2'\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n }\n\n render() {\n return (\n <Modal\n title={\n this.props.title || 'Données personnelles & utilisation des cookies'\n }\n show={this.state.show}\n onClose={this.props.onClose}\n disableClose={true}\n large\n >\n {this.props.message ? (\n this.props.message\n ) : (\n <Fragment>\n <p>\n Nous utilisons des cookies afin d’améliorer votre expérience sur\n le site. Ces cookies servent à personnaliser le contenu du site,\n en mesurer la fréquentation et les performances.\n </p>\n <p>\n En cliquant sur le bouton \"Accepter\" vous acceptez tous les\n cookies. Vous pouvez aussi en savoir plus à tout moment via le\n lien \"RGPD & Cookies\" accessible dans le pied de page.\n </p>\n </Fragment>\n )}\n\n {this.props.infos ? (\n <>\n <a\n href='/'\n style={{ textAlign: 'left', margin: '16px 0' }}\n onClick={(event) => {\n event.preventDefault()\n this.setState((state) => ({\n ...state,\n showInfo: !state.showInfo\n }))\n }}\n >\n En savoir plus{' '}\n <FontAwesomeIcon\n icon={this.state.showInfo ? faCaretUp : faCaretDown}\n />\n </a>\n {this.state.showInfo ? (\n <div style={{ margin: '16px 0' }}>{this.props.infos}</div>\n ) : null}\n </>\n ) : null}\n\n <b>\n Nos cookies ont pour seul et unique but de faire fonctionner le\n service\n </b>\n\n <Row style={{ margin: '16px 0' }}>\n <Col\n xs={12}\n md={this.props.isReject ? 6 : 12}\n style={{ margin: '10px 0' }}\n >\n <Button\n text='Accepter les cookies nécessaires au fonctionnement du service'\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '1',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onAccept) this.props.onAccept()\n })\n }}\n />\n </Col>\n {this.props.isReject ? (\n <Col xs={12} md={6} style={{ margin: '10px 0' }}>\n <Button\n text='Refuser'\n outline\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '0',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onReject) this.props.onReject()\n })\n }}\n />\n </Col>\n ) : null}\n <a\n style={{\n color: 'gray',\n marginTop: '10px',\n marginLeft: 'auto',\n textDecoration: 'none'\n }}\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '2',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onContinue) this.props.onContinue()\n })\n }}\n >\n Continuer sans accepter\n </a>\n </Row>\n </Modal>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { Row, Col } from 'react-flexbox-grid'\n\nexport default class Footer extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={style.footer}>\n <Row>\n <Col xs={12} md={12} lg={4} className='mt-5 mb-5 d-flex'>\n <img className='m-auto' src={this.props.logo} />\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.legal}\n onClick={this.props.onLegalClick}\n >\n Mentions Légales\n </a>\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.rgpd}\n onClick={this.props.onRgpdClick}\n >\n RGPD & Cookies\n </a>\n </Col>\n {this.props.socialNetwork ? (\n <Col xs={12} className='mt-5 mb-5 text-center'>\n {this.props.socialNetwork}\n </Col>\n ) : null}\n </Row>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Switch extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n idxActive: 0\n }\n }\n\n componentDidMount() {\n if (this.props.idxActive !== undefined) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.idxActive !== undefined &&\n prevProps.idxActive !== this.props.idxActive &&\n this.props.idxActive !== this.state.prevProps\n ) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n render() {\n return (\n <div className={classNames(style.switch_container, this.props.className)}>\n {this.props.title ? (\n <span className={this.props.classNameTitle}>{this.props.title}</span>\n ) : null}\n <div className={classNames(style.switch)}>\n <div\n onClick={() =>\n this.setState({ idxActive: 0 }, () =>\n this.props.onChange ? this.props.onChange(0) : null\n )\n }\n style={\n this.state.idxActive === 0\n ? { backgroundColor: this.props.color1, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value1}</span>\n </div>\n <div\n onClick={() =>\n this.setState({ idxActive: 1 }, () =>\n this.props.onChange ? this.props.onChange(1) : null\n )\n }\n style={\n this.state.idxActive === 1\n ? { backgroundColor: this.props.color2, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value2}</span>\n </div>\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\n\nexport default class Gauge extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isActive: false,\n position: 0\n }\n }\n\n componentDidMount() {\n if (this.props.position) {\n this.setState({\n position: this.props.position\n })\n }\n\n window.addEventListener(\n 'mouseup',\n () => {\n this.setState({ isActive: false })\n },\n true\n )\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.position !== this.props.position &&\n this.props.position !== this.state.position\n ) {\n this.setState({\n position: this.props.position\n })\n }\n }\n\n onMouse = (e, isForce = false) => {\n if (this.state.isActive || isForce) {\n let currentTargetRect = e.currentTarget.getBoundingClientRect()\n const width = currentTargetRect.width\n const positionX = e.pageX - currentTargetRect.left\n\n const step = this.props.step ? this.props.step : 1\n\n let position =\n (positionX * 100) / width - (((positionX * 100) / width) % step)\n\n this.setState(\n {\n position\n },\n () => (this.props.onChange ? this.props.onChange(position) : null)\n )\n }\n }\n\n render() {\n return (\n <div className={this.props.className}>\n {this.props.onEdit ? (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--blue)',\n marginBottom: '16px',\n cursor: 'pointer',\n textDecoration: 'underline'\n }}\n onClick={this.props.onEdit}\n >\n {this.props.title}\n </span>\n ) : (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--black)',\n marginBottom: '16px'\n }}\n >\n {this.props.title}\n </span>\n )}\n <div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '22px',\n backgroundImage:\n this.props.colors.length === 3\n ? `linear-gradient(to right, ${this.props.colors[0]} 0%, ${this.props.colors[1]} 50%, ${this.props.colors[2]} 100%)`\n : `linear-gradient(to right, ${this.props.colors[0]}, ${this.props.colors[1]})`,\n borderRadius: '8px'\n }}\n onMouseMove={(e) => this.onMouse(e)}\n onClick={(e) => this.onMouse(e, true)}\n onMouseDown={(e) => {\n e.preventDefault()\n\n this.setState({\n isActive: true\n })\n }}\n >\n {this.props.min ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.min + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MIN\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.min + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.max ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.max + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MAX\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.max + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.noText ? null : (\n <span\n style={{\n position: 'absolute',\n left: this.state.position + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-16px',\n fontSize: '10px',\n fontWeight: 'bold',\n transition: '0.3s'\n }}\n >\n {parseInt(this.state.position)}%\n </span>\n )}\n <div\n className='cursor-pointer'\n style={{\n position: 'absolute',\n bottom: '-6px',\n width: 0,\n height: 0,\n borderLeft: '10px solid transparent',\n borderRight: '10px solid transparent',\n borderBottom: '18px solid black',\n transform: 'translateX(-50%)',\n left: this.state.position + '%'\n }}\n ></div>\n </div>\n </div>\n </div>\n )\n }\n}\n","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.3';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","import Holidays from 'date-holidays'\nimport React, { Fragment } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight,\n faTimes,\n faCheck\n} from '@fortawesome/free-solid-svg-icons'\nimport moment from 'moment'\nimport { Row, Col } from 'react-flexbox-grid'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nconst hd = new Holidays('FR')\n\nexport default class Calendar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n year: parseInt(moment().format('YYYY')),\n month: parseInt(moment().format('MM')),\n days: [],\n activeDate: null,\n times: [],\n activeTime: null\n }\n\n this.months = [\n 'Janvier',\n 'Février',\n 'Mars',\n 'Avril',\n 'Mai',\n 'Juin',\n 'Juillet',\n 'Août',\n 'Septembre',\n 'Octobre',\n 'Novembre',\n 'Décembre'\n ]\n }\n\n componentDidMount() {\n this.getArrayDays()\n this.getArrayTime()\n\n this.setState({\n year: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('YYYY'))\n : this.state.year,\n month: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('M'))\n : this.state.month,\n activeDate: this.props.valueDate\n ? this.props.valueDate\n : this.state.activeDate,\n activeTime: this.props.valueTime ? this.props.valueTime : this.state.Time\n })\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueDate\n ) {\n this.setState(\n {\n year: parseInt(moment(this.props.valueDate).format('YYYY')),\n month: parseInt(moment(this.props.valueDate).format('M')),\n activeDate: this.props.valueDate\n },\n () => {\n this.getArrayDays()\n }\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayDays()\n }\n\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueTime\n ) {\n this.setState(\n {\n activeTime: this.props.valueTime\n },\n this.getArrayTime\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayTime()\n } else if (\n this.props.timesRange &&\n JSON.stringify(this.props.timesRange) !==\n JSON.stringify(prevProps.timesRange)\n ) {\n this.getArrayTime()\n }\n }\n\n handlePreviousYearClick = () => {\n this.setState(\n {\n year: this.state.year - 1\n },\n this.getArrayDays\n )\n }\n handleNextYearClick = () => {\n this.setState(\n {\n year: this.state.year + 1\n },\n this.getArrayDays\n )\n }\n\n handlePreviousMonthClick = () => {\n if (this.state.month - 1 < 1) {\n this.setState(\n {\n year: this.state.year - 1,\n month: 12\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month - 1\n },\n this.getArrayDays\n )\n }\n }\n handleNextMonthClick = () => {\n if (this.state.month + 1 > 12) {\n this.setState(\n {\n year: this.state.year + 1,\n month: 1\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month + 1\n },\n this.getArrayDays\n )\n }\n }\n\n getArrayDays = () => {\n this.holidays = hd\n .getHolidays(this.state.year)\n .map((date) => moment(date.date).format('YYYY-MM-DD'))\n\n const endOfMonth = parseInt(\n moment(`${this.state.year}-${this.state.month}`, 'YYYY-M')\n .endOf('month')\n .format('D')\n )\n\n const startDayOfMonth = moment(\n `${this.state.year}-${this.state.month}`,\n 'YYYY-M'\n ).isoWeekday()\n\n let rows = []\n\n for (\n let index = startDayOfMonth - 1;\n index < endOfMonth + (startDayOfMonth - 1);\n index++\n ) {\n const col = index % 7\n const row = parseInt(index / 7)\n\n if (!rows.hasOwnProperty(row)) {\n rows.push([null, null, null, null, null, null, null])\n }\n rows[row][col] = index - startDayOfMonth + 2\n }\n\n this.setState({ days: rows })\n }\n\n handleActiveClick = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n this.setState(\n {\n activeDate: null,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(null)\n }\n }\n )\n } else if (checkActive === 0) {\n this.setState(\n {\n activeDate: currentDate,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(currentDate)\n }\n }\n )\n }\n }\n\n checkActive = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n if (this.state.activeDate === currentDate) {\n return 1\n } else {\n if (this.props.enabledDates && this.props.enabledDates.length) {\n if (\n this.props.enabledDates.includes(currentDate) &&\n !(\n this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))\n )\n ) {\n return 0\n } else {\n return 2\n }\n } else if (\n (this.props.disabledDates &&\n this.props.disabledDates.includes(currentDate)) ||\n (!this.props.isWeek &&\n [6, 7].includes(parseInt(moment(currentDate).isoWeekday()))) ||\n (!this.props.isHoliday && this.holidays.includes(currentDate)) ||\n (this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))) ||\n (this.props.maxDate &&\n moment(this.props.maxDate).isBefore(moment(currentDate))) ||\n (this.props.disabledDays &&\n this.props.disabledDays.filter(\n (element, idx) => element === 1 && idx === col\n ).length)\n ) {\n return 2\n } else {\n return 0\n }\n }\n }\n\n checkActiveClassName = (row, col) => {\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n return style.active\n } else if (checkActive === 2) {\n return style.disabled\n } else {\n return ''\n }\n }\n\n handleTimeClick = (time) => {\n if (!this.props.disabledTime.includes(time)) {\n this.setState({\n activeTime: time\n })\n }\n }\n\n getArrayTime = () => {\n if (this.props.isTime) {\n let times = []\n\n this.props.timesRange.map((range) => {\n const start = moment(range[0], 'HH:mm')\n const end = moment(range[1], 'HH:mm')\n let old = start\n\n while (old.isBefore(end)) {\n times.push(old.format('HH:mm'))\n old = old.add(\n this.props.timeStep ? this.props.timeStep : 30,\n 'minutes'\n )\n }\n })\n\n this.setState({\n times\n })\n } else {\n this.setState({\n times: []\n })\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n\n return (\n <div className={style.calendar_container}>\n <div className={style.calendar}>\n <div className={style.calendar_header}></div>\n <Row>\n <Col\n xs={12}\n md={this.props.isTime && this.state.activeDate ? 7 : 12}\n >\n <div className={style.calendar_body}>\n <div className={style.calendar_header_year}>\n <span>{this.state.year}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousYearClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextYearClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_month}>\n <span>{this.months[parseInt(this.state.month) - 1]}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousMonthClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextMonthClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_day}>\n <table className={style.calendar_table}>\n <thead>\n <tr>\n <th>Lun.</th>\n <th>Mar.</th>\n <th>Mer.</th>\n <th>Jeu.</th>\n <th>Ven.</th>\n {this.props.isWeek ? <th>Sam.</th> : null}\n {this.props.isWeek ? <th>Dim.</th> : null}\n </tr>\n </thead>\n <tbody>\n {this.state.days.map((row, idxRow) => (\n <tr key={idxRow}>\n {row.map((col, idxCol) =>\n this.props.isWeek || idxCol < 5 ? (\n <td key={`${idxRow}-${idxCol}`}>\n {col ? (\n <span\n className={this.checkActiveClassName(\n idxRow,\n idxCol\n )}\n onClick={() =>\n this.handleActiveClick(idxRow, idxCol)\n }\n >\n {moment(\n `${this.state.year}-${this.state.month}-${col}`,\n 'YYYY-M-D'\n ).format('DD')}\n </span>\n ) : null}\n </td>\n ) : null\n )}\n </tr>\n ))}\n {this.state.days.length < 6 ? <tr style={{height: \"46px\"}}></tr> : null}\n </tbody>\n </table>\n </div>\n </div>\n </Col>\n {this.props.isTime && this.state.activeDate ? (\n <Col xs={12} md={5}>\n <div className={style.calendar_time_body}>\n {this.state.times.map((time, idx) => (\n <div\n key={idx}\n className={classNames(\n style.calendar_time_button,\n time === this.state.activeTime ? style.active : '',\n this.props.disabledTime.includes(time)\n ? style.disabled\n : ''\n )}\n onClick={() => this.handleTimeClick(time)}\n >\n <span>{time}</span>\n </div>\n ))}\n </div>\n </Col>\n ) : null}\n </Row>\n <div className={style.calendar_footer}>\n <div\n className={classNames(style.calendar_button, style.button_red)}\n onClick={() => this.props.onClose()}\n >\n <span>Retour</span>\n <FontAwesomeIcon icon={faTimes} />\n </div>\n <div\n className={style.calendar_button}\n onClick={() =>\n this.props.onValid(this.state.activeDate, this.state.activeTime)\n }\n >\n <span>Valider</span>\n <FontAwesomeIcon icon={faCheck} />\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["Modal","props","handleMouseUp","setState","isMove","window","removeEventListener","updateMousePosition","e","x","clientX","y","clientY","state","xStart","yStart","componentDidMount","show","document","body","style","overflow","addEventListener","componentWillUnmount","componentDidUpdate","handleClickModal","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","no_background","noBackground","modal_container","className","React","modal","left","top","modal_move","FontAwesomeIcon","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","Component","FullModal","documentElement","full_modal_container","closeStyle","onCustom","modal_custom","customIcon","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","noOverflow","full_modal_body_no_overflow","Button","buttonClass","button_outline","outline","button","button_special","small","big","button_red","red","button_blue","blue","button_orange","orange","button_green","green","onClick","disabled","styleSpan","text","toUpperCase","styleDiv","button_special_icon","ButtonIcon","isHover","button_icon","white","button_icon_background","isBackground","info","position","padding","borderRadius","backgroundColor","bottom","transform","color","fontSize","minWidth","whiteSpace","FloatActionButton","floatActionClass","float_action","float_action_container","float_action_button","icon","FloatActionButtonItem","float_action_item_container","float_action_item_text","float_action_item","FormInput","form_input_container","classNameTitle","required","form_input_container_icon","styleInput","form_input_icon","type","placeholder","onChange","onKeyDown","onBlur","value","name","min","max","error","form_input_error","form_input","FormTextarea","handleKeyDown","height","scrollHeight","form_textarea_container","noResize","rows","cols","form_textarea","form_textarea_error","FormSelect","form_select_container","ignore","form_select","defaultValue","init","options","map","element","idx","form_select_error","FormRange","handleClickOutside","event","refComponent","current","contains","isOpen","findText","input","result","filter","item","toString","length","getLabel","value1","value2","options1","options2","createRef","form_range_container","form_range","faCaretUp","faCaretDown","form_range_modal","Fragment","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","checked","form_checkbox_mark","FormSelectMutiples","includes","splice","indexOf","push","isDisplay","inputRef","form_select_multiples_container","form_select_multiples","getBoundingClientRect","width","offsetWidth","form_select_values","form_select_multiples_bottom","FormRadio","radio_container","form_radio_container","form_radio_mark","Table","getArray","data","Array","isArray","getCSV","callback","dataCSV","forEach","line","column","link","createElement","href","encodeURIComponent","download","nameCSV","click","tableClass","table","tableEmpty","empty","radiusTopLeft","radiusTopRight","isCSV","getAllData","csvCallback","trEmpty","Thead","thead","Tbody","tbody","Th","handleSortClick","desc","sort","onSort","getSortButton","table_sort","thClass","th","pointer","spaceLeft","spaceRight","noSpaceLeft","noSpaceRight","radiusBottomLeft","radiusBottomRight","hide","rowSpan","colSpan","table_flex","margin","dangerouslySetInnerHTML","Td","tdClass","td","Tr","tr","Nav","nav","nav_left","back","nav_back","onBack","faArrowLeft","nav_text","subtitle","nav_right","Header","snowflake","COUNT","masthead","querySelector","canvas","ctx","getContext","clientWidth","clientHeight","i","active","onResize","fillStyle","wasActive","requestAnimFrame","update","Snowflake","vy","vx","r","reset","prototype","Math","random","o","snowflakes","clearRect","globalAlpha","beginPath","arc","PI","closePath","fill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","appendChild","header","header_absolute","styleBackground","header_left","logo","header_right","sidebarRef","isMobile","handleHideClick","faEllipsisV","Card","getWith","refTitle","prevProps","prevState","border","borderLeft","card","card_disabled","imgLeft","customWidthImgLeft","flexGrow","flexShrink","isLoad","card_loader_container","loader_element","classNameChildren","loader","loaderText","display","flexDirection","card_top_border","borderTopColor","card_header","card_header_left","card_header_right","card_header_action","disableStyleAction","card_header_action_disable","action","card_body","imgRight","customWidthImgRight","CardColor","card_color","count","card_color_left","card_color_image_left","image","card_color_center","card_color_right","faArrowRight","CardStatistics","card_statistics","card_statistics_body","evolutionColor","evolution","card_statistics_icon","CardTabs","card_tabs","card_tabs_header","card_tabs_header_left","titles","card_tabs_header_active","card_tabs_body","contents","Slider","slider","slider_button","faChevronLeft","slider_value","faChevronRight","Signature","signatureClass","signature","signature_remove","onRemove","signature_add","onAdd","faPlus","cursor","faBan","Tabs","tabs","TabsHeader","tabs_header","TabsBody","tabs_body","TabsItem","tabsItemClass","tabs_item","TabsMenu","tabsMenuClass","tabs_menu","TabsCustom","tabs_custom","TabsCustomHeader","tabsHeaderClass","tabs_custom_header","noCard","TabsCustomBody","tabsBodyClass","tabs_custom_body","TabsCustomItem","tabs_custom_item","TabsCustomMenu","tabs_custom_menu","TabsCustomArrowCustom","tabs_custom_arrow","TabsCustomArrowHeader","tabs_custom_arrow_header","TabsCustomArrowBody","tabs_custom_arrow_body","TabsCustomArrowItem","tabs_custom_arrow_item","TabsCustomArrowMenu","tabs_custom_arrow_menu","TabsEdit","tabs_edit","TabsEditHeader","tabs_edit_header","onClickAdd","TabsEditBody","tabs_edit_body","TabsEditItem","tabs_edit_item","TabsEditMenu","tabs_edit_menu","Sidebar","checkIfMobile","innerWidth","isHide","setSidebar","location","views","path","pathname","elementDropdown","idxDropdown","onHide","undefined","JSON","stringify","handleDropdownClick","id","handleChangeViewClick","idDropdown","onViewChange","sidebarClass","mobile","sidebar","sidebar_header","sidebar_icon","button_hide","faCaretRight","faCaretLeft","sidebar_user","picture","sidebar_user_icon","faUser","sidebar_user_text","sidebar_user_title","sidebar_user_subtitle","sidebar_body","allowDisabledClick","sidebar_button","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","Doughnut","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","dataValue","dataSet","label","borderColor","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","Bar","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","Radar","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","HorizontalBar","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","resizeImage","maxImageSize","Image","src","initialWidth","initialHeight","finalWidth","finalHeight","drawImage","toDataURL","handleDeleteFile","files","getFileComponent","dropzone_multiple_item","delete_item_container","faTrash","getIcon","extension","hasParentClass","child","classname","parentNode","getFile","split","checkExtension","maxFileSize","tmpFiles","currentFile","nextFile","alert","handleDrop","faFilePdf","faFileWord","faFileExcel","faFileImage","faFileCsv","faFile","addFile","addFiles","toLowerCase","extensions","dropzone_multiple_container","stopPropagation","dropzone_multiple_items","background_text","Status","status","AlertContainer","alert_container","Alert","onTimeout","timeout","textColor","AlertElement","alert_element","bold","fontWeight","alert_element_icon","Chips","handleClick","newChipsList","chipsList","handleInputChange","findIndex","isAlreadyInside","list","component","chips","buttonIcon","faTimesCircle","disabledOptions","agency","ListingVerticalItem","listingClass","listing_vertical","listing_green","listing_orange","listing_vertical_left","listing_vertical_right","date","ListingVerticalSeparator","listing_vertical_separator","ListingVertical","tmpData","listing_vertical_container","ListingHorizontalItem","listing_horizontal","listing_horizontal_icon","listing_horizontal_text","ListingHorizontalSeparator","listing_horizontal_separator","ListingHorizontal","separatorWidth","listing_horizontal_container","Dropdown","dropdownMenuClass","dropdown_menu","dropdown","dropdown_first","space","key","Error404","error_full","error_center","error_center_group","error_title","error_code","error_text","history","Cookie","showInfo","cookies","Cookies","force","infos","textAlign","preventDefault","Row","Col","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","socialNetwork","Switch","idxActive","switch_container","color1","color2","Gauge","onMouse","isForce","isActive","currentTargetRect","positionX","pageX","step","onEdit","marginBottom","backgroundImage","colors","noText","transition","parseInt","borderRight","borderBottom","this","require","hd","Holidays","Calendar","handlePreviousYearClick","year","getArrayDays","handleNextYearClick","handlePreviousMonthClick","month","handleNextMonthClick","holidays","getHolidays","moment","endOfMonth","endOf","startDayOfMonth","isoWeekday","col","row","hasOwnProperty","days","handleActiveClick","currentDate","checkActive","activeDate","activeTime","enabledDates","minDate","isAfter","disabledDates","isWeek","isHoliday","maxDate","isBefore","disabledDays","checkActiveClassName","handleTimeClick","time","disabledTime","getArrayTime","isTime","times","timesRange","range","start","end","old","add","timeStep","months","valueDate","valueTime","Time","calendar_container","calendar","calendar_header","calendar_body","calendar_header_year","calendar_switch_button","calendar_header_month","calendar_header_day","calendar_table","idxRow","idxCol","calendar_time_body","calendar_time_button","calendar_footer","calendar_button"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-select-multiples/FormSelectMultiples.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faTimes,\n faCheck,\n faUpDownLeftRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Modal extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isMove: false,\n xStart: null,\n yStart: null,\n x: null,\n y: null\n }\n }\n\n componentDidMount() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n\n window.addEventListener('mouseup', this.handleMouseUp)\n }\n\n componentWillUnmount() {\n window.removeEventListener('mouseup', this.handleMouseUp)\n }\n\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n handleMouseUp = () => {\n this.setState(\n {\n isMove: false\n },\n () => {\n window.removeEventListener('mousemove', this.updateMousePosition)\n }\n )\n }\n\n updateMousePosition = (e) => {\n this.setState({ x: e.clientX, y: e.clientY })\n }\n\n handleClickModal(e) {\n if (e.target === e.currentTarget && !this.props.disableClose) {\n this.props.onClose(e)\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n\n var modalContainerClass = classNames(\n {\n [style.large]: !!this.props.large,\n [style.no_background]: !!this.props.noBackground\n },\n style.modal_container,\n this.props.className\n )\n\n return (\n <div\n className={style.modal}\n onMouseDown={(e) => this.handleClickModal(e)}\n >\n <div\n className={modalContainerClass}\n style={{\n left:\n this.state.x && this.state.xStart\n ? this.state.x - this.state.xStart\n : 0,\n top:\n this.state.y && this.state.yStart\n ? this.state.y - this.state.yStart\n : 0\n }}\n >\n <div\n className={style.modal_move}\n onMouseDown={(e) => {\n this.setState(\n {\n isMove: true,\n xStart: this.state.xStart || e.clientX,\n yStart: this.state.yStart || e.clientY\n },\n () =>\n window.addEventListener('mousemove', this.updateMousePosition)\n )\n }}\n >\n {this.props.isMove ? (\n <FontAwesomeIcon\n className={this.state.isMove ? 'red' : ''}\n icon={faUpDownLeftRight}\n />\n ) : (\n ''\n )}\n </div>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {!this.props.disableClose ? (\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n ) : null}\n <div className={style.modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n <div className={style.modal_body}>{this.props.children}</div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FullModal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.documentElement.style.overflow = 'hidden'\n document.body.style.overflow = 'hidden'\n } else {\n document.documentElement.style.overflow = 'unset'\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n return (\n <div className={classNames(style.modal, this.props.className)}>\n <div className={style.full_modal_container}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n <div className={style.modal_close} style={this.props.closeStyle} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n {this.props.onCustom ? (\n <div className={style.modal_custom} onClick={this.props.onCustom}>\n <FontAwesomeIcon icon={this.props.customIcon} />\n </div>\n ) : null}\n {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n ) : null}\n <div\n className={classNames(\n this.props.noPadding\n ? style.full_modal_body_no_padding\n : style.full_modal_body,\n this.props.noOverflow ? style.full_modal_body_no_overflow : {}\n )}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Button extends React.Component {\n render() {\n var buttonClass = classNames({\n [style.button_outline]: !!this.props.outline,\n [style.button]: !this.props.outline,\n [style.button_special]: !!this.props.children,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [style.button_red]: !!this.props.red,\n [style.button_blue]: !!this.props.blue,\n [style.button_orange]: !!this.props.orange,\n [style.button_green]: !!this.props.green,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <button\n className={buttonClass}\n style={this.props.style}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n >\n <span style={this.props.styleSpan}>{this.props.text ? this.props.text.toUpperCase() : \"\"}</span>\n {this.props.children ? (\n <div\n style={this.props.styleDiv}\n className={classNames(style.button_special_icon)}\n >\n {this.props.children}\n </div>\n ) : (\n ''\n )}\n </button>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class ButtonIcon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isHover: false\n }\n }\n render() {\n var buttonClass = classNames({\n [style.button_icon]: true,\n [style.white]: !!this.props.white,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className,\n [style.button_icon_background]: !!this.props.isBackground\n })\n\n return (\n <button\n className={buttonClass}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n style={this.props.style}\n onMouseEnter={() => this.setState({ isHover: true })}\n onMouseLeave={() => this.setState({ isHover: false })}\n >\n {this.props.children}\n {this.props.info && this.state.isHover ? (\n <span\n style={{\n position: 'absolute',\n padding: '4px',\n borderRadius: '4px',\n backgroundColor: 'var(--primary-color)',\n bottom: this.props.isBackground ? '-22px' : '-16px',\n left: '50%',\n transform: 'translate(-50%, 0)',\n color: '#ffffff',\n fontSize: '9px',\n minWidth: '100%',\n whiteSpace: 'nowrap'\n }}\n >\n {this.props.info}\n </span>\n ) : null}\n </button>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButton extends React.Component {\n render() {\n var floatActionClass = classNames({\n [style.float_action]: true,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={floatActionClass}>\n <div className={classNames(style.float_action_container)}>\n {this.props.children}\n </div>\n <button\n className={classNames(style.float_action_button)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButtonItem extends React.Component {\n render() {\n return (\n <div className={style.float_action_item_container}>\n <span className={classNames(style.float_action_item_text, 'nowrap')}>\n {this.props.text}\n </span>\n <button\n className={classNames(style.float_action_item, this.props.className)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormInput extends React.Component {\n render() {\n if (this.props.children) {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <div className={style.form_input_container_icon}>\n <div>{this.props.children}</div>\n <input\n style={this.props.styleInput}\n className={style.form_input_icon}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n </div>\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n } else {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <input\n style={this.props.styleInput}\n className={style.form_input}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormTextarea extends React.Component {\n handleKeyDown(e) {\n e.target.style.height = 'inherit'\n e.target.style.height = e.target.scrollHeight + 'px'\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.form_textarea_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <textarea\n spellCheck={true}\n lang={'fr'}\n onKeyDown={!this.props.noResize ? this.handleKeyDown : null}\n onBlur={this.props.onBlur}\n rows={this.props.rows}\n cols={this.props.cols}\n className={style.form_textarea}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n style={this.props.style}\n />\n {this.props.error ? (\n <span className={style.form_textarea_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormSelect extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_select_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n {this.props.ignore !== true ? (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n defaultValue={\n this.props.defaultValue ? this.props.defaultValue : 'DEFAULT'\n }\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n ) : (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n )}\n {this.props.error ? (\n <span className={style.form_select_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown, faCaretUp } from '@fortawesome/free-solid-svg-icons'\n\nimport FormInput from '../form-input/FormInput'\nimport FormSelect from '../form-select/FormSelect'\n\nexport default class FormRange extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isOpen: false\n }\n\n this.refComponent = React.createRef()\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n handleClickOutside = (event) => {\n if (\n this.refComponent &&\n this.refComponent.current &&\n !this.refComponent.current.contains(event.target)\n ) {\n this.setState({ isOpen: false })\n }\n }\n\n findText = (options, value) => {\n if (this.props.input) {\n return value\n } else {\n const result = options.filter(\n (item) => item.value.toString() === value.toString()\n )\n\n return result.length ? result[0].text : ''\n }\n }\n\n getLabel = (value1, value2, options1, options2) => {\n if (this.findText(options1, value1) === this.findText(options2, value2)) {\n return `${this.findText(options1, value1)}`\n } else if (\n value1 !== 'DEFAULT' &&\n value1 !== '' &&\n (value2 === 'DEFAULT' || value2 === '')\n ) {\n return `>= ${this.findText(options1, value1)}`\n } else if (\n (value1 === 'DEFAULT' || value1 === '') &&\n value2 !== 'DEFAULT' &&\n value2 !== ''\n ) {\n return `<= ${this.findText(options2, value2)}`\n } else {\n return `${this.findText(options1, value1)} - ${this.findText(\n options2,\n value2\n )}`\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.form_range_container, this.props.className)}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : null}\n <div\n className={style.form_range}\n onClick={() => this.setState({ isOpen: !this.state.isOpen })}\n >\n <span>\n {this.getLabel(\n this.props.value1,\n this.props.value2,\n this.props.options1,\n this.props.options2\n )}\n </span>\n <div>\n <FontAwesomeIcon\n icon={this.state.isOpen ? faCaretUp : faCaretDown}\n />\n </div>\n </div>\n {this.state.isOpen ? (\n <div ref={this.refComponent} className={style.form_range_modal}>\n {this.props.input ? (\n <Fragment>\n <FormInput\n type={this.props.type}\n name={this.props.name1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n />\n <FormInput\n type={this.props.type}\n name={this.props.name2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n />\n </Fragment>\n ) : (\n <Fragment>\n <FormSelect\n type={this.props.type}\n name={this.props.name1}\n options={this.props.options1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n ignore={true}\n disabled={false}\n init={this.props.init1}\n />\n <FormSelect\n type={this.props.type}\n name={this.props.name2}\n options={this.props.options2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n ignore={true}\n disabled={false}\n init={this.props.init2}\n />\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormCheckbox extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_checkbox_container,\n this.props.className\n )}\n >\n <label className={classNames(this.props.className)}>\n {this.props.text}\n <input\n type='checkbox'\n name={this.props.name}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_checkbox_mark} />\n </label>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nimport FormCheckbox from \"../form-checkbox/FormCheckbox\"\n\nexport default class FormSelectMutiples extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isDisplay: false,\n }\n\n this.inputRef = React.createRef()\n }\n\n onClick = (element) => {\n {\n let value = this.props.value\n\n if (value.includes(element.value)) {\n value.splice(value.indexOf(element.value), 1)\n } else {\n value.push(element.value)\n }\n\n this.props.onChange(value)\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.form_select_multiples_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <div ref={this.inputRef} className={style.form_select_multiples} onClick={() => this.setState({ isDisplay: !this.state.isDisplay })}>\n <span>{this.props.value && this.props.value.length ? this.props.options.filter(element => (\n this.props.value.includes(element.value)\n )).map((element, idx) => `${idx ? \";\" : \"\"}${element.text}`) : this.props.default}</span>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n {this.state.isDisplay ? <div style={{\n top: this.inputRef.current.getBoundingClientRect().y + 60,\n left: this.inputRef.current.getBoundingClientRect().x,\n width: this.inputRef.current.offsetWidth,\n }} className={style.form_select_values}>\n <div>\n {this.props.options.map((element, idx) => (\n <div key={idx} onClick={() => this.onClick(element)}>\n <FormCheckbox onChange={() => this.onClick(element)} checked={this.props.value.includes(element.value)} text={element.text} />\n </div>\n ))}\n </div>\n <div className={classNames('mt-auto d-flex', style.form_select_multiples_bottom)}>\n <span onClick={() => this.props.onChange([])}>Effacer</span>\n <span className='ml-auto' onClick={() => this.setState({ isDisplay: false })}>Valider</span>\n </div>\n </div> : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormRadio extends React.Component {\n render() {\n return (\n <div className={classNames(style.radio_container, this.props.className)}>\n <label className={classNames(style.form_radio_container)}>\n {this.props.text}\n <input\n type='radio'\n name={this.props.name}\n value={this.props.value}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_radio_mark} />\n </label>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport Button from '../button/Button'\n\nexport default class Table extends React.Component {\n getArray = (data) => {\n if (data && Array.isArray(data)) {\n return data\n } else if (data) {\n return [data]\n } else {\n return []\n }\n }\n\n getCSV = (callback) => {\n let dataCSV = ''\n\n if (this.props && this.props.children) {\n this.getArray(this.props.children).forEach((children) => {\n if (children.props && children.props.children) {\n this.getArray(children.props.children).forEach((line) => {\n if (line.props && line.props.children) {\n this.getArray(line.props.children).forEach((column) => {\n if (column.props && column.props.children) {\n dataCSV += `${column.props.children.toString()};`\n } else {\n dataCSV += ';'\n }\n })\n dataCSV += '\\n'\n }\n })\n }\n })\n }\n\n const link = document.createElement('a')\n link.href = `data:text/csv;charset=utf-8,\\uFEFF${encodeURIComponent(\n dataCSV\n )}`\n link.download = this.props.nameCSV || 'file.csv'\n link.click()\n\n callback()\n }\n\n render() {\n const tableClass = classNames({\n [style.table]: true,\n [style.tableEmpty]: !!this.props.empty,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <Fragment>\n {this.props.isCSV ? (\n <div className='d-flex'>\n <Button\n text='Télécharger CSV'\n className='w-auto ml-auto mb-10'\n onClick={() => {\n if (this.props.getAllData) {\n this.props.getAllData(() =>\n this.getCSV(this.props.csvCallback)\n )\n } else {\n this.getCSV(this.props.csvCallback)\n }\n }}\n />\n </div>\n ) : null}\n <table className={tableClass} style={this.props.style}>\n {this.props.children}\n {this.props.empty ? (\n <tbody>\n <tr>\n <td colSpan='100'>\n <div className={style.trEmpty}>{this.props.empty}</div>\n </td>\n </tr>\n </tbody>\n ) : (\n false\n )}\n </table>\n </Fragment>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Thead extends React.Component {\n render() {\n return (\n <thead\n className={classNames(style.thead, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </thead>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tbody extends React.Component {\n render() {\n return (\n <tbody\n className={classNames(style.tbody, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </tbody>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nexport default class Th extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sort: false,\n desc: false\n }\n }\n\n handleSortClick = () => {\n this.setState({ desc: !this.state.desc, sort: true }, () => {\n if (this.props.onSort) {\n this.props.onSort(this.state.desc)\n }\n })\n }\n\n getSortButton() {\n if (this.state.sort === false) {\n return (\n <div className={style.table_sort}>\n <div>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n )\n } else if (this.state.desc === true) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n )\n } else if (this.state.desc === false) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n )\n }\n }\n\n render() {\n var thClass = classNames({\n [style.th]: true,\n [style.pointer]: !!this.props.sort,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <th\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={thClass}\n onClick={this.props.sort ? this.handleSortClick : null}\n style={this.props.style}\n >\n <div className={style.table_flex}>\n <span\n style={!this.props.sort ? { margin: 'auto' } : {}}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </span>\n {this.props.sort ? this.getSortButton() : ''}\n </div>\n </th>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Td extends React.Component {\n render() {\n var tdClass = classNames({\n [style.td]: true,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <td\n onClick={this.props.onClick}\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={tdClass}\n style={this.props.style}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </td>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tr extends React.Component {\n render() {\n return (\n <tr\n className={classNames(style.tr, this.props.className)}\n onClick={this.props.onClick}\n style={this.props.style}\n >\n {this.props.children}\n </tr>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Nav extends React.Component {\n render() {\n return (\n <div className={classNames(style.nav, this.props.className)}>\n <div className={style.nav_left}>\n {this.props.back ? (\n <div className={style.nav_back} onClick={this.props.onBack}>\n <FontAwesomeIcon icon={faArrowLeft} />\n </div>\n ) : (\n ''\n )}\n <div className={style.nav_text}>\n <h2>{this.props.title}</h2>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n <div className={style.nav_right}>{this.props.children}</div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faEllipsisV } from '@fortawesome/free-solid-svg-icons'\n\nimport ButtonIcon from '../button/ButtonIcon'\n\nimport style from './style.css'\n\nexport default class Header extends React.Component {\n componentDidMount() {\n this.snowflake()\n }\n\n snowflake = () => {\n var COUNT = 125\n var masthead = document.querySelector('.sky')\n var canvas = document.createElement('canvas')\n var ctx = canvas.getContext('2d')\n var width = masthead.clientWidth\n var height = masthead.clientHeight\n var i = 0\n var active = false\n\n function onResize() {\n width = masthead.clientWidth\n height = masthead.clientHeight\n canvas.width = width\n canvas.height = height\n ctx.fillStyle = '#FFF'\n\n var wasActive = active\n active = width > 600\n\n if (!wasActive && active) requestAnimFrame(update)\n }\n\n var Snowflake = function () {\n this.x = 0\n this.y = 0\n this.vy = 0\n this.vx = 0\n this.r = 0\n\n this.reset()\n }\n\n Snowflake.prototype.reset = function () {\n this.x = Math.random() * width\n this.y = Math.random() * -height\n this.vy = 1 + Math.random() * 3\n this.vx = 0.5 - Math.random()\n this.r = 1 + Math.random() * 2\n this.o = 0.5 + Math.random() * 0.5\n }\n\n canvas.style.position = 'absolute'\n canvas.style.left = canvas.style.top = '0'\n\n var snowflakes = [],\n snowflake\n for (i = 0; i < COUNT; i++) {\n snowflake = new Snowflake()\n snowflake.reset()\n snowflakes.push(snowflake)\n }\n\n function update() {\n ctx.clearRect(0, 0, width, height)\n\n if (!active) return\n\n for (i = 0; i < COUNT; i++) {\n snowflake = snowflakes[i]\n snowflake.y += snowflake.vy\n snowflake.x += snowflake.vx\n\n ctx.globalAlpha = snowflake.o\n ctx.beginPath()\n ctx.arc(snowflake.x, snowflake.y, snowflake.r, 0, Math.PI * 2, false)\n ctx.closePath()\n ctx.fill()\n\n if (snowflake.y > height) {\n snowflake.reset()\n }\n }\n\n requestAnimFrame(update)\n }\n\n // shim layer with setTimeout fallback\n window.requestAnimFrame = (function () {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / 60)\n }\n )\n })()\n\n onResize()\n window.addEventListener('resize', onResize, false)\n\n masthead.appendChild(canvas)\n }\n\n render() {\n return (\n <div className={classNames(style.header, this.props.className, \"sky\")}>\n {/* <div className=\"sky\"></div> */}\n <div\n className={style.header_absolute}\n style={this.props.styleBackground}\n />\n <div className={style.header_left}>\n {this.props.logo ? (\n <img\n src={this.props.logo}\n height={this.props.height}\n onClick={this.props.onClick}\n className={this.props.onClick ? 'cursor-pointer' : ''}\n />\n ) : null}\n {this.props.title ? <h1>{this.props.title}</h1> : null}\n </div>\n <div className={style.header_right}>\n {this.props.sidebarRef && this.props.isMobile ? (\n <ButtonIcon onClick={this.props.sidebarRef.current.handleHideClick}>\n <FontAwesomeIcon icon={faEllipsisV} />\n </ButtonIcon>\n ) : null}\n {this.props.children}\n </div>\n </div>\n )\n }\n}\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Card extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: 0\n }\n this.refTitle = createRef()\n }\n\n componentDidMount() {\n this.setState({ width: this.getWith() })\n }\n\n componentDidUpdate(prevProps, prevState) {\n const width = this.getWith()\n if (width !== prevState.width) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width })\n }\n }\n\n getWith = () => {\n if (this.refTitle.current) {\n return this.refTitle.current.offsetWidth\n } else {\n return 0\n }\n }\n\n render() {\n return (\n <div\n style={\n this.props.border\n ? {\n borderLeft: `solid ${this.props.border} 16px`\n }\n : {}\n }\n className={classNames(style.card, this.props.className)}\n >\n {this.props.disabled ? (\n <div className={classNames(style.card_disabled)} />\n ) : null}\n {this.props.imgLeft ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgLeft}\n alt='left'\n />\n </div>\n ) : null}\n {this.props.isLoad ? (\n <div className={style.card_loader_container}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.loaderText ? <p>{this.props.loaderText}</p> : null}\n </div>\n </div>\n ) : null}\n <div\n style={{\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <div\n className={style.card_top_border}\n style={{\n width: this.state.width,\n ...(this.props.borderTopColor\n ? { backgroundColor: this.props.borderTopColor }\n : {})\n }}\n />\n {this.props.title ? (\n <div className={style.card_header}>\n <div className={style.card_header_left}>\n <h2 ref={this.refTitle}>{this.props.title}</h2>\n </div>\n <div className={style.card_header_right}>\n <div\n className={classNames(\n style.card_header_action,\n this.props.disableStyleAction\n ? style.card_header_action_disable\n : ''\n )}\n onClick={this.props.onClick}\n >\n {this.props.action}\n </div>\n </div>\n </div>\n ) : (\n ''\n )}\n <div\n className={classNames(\n style.card_body,\n this.props.classNameChildren\n )}\n >\n {this.props.children}\n </div>\n </div>\n {this.props.imgRight ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgRight}\n alt='right'\n />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons'\n\nexport default class CardColor extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_color, this.props.className)}>\n {this.props.count === 0 || this.props.count ? (\n <div className={style.card_color_left}>\n <span>{this.props.count}</span>\n </div>\n ) : (\n <div className={style.card_color_image_left}>\n <span>{this.props.image}</span>\n </div>\n )}\n <div className={style.card_color_center}>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n <div className={style.card_color_right} onClick={this.props.onClick}>\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faArrowRight} />\n )}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport default class CardStatistics extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_statistics, this.props.className)}>\n <div className={classNames(style.card_statistics_body)}>\n <span>{this.props.title}</span>\n <span>\n {this.props.subtitle}\n <span className={classNames(this.props.evolutionColor)}>\n {this.props.evolution}\n </span>\n </span>\n </div>\n {this.props.icon ? (\n <div className={classNames(style.card_statistics_icon)}>\n <FontAwesomeIcon icon={this.props.icon} />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class CardTabs extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n active: 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card_tabs, this.props.className)}>\n <div className={style.card_tabs_header}>\n <div className={style.card_tabs_header_left}>\n {this.props.titles.map((title, idx) => (\n <h2\n key={idx}\n className={\n idx === this.state.active ? style.card_tabs_header_active : ''\n }\n onClick={() => this.setState({ active: idx })}\n >\n {title}\n </h2>\n ))}\n </div>\n </div>\n <div\n className={classNames(\n style.card_tabs_body,\n this.props.classNameChildren\n )}\n >\n {this.props.contents[this.state.active]}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Slider extends React.Component {\n render() {\n return (\n <div className={classNames(style.slider, this.props.className)}>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronLeft} />\n </div>\n <span className={style.slider_value}>{this.props.value}</span>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronRight} />\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faPlus, faBan } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Signature extends React.Component {\n render() {\n var signatureClass = classNames({\n [style.signature]: true,\n [style.active]: !!this.props.signature,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className\n })\n\n if (this.props.signature) {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div\n className={style.signature_remove}\n onClick={this.props.onRemove}\n >\n <FontAwesomeIcon icon={faTimes} />\n </div>\n ) : (\n ''\n )}\n <img src={this.props.signature} alt='signature' />\n </div>\n )\n } else {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div className={style.signature_add} onClick={this.props.onAdd}>\n <FontAwesomeIcon icon={faPlus} />\n </div>\n ) : (\n <div className={style.signature_add} style={{ cursor: \"default\" }}>\n <FontAwesomeIcon icon={faBan} />\n </div>\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tabs extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_header, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsBody extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_body, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_menu]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomHeader extends React.Component {\n render() {\n var tabsHeaderClass = classNames({\n [style.tabs_custom_header]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div\n className={tabsHeaderClass}\n >\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_custom_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_custom_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n if (!this.props.active) {\n return null\n }\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_custom_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom_arrow, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowHeader extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.tabs_custom_arrow_header, this.props.className)}\n >\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_custom_arrow_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_custom_arrow_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomArrowMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_custom_arrow_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <div />\n <span>{this.props.title}</span>\n <div />\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEdit extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_edit, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlus } from '@fortawesome/free-solid-svg-icons'\n\nexport default class TabsEditHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_edit_header, this.props.className)}>\n <div>{this.props.children}</div>\n <div>\n <div\n className='cursor-pointer'\n style={{\n backgroundColor: 'var(--primary-color)',\n display: 'flex',\n width: '40px',\n height: '40px',\n margin: 'auto',\n borderRadius: '10px'\n }}\n onClick={() =>\n this.props.onClickAdd ? this.props.onClickAdd() : null\n }\n >\n <FontAwesomeIcon className='m-auto white' icon={faPlus} />\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_edit_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_edit_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_edit_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCaretDown,\n faUser\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class Sidebar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n views: this.props.views,\n isHide: window.innerWidth < 640,\n isMobile: undefined\n }\n }\n\n componentDidMount() {\n this.setSidebar()\n this.checkIfMobile()\n window.addEventListener('resize', this.checkIfMobile)\n }\n\n componentWillUnmount() {\n removeEventListener('resize', this.checkIfMobile)\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (JSON.stringify(this.props.views) !== JSON.stringify(prevProps.views)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ views: this.props.views }, () => {\n this.setSidebar()\n })\n }\n }\n\n checkIfMobile = () => {\n const isMobile = window.innerWidth < 640\n if (isMobile !== this.state.isMobile) {\n this.setState(\n {\n isHide: isMobile ? true : false,\n isMobile\n },\n () => {\n if (this.props.checkIfMobile) {\n this.props.checkIfMobile(this.state.isMobile)\n }\n }\n )\n }\n }\n\n setSidebar = () => {\n if (this.props.location) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.path) {\n if (element.path === this.props.location.pathname) {\n views[idx].active = true\n } else {\n views[idx].active = false\n }\n } else {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.path === this.props.location.pathname) {\n views[idx].active = true\n views[idx].views[idxDropdown].active = true\n } else {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n this.setState({ views: views })\n }\n }\n\n handleDropdownClick(id) {\n const views = this.state.views\n views[id].active = !views[id].active\n this.setState({ views: views })\n }\n\n handleChangeViewClick(path, id, idDropdown = -1) {\n if (\n (idDropdown >= 0 && !this.state.views[id].views[idDropdown].active) ||\n !this.state.views[id].active\n ) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.active === true) {\n views[idx].active = false\n }\n if (element.views) {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.active === true) {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n if (idDropdown < 0) {\n views[id].active = true\n } else {\n views[id].active = true\n views[id].views[idDropdown].active = true\n }\n this.setState({ views: views })\n this.props.onViewChange({ path: path, views: views })\n }\n }\n\n handleHideClick = () => {\n this.setState({ isHide: !this.state.isHide }, () => {\n if (this.props.onHide) {\n this.props.onHide(this.state.isHide)\n }\n })\n }\n\n render() {\n var sidebarClass = classNames(\n {\n [style.small]: !!this.state.isHide,\n [style.mobile]: !!this.state.isMobile\n },\n style.sidebar,\n this.props.className\n )\n\n return (\n <div className={sidebarClass}>\n <div className={style.sidebar_header}>\n <div className={style.sidebar_icon}>\n {this.props.icon ? <img alt='icon' src={this.props.icon} /> : null}\n </div>\n <div className={style.button_hide} onClick={this.handleHideClick}>\n {this.state.isHide ? (\n <FontAwesomeIcon icon={faCaretRight} />\n ) : (\n <FontAwesomeIcon icon={faCaretLeft} />\n )}\n </div>\n </div>\n <div className={style.sidebar_user}>\n {this.props.picture ? (\n <div className={style.sidebar_user_icon}>\n <img src={this.props.picture} alt={'profile'} />\n </div>\n ) : (\n <FontAwesomeIcon\n className={classNames({\n 'm-auto': this.state.isHide === true,\n [style.sidebar_user_icon]: true\n })}\n icon={faUser}\n />\n )}\n {this.state.isHide === false ? (\n <div className={style.sidebar_user_text}>\n <span className={style.sidebar_user_title}>\n {this.props.title}\n </span>\n <span className={style.sidebar_user_subtitle}>\n {this.props.subtitle}\n </span>\n </div>\n ) : null}\n </div>\n <div className={style.sidebar_body}>\n {this.state.views.map((element, idx) => {\n if (element.path && element.isHide !== true) {\n return (\n <div\n key={idx}\n onClick={() => {\n if (\n !element.disabled ||\n (element.disabled && this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(element.path, idx)\n }\n }}\n className={classNames(style.sidebar_button, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n </div>\n )\n } else if (element.isHide !== true) {\n const data = []\n data.push(\n <div\n key={idx}\n onClick={() => this.handleDropdownClick(idx)}\n className={classNames(style.sidebar_button_dropdown, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n {element.active === true ? (\n <FontAwesomeIcon icon={faCaretDown} />\n ) : (\n <FontAwesomeIcon icon={faCaretUp} />\n )}\n </div>\n )\n element.views.map((elementDropdown, idxDropdown) => {\n if (\n element.active === true &&\n elementDropdown.isHide !== true\n ) {\n data.push(\n <div\n key={idx + '-' + idxDropdown}\n onClick={() => {\n if (\n !elementDropdown.disabled ||\n (elementDropdown.disabled &&\n this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(\n elementDropdown.path,\n idx,\n idxDropdown\n )\n }\n }}\n className={classNames(\n style.sidebar_button,\n style.sidebar_button_second,\n {\n [style.active]: !!elementDropdown.active,\n [style.disabled]: !!elementDropdown.disabled\n }\n )}\n >\n {elementDropdown.icon}\n <span>{elementDropdown.name}</span>\n </div>\n )\n }\n })\n return data\n }\n })}\n </div>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass DoughnutChart extends React.Component {\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= (this.props.high ? this.props.high : 90)) {\n return this.props.reverse ? '#db2828' : '#0c8540'\n } else if (percentage >= (this.props.medium ? this.props.medium : 80)) {\n return '#f2711c'\n } else {\n return this.props.reverse ? '#0c8540' : '#db2828'\n }\n }\n\n render() {\n const num = this.props.number\n const max = this.props.max ? this.props.max : 100\n const difNumber = max - this.props.number\n const text = this.props.text\n const unit = this.props.unit ? this.props.unit : '%'\n\n const data = {\n labels: ['Red', 'Green'],\n datasets: [\n {\n datalabels2: this.props.datalabels2,\n data: [this.props.number, difNumber],\n backgroundColor: [this.getColor(num, max), '#f5f5f5'],\n hoverBorderWidth: 0,\n borderWidth: 0\n }\n ]\n }\n return (\n <div className={classNames(style.doughnut_chart, this.props.className)}>\n <Doughnut\n id={this.props.text}\n data={data}\n width={145}\n height={145}\n legend={{ display: false, labels: { boxWidth: 0 } }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: true,\n cutoutPercentage: 90,\n tooltips: { enabled: false }\n }}\n />\n <div className={style.text_doughnut_chart}>\n <p\n style={{ color: this.getColor(num, max) }}\n className={style.number}\n >\n {num}\n {unit}\n </p>\n <p style={{ color: this.getColor(num, max) }} className={style.text}>\n {text}\n </p>\n </div>\n </div>\n )\n }\n}\n\nexport default DoughnutChart\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react'\nimport { Bar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass BarChart extends React.Component {\n getData(value) {\n if (value) {\n return value\n } else {\n return 'bar'\n }\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getLabels() {\n if (this.props.labels) {\n return this.props.labels\n } else {\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 200\n }\n }\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n type: this.getData(this.props.dataSet[i].type),\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: this.getColor(this.props.dataSet[i].color),\n borderColor: this.getColor(\n this.props.dataSet[i].borderColor\n ? this.props.dataSet[i].borderColor\n : this.props.dataSet[i].color\n ),\n fill: this.props.dataSet[i].fill ? this.props.dataSet[i].fill : 'false',\n borderWidth: this.props.borderWidth ? this.props.borderWidth : 0,\n barThickness: this.getWidthBar(),\n barPercentage: 0.5,\n data: this.props.dataSet[i].data,\n yAxisID: this.props.dataSet[i].yAxisID\n ? this.props.dataSet[i].yAxisID\n : '',\n xAxisID: this.props.dataSet[i].xAxisID\n ? this.props.dataSet[i].xAxisID\n : ''\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Bar\n data={data}\n legend={{\n display: this.getIsLegend(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: this.props.yAxes\n ? this.props.yAxes\n : [\n {\n ticks: {\n display: false\n }\n }\n ],\n xAxes: this.props.xAxes\n ? this.props.xAxes\n : [\n {\n gridLines: {\n display: false\n }\n }\n ]\n },\n tooltips: {\n callbacks: {\n label: (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.datasets[tooltipItem.datasetIndex].label || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(tooltipItem.yLabel / 100)\n return `${name} : ${value}`\n } else {\n const options = {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default BarChart\n","import React, { Component } from 'react'\nimport { Radar } from \"react-chartjs-2\"\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nexport class RadarChart extends Component {\n \n getLabels = () => {\n return this.props.labels\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 350\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets = (nbValue) => {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: 'rgba(200, 200, 200, 0.2)',\n borderColor: this.getColor(this.props.dataSet[i].color),\n data: this.props.dataSet[i].data,\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const options = {\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n legend: {\n display: this.getIsLegend(),\n position: 'bottom',\n labels: { boxWidth: 10, fontFamily: 'Arial' },\n legendCallback: function(test) {\n console.log('TEST')\n console.log('test', test)\n }\n },\n scale: {\n reverse: false,\n ticks: {\n display: false,\n beginAtZero: true\n }\n },\n }\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Radar \n data={data}\n options={options}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default RadarChart\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass PieChart extends React.Component {\n legendDisplayData() {\n if (this.props.legendDisplay === false) {\n return this.props.legendDisplay\n } else return true\n }\n\n createDatasets(nbValue) {\n const dataValue = {\n labels: [],\n datasets: [\n {\n percentage: [],\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: []\n }\n ]\n }\n for (let i = 0; i < nbValue; i++) {\n dataValue.datasets[0].datalabels = this.props.datalabels2\n ? this.props.datalabels2[i]\n : null\n dataValue.datasets[0].percentage.push(this.props.data[i].percentage)\n dataValue.datasets[0].data.push(this.props.data[i].data)\n dataValue.datasets[0].backgroundColor.push(this.props.data[i].color)\n dataValue.datasets[0].hoverBackgroundColor.push(\n this.props.data[i].color + '80'\n )\n dataValue.labels.push(this.props.data[i].labels)\n }\n return dataValue\n }\n\n pieForm() {\n if (this.props.full) {\n return 0\n } else {\n return 70\n }\n }\n\n render() {\n return (\n <div className={classNames(style.pie_chart, this.props.className)}>\n <div className={style.pie_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <Doughnut\n data={this.createDatasets(this.props.data.length)}\n legend={{\n display: this.legendDisplayData(),\n position: this.props.positionLegend || 'bottom',\n align: this.props.alignLegend || 'center',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n maintainAspectRatio: false,\n responsive: true,\n cutoutPercentage: this.pieForm(),\n elements: {\n arc: {\n borderWidth: 0\n }\n },\n tooltips: {\n callbacks: {\n label: this.props.label\n ? this.props.label\n : (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.labels[tooltipItem.index] || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ] / 100\n )\n return `${name} : ${value}`\n } else {\n const options = { minimumFractionDigits: digits }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default PieChart\n","import React from 'react'\nimport { HorizontalBar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass HorizontalBarChart extends React.Component {\n scalesType() {\n if (this.props.align) {\n return {\n xAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n display: false\n },\n barThickness: 50,\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n beginAtZero: true\n },\n gridLines: {\n display: false\n }\n }\n ]\n }\n } else\n return {\n xAxes: [\n {\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n gridLines: {\n display: false\n }\n }\n ]\n }\n }\n\n typeLabel(value) {\n if (value) {\n return value\n } else return 'Value'\n }\n\n typeColor(value) {\n if (value) {\n return value\n } else return '#5c5c5c'\n }\n\n labelsData() {\n if (this.props.labels) {\n return this.props.labels\n } else\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n\n widthData() {\n if (this.props.width) {\n return this.props.width\n }\n }\n\n heightData() {\n if (this.props.height) {\n return this.props.height\n }\n }\n\n legendDisplayData() {\n if (this.props.legendDisplay) {\n return this.props.legendDisplay\n } else return false\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.typeLabel(this.props.dataSet[i].label),\n backgroundColor: this.typeColor(this.props.dataSet[i].color),\n borderColor: this.typeColor(this.props.dataSet[i].color),\n barThickness: this.getWidthBar(),\n fill: 'false',\n borderWidth: 0,\n barPercentage: 0.5,\n data: this.props.dataSet[i].data\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n render() {\n const data = {\n labels: this.labelsData(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <HorizontalBar\n style={{ margin: 'auto' }}\n data={data}\n legend={{\n display: this.legendDisplayData(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: this.scalesType()\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default HorizontalBarChart\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass ProgressBar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: null\n }\n this.refProgress = createRef()\n }\n\n componentDidMount() {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n this.setState({ width: this.getWidth(value, max) })\n window.addEventListener('resize', () => {\n this.setState({ width: this.getWidth(value, max) })\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width: this.getWidth(value, max) })\n }\n }\n\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= 90) {\n return 'bg-green'\n } else if (percentage >= 50) {\n return 'bg-orange'\n } else {\n return 'bg-red'\n }\n }\n\n getWidth(value, max) {\n const percentage = (value * 100) / max\n if (this.refProgress.current) {\n // const width = this.refProgress.current.offsetWidth\n return percentage + '%'\n } else {\n return '0px'\n }\n }\n\n render() {\n const max = this.props.max ? this.props.max : 100\n const value = this.props.value ? this.props.value : 0\n return (\n <div\n className={classNames(\n style.progress_bar_container,\n this.props.className\n )}\n >\n <span>{this.props.title}</span>\n <div className={style.bar} ref={this.refProgress}>\n <div\n className={classNames(\n style.custom_progress,\n this.getColor(value, max)\n )}\n style={{ width: this.state.width }}\n />\n <span>{this.props.text ? this.props.text : value + ' / ' + max}</span>\n </div>\n </div>\n )\n }\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Loader extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) return null\n\n return (\n <div className={classNames(style.loader_container, this.props.className)}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.message ? <p>{this.props.message}</p> : null}\n </div>\n </div>\n )\n }\n}\n\nexport default Loader\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Icon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n refIcon: React.createRef(),\n colorStyle: null\n }\n }\n\n componentDidMount() {\n this.setState({\n colorStyle: window\n .getComputedStyle(this.state.refIcon.current, null)\n .getPropertyValue('color')\n })\n }\n\n render() {\n return (\n <div\n ref={this.state.refIcon}\n className={classNames(this.props.className)}\n style={{ fontSize: this.props.size ? this.props.size + 'px' : 'none' }}\n >\n {this.props.icon({\n className: classNames(style.icon),\n color: this.state.colorStyle\n })}\n </div>\n )\n }\n}\n","import React from 'react'\nimport PaginationCMP from 'react-js-pagination'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Pagination extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.paginationContainer, this.props.className)}\n >\n <PaginationCMP\n innerClass={style.pagination}\n activeClass={style.active}\n disabledClass={style.disabled}\n activePage={this.props.activePage}\n itemsCountPerPage={this.props.itemsCountPerPage}\n totalItemsCount={this.props.totalItemsCount}\n pageRangeDisplayed={this.props.pageRangeDisplayed}\n onChange={this.props.onChange}\n firstPageText={this.props.firstPageText}\n lastPageText={this.props.lastPageText}\n prevPageText={this.props.prevPageText}\n nextPageText={this.props.nextPageText}\n hideNavigation={this.props.hideNavigation}\n hideFirstLastPages={this.props.hideFirstLastPages}\n />\n </div>\n )\n }\n}\n\nexport default Pagination\n","class PaginationClass {\n constructor(urlCount, urlPagination, tabLength = 20, isAll = false) {\n this.urlCount = urlCount\n this.urlPagination = urlPagination\n this.currentPage = 0\n this.total = 0\n this.tabLength = tabLength\n this.isAll = isAll\n this.activePage = 1\n this.tabData = []\n }\n\n init(axios, data, callback) {\n this.currentPage = 0\n this.total = 0\n this.activePage = 1\n axios(this.urlCount, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.total = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, total: this.total })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n get(axios, data, callback) {\n data.offset = this.currentPage\n data.value = this.tabLength\n data.isAll = this.isAll\n axios(this.urlPagination, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.tabData = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, tabData: this.tabData })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n page(activePage, callback) {\n if (activePage !== this.activePage) {\n if (activePage < this.activePage) {\n const difPage = activePage - this.activePage\n const currentPageData = this.currentPage + difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n } else {\n const difPage = this.activePage - activePage\n const currentPageData = this.currentPage - difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n }\n } else {\n callback(activePage)\n }\n }\n}\n\nexport default PaginationClass\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport default class Dropzone extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loader: false,\n textInfo: this.typeNameText(this.props.typeName),\n base64: '',\n borderColor: '#5c5c5c',\n styleBtnClose: 'none'\n }\n }\n\n typeNameText(propsTypeName) {\n if (propsTypeName) {\n const name = propsTypeName.join(', ')\n return `Glisser un fichier ou cliquer pour sélectionner un fichier (type accepté, ${name})`\n } else {\n return 'Glisser un fichier ou cliquer pour sélectionner un fichier'\n }\n }\n\n typeAccept(acceptedFiles, propsTypeAccept) {\n let value = false\n if (propsTypeAccept) {\n propsTypeAccept.forEach((e) => {\n if (acceptedFiles[0].type === e) {\n value = true\n }\n })\n } else {\n value = true\n }\n return value\n }\n\n onDrop(acceptedFiles, callback) {\n if (this.typeAccept(acceptedFiles, this.props.typeAccept)) {\n const reader = new window.FileReader()\n reader.onabort = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onerror = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onloadstart = () => {\n this.setState({ loader: true })\n }\n reader.onloadend = () => {\n this.setState({ loader: false })\n }\n reader.onload = () => {\n const base64 = reader.result\n this.setState({ base64: base64 })\n\n if (callback) {\n // eslint-disable-next-line standard/no-callback-literal\n callback({\n base64: base64,\n mime: acceptedFiles[0].type,\n name: acceptedFiles[0].name,\n size: acceptedFiles[0].size\n })\n }\n }\n acceptedFiles.forEach((file) => reader.readAsDataURL(file))\n this.setState({\n textInfo: `Fichier ${acceptedFiles[0].name} est prêt à être envoyé, glisser ou cliquer pour modifier`,\n borderColor: '#74b741',\n styleBtnClose: 'contents'\n })\n } else {\n this.setState({\n textInfo: 'Format non valide',\n borderColor: '#ff0000'\n })\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.FormDragDropFile_container,\n this.props.className\n )}\n >\n <DropzoneCMP\n className={classNames(this.props.classNameChildren)}\n onDrop={(acceptedFiles) => {\n this.onDrop(acceptedFiles, (data) => this.props.dropHandler(data))\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <section style={{ borderColor: this.state.borderColor }}>\n <div\n className={style.btn_close_drag_drop}\n style={{ display: this.state.styleBtnClose }}\n >\n <ButtonIcon\n ref={this.props.ref}\n onClick={() =>\n this.setState(\n {\n borderColor: '#5c5c5c',\n textInfo: this.typeNameText(this.props.typeName),\n styleBtnClose: 'none'\n },\n () => this.props.dropHandler('')\n )\n }\n >\n {/*<FontAwesomeIcon icon={faTimes} /> */}\n </ButtonIcon>\n </div>\n <div {...getRootProps()}>\n <input {...getInputProps()} />\n <span>{this.state.textInfo}</span>\n </div>\n </section>\n )}\n </DropzoneCMP>\n </div>\n )\n }\n}\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faFile,\n faFilePdf,\n faFileWord,\n faFileExcel,\n faFileImage,\n faFileCsv,\n faTrash\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class DropzoneMultiple extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isLoad: false,\n files: []\n }\n }\n\n resizeImage = (base64, mime, callback = () => {}) => {\n if (\n this.props.maxImageSize &&\n ['image/png', 'image/jpeg', 'image/jpg'].includes(mime)\n ) {\n const image = new Image()\n image.src = base64\n image.onload = () => {\n let initialWidth = image.width\n let initialHeight = image.height\n let finalWidth = 0\n let finalHeight = 0\n\n if (initialWidth > initialHeight) {\n if (initialWidth > this.props.maxImageSize) {\n finalWidth = this.props.maxImageSize\n finalHeight = (finalWidth * initialHeight) / initialWidth\n } else {\n finalWidth = initialWidth\n finalHeight = initialHeight\n }\n } else {\n if (initialHeight > this.props.maxImageSize) {\n finalHeight = this.props.maxImageSize\n finalWidth = (finalHeight * initialWidth) / initialHeight\n } else {\n finalWidth = initialWidth\n finalHeight = initialHeight\n }\n }\n\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n canvas.width = finalWidth\n canvas.height = finalHeight\n ctx.drawImage(image, 0, 0, finalWidth, finalHeight)\n base64 = canvas.toDataURL(mime, 0.9)\n\n callback(base64)\n }\n image.onerror = () => {\n callback(base64)\n }\n } else {\n callback(base64)\n }\n }\n\n handleDeleteFile = (idx) => {\n let files = this.state.files\n\n files.splice(idx, 1)\n\n this.setState({\n files\n })\n }\n\n getFileComponent = (idx) => {\n return (\n <div\n key={idx}\n className={classNames(style.dropzone_multiple_item, 'not-click')}\n onClick={() => this.handleDeleteFile(idx)}\n >\n <div className={classNames(style.delete_item_container)}>\n <FontAwesomeIcon icon={faTrash} />\n </div>\n <FontAwesomeIcon icon={this.getIcon(this.state.files[idx].extension)} />\n </div>\n )\n }\n\n hasParentClass = (child, current, classname) => {\n if (\n child.className &&\n typeof child.className === 'string' &&\n child.className.includes(classname)\n ) {\n return true\n } else {\n if (child.parentNode == current || child == current) {\n return false\n } else {\n return this.hasParentClass(child.parentNode, current, classname)\n }\n }\n }\n\n getFile = (file, files) => {\n let name = file.name.split('.')\n if (this.checkExtension(name[name.length - 1])) {\n if (\n !this.props.maxFileSize ||\n this.props.maxFileSize * 1000000 > file.size\n ) {\n const reader = new window.FileReader()\n\n reader.onload = () => {\n this.resizeImage(reader.result, file.type, (base64) => {\n let tmpFiles = this.state.files\n\n tmpFiles.push({\n base64,\n mime: file.type,\n name: file.name,\n extension: name[name.length - 1],\n size: file.size\n })\n\n this.setState(\n {\n files: tmpFiles\n },\n () => {\n this.currentFile += 1\n this.nextFile(files)\n }\n )\n })\n }\n\n reader.readAsDataURL(file)\n } else {\n alert(\n `Fichier trop volumineux - Taille maxium ${this.props.maxFileSize}Mo`\n )\n this.currentFile += 1\n this.nextFile(files)\n }\n } else {\n this.currentFile += 1\n this.nextFile(files)\n }\n }\n\n nextFile = (files) => {\n if (this.currentFile === files.length) {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n } else {\n this.getFile(files[this.currentFile], files)\n }\n }\n\n handleDrop = (files) => {\n if (files && files.length) {\n this.currentFile = 0\n this.nextFile(files)\n } else {\n alert('Une erreur est survenue')\n }\n }\n\n getIcon = (extension) => {\n if (['pdf'].includes(extension)) {\n return faFilePdf\n } else if (['doc', 'docx'].includes(extension)) {\n return faFileWord\n } else if (['xls', 'xlsx'].includes(extension)) {\n return faFileExcel\n } else if (['png', 'jpg', 'jpeg'].includes(extension)) {\n return faFileImage\n } else if (['csv'].includes(extension)) {\n return faFileCsv\n } else {\n return faFile\n }\n }\n\n addFile = (file) => {\n let tmpFiles = this.state.files\n\n tmpFiles.push(file)\n\n this.setState({ files: tmpFiles }, () => {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n })\n }\n\n addFiles = (files) => {\n let tmpFiles = files\n\n this.setState({ files: tmpFiles }, () => {\n if (this.props.onDrop) {\n this.props.onDrop(this.state.files)\n }\n })\n }\n\n checkExtension = (extension) => {\n extension = extension ? extension.toLowerCase() : ''\n\n if (!this.props.extensions || this.props.extensions.includes(extension)) {\n return true\n } else {\n return false\n }\n }\n\n render() {\n return (\n <DropzoneCMP onDrop={this.handleDrop}>\n {({ getRootProps, getInputProps }) => (\n <section\n className={classNames(\n style.dropzone_multiple_container,\n this.props.className\n )}\n >\n <div\n {...getRootProps({\n onClick: (e) => {\n if (\n this.hasParentClass(e.target, e.currentTarget, 'not-click')\n ) {\n e.stopPropagation()\n }\n }\n })}\n className={classNames(style.dropzone_multiple_items)}\n >\n {!this.state.files.length ? (\n <span className={classNames(style.background_text)}>\n Glisser et déposer vos fichiers ou cliquer pour en\n sélectionner...{' '}\n {this.props.extensions\n ? `Formats acceptés : ${this.props.extensions.join(', ')}`\n : ''}{' '}\n {this.props.maxFileSize\n ? ` - Taille maximale ${this.props.maxFileSize}Mo`\n : ''}\n </span>\n ) : null}\n <input {...getInputProps()} />\n {this.state.files.map((file, idx) => {\n return this.getFileComponent(idx)\n })}\n </div>\n </section>\n )}\n </DropzoneCMP>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass Status extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.status, this.props.className)}\n style={this.props.style}\n >\n {this.props.text}\n </div>\n )\n }\n}\n\nexport default Status\n","import React from 'react'\nimport style from './style.css'\n\nexport default class AlertContainer extends React.Component {\n render() {\n return <div className={style.alert_container}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Alert extends React.Component {\n componentDidMount() {\n if (this.props.onTimeout) {\n setTimeout(\n () => {\n this.props.onTimeout(this.props.id)\n },\n this.props.timeout ? this.props.timeout : 2000\n )\n }\n }\n\n render() {\n return (\n <div className={classNames(style.alert, this.props.backgroundColor)}>\n <span className={this.props.textColor}>{this.props.text}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class AlertElement extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.alert_element, this.props.backgroundColor)}\n >\n <span\n style={this.props.bold ? { fontWeight: 'bold' } : {}}\n className={this.props.textColor}\n >\n {this.props.children}\n </span>\n <span\n className={classNames(style.alert_element_icon, this.props.textColor)}\n >\n {this.props.icon}\n </span>\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport FormSelect from '../form-select/FormSelect'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport class Chips extends Component {\n constructor(props) {\n super(props)\n this.state = {\n chipsList: this.props.list ? this.props.list : []\n }\n }\n\n componentDidUpdate(prevProps) {\n if (JSON.stringify(this.props.list) !== JSON.stringify(prevProps.list)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ chipsList: this.props.list ? this.props.list : [] })\n }\n }\n\n handleClick = (e) => {\n console.log('e', e)\n let newChipsList = this.state.chipsList\n const { value } = e\n newChipsList = newChipsList.filter((element) => element.value != value)\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n\n handleInputChange = (e) => {\n let newChipsList = this.state.chipsList\n const { value } = e.target\n const index = this.props.options.findIndex(\n (element) => element.value == value\n )\n let isAlreadyInside = false\n newChipsList.map((element) => {\n if (element.value == value || value == 0) isAlreadyInside = true\n return\n })\n if (!isAlreadyInside) {\n newChipsList.push(this.props.options[index])\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.component, this.props.className)}\n style={this.props.style}\n >\n <div className={classNames(style['display-chips'])}>\n {this.state.chipsList.length > 0\n ? this.state.chipsList.map((chips, idx) => {\n return (\n <div key={idx} className={classNames(style.chips)}>\n <div>{chips.text}</div>\n <ButtonIcon\n className={classNames(style.buttonIcon)}\n onClick={() => this.handleClick(chips)}\n >\n <FontAwesomeIcon icon={faTimesCircle} />\n </ButtonIcon>\n </div>\n )\n })\n : null}\n </div>\n <div>\n {this.props.disabledOptions ? null : (\n <FormSelect\n hide={this.disabledOptions ? true : false}\n title='Agences'\n name='agency'\n value={this.state.agency ? this.state.agency : undefined}\n ignore={true}\n options={this.props.options}\n onChange={this.handleInputChange}\n />\n )}\n </div>\n </div>\n )\n }\n}\n\nexport default Chips\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingVerticalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_vertical]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_vertical_left}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_vertical_right}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingVerticalSeparator extends React.Component {\n render() {\n return (\n <div className={style.listing_vertical_separator}>\n <span>|</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingVerticalItem from './ListingVerticalItem'\nimport ListingVerticalSeparator from './ListingVerticalSeparator'\n\nexport default class ListingVertical extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingVerticalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n if (idx < tmpData.length - 1) {\n data.push(<ListingVerticalSeparator key={'s-' + idx} />)\n }\n })\n\n return data\n }\n\n render() {\n return (\n <div className={style.listing_vertical_container}>{this.getData()}</div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingHorizontalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_horizontal]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_horizontal_icon}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_horizontal_text}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingHorizontalSeparator extends React.Component {\n render() {\n return (\n <div\n className={style.listing_horizontal_separator}\n style={{ width: this.props.width }}\n />\n );\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingHorizontalItem from './ListingHorizontalItem'\nimport ListingHorizontalSeparator from './ListingHorizontalSeparator'\n\nexport default class ListingHorizontal extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingHorizontalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n })\n\n return data\n }\n\n render() {\n const separatorWidth = `${\n this.props.data.length > 0\n ? (this.props.data.length - 1) * 140\n : 0\n }px`;\n\n return (\n <div className={style.listing_horizontal_container}>\n <ListingHorizontalSeparator width={separatorWidth} />\n {this.getData()}\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport class Dropdown extends Component {\n constructor(props) {\n super(props)\n this.state = {\n isHide: true\n }\n }\n\n render() {\n var dropdownMenuClass = classNames({\n [style.dropdown_menu]: true,\n [style.show]: !this.state.isHide\n })\n\n return (\n <div className={classNames(style.dropdown)}>\n <div\n className={classNames(style.dropdown_first)}\n onClick={() => this.setState({ isHide: !this.state.isHide })}\n >\n {this.props.title ? <span>{this.props.title}</span> : <></>}\n {this.props.title && this.props.icon ? (\n <div className={classNames(style.space)} />\n ) : (\n <></>\n )}\n {this.props.icon ? this.props.icon : <></>}\n </div>\n <div className={dropdownMenuClass}>\n {this.props.data.map((element, key) => (\n <span key={key}>{element.title}</span>\n ))}\n </div>\n </div>\n )\n }\n}\n\nexport default Dropdown\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\n\nexport default class Error404 extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.error_full)}>\n <div className={classNames(style.error_center)}>\n <div className={classNames(style.error_center_group)}>\n <h3 className={classNames(style.error_title)}>Page not found</h3>\n <h1 className={classNames(style.error_code)}>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>0</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n </h1>\n </div>\n <h2 className={classNames(style.error_text)}>\n {this.props.text ? this.props.text : \"La page n'existe pas\"}\n </h2>\n <Button\n onClick={() =>\n this.props.onBack ? this.props.onBack() : window.history.back()\n }\n text='Retour'\n outline\n />\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\nimport Modal from '../modal/Modal'\nimport { Row, Col } from 'react-flexbox-grid'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\nimport Cookies from 'universal-cookie'\n\nexport default class Cookie extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n show: false,\n showInfo: false\n }\n this.cookies = new Cookies()\n }\n\n componentDidMount() {\n if (\n this.props.force ||\n (this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2')\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.force !== this.props.force ||\n prevProps.name !== this.props.name\n ) {\n if (\n this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2'\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n }\n\n render() {\n return (\n <Modal\n title={\n this.props.title || 'Données personnelles & utilisation des cookies'\n }\n show={this.state.show}\n onClose={this.props.onClose}\n disableClose={true}\n large\n >\n {this.props.message ? (\n this.props.message\n ) : (\n <Fragment>\n <p>\n Nous utilisons des cookies afin d’améliorer votre expérience sur\n le site. Ces cookies servent à personnaliser le contenu du site,\n en mesurer la fréquentation et les performances.\n </p>\n <p>\n En cliquant sur le bouton \"Accepter\" vous acceptez tous les\n cookies. Vous pouvez aussi en savoir plus à tout moment via le\n lien \"RGPD & Cookies\" accessible dans le pied de page.\n </p>\n </Fragment>\n )}\n\n {this.props.infos ? (\n <>\n <a\n href='/'\n style={{ textAlign: 'left', margin: '16px 0' }}\n onClick={(event) => {\n event.preventDefault()\n this.setState((state) => ({\n ...state,\n showInfo: !state.showInfo\n }))\n }}\n >\n En savoir plus{' '}\n <FontAwesomeIcon\n icon={this.state.showInfo ? faCaretUp : faCaretDown}\n />\n </a>\n {this.state.showInfo ? (\n <div style={{ margin: '16px 0' }}>{this.props.infos}</div>\n ) : null}\n </>\n ) : null}\n\n <b>\n Nos cookies ont pour seul et unique but de faire fonctionner le\n service\n </b>\n\n <Row style={{ margin: '16px 0' }}>\n <Col\n xs={12}\n md={this.props.isReject ? 6 : 12}\n style={{ margin: '10px 0' }}\n >\n <Button\n text='Accepter les cookies nécessaires au fonctionnement du service'\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '1',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onAccept) this.props.onAccept()\n })\n }}\n />\n </Col>\n {this.props.isReject ? (\n <Col xs={12} md={6} style={{ margin: '10px 0' }}>\n <Button\n text='Refuser'\n outline\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '0',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onReject) this.props.onReject()\n })\n }}\n />\n </Col>\n ) : null}\n <a\n style={{\n color: 'gray',\n marginTop: '10px',\n marginLeft: 'auto',\n textDecoration: 'none'\n }}\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '2',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onContinue) this.props.onContinue()\n })\n }}\n >\n Continuer sans accepter\n </a>\n </Row>\n </Modal>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { Row, Col } from 'react-flexbox-grid'\n\nexport default class Footer extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={style.footer}>\n <Row>\n <Col xs={12} md={12} lg={4} className='mt-5 mb-5 d-flex'>\n <img className='m-auto' src={this.props.logo} />\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.legal}\n onClick={this.props.onLegalClick}\n >\n Mentions Légales\n </a>\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.rgpd}\n onClick={this.props.onRgpdClick}\n >\n RGPD & Cookies\n </a>\n </Col>\n {this.props.socialNetwork ? (\n <Col xs={12} className='mt-5 mb-5 text-center'>\n {this.props.socialNetwork}\n </Col>\n ) : null}\n </Row>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Switch extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n idxActive: 0\n }\n }\n\n componentDidMount() {\n if (this.props.idxActive !== undefined) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.idxActive !== undefined &&\n prevProps.idxActive !== this.props.idxActive &&\n this.props.idxActive !== this.state.prevProps\n ) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n render() {\n return (\n <div className={classNames(style.switch_container, this.props.className)}>\n {this.props.title ? (\n <span className={this.props.classNameTitle}>{this.props.title}</span>\n ) : null}\n <div className={classNames(style.switch)}>\n <div\n onClick={() =>\n this.setState({ idxActive: 0 }, () =>\n this.props.onChange ? this.props.onChange(0) : null\n )\n }\n style={\n this.state.idxActive === 0\n ? { backgroundColor: this.props.color1, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value1}</span>\n </div>\n <div\n onClick={() =>\n this.setState({ idxActive: 1 }, () =>\n this.props.onChange ? this.props.onChange(1) : null\n )\n }\n style={\n this.state.idxActive === 1\n ? { backgroundColor: this.props.color2, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value2}</span>\n </div>\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\n\nexport default class Gauge extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isDisplay: true,\n isActive: false,\n position: 0\n }\n }\n\n componentDidMount() {\n this.setState({\n isDisplay: true\n })\n\n if (this.props.position) {\n this.setState({\n position: this.props.position\n })\n }\n\n window.addEventListener('mouseup', this.eventMouseUp, true)\n }\n\n componentWillUnmount() {\n this.setState({ isDisplay: false }, () => {\n window.removeEventListener('mouseup', this.eventMouseUp)\n })\n }\n\n eventMouseUp = () => {\n if (this.state.isDisplay) {\n this.setState({ isActive: false })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.position !== this.props.position &&\n this.props.position !== this.state.position\n ) {\n this.setState({\n position: this.props.position\n })\n }\n }\n\n onMouse = (e, isForce = false) => {\n if (this.state.isActive || isForce) {\n let currentTargetRect = e.currentTarget.getBoundingClientRect()\n const width = currentTargetRect.width\n const positionX = e.pageX - currentTargetRect.left\n\n const step = this.props.step ? this.props.step : 1\n\n let position =\n (positionX * 100) / width - (((positionX * 100) / width) % step)\n\n this.setState(\n {\n position\n },\n () => (this.props.onChange ? this.props.onChange(position) : null)\n )\n }\n }\n\n render() {\n return (\n <div className={this.props.className}>\n {this.props.onEdit ? (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--blue)',\n marginBottom: '16px',\n cursor: 'pointer',\n textDecoration: 'underline'\n }}\n onClick={this.props.onEdit}\n >\n {this.props.title}\n </span>\n ) : (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--black)',\n marginBottom: '16px'\n }}\n >\n {this.props.title}\n </span>\n )}\n <div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '22px',\n backgroundImage:\n this.props.colors.length === 3\n ? `linear-gradient(to right, ${this.props.colors[0]} 0%, ${this.props.colors[1]} 50%, ${this.props.colors[2]} 100%)`\n : `linear-gradient(to right, ${this.props.colors[0]}, ${this.props.colors[1]})`,\n borderRadius: '8px'\n }}\n onMouseMove={(e) => this.onMouse(e)}\n onClick={(e) => this.onMouse(e, true)}\n onMouseDown={(e) => {\n e.preventDefault()\n\n this.setState({\n isActive: true\n })\n }}\n >\n {this.props.min ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.min + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MIN\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.min + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.max ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.max + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MAX\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.max + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.noText ? null : (\n <span\n style={{\n position: 'absolute',\n left: this.state.position + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-16px',\n fontSize: '10px',\n fontWeight: 'bold',\n transition: '0.3s'\n }}\n >\n {parseInt(this.state.position)}%\n </span>\n )}\n <div\n className='cursor-pointer'\n style={{\n position: 'absolute',\n bottom: '-6px',\n width: 0,\n height: 0,\n borderLeft: '10px solid transparent',\n borderRight: '10px solid transparent',\n borderBottom: '18px solid black',\n transform: 'translateX(-50%)',\n left: this.state.position + '%'\n }}\n ></div>\n </div>\n </div>\n </div>\n )\n }\n}\n","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.3';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","import Holidays from 'date-holidays'\nimport React, { Fragment } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight,\n faTimes,\n faCheck\n} from '@fortawesome/free-solid-svg-icons'\nimport moment from 'moment'\nimport { Row, Col } from 'react-flexbox-grid'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nconst hd = new Holidays('FR')\n\nexport default class Calendar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n year: parseInt(moment().format('YYYY')),\n month: parseInt(moment().format('MM')),\n days: [],\n activeDate: null,\n times: [],\n activeTime: null\n }\n\n this.months = [\n 'Janvier',\n 'Février',\n 'Mars',\n 'Avril',\n 'Mai',\n 'Juin',\n 'Juillet',\n 'Août',\n 'Septembre',\n 'Octobre',\n 'Novembre',\n 'Décembre'\n ]\n }\n\n componentDidMount() {\n this.getArrayDays()\n this.getArrayTime()\n\n this.setState({\n year: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('YYYY'))\n : this.state.year,\n month: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('M'))\n : this.state.month,\n activeDate: this.props.valueDate\n ? this.props.valueDate\n : this.state.activeDate,\n activeTime: this.props.valueTime ? this.props.valueTime : this.state.Time\n })\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueDate\n ) {\n this.setState(\n {\n year: parseInt(moment(this.props.valueDate).format('YYYY')),\n month: parseInt(moment(this.props.valueDate).format('M')),\n activeDate: this.props.valueDate\n },\n () => {\n this.getArrayDays()\n }\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayDays()\n }\n\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueTime\n ) {\n this.setState(\n {\n activeTime: this.props.valueTime\n },\n this.getArrayTime\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayTime()\n } else if (\n this.props.timesRange &&\n JSON.stringify(this.props.timesRange) !==\n JSON.stringify(prevProps.timesRange)\n ) {\n this.getArrayTime()\n }\n }\n\n handlePreviousYearClick = () => {\n this.setState(\n {\n year: this.state.year - 1\n },\n this.getArrayDays\n )\n }\n handleNextYearClick = () => {\n this.setState(\n {\n year: this.state.year + 1\n },\n this.getArrayDays\n )\n }\n\n handlePreviousMonthClick = () => {\n if (this.state.month - 1 < 1) {\n this.setState(\n {\n year: this.state.year - 1,\n month: 12\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month - 1\n },\n this.getArrayDays\n )\n }\n }\n handleNextMonthClick = () => {\n if (this.state.month + 1 > 12) {\n this.setState(\n {\n year: this.state.year + 1,\n month: 1\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month + 1\n },\n this.getArrayDays\n )\n }\n }\n\n getArrayDays = () => {\n this.holidays = hd\n .getHolidays(this.state.year)\n .map((date) => moment(date.date).format('YYYY-MM-DD'))\n\n const endOfMonth = parseInt(\n moment(`${this.state.year}-${this.state.month}`, 'YYYY-M')\n .endOf('month')\n .format('D')\n )\n\n const startDayOfMonth = moment(\n `${this.state.year}-${this.state.month}`,\n 'YYYY-M'\n ).isoWeekday()\n\n let rows = []\n\n for (\n let index = startDayOfMonth - 1;\n index < endOfMonth + (startDayOfMonth - 1);\n index++\n ) {\n const col = index % 7\n const row = parseInt(index / 7)\n\n if (!rows.hasOwnProperty(row)) {\n rows.push([null, null, null, null, null, null, null])\n }\n rows[row][col] = index - startDayOfMonth + 2\n }\n\n this.setState({ days: rows })\n }\n\n handleActiveClick = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n this.setState(\n {\n activeDate: null,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(null)\n }\n }\n )\n } else if (checkActive === 0) {\n this.setState(\n {\n activeDate: currentDate,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(currentDate)\n }\n }\n )\n }\n }\n\n checkActive = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n if (this.state.activeDate === currentDate) {\n return 1\n } else {\n if (this.props.enabledDates && this.props.enabledDates.length) {\n if (\n this.props.enabledDates.includes(currentDate) &&\n !(\n this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))\n )\n ) {\n return 0\n } else {\n return 2\n }\n } else if (\n (this.props.disabledDates &&\n this.props.disabledDates.includes(currentDate)) ||\n (!this.props.isWeek &&\n [6, 7].includes(parseInt(moment(currentDate).isoWeekday()))) ||\n (!this.props.isHoliday && this.holidays.includes(currentDate)) ||\n (this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))) ||\n (this.props.maxDate &&\n moment(this.props.maxDate).isBefore(moment(currentDate))) ||\n (this.props.disabledDays &&\n this.props.disabledDays.filter(\n (element, idx) => element === 1 && idx === col\n ).length)\n ) {\n return 2\n } else {\n return 0\n }\n }\n }\n\n checkActiveClassName = (row, col) => {\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n return style.active\n } else if (checkActive === 2) {\n return style.disabled\n } else {\n return ''\n }\n }\n\n handleTimeClick = (time) => {\n if (!this.props.disabledTime.includes(time)) {\n this.setState({\n activeTime: time\n })\n }\n }\n\n getArrayTime = () => {\n if (this.props.isTime) {\n let times = []\n\n this.props.timesRange.map((range) => {\n const start = moment(range[0], 'HH:mm')\n const end = moment(range[1], 'HH:mm')\n let old = start\n\n while (old.isBefore(end)) {\n times.push(old.format('HH:mm'))\n old = old.add(\n this.props.timeStep ? this.props.timeStep : 30,\n 'minutes'\n )\n }\n })\n\n this.setState({\n times\n })\n } else {\n this.setState({\n times: []\n })\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n\n return (\n <div className={style.calendar_container}>\n <div className={style.calendar}>\n <div className={style.calendar_header}></div>\n <Row>\n <Col\n xs={12}\n md={this.props.isTime && this.state.activeDate ? 7 : 12}\n >\n <div className={style.calendar_body}>\n <div className={style.calendar_header_year}>\n <span>{this.state.year}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousYearClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextYearClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_month}>\n <span>{this.months[parseInt(this.state.month) - 1]}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousMonthClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextMonthClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_day}>\n <table className={style.calendar_table}>\n <thead>\n <tr>\n <th>Lun.</th>\n <th>Mar.</th>\n <th>Mer.</th>\n <th>Jeu.</th>\n <th>Ven.</th>\n {this.props.isWeek ? <th>Sam.</th> : null}\n {this.props.isWeek ? <th>Dim.</th> : null}\n </tr>\n </thead>\n <tbody>\n {this.state.days.map((row, idxRow) => (\n <tr key={idxRow}>\n {row.map((col, idxCol) =>\n this.props.isWeek || idxCol < 5 ? (\n <td key={`${idxRow}-${idxCol}`}>\n {col ? (\n <span\n className={this.checkActiveClassName(\n idxRow,\n idxCol\n )}\n onClick={() =>\n this.handleActiveClick(idxRow, idxCol)\n }\n >\n {moment(\n `${this.state.year}-${this.state.month}-${col}`,\n 'YYYY-M-D'\n ).format('DD')}\n </span>\n ) : null}\n </td>\n ) : null\n )}\n </tr>\n ))}\n {this.state.days.length < 6 ? <tr style={{height: \"46px\"}}></tr> : null}\n </tbody>\n </table>\n </div>\n </div>\n </Col>\n {this.props.isTime && this.state.activeDate ? (\n <Col xs={12} md={5}>\n <div className={style.calendar_time_body}>\n {this.state.times.map((time, idx) => (\n <div\n key={idx}\n className={classNames(\n style.calendar_time_button,\n time === this.state.activeTime ? style.active : '',\n this.props.disabledTime.includes(time)\n ? style.disabled\n : ''\n )}\n onClick={() => this.handleTimeClick(time)}\n >\n <span>{time}</span>\n </div>\n ))}\n </div>\n </Col>\n ) : null}\n </Row>\n <div className={style.calendar_footer}>\n <div\n className={classNames(style.calendar_button, style.button_red)}\n onClick={() => this.props.onClose()}\n >\n <span>Retour</span>\n <FontAwesomeIcon icon={faTimes} />\n </div>\n <div\n className={style.calendar_button}\n onClick={() =>\n this.props.onValid(this.state.activeDate, this.state.activeTime)\n }\n >\n <span>Valider</span>\n <FontAwesomeIcon icon={faCheck} />\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["Modal","props","handleMouseUp","setState","isMove","window","removeEventListener","updateMousePosition","e","x","clientX","y","clientY","state","xStart","yStart","componentDidMount","show","document","body","style","overflow","addEventListener","componentWillUnmount","componentDidUpdate","handleClickModal","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","no_background","noBackground","modal_container","className","React","modal","left","top","modal_move","FontAwesomeIcon","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","Component","FullModal","documentElement","full_modal_container","closeStyle","onCustom","modal_custom","customIcon","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","noOverflow","full_modal_body_no_overflow","Button","buttonClass","button_outline","outline","button","button_special","small","big","button_red","red","button_blue","blue","button_orange","orange","button_green","green","onClick","disabled","styleSpan","text","toUpperCase","styleDiv","button_special_icon","ButtonIcon","isHover","button_icon","white","button_icon_background","isBackground","info","position","padding","borderRadius","backgroundColor","bottom","transform","color","fontSize","minWidth","whiteSpace","FloatActionButton","floatActionClass","float_action","float_action_container","float_action_button","icon","FloatActionButtonItem","float_action_item_container","float_action_item_text","float_action_item","FormInput","form_input_container","classNameTitle","required","form_input_container_icon","styleInput","form_input_icon","type","placeholder","onChange","onKeyDown","onBlur","value","name","min","max","error","form_input_error","form_input","FormTextarea","handleKeyDown","height","scrollHeight","form_textarea_container","noResize","rows","cols","form_textarea","form_textarea_error","FormSelect","form_select_container","ignore","form_select","defaultValue","init","options","map","element","idx","form_select_error","FormRange","handleClickOutside","event","refComponent","current","contains","isOpen","findText","input","result","filter","item","toString","length","getLabel","value1","value2","options1","options2","createRef","form_range_container","form_range","faCaretUp","faCaretDown","form_range_modal","Fragment","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","checked","form_checkbox_mark","FormSelectMutiples","includes","splice","indexOf","push","isDisplay","inputRef","form_select_multiples_container","form_select_multiples","getBoundingClientRect","width","offsetWidth","form_select_values","form_select_multiples_bottom","FormRadio","radio_container","form_radio_container","form_radio_mark","Table","getArray","data","Array","isArray","getCSV","callback","dataCSV","forEach","line","column","link","createElement","href","encodeURIComponent","download","nameCSV","click","tableClass","table","tableEmpty","empty","radiusTopLeft","radiusTopRight","isCSV","getAllData","csvCallback","trEmpty","Thead","thead","Tbody","tbody","Th","handleSortClick","desc","sort","onSort","getSortButton","table_sort","thClass","th","pointer","spaceLeft","spaceRight","noSpaceLeft","noSpaceRight","radiusBottomLeft","radiusBottomRight","hide","rowSpan","colSpan","table_flex","margin","dangerouslySetInnerHTML","Td","tdClass","td","Tr","tr","Nav","nav","nav_left","back","nav_back","onBack","faArrowLeft","nav_text","subtitle","nav_right","Header","snowflake","COUNT","masthead","querySelector","canvas","ctx","getContext","clientWidth","clientHeight","i","active","onResize","fillStyle","wasActive","requestAnimFrame","update","Snowflake","vy","vx","r","reset","prototype","Math","random","o","snowflakes","clearRect","globalAlpha","beginPath","arc","PI","closePath","fill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","appendChild","header","header_absolute","styleBackground","header_left","logo","header_right","sidebarRef","isMobile","handleHideClick","faEllipsisV","Card","getWith","refTitle","prevProps","prevState","border","borderLeft","card","card_disabled","imgLeft","customWidthImgLeft","flexGrow","flexShrink","isLoad","card_loader_container","loader_element","classNameChildren","loader","loaderText","display","flexDirection","card_top_border","borderTopColor","card_header","card_header_left","card_header_right","card_header_action","disableStyleAction","card_header_action_disable","action","card_body","imgRight","customWidthImgRight","CardColor","card_color","count","card_color_left","card_color_image_left","image","card_color_center","card_color_right","faArrowRight","CardStatistics","card_statistics","card_statistics_body","evolutionColor","evolution","card_statistics_icon","CardTabs","card_tabs","card_tabs_header","card_tabs_header_left","titles","card_tabs_header_active","card_tabs_body","contents","Slider","slider","slider_button","faChevronLeft","slider_value","faChevronRight","Signature","signatureClass","signature","signature_remove","onRemove","signature_add","onAdd","faPlus","cursor","faBan","Tabs","tabs","TabsHeader","tabs_header","TabsBody","tabs_body","TabsItem","tabsItemClass","tabs_item","TabsMenu","tabsMenuClass","tabs_menu","TabsCustom","tabs_custom","TabsCustomHeader","tabsHeaderClass","tabs_custom_header","noCard","TabsCustomBody","tabsBodyClass","tabs_custom_body","TabsCustomItem","tabs_custom_item","TabsCustomMenu","tabs_custom_menu","TabsCustomArrowCustom","tabs_custom_arrow","TabsCustomArrowHeader","tabs_custom_arrow_header","TabsCustomArrowBody","tabs_custom_arrow_body","TabsCustomArrowItem","tabs_custom_arrow_item","TabsCustomArrowMenu","tabs_custom_arrow_menu","TabsEdit","tabs_edit","TabsEditHeader","tabs_edit_header","onClickAdd","TabsEditBody","tabs_edit_body","TabsEditItem","tabs_edit_item","TabsEditMenu","tabs_edit_menu","Sidebar","checkIfMobile","innerWidth","isHide","setSidebar","location","views","path","pathname","elementDropdown","idxDropdown","onHide","undefined","JSON","stringify","handleDropdownClick","id","handleChangeViewClick","idDropdown","onViewChange","sidebarClass","mobile","sidebar","sidebar_header","sidebar_icon","button_hide","faCaretRight","faCaretLeft","sidebar_user","picture","sidebar_user_icon","faUser","sidebar_user_text","sidebar_user_title","sidebar_user_subtitle","sidebar_body","allowDisabledClick","sidebar_button","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","Doughnut","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","dataValue","dataSet","label","borderColor","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","Bar","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","Radar","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","HorizontalBar","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","resizeImage","maxImageSize","Image","src","initialWidth","initialHeight","finalWidth","finalHeight","drawImage","toDataURL","handleDeleteFile","files","getFileComponent","dropzone_multiple_item","delete_item_container","faTrash","getIcon","extension","hasParentClass","child","classname","parentNode","getFile","split","checkExtension","maxFileSize","tmpFiles","currentFile","nextFile","alert","handleDrop","faFilePdf","faFileWord","faFileExcel","faFileImage","faFileCsv","faFile","addFile","addFiles","toLowerCase","extensions","dropzone_multiple_container","stopPropagation","dropzone_multiple_items","background_text","Status","status","AlertContainer","alert_container","Alert","onTimeout","timeout","textColor","AlertElement","alert_element","bold","fontWeight","alert_element_icon","Chips","handleClick","newChipsList","chipsList","handleInputChange","findIndex","isAlreadyInside","list","component","chips","buttonIcon","faTimesCircle","disabledOptions","agency","ListingVerticalItem","listingClass","listing_vertical","listing_green","listing_orange","listing_vertical_left","listing_vertical_right","date","ListingVerticalSeparator","listing_vertical_separator","ListingVertical","tmpData","listing_vertical_container","ListingHorizontalItem","listing_horizontal","listing_horizontal_icon","listing_horizontal_text","ListingHorizontalSeparator","listing_horizontal_separator","ListingHorizontal","separatorWidth","listing_horizontal_container","Dropdown","dropdownMenuClass","dropdown_menu","dropdown","dropdown_first","space","key","Error404","error_full","error_center","error_center_group","error_title","error_code","error_text","history","Cookie","showInfo","cookies","Cookies","force","infos","textAlign","preventDefault","Row","Col","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","socialNetwork","Switch","idxActive","switch_container","color1","color2","Gauge","eventMouseUp","isActive","onMouse","isForce","currentTargetRect","positionX","pageX","step","onEdit","marginBottom","backgroundImage","colors","noText","transition","parseInt","borderRight","borderBottom","this","require","hd","Holidays","Calendar","handlePreviousYearClick","year","getArrayDays","handleNextYearClick","handlePreviousMonthClick","month","handleNextMonthClick","holidays","getHolidays","moment","endOfMonth","endOf","startDayOfMonth","isoWeekday","col","row","hasOwnProperty","days","handleActiveClick","currentDate","checkActive","activeDate","activeTime","enabledDates","minDate","isAfter","disabledDates","isWeek","isHoliday","maxDate","isBefore","disabledDays","checkActiveClassName","handleTimeClick","time","disabledTime","getArrayTime","isTime","times","timesRange","range","start","end","old","add","timeStep","months","valueDate","valueTime","Time","calendar_container","calendar","calendar_header","calendar_body","calendar_header_year","calendar_switch_button","calendar_header_month","calendar_header_day","calendar_table","idxRow","idxCol","calendar_time_body","calendar_time_button","calendar_footer","calendar_button"],"mappings":"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"}
|