ui-kit-ck-consultant 0.5.301 → 0.5.303

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-select-multiples/FormSelectMultiples.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React, { 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.extraLarge]: !!this.props.extraLarge,\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 className={style.modal_right}>\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>\n <div className={style.modal_header}>\n <h2 className='mt-0'>{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 getRightItems = () => {\n return (\n <>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {this.props.onClose ? (\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 ) : null}\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 </>\n )\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\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 {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2 className='mr-auto'>{this.props.title}</h2>\n <div className='d-flex m-auto mr-0'>{this.getRightItems()}</div>\n </div>\n ) : (\n <div className={style.modal_right}>{this.getRightItems()}</div>\n )}\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 this.props.classNameChildren\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 autoFocus={this.props.autoFocus}\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 autoFocus={this.props.autoFocus}\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 { [style.form_checkbox_container_in_select]: !!this.props.isInSelect }\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\n ref={this.inputRef}\n className={style.form_select_multiples}\n onClick={() => this.setState({ isDisplay: !this.state.isDisplay })}\n >\n <span>\n {this.props.value && this.props.value.length\n ? this.props.options\n .filter((element) => this.props.value.includes(element.value))\n .map((element, idx) => `${idx ? ';' : ''}${element.text}`)\n : this.props.default}\n </span>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n {this.state.isDisplay ? (\n <div\n style={{\n top: this.inputRef.current.getBoundingClientRect().y + 60,\n left: this.inputRef.current.getBoundingClientRect().x,\n width: this.inputRef.current.offsetWidth\n }}\n className={style.form_select_values}\n >\n <div>\n {this.props.options.map((element, idx) => (\n <div key={idx} onClick={() => this.onClick(element)}>\n <FormCheckbox\n isInSelect\n onChange={() => {}}\n checked={this.props.value.includes(element.value)}\n text={element.text}\n />\n </div>\n ))}\n </div>\n <div\n className={classNames(\n 'mt-auto d-flex',\n style.form_select_multiples_bottom\n )}\n >\n <span onClick={() => this.props.onChange([])}>Effacer</span>\n <span\n className='ml-auto'\n onClick={() => this.setState({ isDisplay: false })}\n >\n Valider\n </span>\n </div>\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 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={\n this.props.sort ? this.handleSortClick : this.props.onClick || null\n }\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 if (this.props.noCard) {\n return this.props.children\n }\n\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 position: 'relative',\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{\n position: 'absolute',\n right: 0,\n height: '100%'\n }}\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 ...(this.props.style || {})\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 position: 'relative',\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{\n position: 'absolute',\n ...(this.props.forceRight\n ? {\n right: 0\n }\n : { left: 0 }),\n height: '100%'\n }}\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: '8px'\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 {\n files\n },\n () => {\n this.props.onDrop(this.state.files)\n }\n )\n }\n\n handleDeleteFiles = () => {\n this.setState(\n {\n files: []\n },\n () => {\n this.props.onDrop([])\n }\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 {this.props.logo ? (\n <div>\n <img\n height={50}\n alt='groupe lang & associés'\n src={this.props.logo}\n />\n </div>\n ) : null}\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.isActive) {\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\n ? this.props.step\n : 1\n\n let position =\n Math.round((positionX * 100) / width) -\n (Math.round((positionX * 100) / width) % step)\n\n if (position > 100) {\n position = 100\n } else if (position < 0) {\n position = 0\n }\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","extraLarge","no_background","noBackground","modal_container","className","React","Fragment","modal","left","top","modal_right","modal_move","FontAwesomeIcon","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","Component","FullModal","getRightItems","closeStyle","onCustom","modal_custom","customIcon","full_modal_container","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","noOverflow","full_modal_body_no_overflow","classNameChildren","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","autoFocus","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","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","form_checkbox_container_in_select","isInSelect","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","noCard","border","borderLeft","card","card_disabled","imgLeft","customWidthImgLeft","flexGrow","flexShrink","right","isLoad","card_loader_container","loader_element","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","forceRight","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","TabsCustomBody","tabsBodyClass","tabs_custom_body","TabsCustomItem","tabs_custom_item","TabsCustomMenu","tabs_custom_menu","TabsCustomArrowCustom","tabs_custom_arrow","TabsCustomArrowHeader","tabs_custom_arrow_header","TabsCustomArrowBody","tabs_custom_arrow_body","TabsCustomArrowItem","tabs_custom_arrow_item","TabsCustomArrowMenu","tabs_custom_arrow_menu","TabsEdit","tabs_edit","TabsEditHeader","tabs_edit_header","onClickAdd","TabsEditBody","tabs_edit_body","TabsEditItem","tabs_edit_item","TabsEditMenu","tabs_edit_menu","Sidebar","checkIfMobile","innerWidth","isHide","setSidebar","location","views","path","pathname","elementDropdown","idxDropdown","onHide","undefined","JSON","stringify","handleDropdownClick","id","handleChangeViewClick","idDropdown","onViewChange","sidebarClass","mobile","sidebar","sidebar_header","sidebar_icon","button_hide","faCaretRight","faCaretLeft","sidebar_user","picture","sidebar_user_icon","faUser","sidebar_user_text","sidebar_user_title","sidebar_user_subtitle","sidebar_body","allowDisabledClick","sidebar_button","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","Doughnut","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","Bar","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","Radar","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","HorizontalBar","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","resizeImage","maxImageSize","Image","src","initialWidth","initialHeight","finalWidth","finalHeight","canvas","ctx","getContext","drawImage","toDataURL","handleDeleteFile","files","handleDeleteFiles","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","Row","Col","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","socialNetwork","Switch","idxActive","switch_container","color1","color2","Gauge","eventMouseUp","isActive","onMouse","isForce","currentTargetRect","positionX","pageX","step","Math","round","onEdit","marginBottom","backgroundImage","colors","noText","transition","parseInt","borderRight","borderBottom","this","require","hd","Holidays","Calendar","handlePreviousYearClick","year","getArrayDays","handleNextYearClick","handlePreviousMonthClick","month","handleNextMonthClick","holidays","getHolidays","moment","endOfMonth","endOf","startDayOfMonth","isoWeekday","col","row","hasOwnProperty","days","handleActiveClick","currentDate","checkActive","activeDate","activeTime","enabledDates","minDate","isAfter","disabledDates","isWeek","isHoliday","maxDate","isBefore","disabledDays","checkActiveClassName","handleTimeClick","time","disabledTime","getArrayTime","isTime","times","timesRange","range","start","end","old","add","timeStep","months","valueDate","valueTime","Time","calendar_container","calendar","calendar_header","calendar_body","calendar_header_year","calendar_switch_button","calendar_header_month","calendar_header_day","calendar_table","idxRow","idxCol","calendar_time_body","calendar_time_button","calendar_footer","calendar_button"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-select-multiples/FormSelectMultiples.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React, { 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.extraLarge]: !!this.props.extraLarge,\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 className={style.modal_right}>\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>\n <div className={style.modal_header}>\n <h2 className='mt-0'>{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 getRightItems = () => {\n return (\n <>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {this.props.onClose ? (\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 ) : null}\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 </>\n )\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\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 {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2 className='mr-auto'>{this.props.title}</h2>\n <div className='d-flex m-auto mr-0'>{this.getRightItems()}</div>\n </div>\n ) : (\n <div className={style.modal_right}>{this.getRightItems()}</div>\n )}\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 this.props.classNameChildren\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 autoFocus={this.props.autoFocus}\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 autoFocus={this.props.autoFocus}\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 { [style.form_checkbox_container_in_select]: !!this.props.isInSelect }\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.containerRef = React.createRef()\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 componentDidMount() {\n document.addEventListener('mousedown', this.detectClickOutside)\n }\n\n componentWillUnmount() {\n window.removeEventListener('mousedown', this.detectClickOutside)\n }\n\n detectClickOutside = (event) => {\n if (!this.containerRef.current.contains(event.target)) {\n this.setState({ isDisplay: false })\n }\n }\n\n render() {\n return (\n <div\n ref={this.containerRef}\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\n ref={this.inputRef}\n className={style.form_select_multiples}\n onClick={() => this.setState({ isDisplay: !this.state.isDisplay })}\n >\n <span>\n {this.props.value && this.props.value.length\n ? this.props.options\n .filter((element) => this.props.value.includes(element.value))\n .map((element, idx) => `${idx ? ';' : ''}${element.text}`)\n : this.props.default}\n </span>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n {this.state.isDisplay ? (\n <div\n style={{\n top: this.inputRef.current.getBoundingClientRect().y + 60,\n left: this.inputRef.current.getBoundingClientRect().x,\n width: this.inputRef.current.offsetWidth\n }}\n className={style.form_select_values}\n >\n <div>\n {this.props.options.map((element, idx) => (\n <div key={idx} onClick={() => this.onClick(element)}>\n <FormCheckbox\n isInSelect\n onChange={() => {}}\n checked={this.props.value.includes(element.value)}\n text={element.text}\n />\n </div>\n ))}\n </div>\n <div\n className={classNames(\n 'mt-auto d-flex',\n style.form_select_multiples_bottom\n )}\n >\n <span onClick={() => this.props.onChange([])}>Effacer</span>\n <span\n className='ml-auto'\n onClick={() => this.setState({ isDisplay: false })}\n >\n Valider\n </span>\n </div>\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 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={\n this.props.sort ? this.handleSortClick : this.props.onClick || null\n }\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 if (this.props.noCard) {\n return this.props.children\n }\n\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 position: 'relative',\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{\n position: 'absolute',\n right: 0,\n height: '100%'\n }}\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 ...(this.props.style || {})\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 position: 'relative',\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%',\n flexGrow: 0,\n flexShrink: 0\n }}\n >\n <img\n style={{\n position: 'absolute',\n ...(this.props.forceRight\n ? {\n right: 0\n }\n : { left: 0 }),\n height: '100%'\n }}\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: '8px'\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 style={element.isRed ? { color: 'var(--red)' } : {}}\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 {\n files\n },\n () => {\n this.props.onDrop(this.state.files)\n }\n )\n }\n\n handleDeleteFiles = () => {\n this.setState(\n {\n files: []\n },\n () => {\n this.props.onDrop([])\n }\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 {this.props.logo ? (\n <div>\n <img\n height={50}\n alt='groupe lang & associés'\n src={this.props.logo}\n />\n </div>\n ) : null}\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.isActive) {\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\n ? this.props.step\n : 1\n\n let position =\n Math.round((positionX * 100) / width) -\n (Math.round((positionX * 100) / width) % step)\n\n if (position > 100) {\n position = 100\n } else if (position < 0) {\n position = 0\n }\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","extraLarge","no_background","noBackground","modal_container","className","React","Fragment","modal","left","top","modal_right","modal_move","FontAwesomeIcon","faUpDownLeftRight","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","Component","FullModal","getRightItems","closeStyle","onCustom","modal_custom","customIcon","full_modal_container","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","noOverflow","full_modal_body_no_overflow","classNameChildren","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","autoFocus","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","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","form_checkbox_container_in_select","isInSelect","checked","form_checkbox_mark","FormSelectMultiples","includes","splice","indexOf","push","detectClickOutside","containerRef","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","noCard","border","borderLeft","card","card_disabled","imgLeft","customWidthImgLeft","flexGrow","flexShrink","right","isLoad","card_loader_container","loader_element","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","forceRight","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","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","isRed","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","Doughnut","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","Bar","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","Radar","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","HorizontalBar","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","resizeImage","maxImageSize","Image","src","initialWidth","initialHeight","finalWidth","finalHeight","canvas","ctx","getContext","drawImage","toDataURL","handleDeleteFile","files","handleDeleteFiles","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","Row","Col","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","socialNetwork","Switch","idxActive","switch_container","color1","color2","Gauge","eventMouseUp","isActive","onMouse","isForce","currentTargetRect","positionX","pageX","step","Math","round","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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"}