ui-kit-ck-consultant 0.5.211 → 0.5.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -21
- package/dist/index.js +108 -89
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +108 -89
- package/dist/index.modern.js.map +1 -1
- package/package.json +23 -24
- package/dist/expertloupe~balyfBDB.svg +0 -74
package/dist/index.modern.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Modal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n 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 },\n style.modal_container,\n this.props.className\n )\n\n return (\n <div className={style.modal} onMouseDown={(e) => this.handleClickModal(e)}>\n <div className={modalContainerClass}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {!this.props.disableClose ? (\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n ) : null}\n <div className={style.modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n <div className={style.modal_body}>{this.props.children}</div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FullModal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n return (\n <div className={classNames(style.modal, this.props.className)}>\n <div className={style.full_modal_container}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n ) : null}\n <div\n className={\n this.props.noPadding\n ? style.full_modal_body_no_padding\n : style.full_modal_body\n }\n >\n {this.props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Button extends React.Component {\n render() {\n var buttonClass = classNames({\n [style.button_outline]: !!this.props.outline,\n [style.button]: !this.props.outline,\n [style.button_special]: !!this.props.children,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [style.button_red]: !!this.props.red,\n [style.button_blue]: !!this.props.blue,\n [style.button_orange]: !!this.props.orange,\n [style.button_green]: !!this.props.green,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <button\n className={buttonClass}\n style={this.props.style}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n >\n <span style={this.props.styleSpan}>{this.props.text}</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 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 >\n {this.props.children}\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 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 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 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 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 className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : \"DEFAULT\"}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n )}\n {this.props.error ? (\n <span className={style.form_select_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown, faCaretUp } from '@fortawesome/free-solid-svg-icons'\n\nimport FormInput from '../form-input/FormInput'\nimport FormSelect from '../form-select/FormSelect'\n\nexport default class FormRange extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isOpen: false\n }\n\n this.refComponent = React.createRef()\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n handleClickOutside = (event) => {\n if (\n this.refComponent &&\n this.refComponent.current &&\n !this.refComponent.current.contains(event.target)\n ) {\n this.setState({ isOpen: false })\n }\n }\n\n findText = (options, value) => {\n if (this.props.input) {\n return value\n } else {\n const result = options.filter(\n (item) => item.value.toString() === value.toString()\n )\n\n return result.length ? result[0].text : ''\n }\n }\n\n getLabel = (value1, value2, options1, options2) => {\n if (this.findText(options1, value1) === this.findText(options2, value2)) {\n return `${this.findText(options1, value1)}`\n } else if (\n value1 !== 'DEFAULT' &&\n value1 !== '' &&\n (value2 === 'DEFAULT' || value2 === '')\n ) {\n return `>= ${this.findText(options1, value1)}`\n } else if (\n (value1 === 'DEFAULT' || value1 === '') &&\n value2 !== 'DEFAULT' &&\n value2 !== ''\n ) {\n return `<= ${this.findText(options2, value2)}`\n } else {\n return `${this.findText(options1, value1)} - ${this.findText(\n options2,\n value2\n )}`\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.form_range_container, this.props.className)}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : null}\n <div\n className={style.form_range}\n onClick={() => this.setState({ isOpen: !this.state.isOpen })}\n >\n <span>\n {this.getLabel(\n this.props.value1,\n this.props.value2,\n this.props.options1,\n this.props.options2\n )}\n </span>\n <div>\n <FontAwesomeIcon\n icon={this.state.isOpen ? faCaretUp : faCaretDown}\n />\n </div>\n </div>\n {this.state.isOpen ? (\n <div ref={this.refComponent} className={style.form_range_modal}>\n {this.props.input ? (\n <Fragment>\n <FormInput\n type={this.props.type}\n name={this.props.name1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n />\n <FormInput\n type={this.props.type}\n name={this.props.name2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n />\n </Fragment>\n ) : (\n <Fragment>\n <FormSelect\n type={this.props.type}\n name={this.props.name1}\n options={this.props.options1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n ignore={true}\n disabled={false}\n init={this.props.init1}\n />\n <FormSelect\n type={this.props.type}\n name={this.props.name2}\n options={this.props.options2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n ignore={true}\n disabled={false}\n init={this.props.init2}\n />\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormCheckbox extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_checkbox_container,\n this.props.className\n )}\n >\n <label className={classNames(this.props.className)}>\n {this.props.text}\n <input\n type='checkbox'\n name={this.props.name}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_checkbox_mark} />\n </label>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\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 from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Table extends React.Component {\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 <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 )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Thead extends React.Component {\n render() {\n return (\n <thead\n className={classNames(style.thead, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </thead>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tbody extends React.Component {\n render() {\n return (\n <tbody\n className={classNames(style.tbody, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </tbody>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nexport default class Th extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sort: false,\n desc: false\n }\n }\n\n handleSortClick = () => {\n this.setState({ desc: !this.state.desc, sort: true }, () => {\n if (this.props.onSort) {\n this.props.onSort(this.state.desc)\n }\n })\n }\n\n getSortButton() {\n if (this.state.sort === false) {\n return (\n <div className={style.table_sort}>\n <div>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n )\n } else if (this.state.desc === true) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n )\n } else if (this.state.desc === false) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n )\n }\n }\n\n render() {\n var thClass = classNames({\n [style.th]: true,\n [style.pointer]: !!this.props.sort,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <th\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={thClass}\n onClick={this.props.sort ? this.handleSortClick : null}\n style={this.props.style}\n >\n <div className={style.table_flex}>\n <span\n style={!this.props.sort ? { margin: 'auto' } : {}}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </span>\n {this.props.sort ? this.getSortButton() : ''}\n </div>\n </th>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Td extends React.Component {\n render() {\n var tdClass = classNames({\n [style.td]: true,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <td\n onClick={this.props.onClick}\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={tdClass}\n style={this.props.style}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </td>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tr extends React.Component {\n render() {\n return (\n <tr\n className={classNames(style.tr, this.props.className)}\n onClick={this.props.onClick}\n style={this.props.style}\n >\n {this.props.children}\n </tr>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Nav extends React.Component {\n render() {\n return (\n <div className={classNames(style.nav, this.props.className)}>\n <div className={style.nav_left}>\n {this.props.back ? (\n <div className={style.nav_back} onClick={this.props.onBack}>\n <FontAwesomeIcon icon={faArrowLeft} />\n </div>\n ) : (\n ''\n )}\n <div className={style.nav_text}>\n <h2>{this.props.title}</h2>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n <div className={style.nav_right}>{this.props.children}</div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faEllipsisV } from '@fortawesome/free-solid-svg-icons'\n\nimport ButtonIcon from '../button/ButtonIcon'\n\nimport style from './style.css'\n\nexport default class Header extends React.Component {\n render() {\n return (\n <div className={classNames(style.header, this.props.className)}>\n <div className={style.header_absolute} style={this.props.styleBackground} />\n <div className={style.header_left}>\n {this.props.logo ? (\n <img\n src={this.props.logo}\n height={this.props.height}\n onClick={this.props.onClick}\n className={this.props.onClick ? 'cursor-pointer' : ''}\n />\n ) : null}\n {this.props.title ? <h1>{this.props.title}</h1> : null}\n </div>\n <div className={style.header_right}>\n {this.props.sidebarRef && this.props.isMobile ? (\n <ButtonIcon onClick={this.props.sidebarRef.current.handleHideClick}>\n <FontAwesomeIcon icon={faEllipsisV} />\n </ButtonIcon>\n ) : null}\n {this.props.children}\n </div>\n </div>\n )\n }\n}\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Card extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: 0\n }\n this.refTitle = createRef()\n }\n\n componentDidMount() {\n this.setState({ width: this.getWith() })\n }\n\n componentDidUpdate(prevProps, prevState) {\n const width = this.getWith()\n if (width !== prevState.width) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width })\n }\n }\n\n getWith = () => {\n if (this.refTitle.current) {\n return this.refTitle.current.offsetWidth\n } else {\n return 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card, this.props.className)}>\n {this.props.imgLeft ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%'\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgLeft}\n alt='left'\n />\n </div>\n ) : null}\n {this.props.isLoad ? (\n <div className={style.card_loader_container}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.loaderText ? <p>{this.props.loaderText}</p> : null}\n </div>\n </div>\n ) : null}\n <div\n style={{\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <div\n className={style.card_top_border}\n style={{\n width: this.state.width\n }}\n />\n {this.props.title ? (\n <div className={style.card_header}>\n <div className={style.card_header_left}>\n <h2 ref={this.refTitle}>{this.props.title}</h2>\n </div>\n <div className={style.card_header_right}>\n <div\n className={classNames(\n style.card_header_action,\n this.props.disableStyleAction\n ? style.card_header_action_disable\n : ''\n )}\n onClick={this.props.onClick}\n >\n {this.props.action}\n </div>\n </div>\n </div>\n ) : (\n ''\n )}\n <div\n className={classNames(\n style.card_body,\n this.props.classNameChildren\n )}\n >\n {this.props.children}\n </div>\n </div>\n {this.props.imgRight ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%'\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgRight}\n alt='right'\n />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons'\n\nexport default class CardColor extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_color, this.props.className)}>\n {this.props.count === 0 || this.props.count ? (\n <div className={style.card_color_left}>\n <span>{this.props.count}</span>\n </div>\n ) : (\n <div className={style.card_color_image_left}>\n <span>{this.props.image}</span>\n </div>\n )}\n <div className={style.card_color_center}>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n <div className={style.card_color_right} onClick={this.props.onClick}>\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faArrowRight} />\n )}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport default class CardStatistics extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_statistics, this.props.className)}>\n <div className={classNames(style.card_statistics_body)}>\n <span>{this.props.title}</span>\n <span>\n {this.props.subtitle}\n <span className={classNames(this.props.evolutionColor)}>\n {this.props.evolution}\n </span>\n </span>\n </div>\n {this.props.icon ? (\n <div className={classNames(style.card_statistics_icon)}>\n <FontAwesomeIcon icon={this.props.icon} />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class CardTabs extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n active: 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card_tabs, this.props.className)}>\n <div className={style.card_tabs_header}>\n <div className={style.card_tabs_header_left}>\n {this.props.titles.map((title, idx) => (\n <h2\n key={idx}\n className={\n idx === this.state.active ? style.card_tabs_header_active : ''\n }\n onClick={() => this.setState({ active: idx })}\n >\n {title}\n </h2>\n ))}\n </div>\n </div>\n <div\n className={classNames(\n style.card_tabs_body,\n this.props.classNameChildren\n )}\n >\n {this.props.contents[this.state.active]}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Slider extends React.Component {\n render() {\n return (\n <div className={classNames(style.slider, this.props.className)}>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronLeft} />\n </div>\n <span className={style.slider_value}>{this.props.value}</span>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronRight} />\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faPlus, faBan } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Signature extends React.Component {\n render() {\n var signatureClass = classNames({\n [style.signature]: true,\n [style.active]: !!this.props.signature,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className\n })\n\n if (this.props.signature) {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div\n className={style.signature_remove}\n onClick={this.props.onRemove}\n >\n <FontAwesomeIcon icon={faTimes} />\n </div>\n ) : (\n ''\n )}\n <img src={this.props.signature} alt='signature' />\n </div>\n )\n } else {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div className={style.signature_add} onClick={this.props.onAdd}>\n <FontAwesomeIcon icon={faPlus} />\n </div>\n ) : (\n <div className={style.signature_add} style={{ cursor: \"default\" }}>\n <FontAwesomeIcon icon={faBan} />\n </div>\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tabs extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_header, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsBody extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_body, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_menu]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomHeader extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.tabs_custom_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 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(--secondary-color)',\n display: 'flex',\n width: '40px',\n height: '40px',\n margin: 'auto',\n borderRadius: '10px'\n }}\n onClick={() =>\n this.props.onClickAdd ? this.props.onClickAdd() : null\n }\n >\n <FontAwesomeIcon className='m-auto white' icon={faPlus} />\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_edit_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_edit_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_edit_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCaretDown,\n faUser\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class Sidebar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n views: this.props.views,\n isHide: window.innerWidth < 640,\n isMobile: undefined\n }\n }\n\n componentDidMount() {\n this.setSidebar()\n this.checkIfMobile()\n window.addEventListener('resize', this.checkIfMobile)\n }\n\n componentWillUnmount() {\n removeEventListener('resize', this.checkIfMobile)\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (JSON.stringify(this.props.views) !== JSON.stringify(prevProps.views)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ views: this.props.views }, () => {\n this.setSidebar()\n })\n }\n }\n\n checkIfMobile = () => {\n const isMobile = window.innerWidth < 640\n if (isMobile !== this.state.isMobile) {\n this.setState(\n {\n isHide: isMobile ? true : false,\n isMobile\n },\n () => {\n if (this.props.checkIfMobile) {\n this.props.checkIfMobile(this.state.isMobile)\n }\n }\n )\n }\n }\n\n setSidebar = () => {\n if (this.props.location) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.path) {\n if (element.path === this.props.location.pathname) {\n views[idx].active = true\n } else {\n views[idx].active = false\n }\n } else {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.path === this.props.location.pathname) {\n views[idx].active = true\n views[idx].views[idxDropdown].active = true\n } else {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n this.setState({ views: views })\n }\n }\n\n handleDropdownClick(id) {\n const views = this.state.views\n views[id].active = !views[id].active\n this.setState({ views: views })\n }\n\n handleChangeViewClick(path, id, idDropdown = -1) {\n if (\n (idDropdown >= 0 && !this.state.views[id].views[idDropdown].active) ||\n !this.state.views[id].active\n ) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.active === true) {\n views[idx].active = false\n }\n if (element.views) {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.active === true) {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n if (idDropdown < 0) {\n views[id].active = true\n } else {\n views[id].active = true\n views[id].views[idDropdown].active = true\n }\n this.setState({ views: views })\n this.props.onViewChange({ path: path, views: views })\n }\n }\n\n handleHideClick = () => {\n this.setState({ isHide: !this.state.isHide }, () => {\n if (this.props.onHide) {\n this.props.onHide(this.state.isHide)\n }\n })\n }\n\n render() {\n var sidebarClass = classNames(\n {\n [style.small]: !!this.state.isHide,\n [style.mobile]: !!this.state.isMobile\n },\n style.sidebar,\n this.props.className\n )\n\n return (\n <div className={sidebarClass}>\n <div className={style.sidebar_header}>\n <div className={style.sidebar_icon}>\n {this.props.icon ? <img alt='icon' src={this.props.icon} /> : null}\n </div>\n <div className={style.button_hide} onClick={this.handleHideClick}>\n {this.state.isHide ? (\n <FontAwesomeIcon icon={faCaretRight} />\n ) : (\n <FontAwesomeIcon icon={faCaretLeft} />\n )}\n </div>\n </div>\n <div className={style.sidebar_user}>\n {this.props.picture ? (\n <div className={style.sidebar_user_icon}>\n <img src={this.props.picture} alt={'profile'} />\n </div>\n ) : (\n <FontAwesomeIcon\n className={classNames({\n 'm-auto': this.state.isHide === true,\n [style.sidebar_user_icon]: true\n })}\n icon={faUser}\n />\n )}\n {this.state.isHide === false ? (\n <div className={style.sidebar_user_text}>\n <span className={style.sidebar_user_title}>\n {this.props.title}\n </span>\n <span className={style.sidebar_user_subtitle}>\n {this.props.subtitle}\n </span>\n </div>\n ) : null}\n </div>\n <div className={style.sidebar_body}>\n {this.state.views.map((element, idx) => {\n if (element.path && element.isHide !== true) {\n return (\n <div\n key={idx}\n onClick={() => {\n if (\n !element.disabled ||\n (element.disabled && this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(element.path, idx)\n }\n }}\n className={classNames(style.sidebar_button, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n </div>\n )\n } else if (element.isHide !== true) {\n const data = []\n data.push(\n <div\n key={idx}\n onClick={() => this.handleDropdownClick(idx)}\n className={classNames(style.sidebar_button_dropdown, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n {element.active === true ? (\n <FontAwesomeIcon icon={faCaretDown} />\n ) : (\n <FontAwesomeIcon icon={faCaretUp} />\n )}\n </div>\n )\n element.views.map((elementDropdown, idxDropdown) => {\n if (\n element.active === true &&\n elementDropdown.isHide !== true\n ) {\n data.push(\n <div\n key={idx + '-' + idxDropdown}\n onClick={() => {\n if (\n !elementDropdown.disabled ||\n (elementDropdown.disabled &&\n this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(\n elementDropdown.path,\n idx,\n idxDropdown\n )\n }\n }}\n className={classNames(\n style.sidebar_button,\n style.sidebar_button_second,\n {\n [style.active]: !!elementDropdown.active,\n [style.disabled]: !!elementDropdown.disabled\n }\n )}\n >\n {elementDropdown.icon}\n <span>{elementDropdown.name}</span>\n </div>\n )\n }\n })\n return data\n }\n })}\n </div>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass DoughnutChart extends React.Component {\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= (this.props.high ? this.props.high : 90)) {\n return this.props.reverse ? '#db2828' : '#0c8540'\n } else if (percentage >= (this.props.medium ? this.props.medium : 80)) {\n return '#f2711c'\n } else {\n return this.props.reverse ? '#0c8540' : '#db2828'\n }\n }\n\n render() {\n const num = this.props.number\n const max = this.props.max ? this.props.max : 100\n const difNumber = max - this.props.number\n const text = this.props.text\n const unit = this.props.unit ? this.props.unit : '%'\n\n const data = {\n labels: ['Red', 'Green'],\n datasets: [\n {\n datalabels2: this.props.datalabels2,\n data: [this.props.number, difNumber],\n backgroundColor: [this.getColor(num, max), '#f5f5f5'],\n hoverBorderWidth: 0,\n borderWidth: 0\n }\n ]\n }\n return (\n <div className={classNames(style.doughnut_chart, this.props.className)}>\n <Doughnut\n id={this.props.text}\n data={data}\n width={145}\n height={145}\n legend={{ display: false, labels: { boxWidth: 0 } }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: true,\n cutoutPercentage: 90,\n tooltips: { enabled: false }\n }}\n />\n <div className={style.text_doughnut_chart}>\n <p\n style={{ color: this.getColor(num, max) }}\n className={style.number}\n >\n {num}\n {unit}\n </p>\n <p style={{ color: this.getColor(num, max) }} className={style.text}>\n {text}\n </p>\n </div>\n </div>\n )\n }\n}\n\nexport default DoughnutChart\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react'\nimport { Bar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass BarChart extends React.Component {\n getData(value) {\n if (value) {\n return value\n } else {\n return 'bar'\n }\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getLabels() {\n if (this.props.labels) {\n return this.props.labels\n } else {\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 200\n }\n }\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n type: this.getData(this.props.dataSet[i].type),\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: this.getColor(this.props.dataSet[i].color),\n borderColor: this.getColor(\n this.props.dataSet[i].borderColor\n ? this.props.dataSet[i].borderColor\n : this.props.dataSet[i].color\n ),\n fill: this.props.dataSet[i].fill ? this.props.dataSet[i].fill : 'false',\n borderWidth: this.props.borderWidth ? this.props.borderWidth : 0,\n barThickness: this.getWidthBar(),\n barPercentage: 0.5,\n data: this.props.dataSet[i].data,\n yAxisID: this.props.dataSet[i].yAxisID\n ? this.props.dataSet[i].yAxisID\n : '',\n xAxisID: this.props.dataSet[i].xAxisID\n ? this.props.dataSet[i].xAxisID\n : ''\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Bar\n data={data}\n legend={{\n display: this.getIsLegend(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: this.props.yAxes\n ? this.props.yAxes\n : [\n {\n ticks: {\n display: false\n }\n }\n ],\n xAxes: this.props.xAxes\n ? this.props.xAxes\n : [\n {\n gridLines: {\n display: false\n }\n }\n ]\n },\n tooltips: {\n callbacks: {\n label: (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.datasets[tooltipItem.datasetIndex].label || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(tooltipItem.yLabel / 100)\n return `${name} : ${value}`\n } else {\n const options = {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default BarChart\n","import React, { Component } from 'react'\nimport { Radar } from \"react-chartjs-2\"\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nexport class RadarChart extends Component {\n \n getLabels = () => {\n return this.props.labels\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 350\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets = (nbValue) => {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: 'rgba(200, 200, 200, 0.2)',\n borderColor: this.getColor(this.props.dataSet[i].color),\n data: this.props.dataSet[i].data,\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const options = {\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n legend: {\n display: this.getIsLegend(),\n position: 'bottom',\n labels: { boxWidth: 10, fontFamily: 'Arial' },\n legendCallback: function(test) {\n console.log('TEST')\n console.log('test', test)\n }\n },\n scale: {\n reverse: false,\n ticks: {\n display: false,\n beginAtZero: true\n }\n },\n }\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Radar \n data={data}\n options={options}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default RadarChart\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass PieChart extends React.Component {\n legendDisplayData() {\n if (this.props.legendDisplay === false) {\n return this.props.legendDisplay\n } else return true\n }\n\n createDatasets(nbValue) {\n const dataValue = {\n labels: [],\n datasets: [\n {\n percentage: [],\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: []\n }\n ]\n }\n for (let i = 0; i < nbValue; i++) {\n dataValue.datasets[0].datalabels = this.props.datalabels2\n ? this.props.datalabels2[i]\n : null\n dataValue.datasets[0].percentage.push(this.props.data[i].percentage)\n dataValue.datasets[0].data.push(this.props.data[i].data)\n dataValue.datasets[0].backgroundColor.push(this.props.data[i].color)\n dataValue.datasets[0].hoverBackgroundColor.push(\n this.props.data[i].color + '80'\n )\n dataValue.labels.push(this.props.data[i].labels)\n }\n return dataValue\n }\n\n pieForm() {\n if (this.props.full) {\n return 0\n } else {\n return 70\n }\n }\n\n render() {\n return (\n <div className={classNames(style.pie_chart, this.props.className)}>\n <div className={style.pie_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <Doughnut\n data={this.createDatasets(this.props.data.length)}\n legend={{\n display: this.legendDisplayData(),\n position: this.props.positionLegend || 'bottom',\n align: this.props.alignLegend || 'center',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n maintainAspectRatio: false,\n responsive: true,\n cutoutPercentage: this.pieForm(),\n elements: {\n arc: {\n borderWidth: 0\n }\n },\n tooltips: {\n callbacks: {\n label: this.props.label\n ? this.props.label\n : (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.labels[tooltipItem.index] || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ] / 100\n )\n return `${name} : ${value}`\n } else {\n const options = { minimumFractionDigits: digits }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default PieChart\n","import React from 'react'\nimport { HorizontalBar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass HorizontalBarChart extends React.Component {\n scalesType() {\n if (this.props.align) {\n return {\n xAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n display: false\n },\n barThickness: 50,\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n beginAtZero: true\n },\n gridLines: {\n display: false\n }\n }\n ]\n }\n } else\n return {\n xAxes: [\n {\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n gridLines: {\n display: false\n }\n }\n ]\n }\n }\n\n typeLabel(value) {\n if (value) {\n return value\n } else return 'Value'\n }\n\n typeColor(value) {\n if (value) {\n return value\n } else return '#5c5c5c'\n }\n\n labelsData() {\n if (this.props.labels) {\n return this.props.labels\n } else\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n\n widthData() {\n if (this.props.width) {\n return this.props.width\n }\n }\n\n heightData() {\n if (this.props.height) {\n return this.props.height\n }\n }\n\n legendDisplayData() {\n if (this.props.legendDisplay) {\n return this.props.legendDisplay\n } else return false\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.typeLabel(this.props.dataSet[i].label),\n backgroundColor: this.typeColor(this.props.dataSet[i].color),\n borderColor: this.typeColor(this.props.dataSet[i].color),\n barThickness: this.getWidthBar(),\n fill: 'false',\n borderWidth: 0,\n barPercentage: 0.5,\n data: this.props.dataSet[i].data\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n render() {\n const data = {\n labels: this.labelsData(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <HorizontalBar\n style={{ margin: 'auto' }}\n data={data}\n legend={{\n display: this.legendDisplayData(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: this.scalesType()\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default HorizontalBarChart\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass ProgressBar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: null\n }\n this.refProgress = createRef()\n }\n\n componentDidMount() {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n this.setState({ width: this.getWidth(value, max) })\n window.addEventListener('resize', () => {\n this.setState({ width: this.getWidth(value, max) })\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width: this.getWidth(value, max) })\n }\n }\n\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= 90) {\n return 'bg-green'\n } else if (percentage >= 50) {\n return 'bg-orange'\n } else {\n return 'bg-red'\n }\n }\n\n getWidth(value, max) {\n const percentage = (value * 100) / max\n if (this.refProgress.current) {\n // const width = this.refProgress.current.offsetWidth\n return percentage + '%'\n } else {\n return '0px'\n }\n }\n\n render() {\n const max = this.props.max ? this.props.max : 100\n const value = this.props.value ? this.props.value : 0\n return (\n <div\n className={classNames(\n style.progress_bar_container,\n this.props.className\n )}\n >\n <span>{this.props.title}</span>\n <div className={style.bar} ref={this.refProgress}>\n <div\n className={classNames(\n style.custom_progress,\n this.getColor(value, max)\n )}\n style={{ width: this.state.width }}\n />\n <span>{this.props.text ? this.props.text : value + ' / ' + max}</span>\n </div>\n </div>\n )\n }\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Loader extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) return null\n\n return (\n <div className={classNames(style.loader_container, this.props.className)}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.message ? <p>{this.props.message}</p> : null}\n </div>\n </div>\n )\n }\n}\n\nexport default Loader\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Icon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n refIcon: React.createRef(),\n colorStyle: null\n }\n }\n\n componentDidMount() {\n this.setState({\n colorStyle: window\n .getComputedStyle(this.state.refIcon.current, null)\n .getPropertyValue('color')\n })\n }\n\n render() {\n return (\n <div\n ref={this.state.refIcon}\n className={classNames(this.props.className)}\n style={{ fontSize: this.props.size ? this.props.size + 'px' : 'none' }}\n >\n {this.props.icon({\n className: classNames(style.icon),\n color: this.state.colorStyle\n })}\n </div>\n )\n }\n}\n","import React from 'react'\nimport PaginationCMP from 'react-js-pagination'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Pagination extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.paginationContainer, this.props.className)}\n >\n <PaginationCMP\n innerClass={style.pagination}\n activeClass={style.active}\n disabledClass={style.disabled}\n activePage={this.props.activePage}\n itemsCountPerPage={this.props.itemsCountPerPage}\n totalItemsCount={this.props.totalItemsCount}\n pageRangeDisplayed={this.props.pageRangeDisplayed}\n onChange={this.props.onChange}\n firstPageText={this.props.firstPageText}\n lastPageText={this.props.lastPageText}\n prevPageText={this.props.prevPageText}\n nextPageText={this.props.nextPageText}\n hideNavigation={this.props.hideNavigation}\n hideFirstLastPages={this.props.hideFirstLastPages}\n />\n </div>\n )\n }\n}\n\nexport default Pagination\n","class PaginationClass {\n constructor(urlCount, urlPagination, tabLength = 20, isAll = false) {\n this.urlCount = urlCount\n this.urlPagination = urlPagination\n this.currentPage = 0\n this.total = 0\n this.tabLength = tabLength\n this.isAll = isAll\n this.activePage = 1\n this.tabData = []\n }\n\n init(axios, data, callback) {\n this.currentPage = 0\n this.total = 0\n this.activePage = 1\n axios(this.urlCount, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.total = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, total: this.total })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n get(axios, data, callback) {\n data.offset = this.currentPage\n data.value = this.tabLength\n data.isAll = this.isAll\n axios(this.urlPagination, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.tabData = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, tabData: this.tabData })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n page(activePage, callback) {\n if (activePage !== this.activePage) {\n if (activePage < this.activePage) {\n const difPage = activePage - this.activePage\n const currentPageData = this.currentPage + difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n } else {\n const difPage = this.activePage - activePage\n const currentPageData = this.currentPage - difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n }\n } else {\n callback(activePage)\n }\n }\n}\n\nexport default PaginationClass\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport default class Dropzone extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loader: false,\n textInfo: this.typeNameText(this.props.typeName),\n base64: '',\n borderColor: '#5c5c5c',\n styleBtnClose: 'none'\n }\n }\n\n typeNameText(propsTypeName) {\n if (propsTypeName) {\n const name = propsTypeName.join(', ')\n return `Glisser un fichier ou cliquer pour sélectionner un fichier (type accepté, ${name})`\n } else {\n return 'Glisser un fichier ou cliquer pour sélectionner un fichier'\n }\n }\n\n typeAccept(acceptedFiles, propsTypeAccept) {\n let value = false\n if (propsTypeAccept) {\n propsTypeAccept.forEach((e) => {\n if (acceptedFiles[0].type === e) {\n value = true\n }\n })\n } else {\n value = true\n }\n return value\n }\n\n onDrop(acceptedFiles, callback) {\n if (this.typeAccept(acceptedFiles, this.props.typeAccept)) {\n const reader = new window.FileReader()\n reader.onabort = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onerror = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onloadstart = () => {\n this.setState({ loader: true })\n }\n reader.onloadend = () => {\n this.setState({ loader: false })\n }\n reader.onload = () => {\n const base64 = reader.result\n this.setState({ base64: base64 })\n\n if (callback) {\n // eslint-disable-next-line standard/no-callback-literal\n callback({\n base64: base64,\n mime: acceptedFiles[0].type,\n name: acceptedFiles[0].name,\n size: acceptedFiles[0].size\n })\n }\n }\n acceptedFiles.forEach((file) => reader.readAsDataURL(file))\n this.setState({\n textInfo: `Fichier ${acceptedFiles[0].name} est prêt à être envoyé, glisser ou cliquer pour modifier`,\n borderColor: '#74b741',\n styleBtnClose: 'contents'\n })\n } else {\n this.setState({\n textInfo: 'Format non valide',\n borderColor: '#ff0000'\n })\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.FormDragDropFile_container,\n this.props.className\n )}\n >\n <DropzoneCMP\n className={classNames(this.props.classNameChildren)}\n onDrop={(acceptedFiles) => {\n this.onDrop(acceptedFiles, (data) => this.props.dropHandler(data))\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <section style={{ borderColor: this.state.borderColor }}>\n <div\n className={style.btn_close_drag_drop}\n style={{ display: this.state.styleBtnClose }}\n >\n <ButtonIcon\n ref={this.props.ref}\n onClick={() =>\n this.setState(\n {\n borderColor: '#5c5c5c',\n textInfo: this.typeNameText(this.props.typeName),\n styleBtnClose: 'none'\n },\n () => this.props.dropHandler('')\n )\n }\n >\n {/*<FontAwesomeIcon icon={faTimes} /> */}\n </ButtonIcon>\n </div>\n <div {...getRootProps()}>\n <input {...getInputProps()} />\n <span>{this.state.textInfo}</span>\n </div>\n </section>\n )}\n </DropzoneCMP>\n </div>\n )\n }\n}\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\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 handleDeleteFile = (idx) => {\n let files = this.state.files\n\n files.splice(idx, 1)\n\n this.setState({\n files\n })\n }\n\n getFileComponent = (idx) => {\n return (\n <div\n key={idx}\n className={classNames(style.dropzone_multiple_item, 'not-click')}\n onClick={() => this.handleDeleteFile(idx)}\n >\n <div className={classNames(style.delete_item_container)}>\n <FontAwesomeIcon icon={faTrash} />\n </div>\n <FontAwesomeIcon icon={this.getIcon(this.state.files[idx].extension)} />\n </div>\n )\n }\n\n hasParentClass = (child, current, classname) => {\n if (\n child.className &&\n typeof child.className === 'string' &&\n child.className.includes(classname)\n ) {\n return true\n } else {\n if (child.parentNode == current || child == current) {\n return false\n } else {\n return this.hasParentClass(child.parentNode, current, classname)\n }\n }\n }\n\n getFile = (file, files) => {\n let name = file.name.split('.')\n if (this.checkExtension(name[name.length - 1])) {\n if (\n !this.props.maxFileSize ||\n this.props.maxFileSize * 1000000 > file.size\n ) {\n const reader = new window.FileReader()\n\n reader.onload = () => {\n const base64 = reader.result\n\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 reader.readAsDataURL(file)\n } else {\n alert('Fichier trop volumineux')\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 checkExtension = (extension) => {\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 </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) => (\n <span>{element.title}</span>\n ))}\n </div>\n </div>\n )\n }\n}\n\nexport default Dropdown\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\n\nexport default class Error404 extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.error_full)}>\n <div className={classNames(style.error_center)}>\n <div className={classNames(style.error_center_group)}>\n <h3 className={classNames(style.error_title)}>Page not found</h3>\n <h1 className={classNames(style.error_code)}>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>0</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n </h1>\n </div>\n <h2 className={classNames(style.error_text)}>\n {this.props.text ? this.props.text : \"La page n'existe pas\"}\n </h2>\n <Button\n onClick={() =>\n this.props.onBack ? this.props.onBack() : window.history.back()\n }\n text='Retour'\n outline\n />\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\nimport Modal from '../modal/Modal'\nimport { Row, Col } from 'react-flexbox-grid'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\nimport Cookies from 'universal-cookie'\n\nexport default class Cookie extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n show: false,\n showInfo: false\n }\n this.cookies = new Cookies()\n }\n\n componentDidMount() {\n if (\n this.props.force ||\n (this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2')\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.force !== this.props.force ||\n prevProps.name !== this.props.name\n ) {\n if (\n this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2'\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n }\n\n render() {\n return (\n <Modal\n title={\n this.props.title || 'Données personnelles & utilisation des cookies'\n }\n show={this.state.show}\n onClose={this.props.onClose}\n disableClose={true}\n large\n >\n {this.props.message ? (\n this.props.message\n ) : (\n <Fragment>\n <p>\n Nous utilisons des cookies afin d’améliorer votre expérience sur\n le site. Ces cookies servent à personnaliser le contenu du site,\n en mesurer la fréquentation et les performances.\n </p>\n <p>\n En cliquant sur le bouton \"Accepter\" vous acceptez tous les\n cookies. Vous pouvez aussi en savoir plus à tout moment via le\n lien \"RGPD & Cookies\" accessible dans le pied de page.\n </p>\n </Fragment>\n )}\n\n {this.props.infos ? (\n <>\n <a\n href='/'\n style={{ textAlign: 'left', margin: '16px 0' }}\n onClick={(event) => {\n event.preventDefault()\n this.setState((state) => ({\n ...state,\n showInfo: !state.showInfo\n }))\n }}\n >\n En savoir plus{' '}\n <FontAwesomeIcon\n icon={this.state.showInfo ? faCaretUp : faCaretDown}\n />\n </a>\n {this.state.showInfo ? (\n <div style={{ margin: '16px 0' }}>{this.props.infos}</div>\n ) : null}\n </>\n ) : null}\n\n <b>\n Nos cookies ont pour seul et unique but de faire fonctionner le\n service\n </b>\n\n <Row style={{ margin: '16px 0' }}>\n <Col\n xs={12}\n md={this.props.isReject ? 6 : 12}\n style={{ margin: '10px 0' }}\n >\n <Button\n text='Accepter les cookies nécessaires au fonctionnement du service'\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '1',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onAccept) this.props.onAccept()\n })\n }}\n />\n </Col>\n {this.props.isReject ? (\n <Col xs={12} md={6} style={{ margin: '10px 0' }}>\n <Button\n text='Refuser'\n outline\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '0',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onReject) this.props.onReject()\n })\n }}\n />\n </Col>\n ) : null}\n <a\n style={{\n color: 'gray',\n marginTop: '10px',\n marginLeft: 'auto',\n textDecoration: 'none'\n }}\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '2',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onContinue) this.props.onContinue()\n })\n }}\n >\n Continuer sans accepter\n </a>\n </Row>\n </Modal>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { Row, Col } from 'react-flexbox-grid'\n\nexport default class Footer extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={style.footer}>\n <Row>\n <Col xs={12} md={12} lg={4} className='mt-5 mb-5 d-flex'>\n <img className='m-auto' src={this.props.logo} />\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.legal}\n onClick={this.props.onLegalClick}\n >\n Mentions Légales\n </a>\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.rgpd}\n onClick={this.props.onRgpdClick}\n >\n RGPD & Cookies\n </a>\n </Col>\n </Row>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Switch extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n idxActive: 0\n }\n }\n\n componentDidMount() {\n if (this.props.idxActive !== undefined) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.idxActive !== undefined &&\n prevProps.idxActive !== this.props.idxActive &&\n this.props.idxActive !== this.state.prevProps\n ) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n render() {\n return (\n <div className={classNames(style.switch_container, this.props.className)}>\n {this.props.title ? (\n <span className={this.props.classNameTitle}>{this.props.title}</span>\n ) : null}\n <div className={classNames(style.switch)}>\n <div\n onClick={() =>\n this.setState({ idxActive: 0 }, () =>\n this.props.onChange ? this.props.onChange(0) : null\n )\n }\n style={\n this.state.idxActive === 0\n ? { backgroundColor: this.props.color1, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value1}</span>\n </div>\n <div\n onClick={() =>\n this.setState({ idxActive: 1 }, () =>\n this.props.onChange ? this.props.onChange(1) : null\n )\n }\n style={\n this.state.idxActive === 1\n ? { backgroundColor: this.props.color2, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value2}</span>\n </div>\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\n\nexport default class Gauge extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isActive: false,\n position: 0\n }\n }\n\n componentDidMount() {\n if (this.props.position) {\n this.setState({\n position: this.props.position\n })\n }\n\n window.addEventListener(\n 'mouseup',\n () => {\n this.setState({ isActive: false })\n },\n true\n )\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.position !== this.props.position &&\n this.props.position !== this.state.position\n ) {\n this.setState({\n position: this.props.position\n })\n }\n }\n\n onMouse = (e, isForce = false) => {\n if (this.state.isActive || isForce) {\n let currentTargetRect = e.currentTarget.getBoundingClientRect()\n const width = currentTargetRect.width\n const positionX = e.pageX - currentTargetRect.left\n\n const step = this.props.step ? this.props.step : 1\n\n let position =\n (positionX * 100) / width - (((positionX * 100) / width) % step)\n\n this.setState(\n {\n position\n },\n () => (this.props.onChange ? this.props.onChange(position) : null)\n )\n }\n }\n\n render() {\n return (\n <div className={this.props.className}>\n {this.props.onEdit ? (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--blue)',\n marginBottom: '16px',\n cursor: 'pointer',\n textDecoration: 'underline'\n }}\n onClick={this.props.onEdit}\n >\n {this.props.title}\n </span>\n ) : (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--black)',\n marginBottom: '16px'\n }}\n >\n {this.props.title}\n </span>\n )}\n <div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '22px',\n backgroundImage:\n this.props.colors.length === 3\n ? `linear-gradient(to right, ${this.props.colors[0]} 0%, ${this.props.colors[1]} 50%, ${this.props.colors[2]} 100%)`\n : `linear-gradient(to right, ${this.props.colors[0]}, ${this.props.colors[1]})`,\n borderRadius: '8px'\n }}\n onMouseMove={(e) => this.onMouse(e)}\n onClick={(e) => this.onMouse(e, true)}\n onMouseDown={(e) => {\n e.preventDefault()\n\n this.setState({\n isActive: true\n })\n }}\n >\n {this.props.min ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.min + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MIN\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.min + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.max ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.max + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MAX\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.max + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.noText ? null : (\n <span\n style={{\n position: 'absolute',\n left: this.state.position + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-16px',\n fontSize: '10px',\n fontWeight: 'bold',\n transition: '0.3s'\n }}\n >\n {parseInt(this.state.position)}%\n </span>\n )}\n <div\n className='cursor-pointer'\n style={{\n position: 'absolute',\n bottom: '-6px',\n width: 0,\n height: 0,\n borderLeft: '10px solid transparent',\n borderRight: '10px solid transparent',\n borderBottom: '18px solid black',\n transform: 'translateX(-50%)',\n left: this.state.position + '%'\n }}\n ></div>\n </div>\n </div>\n </div>\n )\n }\n}\n","//! moment.js\n//! version : 2.29.1\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 for (i = 0; i < arr.length; ++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, prop, val;\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 (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; 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 for (i = 0; i < arguments.length; 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 = /(\\[[^\\[]*\\])|(\\\\)?([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 for (i = 0; i < prioritized.length; 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 = /[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(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\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 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 for (i = 0; i < token.length; 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 = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\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(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\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 = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\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 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 ) {\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 = /^\\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 = /^\\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 = /^(?:(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\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; 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 = isoTimes.length; 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\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; 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\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; 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 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 < ordering.length; ++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 = /^(-|\\+)?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\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 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', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\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 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(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\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.1';\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 </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","componentDidUpdate","props","show","document","body","style","overflow","handleClickModal","e","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","modal_container","className","modal","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","React","Component","FullModal","full_modal_container","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","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","styleDiv","button_special_icon","ButtonIcon","button_icon","white","button_icon_background","isBackground","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","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","setState","isOpen","findText","input","result","filter","item","toString","length","getLabel","value1","value2","options1","options2","state","createRef","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","form_range_container","form_range","faCaretUp","faCaretDown","form_range_modal","Fragment","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","checked","form_checkbox_mark","FormRadio","radio_container","form_radio_container","form_radio_mark","Table","tableClass","table","tableEmpty","empty","radiusTopLeft","radiusTopRight","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","offsetWidth","width","prevProps","prevState","card","imgLeft","customWidthImgLeft","isLoad","card_loader_container","loader_element","classNameChildren","loader","loaderText","position","display","flexDirection","card_top_border","card_header","card_header_left","card_header_right","card_header_action","disableStyleAction","card_header_action_disable","action","card_body","imgRight","customWidthImgRight","CardColor","card_color","count","card_color_left","card_color_image_left","image","card_color_center","card_color_right","faArrowRight","CardStatistics","card_statistics","card_statistics_body","evolutionColor","evolution","card_statistics_icon","CardTabs","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","tabs_custom_header","TabsCustomBody","tabsBodyClass","tabs_custom_body","noCard","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","backgroundColor","borderRadius","onClickAdd","TabsEditBody","tabs_edit_body","TabsEditItem","tabs_edit_item","TabsEditMenu","tabs_edit_menu","Sidebar","checkIfMobile","window","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","data","push","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","color","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","fontSize","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","callback","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","forEach","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","handleDeleteFile","files","splice","getFileComponent","dropzone_multiple_item","delete_item_container","faTrash","getIcon","extension","hasParentClass","child","classname","includes","parentNode","getFile","split","checkExtension","maxFileSize","tmpFiles","currentFile","nextFile","alert","handleDrop","faFilePdf","faFileWord","faFileExcel","faFileImage","faFileCsv","faFile","addFile","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","Error404","error_full","error_center","error_center_group","error_title","error_code","error_text","history","Cookie","showInfo","cookies","Cookies","force","infos","textAlign","preventDefault","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","Switch","idxActive","switch_container","color1","color2","Gauge","onMouse","isForce","isActive","currentTargetRect","getBoundingClientRect","positionX","pageX","left","step","onEdit","marginBottom","backgroundImage","colors","transform","top","noText","transition","parseInt","bottom","borderLeft","borderRight","borderBottom","this","require","hd","Holidays","Calendar","handlePreviousYearClick","year","getArrayDays","handleNextYearClick","handlePreviousMonthClick","month","handleNextMonthClick","holidays","getHolidays","moment","endOfMonth","endOf","startDayOfMonth","isoWeekday","col","row","hasOwnProperty","days","handleActiveClick","currentDate","checkActive","activeDate","activeTime","enabledDates","minDate","isAfter","disabledDates","isWeek","isHoliday","maxDate","isBefore","disabledDays","checkActiveClassName","handleTimeClick","time","disabledTime","getArrayTime","isTime","times","timesRange","range","start","end","old","add","timeStep","months","valueDate","valueTime","Time","calendar_container","calendar","calendar_header","calendar_body","calendar_header_year","calendar_switch_button","calendar_header_month","calendar_header_day","calendar_table","idxRow","idxCol","calendar_time_body","calendar_time_button","calendar_footer","calendar_button"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/components/modal/Modal.js","../src/components/modal/FullModal.js","../src/components/button/Button.js","../src/components/button/ButtonIcon.js","../src/components/button/FloatActionButton.js","../src/components/button/FloatActionButtonItem.js","../src/components/form-input/FormInput.js","../src/components/form-textarea/FormTextarea.js","../src/components/form-select/FormSelect.js","../src/components/form-range/FormRange.js","../src/components/form-checkbox/FormCheckbox.js","../src/components/form-radio/FormRadio.js","../src/components/table/Table.js","../src/components/table/Thead.js","../src/components/table/Tbody.js","../src/components/table/Th.js","../src/components/table/Td.js","../src/components/table/Tr.js","../src/components/nav/Nav.js","../src/components/header/Header.js","../src/components/card/Card.js","../src/components/card/CardColor.js","../src/components/card/CardStatistics.js","../src/components/card/CardTabs.js","../src/components/slider/Slider.js","../src/components/signature/Signature.js","../src/components/tabs/Tabs.js","../src/components/tabs/TabsHeader.js","../src/components/tabs/TabsBody.js","../src/components/tabs/TabsItem.js","../src/components/tabs/TabsMenu.js","../src/components/tabs-custom/TabsCustom.js","../src/components/tabs-custom/TabsCustomHeader.js","../src/components/tabs-custom/TabsCustomBody.js","../src/components/tabs-custom/TabsCustomItem.js","../src/components/tabs-custom/TabsCustomMenu.js","../src/components/tabs-custom-arrow/TabsCustomArrow.js","../src/components/tabs-custom-arrow/TabsCustomArrowHeader.js","../src/components/tabs-custom-arrow/TabsCustomArrowBody.js","../src/components/tabs-custom-arrow/TabsCustomArrowItem.js","../src/components/tabs-custom-arrow/TabsCustomArrowMenu.js","../src/components/tabs-edit/TabsEdit.js","../src/components/tabs-edit/TabsEditHeader.js","../src/components/tabs-edit/TabsEditBody.js","../src/components/tabs-edit/TabsEditItem.js","../src/components/tabs-edit/TabsEditMenu.js","../src/components/sidebar/Sidebar.js","../src/components/chart/DoughnutChart.js","../node_modules/classNames/index.js","../src/components/chart/BarChart.js","../src/components/chart/RadarChart.js","../src/components/chart/PieChart.js","../src/components/chart/HorizontalBarChart.js","../src/components/progress-bar/ProgressBar.js","../src/components/loader/Loader.js","../src/components/icon/Icon.js","../src/components/pagination/Pagination.js","../src/components/pagination/PaginationClass.js","../src/components/dropzone/Dropzone.js","../src/components/dropzone/DropzoneMultiple.js","../src/components/status/Status.js","../src/components/alert/AlertContainer.js","../src/components/alert/Alert.js","../src/components/alert/AlertElement.js","../src/components/chips/Chips.js","../src/components/listing/ListingVerticalItem.js","../src/components/listing/ListingVerticalSeparator.js","../src/components/listing/ListingVertical.js","../src/components/listing/ListingHorizontalItem.js","../src/components/listing/ListingHorizontalSeparator.js","../src/components/listing/ListingHorizontal.js","../src/components/dropdown/Dropdown.js","../src/components/error/Error404.js","../src/components/cookie/Cookie.js","../src/components/footer/Footer.js","../src/components/switch/Switch.js","../src/components/gauge/Gauge.js","../node_modules/moment/moment.js","../src/components/calendar/Calendar.js"],"sourcesContent":["import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Modal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n 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 },\n style.modal_container,\n this.props.className\n )\n\n return (\n <div className={style.modal} onMouseDown={(e) => this.handleClickModal(e)}>\n <div className={modalContainerClass}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n {!this.props.disableClose ? (\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n ) : null}\n <div className={style.modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n <div className={style.modal_body}>{this.props.children}</div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faCheck } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FullModal extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n return (\n <div className={classNames(style.modal, this.props.className)}>\n <div className={style.full_modal_container}>\n <div className={style.modal_valid} onClick={this.props.onValid}>\n {this.props.onValid ? <FontAwesomeIcon icon={faCheck} /> : ''}\n </div>\n <div className={style.modal_close} onClick={this.props.onClose}>\n {this.props.iconClose ? (\n this.props.iconClose\n ) : (\n <FontAwesomeIcon icon={faTimes} />\n )}\n </div>\n {this.props.title ? (\n <div className={style.full_modal_header}>\n <h2>{this.props.title}</h2>\n </div>\n ) : null}\n <div\n className={\n this.props.noPadding\n ? style.full_modal_body_no_padding\n : style.full_modal_body\n }\n >\n {this.props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Button extends React.Component {\n render() {\n var buttonClass = classNames({\n [style.button_outline]: !!this.props.outline,\n [style.button]: !this.props.outline,\n [style.button_special]: !!this.props.children,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [style.button_red]: !!this.props.red,\n [style.button_blue]: !!this.props.blue,\n [style.button_orange]: !!this.props.orange,\n [style.button_green]: !!this.props.green,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <button\n className={buttonClass}\n style={this.props.style}\n onClick={this.props.onClick}\n disabled={this.props.disabled}\n >\n <span style={this.props.styleSpan}>{this.props.text}</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 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 >\n {this.props.children}\n </button>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButton extends React.Component {\n render() {\n var floatActionClass = classNames({\n [style.float_action]: true,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={floatActionClass}>\n <div className={classNames(style.float_action_container)}>\n {this.props.children}\n </div>\n <button\n className={classNames(style.float_action_button)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FloatActionButtonItem extends React.Component {\n render() {\n return (\n <div className={style.float_action_item_container}>\n <span className={classNames(style.float_action_item_text, 'nowrap')}>\n {this.props.text}\n </span>\n <button\n className={classNames(style.float_action_item, this.props.className)}\n onClick={this.props.onClick}\n >\n {this.props.icon}\n </button>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormInput extends React.Component {\n render() {\n if (this.props.children) {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <div className={style.form_input_container_icon}>\n <div>{this.props.children}</div>\n <input\n style={this.props.styleInput}\n className={style.form_input_icon}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n </div>\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n } else {\n return (\n <div\n className={classNames(\n style.form_input_container,\n this.props.className\n )}\n style={this.props.style}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <input\n style={this.props.styleInput}\n className={style.form_input}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n onKeyDown={this.props.onKeyDown}\n onBlur={this.props.onBlur}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n min={this.props.min ? this.props.min : ''}\n max={this.props.max ? this.props.max : ''}\n />\n {this.props.error ? (\n <span className={style.form_input_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormTextarea extends React.Component {\n handleKeyDown(e) {\n e.target.style.height = 'inherit'\n e.target.style.height = e.target.scrollHeight + 'px'\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.form_textarea_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n <textarea\n onKeyDown={!this.props.noResize ? this.handleKeyDown : null}\n onBlur={this.props.onBlur}\n rows={this.props.rows}\n cols={this.props.cols}\n className={style.form_textarea}\n type={this.props.type}\n placeholder={this.props.placeholder}\n onChange={this.props.onChange}\n value={this.props.value}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n style={this.props.style}\n />\n {this.props.error ? (\n <span className={style.form_textarea_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormSelect extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_select_container,\n this.props.className\n )}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : (\n ''\n )}\n {this.props.ignore !== true ? (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n defaultValue={\n this.props.defaultValue ? this.props.defaultValue : 'DEFAULT'\n }\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n ) : (\n <select\n style={this.props.styleInput}\n className={style.form_select}\n onChange={this.props.onChange}\n value={this.props.value ? this.props.value : 'DEFAULT'}\n name={this.props.name}\n required={this.props.required}\n disabled={this.props.disabled}\n >\n {this.props.init ? (\n <option disabled value='DEFAULT'>\n {this.props.init}\n </option>\n ) : (\n ''\n )}\n {this.props.options\n ? this.props.options.map((element, idx) => (\n <option\n key={idx}\n value={element.value}\n disabled={element.disabled ? element.disabled : false}\n >\n {element.text}\n </option>\n ))\n : ''}\n </select>\n )}\n {this.props.error ? (\n <span className={style.form_select_error}>{this.props.error}</span>\n ) : (\n ''\n )}\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretDown, faCaretUp } from '@fortawesome/free-solid-svg-icons'\n\nimport FormInput from '../form-input/FormInput'\nimport FormSelect from '../form-select/FormSelect'\n\nexport default class FormRange extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isOpen: false\n }\n\n this.refComponent = React.createRef()\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n handleClickOutside = (event) => {\n if (\n this.refComponent &&\n this.refComponent.current &&\n !this.refComponent.current.contains(event.target)\n ) {\n this.setState({ isOpen: false })\n }\n }\n\n findText = (options, value) => {\n if (this.props.input) {\n return value\n } else {\n const result = options.filter(\n (item) => item.value.toString() === value.toString()\n )\n\n return result.length ? result[0].text : ''\n }\n }\n\n getLabel = (value1, value2, options1, options2) => {\n if (this.findText(options1, value1) === this.findText(options2, value2)) {\n return `${this.findText(options1, value1)}`\n } else if (\n value1 !== 'DEFAULT' &&\n value1 !== '' &&\n (value2 === 'DEFAULT' || value2 === '')\n ) {\n return `>= ${this.findText(options1, value1)}`\n } else if (\n (value1 === 'DEFAULT' || value1 === '') &&\n value2 !== 'DEFAULT' &&\n value2 !== ''\n ) {\n return `<= ${this.findText(options2, value2)}`\n } else {\n return `${this.findText(options1, value1)} - ${this.findText(\n options2,\n value2\n )}`\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.form_range_container, this.props.className)}\n >\n {this.props.title ? (\n <span className={this.props.classNameTitle}>\n {this.props.title}{' '}\n {this.props.required ? <span className='red'>*</span> : ''}\n </span>\n ) : null}\n <div\n className={style.form_range}\n onClick={() => this.setState({ isOpen: !this.state.isOpen })}\n >\n <span>\n {this.getLabel(\n this.props.value1,\n this.props.value2,\n this.props.options1,\n this.props.options2\n )}\n </span>\n <div>\n <FontAwesomeIcon\n icon={this.state.isOpen ? faCaretUp : faCaretDown}\n />\n </div>\n </div>\n {this.state.isOpen ? (\n <div ref={this.refComponent} className={style.form_range_modal}>\n {this.props.input ? (\n <Fragment>\n <FormInput\n type={this.props.type}\n name={this.props.name1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n />\n <FormInput\n type={this.props.type}\n name={this.props.name2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n />\n </Fragment>\n ) : (\n <Fragment>\n <FormSelect\n type={this.props.type}\n name={this.props.name1}\n options={this.props.options1}\n value={this.props.value1}\n onChange={this.props.onChange1}\n className='mr-10 w-100'\n ignore={true}\n disabled={false}\n init={this.props.init1}\n />\n <FormSelect\n type={this.props.type}\n name={this.props.name2}\n options={this.props.options2}\n value={this.props.value2}\n onChange={this.props.onChange2}\n className='w-100'\n ignore={true}\n disabled={false}\n init={this.props.init2}\n />\n </Fragment>\n )}\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class FormCheckbox extends React.Component {\n render() {\n return (\n <div\n className={classNames(\n style.form_checkbox_container,\n this.props.className\n )}\n >\n <label className={classNames(this.props.className)}>\n {this.props.text}\n <input\n type='checkbox'\n name={this.props.name}\n checked={this.props.checked}\n onChange={this.props.onChange}\n />\n <span className={style.form_checkbox_mark} />\n </label>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\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 from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Table extends React.Component {\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 <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 )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Thead extends React.Component {\n render() {\n return (\n <thead\n className={classNames(style.thead, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </thead>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tbody extends React.Component {\n render() {\n return (\n <tbody\n className={classNames(style.tbody, this.props.className)}\n style={this.props.style}\n >\n {this.props.children}\n </tbody>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\n\nexport default class Th extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sort: false,\n desc: false\n }\n }\n\n handleSortClick = () => {\n this.setState({ desc: !this.state.desc, sort: true }, () => {\n if (this.props.onSort) {\n this.props.onSort(this.state.desc)\n }\n })\n }\n\n getSortButton() {\n if (this.state.sort === false) {\n return (\n <div className={style.table_sort}>\n <div>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n <div>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n </div>\n )\n } else if (this.state.desc === true) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretDown} />\n </div>\n )\n } else if (this.state.desc === false) {\n return (\n <div className={style.table_sort}>\n <FontAwesomeIcon icon={faCaretUp} />\n </div>\n )\n }\n }\n\n render() {\n var thClass = classNames({\n [style.th]: true,\n [style.pointer]: !!this.props.sort,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <th\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={thClass}\n onClick={this.props.sort ? this.handleSortClick : null}\n style={this.props.style}\n >\n <div className={style.table_flex}>\n <span\n style={!this.props.sort ? { margin: 'auto' } : {}}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </span>\n {this.props.sort ? this.getSortButton() : ''}\n </div>\n </th>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Td extends React.Component {\n render() {\n var tdClass = classNames({\n [style.td]: true,\n [style.spaceLeft]: !!this.props.spaceLeft,\n [style.spaceRight]: !!this.props.spaceRight,\n [style.noSpaceLeft]: !!this.props.noSpaceLeft,\n [style.noSpaceRight]: !!this.props.noSpaceRight,\n [style.radiusTopLeft]: !!this.props.radiusTopLeft,\n [style.radiusTopRight]: !!this.props.radiusTopRight,\n [style.radiusBottomLeft]: !!this.props.radiusBottomLeft,\n [style.radiusBottomRight]: !!this.props.radiusBottomRight,\n [style.hide]: !!this.props.hide,\n [this.props.className]: !!this.props.className\n })\n return (\n <td\n onClick={this.props.onClick}\n rowSpan={this.props.rowSpan}\n colSpan={this.props.colSpan}\n className={tdClass}\n style={this.props.style}\n dangerouslySetInnerHTML={this.props.dangerouslySetInnerHTML}\n >\n {this.props.children}\n </td>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tr extends React.Component {\n render() {\n return (\n <tr\n className={classNames(style.tr, this.props.className)}\n onClick={this.props.onClick}\n style={this.props.style}\n >\n {this.props.children}\n </tr>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Nav extends React.Component {\n render() {\n return (\n <div className={classNames(style.nav, this.props.className)}>\n <div className={style.nav_left}>\n {this.props.back ? (\n <div className={style.nav_back} onClick={this.props.onBack}>\n <FontAwesomeIcon icon={faArrowLeft} />\n </div>\n ) : (\n ''\n )}\n <div className={style.nav_text}>\n <h2>{this.props.title}</h2>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n <div className={style.nav_right}>{this.props.children}</div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faEllipsisV } from '@fortawesome/free-solid-svg-icons'\n\nimport ButtonIcon from '../button/ButtonIcon'\n\nimport style from './style.css'\n\nexport default class Header extends React.Component {\n render() {\n return (\n <div className={classNames(style.header, this.props.className)}>\n <div className={style.header_absolute} style={this.props.styleBackground} />\n <div className={style.header_left}>\n {this.props.logo ? (\n <img\n src={this.props.logo}\n height={this.props.height}\n onClick={this.props.onClick}\n className={this.props.onClick ? 'cursor-pointer' : ''}\n />\n ) : null}\n {this.props.title ? <h1>{this.props.title}</h1> : null}\n </div>\n <div className={style.header_right}>\n {this.props.sidebarRef && this.props.isMobile ? (\n <ButtonIcon onClick={this.props.sidebarRef.current.handleHideClick}>\n <FontAwesomeIcon icon={faEllipsisV} />\n </ButtonIcon>\n ) : null}\n {this.props.children}\n </div>\n </div>\n )\n }\n}\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Card extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: 0\n }\n this.refTitle = createRef()\n }\n\n componentDidMount() {\n this.setState({ width: this.getWith() })\n }\n\n componentDidUpdate(prevProps, prevState) {\n const width = this.getWith()\n if (width !== prevState.width) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width })\n }\n }\n\n getWith = () => {\n if (this.refTitle.current) {\n return this.refTitle.current.offsetWidth\n } else {\n return 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card, this.props.className)}>\n {this.props.imgLeft ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgLeft || '100%'\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgLeft}\n alt='left'\n />\n </div>\n ) : null}\n {this.props.isLoad ? (\n <div className={style.card_loader_container}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.loaderText ? <p>{this.props.loaderText}</p> : null}\n </div>\n </div>\n ) : null}\n <div\n style={{\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <div\n className={style.card_top_border}\n style={{\n width: this.state.width\n }}\n />\n {this.props.title ? (\n <div className={style.card_header}>\n <div className={style.card_header_left}>\n <h2 ref={this.refTitle}>{this.props.title}</h2>\n </div>\n <div className={style.card_header_right}>\n <div\n className={classNames(\n style.card_header_action,\n this.props.disableStyleAction\n ? style.card_header_action_disable\n : ''\n )}\n onClick={this.props.onClick}\n >\n {this.props.action}\n </div>\n </div>\n </div>\n ) : (\n ''\n )}\n <div\n className={classNames(\n style.card_body,\n this.props.classNameChildren\n )}\n >\n {this.props.children}\n </div>\n </div>\n {this.props.imgRight ? (\n <div\n style={{\n overflow: 'hidden',\n width: this.props.customWidthImgRight || '100%'\n }}\n >\n <img\n style={{ height: '100%' }}\n src={this.props.imgRight}\n alt='right'\n />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons'\n\nexport default class CardColor extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_color, this.props.className)}>\n {this.props.count === 0 || this.props.count ? (\n <div className={style.card_color_left}>\n <span>{this.props.count}</span>\n </div>\n ) : (\n <div className={style.card_color_image_left}>\n <span>{this.props.image}</span>\n </div>\n )}\n <div className={style.card_color_center}>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n <div className={style.card_color_right} onClick={this.props.onClick}>\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faArrowRight} />\n )}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport default class CardStatistics extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.card_statistics, this.props.className)}>\n <div className={classNames(style.card_statistics_body)}>\n <span>{this.props.title}</span>\n <span>\n {this.props.subtitle}\n <span className={classNames(this.props.evolutionColor)}>\n {this.props.evolution}\n </span>\n </span>\n </div>\n {this.props.icon ? (\n <div className={classNames(style.card_statistics_icon)}>\n <FontAwesomeIcon icon={this.props.icon} />\n </div>\n ) : null}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class CardTabs extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n active: 0\n }\n }\n\n render() {\n return (\n <div className={classNames(style.card_tabs, this.props.className)}>\n <div className={style.card_tabs_header}>\n <div className={style.card_tabs_header_left}>\n {this.props.titles.map((title, idx) => (\n <h2\n key={idx}\n className={\n idx === this.state.active ? style.card_tabs_header_active : ''\n }\n onClick={() => this.setState({ active: idx })}\n >\n {title}\n </h2>\n ))}\n </div>\n </div>\n <div\n className={classNames(\n style.card_tabs_body,\n this.props.classNameChildren\n )}\n >\n {this.props.contents[this.state.active]}\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight\n} from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Slider extends React.Component {\n render() {\n return (\n <div className={classNames(style.slider, this.props.className)}>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronLeft} />\n </div>\n <span className={style.slider_value}>{this.props.value}</span>\n <div className={style.slider_button}>\n <FontAwesomeIcon icon={faChevronRight} />\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimes, faPlus, faBan } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Signature extends React.Component {\n render() {\n var signatureClass = classNames({\n [style.signature]: true,\n [style.active]: !!this.props.signature,\n [style.small]: !!this.props.small,\n [style.big]: !!this.props.big,\n [this.props.className]: !!this.props.className\n })\n\n if (this.props.signature) {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div\n className={style.signature_remove}\n onClick={this.props.onRemove}\n >\n <FontAwesomeIcon icon={faTimes} />\n </div>\n ) : (\n ''\n )}\n <img src={this.props.signature} alt='signature' />\n </div>\n )\n } else {\n return (\n <div\n className={signatureClass}\n style={{ height: this.props.height ? this.props.height : '200px' }}\n >\n {!this.props.disabled ? (\n <div className={style.signature_add} onClick={this.props.onAdd}>\n <FontAwesomeIcon icon={faPlus} />\n </div>\n ) : (\n <div className={style.signature_add} style={{ cursor: \"default\" }}>\n <FontAwesomeIcon icon={faBan} />\n </div>\n )}\n </div>\n )\n }\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Tabs extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsHeader extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_header, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsBody extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_body, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_menu]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustom extends React.Component {\n render() {\n return (\n <div className={classNames(style.tabs_custom, this.props.className)}>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsCustomHeader extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.tabs_custom_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 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(--secondary-color)',\n display: 'flex',\n width: '40px',\n height: '40px',\n margin: 'auto',\n borderRadius: '10px'\n }}\n onClick={() =>\n this.props.onClickAdd ? this.props.onClickAdd() : null\n }\n >\n <FontAwesomeIcon className='m-auto white' icon={faPlus} />\n </div>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditBody extends React.Component {\n render() {\n var tabsBodyClass = classNames({\n [style.tabs_edit_body]: true,\n [style.noCard]: !!this.props.noCard,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsBodyClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditItem extends React.Component {\n render() {\n var tabsItemClass = classNames({\n [style.tabs_edit_item]: true,\n [style.active]: !!this.props.active,\n [this.props.className]: !!this.props.className\n })\n\n return <div className={tabsItemClass}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class TabsEditMenu extends React.Component {\n render() {\n var tabsMenuClass = classNames({\n [style.tabs_edit_menu]: true,\n [style.active]: !!this.props.active,\n [style.disabled]: !!this.props.disabled,\n [this.props.className]: !!this.props.className\n })\n\n return (\n <div className={tabsMenuClass} onClick={this.props.onClick}>\n <span>{this.props.title}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCaretDown,\n faUser\n} from '@fortawesome/free-solid-svg-icons'\n\nexport default class Sidebar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n views: this.props.views,\n isHide: window.innerWidth < 640,\n isMobile: undefined\n }\n }\n\n componentDidMount() {\n this.setSidebar()\n this.checkIfMobile()\n window.addEventListener('resize', this.checkIfMobile)\n }\n\n componentWillUnmount() {\n removeEventListener('resize', this.checkIfMobile)\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (JSON.stringify(this.props.views) !== JSON.stringify(prevProps.views)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ views: this.props.views }, () => {\n this.setSidebar()\n })\n }\n }\n\n checkIfMobile = () => {\n const isMobile = window.innerWidth < 640\n if (isMobile !== this.state.isMobile) {\n this.setState(\n {\n isHide: isMobile ? true : false,\n isMobile\n },\n () => {\n if (this.props.checkIfMobile) {\n this.props.checkIfMobile(this.state.isMobile)\n }\n }\n )\n }\n }\n\n setSidebar = () => {\n if (this.props.location) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.path) {\n if (element.path === this.props.location.pathname) {\n views[idx].active = true\n } else {\n views[idx].active = false\n }\n } else {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.path === this.props.location.pathname) {\n views[idx].active = true\n views[idx].views[idxDropdown].active = true\n } else {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n this.setState({ views: views })\n }\n }\n\n handleDropdownClick(id) {\n const views = this.state.views\n views[id].active = !views[id].active\n this.setState({ views: views })\n }\n\n handleChangeViewClick(path, id, idDropdown = -1) {\n if (\n (idDropdown >= 0 && !this.state.views[id].views[idDropdown].active) ||\n !this.state.views[id].active\n ) {\n const views = this.state.views\n views.map((element, idx) => {\n if (element.active === true) {\n views[idx].active = false\n }\n if (element.views) {\n element.views.map((elementDropdown, idxDropdown) => {\n if (elementDropdown.active === true) {\n views[idx].views[idxDropdown].active = false\n }\n })\n }\n })\n if (idDropdown < 0) {\n views[id].active = true\n } else {\n views[id].active = true\n views[id].views[idDropdown].active = true\n }\n this.setState({ views: views })\n this.props.onViewChange({ path: path, views: views })\n }\n }\n\n handleHideClick = () => {\n this.setState({ isHide: !this.state.isHide }, () => {\n if (this.props.onHide) {\n this.props.onHide(this.state.isHide)\n }\n })\n }\n\n render() {\n var sidebarClass = classNames(\n {\n [style.small]: !!this.state.isHide,\n [style.mobile]: !!this.state.isMobile\n },\n style.sidebar,\n this.props.className\n )\n\n return (\n <div className={sidebarClass}>\n <div className={style.sidebar_header}>\n <div className={style.sidebar_icon}>\n {this.props.icon ? <img alt='icon' src={this.props.icon} /> : null}\n </div>\n <div className={style.button_hide} onClick={this.handleHideClick}>\n {this.state.isHide ? (\n <FontAwesomeIcon icon={faCaretRight} />\n ) : (\n <FontAwesomeIcon icon={faCaretLeft} />\n )}\n </div>\n </div>\n <div className={style.sidebar_user}>\n {this.props.picture ? (\n <div className={style.sidebar_user_icon}>\n <img src={this.props.picture} alt={'profile'} />\n </div>\n ) : (\n <FontAwesomeIcon\n className={classNames({\n 'm-auto': this.state.isHide === true,\n [style.sidebar_user_icon]: true\n })}\n icon={faUser}\n />\n )}\n {this.state.isHide === false ? (\n <div className={style.sidebar_user_text}>\n <span className={style.sidebar_user_title}>\n {this.props.title}\n </span>\n <span className={style.sidebar_user_subtitle}>\n {this.props.subtitle}\n </span>\n </div>\n ) : null}\n </div>\n <div className={style.sidebar_body}>\n {this.state.views.map((element, idx) => {\n if (element.path && element.isHide !== true) {\n return (\n <div\n key={idx}\n onClick={() => {\n if (\n !element.disabled ||\n (element.disabled && this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(element.path, idx)\n }\n }}\n className={classNames(style.sidebar_button, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n </div>\n )\n } else if (element.isHide !== true) {\n const data = []\n data.push(\n <div\n key={idx}\n onClick={() => this.handleDropdownClick(idx)}\n className={classNames(style.sidebar_button_dropdown, {\n [style.active]: !!element.active,\n [style.disabled]: !!element.disabled\n })}\n >\n {element.icon}\n <span>{element.name}</span>\n {element.active === true ? (\n <FontAwesomeIcon icon={faCaretDown} />\n ) : (\n <FontAwesomeIcon icon={faCaretUp} />\n )}\n </div>\n )\n element.views.map((elementDropdown, idxDropdown) => {\n if (\n element.active === true &&\n elementDropdown.isHide !== true\n ) {\n data.push(\n <div\n key={idx + '-' + idxDropdown}\n onClick={() => {\n if (\n !elementDropdown.disabled ||\n (elementDropdown.disabled &&\n this.props.allowDisabledClick)\n ) {\n this.handleChangeViewClick(\n elementDropdown.path,\n idx,\n idxDropdown\n )\n }\n }}\n className={classNames(\n style.sidebar_button,\n style.sidebar_button_second,\n {\n [style.active]: !!elementDropdown.active,\n [style.disabled]: !!elementDropdown.disabled\n }\n )}\n >\n {elementDropdown.icon}\n <span>{elementDropdown.name}</span>\n </div>\n )\n }\n })\n return data\n }\n })}\n </div>\n {this.props.children}\n </div>\n )\n }\n}\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass DoughnutChart extends React.Component {\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= (this.props.high ? this.props.high : 90)) {\n return this.props.reverse ? '#db2828' : '#0c8540'\n } else if (percentage >= (this.props.medium ? this.props.medium : 80)) {\n return '#f2711c'\n } else {\n return this.props.reverse ? '#0c8540' : '#db2828'\n }\n }\n\n render() {\n const num = this.props.number\n const max = this.props.max ? this.props.max : 100\n const difNumber = max - this.props.number\n const text = this.props.text\n const unit = this.props.unit ? this.props.unit : '%'\n\n const data = {\n labels: ['Red', 'Green'],\n datasets: [\n {\n datalabels2: this.props.datalabels2,\n data: [this.props.number, difNumber],\n backgroundColor: [this.getColor(num, max), '#f5f5f5'],\n hoverBorderWidth: 0,\n borderWidth: 0\n }\n ]\n }\n return (\n <div className={classNames(style.doughnut_chart, this.props.className)}>\n <Doughnut\n id={this.props.text}\n data={data}\n width={145}\n height={145}\n legend={{ display: false, labels: { boxWidth: 0 } }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: true,\n cutoutPercentage: 90,\n tooltips: { enabled: false }\n }}\n />\n <div className={style.text_doughnut_chart}>\n <p\n style={{ color: this.getColor(num, max) }}\n className={style.number}\n >\n {num}\n {unit}\n </p>\n <p style={{ color: this.getColor(num, max) }} className={style.text}>\n {text}\n </p>\n </div>\n </div>\n )\n }\n}\n\nexport default DoughnutChart\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react'\nimport { Bar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass BarChart extends React.Component {\n getData(value) {\n if (value) {\n return value\n } else {\n return 'bar'\n }\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getLabels() {\n if (this.props.labels) {\n return this.props.labels\n } else {\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 200\n }\n }\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n type: this.getData(this.props.dataSet[i].type),\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: this.getColor(this.props.dataSet[i].color),\n borderColor: this.getColor(\n this.props.dataSet[i].borderColor\n ? this.props.dataSet[i].borderColor\n : this.props.dataSet[i].color\n ),\n fill: this.props.dataSet[i].fill ? this.props.dataSet[i].fill : 'false',\n borderWidth: this.props.borderWidth ? this.props.borderWidth : 0,\n barThickness: this.getWidthBar(),\n barPercentage: 0.5,\n data: this.props.dataSet[i].data,\n yAxisID: this.props.dataSet[i].yAxisID\n ? this.props.dataSet[i].yAxisID\n : '',\n xAxisID: this.props.dataSet[i].xAxisID\n ? this.props.dataSet[i].xAxisID\n : ''\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Bar\n data={data}\n legend={{\n display: this.getIsLegend(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n yAxes: this.props.yAxes\n ? this.props.yAxes\n : [\n {\n ticks: {\n display: false\n }\n }\n ],\n xAxes: this.props.xAxes\n ? this.props.xAxes\n : [\n {\n gridLines: {\n display: false\n }\n }\n ]\n },\n tooltips: {\n callbacks: {\n label: (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.datasets[tooltipItem.datasetIndex].label || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(tooltipItem.yLabel / 100)\n return `${name} : ${value}`\n } else {\n const options = {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(tooltipItem.yLabel)\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default BarChart\n","import React, { Component } from 'react'\nimport { Radar } from \"react-chartjs-2\"\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nexport class RadarChart extends Component {\n \n getLabels = () => {\n return this.props.labels\n }\n\n getLabel(value) {\n if (value) {\n return value\n } else {\n return 'Valeur'\n }\n }\n\n getColor(value) {\n if (value) {\n return value\n } else {\n return '#5c5c5c'\n }\n }\n\n getHeight() {\n if (this.props.height) {\n return this.props.height\n } else {\n return 350\n }\n }\n\n getIsLegend() {\n if (this.props.isLegend) {\n return this.props.isLegend\n } else {\n return false\n }\n }\n\n createDatasets = (nbValue) => {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.getLabel(this.props.dataSet[i].label),\n backgroundColor: 'rgba(200, 200, 200, 0.2)',\n borderColor: this.getColor(this.props.dataSet[i].color),\n data: this.props.dataSet[i].data,\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n render() {\n const options = {\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n legend: {\n display: this.getIsLegend(),\n position: 'bottom',\n labels: { boxWidth: 10, fontFamily: 'Arial' },\n legendCallback: function(test) {\n console.log('TEST')\n console.log('test', test)\n }\n },\n scale: {\n reverse: false,\n ticks: {\n display: false,\n beginAtZero: true\n }\n },\n }\n const data = {\n labels: this.getLabels(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.getHeight()\n }}\n >\n <Radar \n data={data}\n options={options}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default RadarChart\n","import React from 'react'\nimport { Doughnut } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass PieChart extends React.Component {\n legendDisplayData() {\n if (this.props.legendDisplay === false) {\n return this.props.legendDisplay\n } else return true\n }\n\n createDatasets(nbValue) {\n const dataValue = {\n labels: [],\n datasets: [\n {\n percentage: [],\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: []\n }\n ]\n }\n for (let i = 0; i < nbValue; i++) {\n dataValue.datasets[0].datalabels = this.props.datalabels2\n ? this.props.datalabels2[i]\n : null\n dataValue.datasets[0].percentage.push(this.props.data[i].percentage)\n dataValue.datasets[0].data.push(this.props.data[i].data)\n dataValue.datasets[0].backgroundColor.push(this.props.data[i].color)\n dataValue.datasets[0].hoverBackgroundColor.push(\n this.props.data[i].color + '80'\n )\n dataValue.labels.push(this.props.data[i].labels)\n }\n return dataValue\n }\n\n pieForm() {\n if (this.props.full) {\n return 0\n } else {\n return 70\n }\n }\n\n render() {\n return (\n <div className={classNames(style.pie_chart, this.props.className)}>\n <div className={style.pie_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <Doughnut\n data={this.createDatasets(this.props.data.length)}\n legend={{\n display: this.legendDisplayData(),\n position: this.props.positionLegend || 'bottom',\n align: this.props.alignLegend || 'center',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n maintainAspectRatio: false,\n responsive: true,\n cutoutPercentage: this.pieForm(),\n elements: {\n arc: {\n borderWidth: 0\n }\n },\n tooltips: {\n callbacks: {\n label: this.props.label\n ? this.props.label\n : (tooltipItem, data) => {\n const name = this.props.name\n ? this.props.name\n : data.labels[tooltipItem.index] || ''\n const digits =\n this.props.digits >= 0 ? this.props.digits : 2\n if (this.props.format === 'currency') {\n const optionsCurrency = {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsCurrency\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n } else if (this.props.format === 'percentage') {\n const optionsPercentage = {\n style: 'percent',\n minimumFractionDigits: digits\n }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n optionsPercentage\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ] / 100\n )\n return `${name} : ${value}`\n } else {\n const options = { minimumFractionDigits: digits }\n const value = new Intl.NumberFormat(\n 'fr-FR',\n options\n ).format(\n data.datasets[tooltipItem.datasetIndex].data[\n tooltipItem.index\n ]\n )\n return `${name} : ${value}`\n }\n }\n }\n }\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default PieChart\n","import React from 'react'\nimport { HorizontalBar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass HorizontalBarChart extends React.Component {\n scalesType() {\n if (this.props.align) {\n return {\n xAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n display: false\n },\n barThickness: 50,\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n stacked: true,\n offset: true,\n ticks: {\n beginAtZero: true\n },\n gridLines: {\n display: false\n }\n }\n ]\n }\n } else\n return {\n xAxes: [\n {\n gridLines: {\n borderDash: [4, 4],\n color: '#d8d8d8'\n }\n }\n ],\n yAxes: [\n {\n gridLines: {\n display: false\n }\n }\n ]\n }\n }\n\n typeLabel(value) {\n if (value) {\n return value\n } else return 'Value'\n }\n\n typeColor(value) {\n if (value) {\n return value\n } else return '#5c5c5c'\n }\n\n labelsData() {\n if (this.props.labels) {\n return this.props.labels\n } else\n return [\n 'Jan.',\n 'Fev.',\n 'Mars',\n 'Avr.',\n 'Mai',\n 'Juin',\n 'Jui.',\n 'Août',\n 'Sep.',\n 'Oct.',\n 'Nov.',\n 'Déc.'\n ]\n }\n\n widthData() {\n if (this.props.width) {\n return this.props.width\n }\n }\n\n heightData() {\n if (this.props.height) {\n return this.props.height\n }\n }\n\n legendDisplayData() {\n if (this.props.legendDisplay) {\n return this.props.legendDisplay\n } else return false\n }\n\n createDatasets(nbValue) {\n const dataset = []\n for (let i = 0; i < nbValue; i++) {\n const dataValue = {\n datalabels: this.props.datalabels2 ? this.props.datalabels2[i] : null,\n label: this.typeLabel(this.props.dataSet[i].label),\n backgroundColor: this.typeColor(this.props.dataSet[i].color),\n borderColor: this.typeColor(this.props.dataSet[i].color),\n barThickness: this.getWidthBar(),\n fill: 'false',\n borderWidth: 0,\n barPercentage: 0.5,\n data: this.props.dataSet[i].data\n }\n dataset.push(dataValue)\n }\n return dataset\n }\n\n\n\n getWidthBar() {\n if (this.props.widthBar) {\n return this.props.widthBar\n } else {\n return 10\n }\n }\n\n render() {\n const data = {\n labels: this.labelsData(),\n datasets: this.createDatasets(this.props.dataSet.length)\n }\n\n return (\n <div className={classNames(style.bar_chart, this.props.className)}>\n <div className={style.bar_chart_text}>\n <span>{this.props.title}</span>\n </div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: this.props.height ? this.props.height : 200\n }}\n >\n <HorizontalBar\n style={{ margin: 'auto' }}\n data={data}\n legend={{\n display: this.legendDisplayData(),\n position: 'bottom',\n align: 'start',\n labels: { usePointStyle: true, boxWidth: 10, fontFamily: 'Arial' }\n }}\n options={{\n plugins: {\n datalabels: this.props.dataLabelsOptions\n ? this.props.dataLabelsOptions\n : { display: false }\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: this.scalesType()\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default HorizontalBarChart\n","import React, { createRef } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nclass ProgressBar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n width: null\n }\n this.refProgress = createRef()\n }\n\n componentDidMount() {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n this.setState({ width: this.getWidth(value, max) })\n window.addEventListener('resize', () => {\n this.setState({ width: this.getWidth(value, max) })\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n const max = this.props.max ? this.props.max : 100\n let value = this.props.value ? this.props.value : 0\n if (value > max) {\n value = max\n }\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ width: this.getWidth(value, max) })\n }\n }\n\n getColor(value, max) {\n const percentage = (value * 100) / max\n if (percentage >= 90) {\n return 'bg-green'\n } else if (percentage >= 50) {\n return 'bg-orange'\n } else {\n return 'bg-red'\n }\n }\n\n getWidth(value, max) {\n const percentage = (value * 100) / max\n if (this.refProgress.current) {\n // const width = this.refProgress.current.offsetWidth\n return percentage + '%'\n } else {\n return '0px'\n }\n }\n\n render() {\n const max = this.props.max ? this.props.max : 100\n const value = this.props.value ? this.props.value : 0\n return (\n <div\n className={classNames(\n style.progress_bar_container,\n this.props.className\n )}\n >\n <span>{this.props.title}</span>\n <div className={style.bar} ref={this.refProgress}>\n <div\n className={classNames(\n style.custom_progress,\n this.getColor(value, max)\n )}\n style={{ width: this.state.width }}\n />\n <span>{this.props.text ? this.props.text : value + ' / ' + max}</span>\n </div>\n </div>\n )\n }\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Loader extends React.Component {\n componentDidUpdate() {\n if (this.props.show) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'unset'\n }\n }\n\n render() {\n if (!this.props.show) return null\n\n return (\n <div className={classNames(style.loader_container, this.props.className)}>\n <div\n className={classNames(\n style.loader_element,\n this.props.classNameChildren\n )}\n >\n <div className={style.loader}>\n <span />\n <span />\n <span />\n <span />\n </div>\n {this.props.message ? <p>{this.props.message}</p> : null}\n </div>\n </div>\n )\n }\n}\n\nexport default Loader\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Icon extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n refIcon: React.createRef(),\n colorStyle: null\n }\n }\n\n componentDidMount() {\n this.setState({\n colorStyle: window\n .getComputedStyle(this.state.refIcon.current, null)\n .getPropertyValue('color')\n })\n }\n\n render() {\n return (\n <div\n ref={this.state.refIcon}\n className={classNames(this.props.className)}\n style={{ fontSize: this.props.size ? this.props.size + 'px' : 'none' }}\n >\n {this.props.icon({\n className: classNames(style.icon),\n color: this.state.colorStyle\n })}\n </div>\n )\n }\n}\n","import React from 'react'\nimport PaginationCMP from 'react-js-pagination'\nimport classNames from 'classnames'\nimport style from './style.css'\n\nclass Pagination extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.paginationContainer, this.props.className)}\n >\n <PaginationCMP\n innerClass={style.pagination}\n activeClass={style.active}\n disabledClass={style.disabled}\n activePage={this.props.activePage}\n itemsCountPerPage={this.props.itemsCountPerPage}\n totalItemsCount={this.props.totalItemsCount}\n pageRangeDisplayed={this.props.pageRangeDisplayed}\n onChange={this.props.onChange}\n firstPageText={this.props.firstPageText}\n lastPageText={this.props.lastPageText}\n prevPageText={this.props.prevPageText}\n nextPageText={this.props.nextPageText}\n hideNavigation={this.props.hideNavigation}\n hideFirstLastPages={this.props.hideFirstLastPages}\n />\n </div>\n )\n }\n}\n\nexport default Pagination\n","class PaginationClass {\n constructor(urlCount, urlPagination, tabLength = 20, isAll = false) {\n this.urlCount = urlCount\n this.urlPagination = urlPagination\n this.currentPage = 0\n this.total = 0\n this.tabLength = tabLength\n this.isAll = isAll\n this.activePage = 1\n this.tabData = []\n }\n\n init(axios, data, callback) {\n this.currentPage = 0\n this.total = 0\n this.activePage = 1\n axios(this.urlCount, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.total = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, total: this.total })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n get(axios, data, callback) {\n data.offset = this.currentPage\n data.value = this.tabLength\n data.isAll = this.isAll\n axios(this.urlPagination, {\n method: 'POST',\n data: data\n })\n .then((res) => {\n if (res.data.success === true) {\n this.tabData = res.data.data\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: true, tabData: this.tabData })\n } else {\n // eslint-disable-next-line standard/no-callback-literal\n callback({ success: false })\n }\n })\n .catch((error) => {\n callback({ success: false, error })\n })\n }\n\n page(activePage, callback) {\n if (activePage !== this.activePage) {\n if (activePage < this.activePage) {\n const difPage = activePage - this.activePage\n const currentPageData = this.currentPage + difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n } else {\n const difPage = this.activePage - activePage\n const currentPageData = this.currentPage - difPage * this.tabLength\n this.activePage = activePage\n this.currentPage = currentPageData\n // eslint-disable-next-line standard/no-callback-literal\n callback(currentPageData)\n }\n } else {\n callback(activePage)\n }\n }\n}\n\nexport default PaginationClass\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport default class Dropzone extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loader: false,\n textInfo: this.typeNameText(this.props.typeName),\n base64: '',\n borderColor: '#5c5c5c',\n styleBtnClose: 'none'\n }\n }\n\n typeNameText(propsTypeName) {\n if (propsTypeName) {\n const name = propsTypeName.join(', ')\n return `Glisser un fichier ou cliquer pour sélectionner un fichier (type accepté, ${name})`\n } else {\n return 'Glisser un fichier ou cliquer pour sélectionner un fichier'\n }\n }\n\n typeAccept(acceptedFiles, propsTypeAccept) {\n let value = false\n if (propsTypeAccept) {\n propsTypeAccept.forEach((e) => {\n if (acceptedFiles[0].type === e) {\n value = true\n }\n })\n } else {\n value = true\n }\n return value\n }\n\n onDrop(acceptedFiles, callback) {\n if (this.typeAccept(acceptedFiles, this.props.typeAccept)) {\n const reader = new window.FileReader()\n reader.onabort = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onerror = () => {\n this.setState({\n textInfo: \"Une erreur s'est produite, veuillez réessayer.\",\n borderColor: '#ff0000'\n })\n }\n reader.onloadstart = () => {\n this.setState({ loader: true })\n }\n reader.onloadend = () => {\n this.setState({ loader: false })\n }\n reader.onload = () => {\n const base64 = reader.result\n this.setState({ base64: base64 })\n\n if (callback) {\n // eslint-disable-next-line standard/no-callback-literal\n callback({\n base64: base64,\n mime: acceptedFiles[0].type,\n name: acceptedFiles[0].name,\n size: acceptedFiles[0].size\n })\n }\n }\n acceptedFiles.forEach((file) => reader.readAsDataURL(file))\n this.setState({\n textInfo: `Fichier ${acceptedFiles[0].name} est prêt à être envoyé, glisser ou cliquer pour modifier`,\n borderColor: '#74b741',\n styleBtnClose: 'contents'\n })\n } else {\n this.setState({\n textInfo: 'Format non valide',\n borderColor: '#ff0000'\n })\n }\n }\n\n render() {\n return (\n <div\n className={classNames(\n style.FormDragDropFile_container,\n this.props.className\n )}\n >\n <DropzoneCMP\n className={classNames(this.props.classNameChildren)}\n onDrop={(acceptedFiles) => {\n this.onDrop(acceptedFiles, (data) => this.props.dropHandler(data))\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <section style={{ borderColor: this.state.borderColor }}>\n <div\n className={style.btn_close_drag_drop}\n style={{ display: this.state.styleBtnClose }}\n >\n <ButtonIcon\n ref={this.props.ref}\n onClick={() =>\n this.setState(\n {\n borderColor: '#5c5c5c',\n textInfo: this.typeNameText(this.props.typeName),\n styleBtnClose: 'none'\n },\n () => this.props.dropHandler('')\n )\n }\n >\n {/*<FontAwesomeIcon icon={faTimes} /> */}\n </ButtonIcon>\n </div>\n <div {...getRootProps()}>\n <input {...getInputProps()} />\n <span>{this.state.textInfo}</span>\n </div>\n </section>\n )}\n </DropzoneCMP>\n </div>\n )\n }\n}\n","import React from 'react'\nimport DropzoneCMP from 'react-dropzone'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport ButtonIcon from '../button/ButtonIcon'\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 handleDeleteFile = (idx) => {\n let files = this.state.files\n\n files.splice(idx, 1)\n\n this.setState({\n files\n })\n }\n\n getFileComponent = (idx) => {\n return (\n <div\n key={idx}\n className={classNames(style.dropzone_multiple_item, 'not-click')}\n onClick={() => this.handleDeleteFile(idx)}\n >\n <div className={classNames(style.delete_item_container)}>\n <FontAwesomeIcon icon={faTrash} />\n </div>\n <FontAwesomeIcon icon={this.getIcon(this.state.files[idx].extension)} />\n </div>\n )\n }\n\n hasParentClass = (child, current, classname) => {\n if (\n child.className &&\n typeof child.className === 'string' &&\n child.className.includes(classname)\n ) {\n return true\n } else {\n if (child.parentNode == current || child == current) {\n return false\n } else {\n return this.hasParentClass(child.parentNode, current, classname)\n }\n }\n }\n\n getFile = (file, files) => {\n let name = file.name.split('.')\n if (this.checkExtension(name[name.length - 1])) {\n if (\n !this.props.maxFileSize ||\n this.props.maxFileSize * 1000000 > file.size\n ) {\n const reader = new window.FileReader()\n\n reader.onload = () => {\n const base64 = reader.result\n\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 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 checkExtension = (extension) => {\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 $\n {this.props.maxFileSize\n ? ` - Taille maximale ${this.props.maxFileSize}Mo`\n : ''}\n </span>\n ) : null}\n <input {...getInputProps()} />\n {this.state.files.map((file, idx) => {\n return this.getFileComponent(idx)\n })}\n </div>\n </section>\n )}\n </DropzoneCMP>\n )\n }\n}\n","import React from 'react'\nimport classNames from 'classNames'\nimport style from './style.css'\n\nclass Status extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.status, this.props.className)}\n style={this.props.style}\n >\n {this.props.text}\n </div>\n )\n }\n}\n\nexport default Status\n","import React from 'react'\nimport style from './style.css'\n\nexport default class AlertContainer extends React.Component {\n render() {\n return <div className={style.alert_container}>{this.props.children}</div>\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Alert extends React.Component {\n componentDidMount() {\n if (this.props.onTimeout) {\n setTimeout(\n () => {\n this.props.onTimeout(this.props.id)\n },\n this.props.timeout ? this.props.timeout : 2000\n )\n }\n }\n\n render() {\n return (\n <div className={classNames(style.alert, this.props.backgroundColor)}>\n <span className={this.props.textColor}>{this.props.text}</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class AlertElement extends React.Component {\n render() {\n return (\n <div\n className={classNames(style.alert_element, this.props.backgroundColor)}\n >\n <span\n style={this.props.bold ? { fontWeight: 'bold' } : {}}\n className={this.props.textColor}\n >\n {this.props.children}\n </span>\n <span\n className={classNames(style.alert_element_icon, this.props.textColor)}\n >\n {this.props.icon}\n </span>\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport FormSelect from '../form-select/FormSelect'\nimport ButtonIcon from '../button/ButtonIcon'\n\nexport class Chips extends Component {\n constructor(props) {\n super(props)\n this.state = {\n chipsList: this.props.list ? this.props.list : []\n }\n }\n\n componentDidUpdate(prevProps) {\n if (JSON.stringify(this.props.list) !== JSON.stringify(prevProps.list)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ chipsList: this.props.list ? this.props.list : [] })\n }\n }\n\n handleClick = (e) => {\n console.log('e', e)\n let newChipsList = this.state.chipsList\n const { value } = e\n newChipsList = newChipsList.filter((element) => element.value != value)\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n\n handleInputChange = (e) => {\n let newChipsList = this.state.chipsList\n const { value } = e.target\n const index = this.props.options.findIndex(\n (element) => element.value == value\n )\n let isAlreadyInside = false\n newChipsList.map((element) => {\n if (element.value == value || value == 0) isAlreadyInside = true\n return\n })\n if (!isAlreadyInside) {\n newChipsList.push(this.props.options[index])\n this.setState({ chipsList: newChipsList }, () =>\n this.props.onChange(this.state.chipsList)\n )\n }\n }\n\n render() {\n return (\n <div\n className={classNames(style.component, this.props.className)}\n style={this.props.style}\n >\n <div className={classNames(style['display-chips'])}>\n {this.state.chipsList.length > 0\n ? this.state.chipsList.map((chips, idx) => {\n return (\n <div key={idx} className={classNames(style.chips)}>\n <div>{chips.text}</div>\n <ButtonIcon\n className={classNames(style.buttonIcon)}\n onClick={() => this.handleClick(chips)}\n >\n <FontAwesomeIcon icon={faTimesCircle} />\n </ButtonIcon>\n </div>\n )\n })\n : null}\n </div>\n <div>\n {this.props.disabledOptions ? null : (\n <FormSelect\n hide={this.disabledOptions ? true : false}\n title='Agences'\n name='agency'\n value={this.state.agency ? this.state.agency : undefined}\n ignore={true}\n options={this.props.options}\n onChange={this.handleInputChange}\n />\n )}\n </div>\n </div>\n )\n }\n}\n\nexport default Chips\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingVerticalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_vertical]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_vertical_left}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_vertical_right}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingVerticalSeparator extends React.Component {\n render() {\n return (\n <div className={style.listing_vertical_separator}>\n <span>|</span>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingVerticalItem from './ListingVerticalItem'\nimport ListingVerticalSeparator from './ListingVerticalSeparator'\n\nexport default class ListingVertical extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingVerticalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n if (idx < tmpData.length - 1) {\n data.push(<ListingVerticalSeparator key={'s-' + idx} />)\n }\n })\n\n return data\n }\n\n render() {\n return (\n <div className={style.listing_vertical_container}>{this.getData()}</div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\n\nexport default class ListingHorizontalItem extends React.Component {\n render() {\n var listingClass = classNames({\n [style.listing_horizontal]: true,\n [style.listing_green]: !!this.props.green,\n [style.listing_orange]: !!this.props.orange\n })\n\n return (\n <div className={listingClass}>\n <div\n className={style.listing_horizontal_icon}\n style={{\n backgroundColor: this.props.backgroundColor\n ? this.props.backgroundColor\n : 'gray',\n color: this.props.color ? this.props.color : 'white'\n }}\n >\n {this.props.icon ? (\n this.props.icon\n ) : (\n <FontAwesomeIcon icon={faCheck} />\n )}\n </div>\n <div className={style.listing_horizontal_text}>\n <span>{this.props.date}</span>\n <span>{this.props.title}</span>\n <span>{this.props.subtitle}</span>\n </div>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nexport default class ListingHorizontalSeparator extends React.Component {\n render() {\n return (\n <div\n className={style.listing_horizontal_separator}\n style={{ width: this.props.width }}\n />\n );\n }\n}\n","import React from 'react'\nimport style from './style.css'\n\nimport ListingHorizontalItem from './ListingHorizontalItem'\nimport ListingHorizontalSeparator from './ListingHorizontalSeparator'\n\nexport default class ListingHorizontal extends React.Component {\n getData = () => {\n let tmpData = []\n const data = []\n\n tmpData = this.props.data.map((element, idx) => {\n return (\n <ListingHorizontalItem\n key={idx}\n green={element.green}\n orange={element.orange}\n color={element.color}\n backgroundColor={element.backgroundColor}\n title={element.title}\n subtitle={element.subtitle}\n date={element.date}\n icon={element.icon}\n />\n )\n })\n\n tmpData.map((element, idx) => {\n data.push(element)\n })\n\n return data\n }\n\n render() {\n const separatorWidth = `${\n this.props.data.length > 0\n ? (this.props.data.length - 1) * 140\n : 0\n }px`;\n\n return (\n <div className={style.listing_horizontal_container}>\n <ListingHorizontalSeparator width={separatorWidth} />\n {this.getData()}\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport class Dropdown extends Component {\n constructor(props) {\n super(props)\n this.state = {\n isHide: true\n }\n }\n\n render() {\n var dropdownMenuClass = classNames({\n [style.dropdown_menu]: true,\n [style.show]: !this.state.isHide\n })\n\n return (\n <div className={classNames(style.dropdown)}>\n <div\n className={classNames(style.dropdown_first)}\n onClick={() => this.setState({ isHide: !this.state.isHide })}\n >\n {this.props.title ? <span>{this.props.title}</span> : <></>}\n {this.props.title && this.props.icon ? (\n <div className={classNames(style.space)} />\n ) : (\n <></>\n )}\n {this.props.icon ? this.props.icon : <></>}\n </div>\n <div className={dropdownMenuClass}>\n {this.props.data.map((element, key) => (\n <span key={key}>{element.title}</span>\n ))}\n </div>\n </div>\n )\n }\n}\n\nexport default Dropdown\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\n\nexport default class Error404 extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={classNames(style.error_full)}>\n <div className={classNames(style.error_center)}>\n <div className={classNames(style.error_center_group)}>\n <h3 className={classNames(style.error_title)}>Page not found</h3>\n <h1 className={classNames(style.error_code)}>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>0</span>\n <span style={{ 'text-shadow': '-8px 0 0 #fff' }}>4</span>\n </h1>\n </div>\n <h2 className={classNames(style.error_text)}>\n {this.props.text ? this.props.text : \"La page n'existe pas\"}\n </h2>\n <Button\n onClick={() =>\n this.props.onBack ? this.props.onBack() : window.history.back()\n }\n text='Retour'\n outline\n />\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport Button from '../button/Button'\nimport Modal from '../modal/Modal'\nimport { Row, Col } from 'react-flexbox-grid'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCaretUp, faCaretDown } from '@fortawesome/free-solid-svg-icons'\nimport Cookies from 'universal-cookie'\n\nexport default class Cookie extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n show: false,\n showInfo: false\n }\n this.cookies = new Cookies()\n }\n\n componentDidMount() {\n if (\n this.props.force ||\n (this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2')\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.force !== this.props.force ||\n prevProps.name !== this.props.name\n ) {\n if (\n this.cookies.get(`${this.props.name}-cookies`) !== '1' &&\n this.cookies.get(`${this.props.name}-cookies`) !== '2'\n ) {\n this.setState({ show: true })\n } else {\n this.setState({ show: false })\n }\n }\n }\n\n render() {\n return (\n <Modal\n title={\n this.props.title || 'Données personnelles & utilisation des cookies'\n }\n show={this.state.show}\n onClose={this.props.onClose}\n disableClose={true}\n large\n >\n {this.props.message ? (\n this.props.message\n ) : (\n <Fragment>\n <p>\n Nous utilisons des cookies afin d’améliorer votre expérience sur\n le site. Ces cookies servent à personnaliser le contenu du site,\n en mesurer la fréquentation et les performances.\n </p>\n <p>\n En cliquant sur le bouton \"Accepter\" vous acceptez tous les\n cookies. Vous pouvez aussi en savoir plus à tout moment via le\n lien \"RGPD & Cookies\" accessible dans le pied de page.\n </p>\n </Fragment>\n )}\n\n {this.props.infos ? (\n <>\n <a\n href='/'\n style={{ textAlign: 'left', margin: '16px 0' }}\n onClick={(event) => {\n event.preventDefault()\n this.setState((state) => ({\n ...state,\n showInfo: !state.showInfo\n }))\n }}\n >\n En savoir plus{' '}\n <FontAwesomeIcon\n icon={this.state.showInfo ? faCaretUp : faCaretDown}\n />\n </a>\n {this.state.showInfo ? (\n <div style={{ margin: '16px 0' }}>{this.props.infos}</div>\n ) : null}\n </>\n ) : null}\n\n <b>\n Nos cookies ont pour seul et unique but de faire fonctionner le\n service\n </b>\n\n <Row style={{ margin: '16px 0' }}>\n <Col\n xs={12}\n md={this.props.isReject ? 6 : 12}\n style={{ margin: '10px 0' }}\n >\n <Button\n text='Accepter les cookies nécessaires au fonctionnement du service'\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '1',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onAccept) this.props.onAccept()\n })\n }}\n />\n </Col>\n {this.props.isReject ? (\n <Col xs={12} md={6} style={{ margin: '10px 0' }}>\n <Button\n text='Refuser'\n outline\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '0',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onReject) this.props.onReject()\n })\n }}\n />\n </Col>\n ) : null}\n <a\n style={{\n color: 'gray',\n marginTop: '10px',\n marginLeft: 'auto',\n textDecoration: 'none'\n }}\n onClick={() => {\n this.cookies.set(\n `${this.props.name}-cookies`,\n '2',\n this.props.options\n )\n\n this.setState({ show: false }, () => {\n if (this.props.onContinue) this.props.onContinue()\n })\n }}\n >\n Continuer sans accepter\n </a>\n </Row>\n </Modal>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\nimport { Row, Col } from 'react-flexbox-grid'\n\nexport default class Footer extends React.Component {\n constructor(props) {\n super(props)\n this.state = {}\n }\n\n render() {\n return (\n <div className={style.footer}>\n <Row>\n <Col xs={12} md={12} lg={4} className='mt-5 mb-5 d-flex'>\n <img className='m-auto' src={this.props.logo} />\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.legal}\n onClick={this.props.onLegalClick}\n >\n Mentions Légales\n </a>\n </Col>\n <Col xs={12} md={6} lg={4} className='mt-5 mb-5 d-flex'>\n <a\n className='m-auto'\n target='_blank'\n href={this.props.rgpd}\n onClick={this.props.onRgpdClick}\n >\n RGPD & Cookies\n </a>\n </Col>\n </Row>\n </div>\n )\n }\n}\n","import React from 'react'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nexport default class Switch extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n idxActive: 0\n }\n }\n\n componentDidMount() {\n if (this.props.idxActive !== undefined) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.idxActive !== undefined &&\n prevProps.idxActive !== this.props.idxActive &&\n this.props.idxActive !== this.state.prevProps\n ) {\n this.setState({\n idxActive: this.props.idxActive\n })\n }\n }\n\n render() {\n return (\n <div className={classNames(style.switch_container, this.props.className)}>\n {this.props.title ? (\n <span className={this.props.classNameTitle}>{this.props.title}</span>\n ) : null}\n <div className={classNames(style.switch)}>\n <div\n onClick={() =>\n this.setState({ idxActive: 0 }, () =>\n this.props.onChange ? this.props.onChange(0) : null\n )\n }\n style={\n this.state.idxActive === 0\n ? { backgroundColor: this.props.color1, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value1}</span>\n </div>\n <div\n onClick={() =>\n this.setState({ idxActive: 1 }, () =>\n this.props.onChange ? this.props.onChange(1) : null\n )\n }\n style={\n this.state.idxActive === 1\n ? { backgroundColor: this.props.color2, color: 'var(--white)' }\n : {}\n }\n >\n <span>{this.props.value2}</span>\n </div>\n </div>\n </div>\n )\n }\n}\n","import React, { Fragment } from 'react'\n\nexport default class Gauge extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isActive: false,\n position: 0\n }\n }\n\n componentDidMount() {\n if (this.props.position) {\n this.setState({\n position: this.props.position\n })\n }\n\n window.addEventListener(\n 'mouseup',\n () => {\n this.setState({ isActive: false })\n },\n true\n )\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.position !== this.props.position &&\n this.props.position !== this.state.position\n ) {\n this.setState({\n position: this.props.position\n })\n }\n }\n\n onMouse = (e, isForce = false) => {\n if (this.state.isActive || isForce) {\n let currentTargetRect = e.currentTarget.getBoundingClientRect()\n const width = currentTargetRect.width\n const positionX = e.pageX - currentTargetRect.left\n\n const step = this.props.step ? this.props.step : 1\n\n let position =\n (positionX * 100) / width - (((positionX * 100) / width) % step)\n\n this.setState(\n {\n position\n },\n () => (this.props.onChange ? this.props.onChange(position) : null)\n )\n }\n }\n\n render() {\n return (\n <div className={this.props.className}>\n {this.props.onEdit ? (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--blue)',\n marginBottom: '16px',\n cursor: 'pointer',\n textDecoration: 'underline'\n }}\n onClick={this.props.onEdit}\n >\n {this.props.title}\n </span>\n ) : (\n <span\n style={{\n display: 'inline-block',\n fontSize: '14px',\n fontWeight: 'bold',\n color: 'var(--black)',\n marginBottom: '16px'\n }}\n >\n {this.props.title}\n </span>\n )}\n <div>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '22px',\n backgroundImage:\n this.props.colors.length === 3\n ? `linear-gradient(to right, ${this.props.colors[0]} 0%, ${this.props.colors[1]} 50%, ${this.props.colors[2]} 100%)`\n : `linear-gradient(to right, ${this.props.colors[0]}, ${this.props.colors[1]})`,\n borderRadius: '8px'\n }}\n onMouseMove={(e) => this.onMouse(e)}\n onClick={(e) => this.onMouse(e, true)}\n onMouseDown={(e) => {\n e.preventDefault()\n\n this.setState({\n isActive: true\n })\n }}\n >\n {this.props.min ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.min + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MIN\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.min + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.max ? (\n <Fragment>\n <span\n style={{\n position: 'absolute',\n left: this.props.max + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-18px',\n fontSize: '10px'\n }}\n >\n MAX\n </span>\n <div\n style={{\n position: 'absolute',\n width: '4px',\n height: '28px',\n borderRadius: '4px',\n top: '-3px',\n backgroundColor: 'black',\n left: this.props.max + '%',\n transform: 'translateX(-50%)'\n }}\n />\n </Fragment>\n ) : null}\n {this.props.noText ? null : (\n <span\n style={{\n position: 'absolute',\n left: this.state.position + '%',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n top: '-16px',\n fontSize: '10px',\n fontWeight: 'bold',\n transition: '0.3s'\n }}\n >\n {parseInt(this.state.position)}%\n </span>\n )}\n <div\n className='cursor-pointer'\n style={{\n position: 'absolute',\n bottom: '-6px',\n width: 0,\n height: 0,\n borderLeft: '10px solid transparent',\n borderRight: '10px solid transparent',\n borderBottom: '18px solid black',\n transform: 'translateX(-50%)',\n left: this.state.position + '%'\n }}\n ></div>\n </div>\n </div>\n </div>\n )\n }\n}\n","//! moment.js\n//! version : 2.29.3\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.3';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","import Holidays from 'date-holidays'\nimport React, { Fragment } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport {\n faChevronLeft,\n faChevronRight,\n faTimes,\n faCheck\n} from '@fortawesome/free-solid-svg-icons'\nimport moment from 'moment'\nimport { Row, Col } from 'react-flexbox-grid'\nimport style from './style.css'\nimport classNames from 'classnames'\n\nconst hd = new Holidays('FR')\n\nexport default class Calendar extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n year: parseInt(moment().format('YYYY')),\n month: parseInt(moment().format('MM')),\n days: [],\n activeDate: null,\n times: [],\n activeTime: null\n }\n\n this.months = [\n 'Janvier',\n 'Février',\n 'Mars',\n 'Avril',\n 'Mai',\n 'Juin',\n 'Juillet',\n 'Août',\n 'Septembre',\n 'Octobre',\n 'Novembre',\n 'Décembre'\n ]\n }\n\n componentDidMount() {\n this.getArrayDays()\n this.getArrayTime()\n\n this.setState({\n year: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('YYYY'))\n : this.state.year,\n month: this.props.valueDate\n ? parseInt(moment(this.props.valueDate).format('M'))\n : this.state.month,\n activeDate: this.props.valueDate\n ? this.props.valueDate\n : this.state.activeDate,\n activeTime: this.props.valueTime ? this.props.valueTime : this.state.Time\n })\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueDate\n ) {\n this.setState(\n {\n year: parseInt(moment(this.props.valueDate).format('YYYY')),\n month: parseInt(moment(this.props.valueDate).format('M')),\n activeDate: this.props.valueDate\n },\n () => {\n this.getArrayDays()\n }\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayDays()\n }\n\n if (\n prevProps.show !== this.props.show &&\n this.props.show &&\n this.props.valueTime\n ) {\n this.setState(\n {\n activeTime: this.props.valueTime\n },\n this.getArrayTime\n )\n } else if (prevProps.show !== this.props.show) {\n this.getArrayTime()\n } else if (\n this.props.timesRange &&\n JSON.stringify(this.props.timesRange) !==\n JSON.stringify(prevProps.timesRange)\n ) {\n this.getArrayTime()\n }\n }\n\n handlePreviousYearClick = () => {\n this.setState(\n {\n year: this.state.year - 1\n },\n this.getArrayDays\n )\n }\n handleNextYearClick = () => {\n this.setState(\n {\n year: this.state.year + 1\n },\n this.getArrayDays\n )\n }\n\n handlePreviousMonthClick = () => {\n if (this.state.month - 1 < 1) {\n this.setState(\n {\n year: this.state.year - 1,\n month: 12\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month - 1\n },\n this.getArrayDays\n )\n }\n }\n handleNextMonthClick = () => {\n if (this.state.month + 1 > 12) {\n this.setState(\n {\n year: this.state.year + 1,\n month: 1\n },\n this.getArrayDays\n )\n } else {\n this.setState(\n {\n month: this.state.month + 1\n },\n this.getArrayDays\n )\n }\n }\n\n getArrayDays = () => {\n this.holidays = hd\n .getHolidays(this.state.year)\n .map((date) => moment(date.date).format('YYYY-MM-DD'))\n\n const endOfMonth = parseInt(\n moment(`${this.state.year}-${this.state.month}`, 'YYYY-M')\n .endOf('month')\n .format('D')\n )\n\n const startDayOfMonth = moment(\n `${this.state.year}-${this.state.month}`,\n 'YYYY-M'\n ).isoWeekday()\n\n let rows = []\n\n for (\n let index = startDayOfMonth - 1;\n index < endOfMonth + (startDayOfMonth - 1);\n index++\n ) {\n const col = index % 7\n const row = parseInt(index / 7)\n\n if (!rows.hasOwnProperty(row)) {\n rows.push([null, null, null, null, null, null, null])\n }\n rows[row][col] = index - startDayOfMonth + 2\n }\n\n this.setState({ days: rows })\n }\n\n handleActiveClick = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n this.setState(\n {\n activeDate: null,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(null)\n }\n }\n )\n } else if (checkActive === 0) {\n this.setState(\n {\n activeDate: currentDate,\n activeTime: null\n },\n () => {\n if (this.props.onChange) {\n this.props.onChange(currentDate)\n }\n }\n )\n }\n }\n\n checkActive = (row, col) => {\n const currentDate = moment(\n `${this.state.year}-${this.state.month}-${this.state.days[row][col]}`,\n 'YYYY-MM-D'\n ).format('YYYY-MM-DD')\n\n if (this.state.activeDate === currentDate) {\n return 1\n } else {\n if (this.props.enabledDates && this.props.enabledDates.length) {\n if (\n this.props.enabledDates.includes(currentDate) &&\n !(\n this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))\n )\n ) {\n return 0\n } else {\n return 2\n }\n } else if (\n (this.props.disabledDates &&\n this.props.disabledDates.includes(currentDate)) ||\n (!this.props.isWeek &&\n [6, 7].includes(parseInt(moment(currentDate).isoWeekday()))) ||\n (!this.props.isHoliday && this.holidays.includes(currentDate)) ||\n (this.props.minDate &&\n moment(this.props.minDate).isAfter(moment(currentDate))) ||\n (this.props.maxDate &&\n moment(this.props.maxDate).isBefore(moment(currentDate))) ||\n (this.props.disabledDays &&\n this.props.disabledDays.filter(\n (element, idx) => element === 1 && idx === col\n ).length)\n ) {\n return 2\n } else {\n return 0\n }\n }\n }\n\n checkActiveClassName = (row, col) => {\n const checkActive = this.checkActive(row, col)\n if (checkActive === 1) {\n return style.active\n } else if (checkActive === 2) {\n return style.disabled\n } else {\n return ''\n }\n }\n\n handleTimeClick = (time) => {\n if (!this.props.disabledTime.includes(time)) {\n this.setState({\n activeTime: time\n })\n }\n }\n\n getArrayTime = () => {\n if (this.props.isTime) {\n let times = []\n\n this.props.timesRange.map((range) => {\n const start = moment(range[0], 'HH:mm')\n const end = moment(range[1], 'HH:mm')\n let old = start\n\n while (old.isBefore(end)) {\n times.push(old.format('HH:mm'))\n old = old.add(\n this.props.timeStep ? this.props.timeStep : 30,\n 'minutes'\n )\n }\n })\n\n this.setState({\n times\n })\n } else {\n this.setState({\n times: []\n })\n }\n }\n\n render() {\n if (!this.props.show) {\n return null\n }\n\n return (\n <div className={style.calendar_container}>\n <div className={style.calendar}>\n <div className={style.calendar_header}></div>\n <Row>\n <Col\n xs={12}\n md={this.props.isTime && this.state.activeDate ? 7 : 12}\n >\n <div className={style.calendar_body}>\n <div className={style.calendar_header_year}>\n <span>{this.state.year}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousYearClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextYearClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_month}>\n <span>{this.months[parseInt(this.state.month) - 1]}</span>\n <div>\n <span\n className={style.calendar_switch_button}\n onClick={this.handlePreviousMonthClick}\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </span>\n <span\n className={style.calendar_switch_button}\n onClick={this.handleNextMonthClick}\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </span>\n </div>\n </div>\n <div className={style.calendar_header_day}>\n <table className={style.calendar_table}>\n <thead>\n <tr>\n <th>Lun.</th>\n <th>Mar.</th>\n <th>Mer.</th>\n <th>Jeu.</th>\n <th>Ven.</th>\n {this.props.isWeek ? <th>Sam.</th> : null}\n {this.props.isWeek ? <th>Dim.</th> : null}\n </tr>\n </thead>\n <tbody>\n {this.state.days.map((row, idxRow) => (\n <tr key={idxRow}>\n {row.map((col, idxCol) =>\n this.props.isWeek || idxCol < 5 ? (\n <td key={`${idxRow}-${idxCol}`}>\n {col ? (\n <span\n className={this.checkActiveClassName(\n idxRow,\n idxCol\n )}\n onClick={() =>\n this.handleActiveClick(idxRow, idxCol)\n }\n >\n {moment(\n `${this.state.year}-${this.state.month}-${col}`,\n 'YYYY-M-D'\n ).format('DD')}\n </span>\n ) : null}\n </td>\n ) : null\n )}\n </tr>\n ))}\n </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","componentDidUpdate","props","show","document","body","style","overflow","handleClickModal","e","target","currentTarget","disableClose","onClose","render","modalContainerClass","classNames","large","modal_container","className","modal","modal_valid","onValid","faCheck","modal_close","iconClose","faTimes","modal_header","title","modal_body","children","React","Component","FullModal","full_modal_container","full_modal_header","noPadding","full_modal_body_no_padding","full_modal_body","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","styleDiv","button_special_icon","ButtonIcon","button_icon","white","button_icon_background","isBackground","FloatActionButton","floatActionClass","float_action","float_action_container","float_action_button","icon","FloatActionButtonItem","float_action_item_container","float_action_item_text","float_action_item","FormInput","form_input_container","classNameTitle","required","form_input_container_icon","styleInput","form_input_icon","type","placeholder","onChange","onKeyDown","onBlur","value","name","min","max","error","form_input_error","form_input","FormTextarea","handleKeyDown","height","scrollHeight","form_textarea_container","noResize","rows","cols","form_textarea","form_textarea_error","FormSelect","form_select_container","ignore","form_select","defaultValue","init","options","map","element","idx","form_select_error","FormRange","handleClickOutside","event","refComponent","current","contains","setState","isOpen","findText","input","result","filter","item","toString","length","getLabel","value1","value2","options1","options2","state","createRef","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","form_range_container","form_range","faCaretUp","faCaretDown","form_range_modal","Fragment","name1","onChange1","name2","onChange2","init1","init2","FormCheckbox","form_checkbox_container","checked","form_checkbox_mark","FormRadio","radio_container","form_radio_container","form_radio_mark","Table","tableClass","table","tableEmpty","empty","radiusTopLeft","radiusTopRight","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","offsetWidth","width","prevProps","prevState","card","imgLeft","customWidthImgLeft","isLoad","card_loader_container","loader_element","classNameChildren","loader","loaderText","position","display","flexDirection","card_top_border","card_header","card_header_left","card_header_right","card_header_action","disableStyleAction","card_header_action_disable","action","card_body","imgRight","customWidthImgRight","CardColor","card_color","count","card_color_left","card_color_image_left","image","card_color_center","card_color_right","faArrowRight","CardStatistics","card_statistics","card_statistics_body","evolutionColor","evolution","card_statistics_icon","CardTabs","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","tabs_custom_header","TabsCustomBody","tabsBodyClass","tabs_custom_body","noCard","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","backgroundColor","borderRadius","onClickAdd","TabsEditBody","tabs_edit_body","TabsEditItem","tabs_edit_item","TabsEditMenu","tabs_edit_menu","Sidebar","checkIfMobile","window","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","data","push","sidebar_button_dropdown","sidebar_button_second","DoughnutChart","getColor","percentage","high","reverse","medium","num","number","difNumber","unit","labels","datasets","datalabels2","hoverBorderWidth","borderWidth","doughnut_chart","boxWidth","plugins","datalabels","dataLabelsOptions","responsive","maintainAspectRatio","cutoutPercentage","tooltips","enabled","text_doughnut_chart","color","BarChart","getData","getLabels","getHeight","getWidthBar","widthBar","getIsLegend","isLegend","createDatasets","nbValue","dataset","i","dataValue","dataSet","label","borderColor","fill","barThickness","barPercentage","yAxisID","xAxisID","bar_chart","bar_chart_text","align","usePointStyle","fontFamily","scales","yAxes","ticks","xAxes","gridLines","callbacks","tooltipItem","datasetIndex","digits","format","optionsCurrency","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","yLabel","optionsPercentage","RadarChart","legend","legendCallback","test","console","log","scale","beginAtZero","PieChart","legendDisplayData","legendDisplay","hoverBackgroundColor","pieForm","full","pie_chart","pie_chart_text","positionLegend","alignLegend","elements","arc","index","HorizontalBarChart","scalesType","stacked","offset","borderDash","typeLabel","typeColor","labelsData","widthData","heightData","ProgressBar","refProgress","getWidth","progress_bar_container","bar","custom_progress","Loader","loader_container","message","Icon","refIcon","colorStyle","getComputedStyle","getPropertyValue","fontSize","size","Pagination","paginationContainer","pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","firstPageText","lastPageText","prevPageText","nextPageText","hideNavigation","hideFirstLastPages","PaginationClass","urlCount","urlPagination","tabLength","isAll","currentPage","total","tabData","axios","callback","method","then","res","success","get","page","difPage","currentPageData","Dropzone","textInfo","typeNameText","typeName","base64","styleBtnClose","propsTypeName","join","typeAccept","acceptedFiles","propsTypeAccept","forEach","onDrop","reader","FileReader","onabort","onerror","onloadstart","onloadend","onload","mime","file","readAsDataURL","FormDragDropFile_container","dropHandler","getRootProps","getInputProps","btn_close_drag_drop","ref","DropzoneMultiple","handleDeleteFile","files","splice","getFileComponent","dropzone_multiple_item","delete_item_container","faTrash","getIcon","extension","hasParentClass","child","classname","includes","parentNode","getFile","split","checkExtension","maxFileSize","tmpFiles","currentFile","nextFile","alert","handleDrop","faFilePdf","faFileWord","faFileExcel","faFileImage","faFileCsv","faFile","addFile","extensions","dropzone_multiple_container","stopPropagation","dropzone_multiple_items","background_text","Status","status","AlertContainer","alert_container","Alert","onTimeout","setTimeout","timeout","textColor","AlertElement","alert_element","bold","fontWeight","alert_element_icon","Chips","handleClick","newChipsList","chipsList","handleInputChange","findIndex","isAlreadyInside","list","component","chips","buttonIcon","faTimesCircle","disabledOptions","agency","ListingVerticalItem","listingClass","listing_vertical","listing_green","listing_orange","listing_vertical_left","listing_vertical_right","date","ListingVerticalSeparator","listing_vertical_separator","ListingVertical","tmpData","listing_vertical_container","ListingHorizontalItem","listing_horizontal","listing_horizontal_icon","listing_horizontal_text","ListingHorizontalSeparator","listing_horizontal_separator","ListingHorizontal","separatorWidth","listing_horizontal_container","Dropdown","dropdownMenuClass","dropdown_menu","dropdown","dropdown_first","space","key","Error404","error_full","error_center","error_center_group","error_title","error_code","error_text","history","Cookie","showInfo","cookies","Cookies","force","infos","textAlign","preventDefault","isReject","set","onAccept","onReject","marginTop","marginLeft","textDecoration","onContinue","Footer","footer","legal","onLegalClick","rgpd","onRgpdClick","Switch","idxActive","switch_container","color1","color2","Gauge","onMouse","isForce","isActive","currentTargetRect","getBoundingClientRect","positionX","pageX","left","step","onEdit","marginBottom","backgroundImage","colors","transform","top","noText","transition","parseInt","bottom","borderLeft","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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"}
|