ui-kit-ck-consultant 0.5.274 → 0.5.276
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 +4 -3
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +4 -3
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.modern.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 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 <>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\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(\n 'mousemove',\n this.updateMousePosition\n )\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}\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 render() {\n if (!this.props.show) {\n return null\n }\n return (\n <>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\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\n className={style.modal_close}\n style={this.props.closeStyle}\n onClick={this.props.onClose}\n >\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}\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 FormSelectMultiples 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 render() {\n return (\n <div className={classNames(style.header, this.props.className, 'sky')}>\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 height: '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\n className={classNames(\n style.card_color,\n this.props.onClick ? style.card_color_action : {},\n this.props.className\n )}\n onClick={this.props.onClick}\n >\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}>\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 render() {\n if (!this.props.show) return null\n\n return (\n <>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\n <div\n className={classNames(style.loader_container, this.props.className)}\n >\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}\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('mouseup', this.eventMouseUp, true)\n }\n\n componentWillUnmount() {\n window.removeEventListener('mouseup', this.eventMouseUp, true)\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","addEventListener","componentWillUnmount","componentDidUpdate","show","document","body","style","overflow","handleClickModal","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","no_background","noBackground","modal_container","className","modal","left","top","modal_move","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","React","Component","FullModal","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","FormSelectMultiples","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","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","card_color_action","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","active","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","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","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","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","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","canvas","ctx","getContext","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","setTimeout","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","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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"}
|
1
|
+
{"version":3,"file":"index.modern.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, { Fragment } 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 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 <Fragment>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\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(\n 'mousemove',\n this.updateMousePosition\n )\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 </Fragment>\n )\n }\n}\n","import React, { Fragment } 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 render() {\n if (!this.props.show) {\n return null\n }\n return (\n <Fragment>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\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\n className={style.modal_close}\n style={this.props.closeStyle}\n onClick={this.props.onClose}\n >\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 </Fragment>\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 autoFocus={this.props.autoFocus}\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 FormSelectMultiples 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 render() {\n return (\n <div className={classNames(style.header, this.props.className, 'sky')}>\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 height: '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\n className={classNames(\n style.card_color,\n this.props.onClick ? style.card_color_action : {},\n this.props.className\n )}\n onClick={this.props.onClick}\n >\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}>\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, { Fragment } from 'react'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Loader extends React.Component {\n render() {\n if (!this.props.show) return null\n\n return (\n <Fragment>\n {this.props.show ? <style>{`body {overflow: \"hidden\" }`}</style> : null}\n <div\n className={classNames(style.loader_container, this.props.className)}\n >\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 </Fragment>\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('mouseup', this.eventMouseUp, true)\n }\n\n componentWillUnmount() {\n window.removeEventListener('mouseup', this.eventMouseUp, true)\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","addEventListener","componentWillUnmount","componentDidUpdate","show","document","body","style","overflow","handleClickModal","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","no_background","noBackground","modal_container","className","Fragment","modal","left","top","modal_move","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","React","Component","FullModal","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","autoFocus","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","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","checked","form_checkbox_mark","FormSelectMultiples","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","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","card_color_action","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","active","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","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","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","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","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","canvas","ctx","getContext","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","setTimeout","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","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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"}
|