From 7d79bb26896cd9d632834c9d4875cdab64232614 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 26 Feb 2020 10:22:56 -0800 Subject: [PATCH 01/64] Added vendor and RO search to enter invoice modal. --- bodyshop_translations.babel | 188 ++++++++++++++++++ .../invoice-enter-modal.component.jsx | 79 +++++++- .../invoice-enter-modal.container.jsx | 62 +++++- .../jobs-detail-pli.component.jsx | 5 +- client/src/graphql/jobs.queries.js | 17 ++ client/src/graphql/vendors.queries.js | 11 + client/src/translations/en_us/common.json | 16 ++ client/src/translations/es/common.json | 16 ++ client/src/translations/fr/common.json | 16 ++ 9 files changed, 398 insertions(+), 12 deletions(-) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 9831a14ef..b854e8eff 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1747,6 +1747,194 @@ + + invoices + + + errors + + + invalidro + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + invalidvendor + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + + + fields + + + date + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + invoice_number + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + is_credit_memo + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + ro_number + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + vendor + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + + + labels + + + new + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + + + joblines diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index 387290e7f..bbccfd0d5 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -1,4 +1,4 @@ -import { Modal, Form, Input, InputNumber } from "antd"; +import { Modal, Form, Input, Switch, DatePicker, AutoComplete } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import ResetForm from "../form-items-formatted/reset-form-item.component"; @@ -8,26 +8,95 @@ export default function InvoiceEnterModalComponent({ invoice, handleCancel, handleSubmit, - form + form, + handleRoAutoComplete, + roAutoCompleteOptions, + handleVendorAutoComplete, + vendorAutoCompleteOptions }) { const { t } = useTranslation(); const { getFieldDecorator, isFieldsTouched, resetFields } = form; + console.log("invoice", invoice); return ( {isFieldsTouched() ? : null}
- {JSON.stringify(invoice)} + + {getFieldDecorator("jobid", { + rules: [ + { + required: true, + pattern: new RegExp( + "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + ), + message: t("invoices.errors.invalidro") + } + ] + })( + { + console.log("props", props); + }} + /> + )} + + + {getFieldDecorator("vendorid", { + rules: [ + { + required: true, + pattern: new RegExp( + "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + ), + message: t("invoices.errors.invalidvendor") + } + ] + })( + + )} + +
+ + {getFieldDecorator( + "invoice_number", + {} + )()} + + + {getFieldDecorator("date", {})()} + + + {getFieldDecorator("is_credit_memo", { + initialValue: false, + valuePropName: "checked" + })()} + +
+ { // // {getFieldDecorator("line_desc", { diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx index 5526af420..32bcd0b0c 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx @@ -1,6 +1,6 @@ import { Form, notification } from "antd"; -import React from "react"; -import { useMutation } from "react-apollo"; +import React, { useState } from "react"; +import { useQuery } from "react-apollo"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; @@ -11,6 +11,8 @@ import { import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { selectInvoiceEnterModal } from "../../redux/modals/modals.selectors"; import InvoiceEnterModalComponent from "./invoice-enter-modal.component"; +import { SEARCH_RO_AUTOCOMPLETE } from "../../graphql/jobs.queries"; +import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries"; const mapStateToProps = createStructuredSelector({ invoiceEnterModal: selectInvoiceEnterModal @@ -25,12 +27,34 @@ function InvoiceEnterModalContainer({ form }) { const { t } = useTranslation(); - // const [insertJobLine] = useMutation(INSERT_NEW_JOB_LINE); - // const [updateJobLine] = useMutation(UPDATE_JOB_LINE); + + const roSearchState = useState(""); + const [roSearch, setRoSearch] = roSearchState; + const handleRoAutoComplete = e => { + setRoSearch(e); + }; + const { data: RoAutoCompleteData } = useQuery(SEARCH_RO_AUTOCOMPLETE, { + fetchPolicy: "network-only", + variables: { search: `%${roSearch}%` }, + skip: !roSearch + }); + + const vendorSearchState = useState(""); + const [vendorSearch, setVendorSearch] = vendorSearchState; + const handleVendorAutoComplete = e => { + setVendorSearch(e); + }; + const { data: VendorAutoCompleteData } = useQuery( + SEARCH_VENDOR_AUTOCOMPLETE, + { + fetchPolicy: "network-only", + variables: { search: `%${vendorSearch}%` }, + skip: !vendorSearch + } + ); const handleSubmit = e => { e.preventDefault(); - form.validateFieldsAndScroll((err, values) => { if (err) { notification["error"]({ @@ -39,6 +63,7 @@ function InvoiceEnterModalContainer({ }); } if (!err) { + console.log("values", values); alert("Closing this modal."); toggleModalVisible(); // if (!jobLineEditModal.context.id) { @@ -100,6 +125,33 @@ function InvoiceEnterModalContainer({ handleSubmit={handleSubmit} handleCancel={handleCancel} form={form} + handleRoAutoComplete={handleRoAutoComplete} + roAutoCompleteOptions={ + RoAutoCompleteData + ? RoAutoCompleteData.jobs.reduce((acc, value) => { + acc.push({ + value: value.id, + text: `${value.ro_number || ""} | ${value.ownr_ln || + ""} ${value.ownr_fn || ""} | ${value.vehicle.v_model_yr || + ""} ${value.vehicle.v_make_desc || ""} ${value.vehicle + .v_model_desc || ""}` + }); + return acc; + }, []) + : null + } + handleVendorAutoComplete={handleVendorAutoComplete} + vendorAutoCompleteOptions={ + VendorAutoCompleteData + ? VendorAutoCompleteData.vendors.reduce((acc, value) => { + acc.push({ + value: value.id, + text: `${value.name || ""}` + }); + return acc; + }, []) + : null + } /> ); } diff --git a/client/src/components/jobs-detail-pli/jobs-detail-pli.component.jsx b/client/src/components/jobs-detail-pli/jobs-detail-pli.component.jsx index 6dbe28a0a..7f29af510 100644 --- a/client/src/components/jobs-detail-pli/jobs-detail-pli.component.jsx +++ b/client/src/components/jobs-detail-pli/jobs-detail-pli.component.jsx @@ -5,6 +5,7 @@ import { toggleModalVisible, setModalContext } from "../../redux/modals/modals.actions"; +import { Button } from "antd"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser @@ -24,7 +25,7 @@ export default connect( }) { return (
-
{ setInvoiceEnterContext({ actions: { refetch: null }, @@ -35,7 +36,7 @@ export default connect( }} > Enter Invoice -
+
); }); diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index ba32b39ab..f402d6278 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -333,3 +333,20 @@ export const UPDATE_JOB_STATUS = gql` } } `; + +export const SEARCH_RO_AUTOCOMPLETE = gql` + query SEARCH_RO_AUTOCOMPLETE($search: String!) { + jobs(where: { ro_number: { _ilike: $search } }) { + id + ownr_fn + ownr_ln + ro_number + vehicle { + id + v_make_desc + v_model_desc + v_model_yr + } + } + } +`; diff --git a/client/src/graphql/vendors.queries.js b/client/src/graphql/vendors.queries.js index 4cf45ebd6..bf61bc670 100644 --- a/client/src/graphql/vendors.queries.js +++ b/client/src/graphql/vendors.queries.js @@ -76,3 +76,14 @@ export const QUERY_ALL_VENDORS_FOR_ORDER = gql` } } `; + +export const SEARCH_VENDOR_AUTOCOMPLETE = gql` + query SEARCH_VENDOR_AUTOCOMPLETE($search: String!) { + vendors(where: { name: { _ilike: $search } }) { + name + discount + id + cost_center + } + } +`; diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index abee6521b..8bc222578 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -144,6 +144,22 @@ "required": "This field is required. " } }, + "invoices": { + "errors": { + "invalidro": "Not a valid RO.", + "invalidvendor": "Not a valid vendor." + }, + "fields": { + "date": "Invoice Date", + "invoice_number": "Invoice Number", + "is_credit_memo": "Credit Memo?", + "ro_number": "RO Number", + "vendor": "Vendor" + }, + "labels": { + "new": "New Invoice" + } + }, "joblines": { "actions": { "new": "New Line" diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index b5a22f871..accf712d2 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -144,6 +144,22 @@ "required": "Este campo es requerido." } }, + "invoices": { + "errors": { + "invalidro": "", + "invalidvendor": "" + }, + "fields": { + "date": "", + "invoice_number": "", + "is_credit_memo": "", + "ro_number": "", + "vendor": "" + }, + "labels": { + "new": "" + } + }, "joblines": { "actions": { "new": "" diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index df942272d..ca3ce145a 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -144,6 +144,22 @@ "required": "Ce champ est requis." } }, + "invoices": { + "errors": { + "invalidro": "", + "invalidvendor": "" + }, + "fields": { + "date": "", + "invoice_number": "", + "is_credit_memo": "", + "ro_number": "", + "vendor": "" + }, + "labels": { + "new": "" + } + }, "joblines": { "actions": { "new": "" From afeaeca1a17c915bc8f8cfb9031bacaa3889fe5c Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 26 Feb 2020 17:28:45 -0800 Subject: [PATCH 02/64] WIP on invoice enter modal. --- bodyshop_translations.babel | 110 +++++++++++ .../invoice-enter-modal.component.jsx | 184 +++++++++--------- .../invoice-enter-modal.container.jsx | 49 +++-- .../invoice-enter-modal.table.component.jsx | 131 +++++++++++++ client/src/graphql/jobs-lines.queries.js | 26 +++ client/src/translations/en_us/common.json | 9 +- client/src/translations/es/common.json | 9 +- client/src/translations/fr/common.json | 9 +- 8 files changed, 418 insertions(+), 109 deletions(-) create mode 100644 client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index b854e8eff..e73a047bc 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1750,6 +1750,32 @@ invoices + + actions + + + receive + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + errors @@ -1795,6 +1821,27 @@ + + validation + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + @@ -1884,6 +1931,27 @@ + + total + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + vendor false @@ -1910,6 +1978,27 @@ labels + + actions + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + new false @@ -2182,6 +2271,27 @@ + + part_qty + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + part_type false diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index bbccfd0d5..16d425581 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -1,7 +1,18 @@ -import { Modal, Form, Input, Switch, DatePicker, AutoComplete } from "antd"; +import { + AutoComplete, + Button, + DatePicker, + Form, + Input, + InputNumber, + Modal, + Switch, + Row, + Col +} from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; -import ResetForm from "../form-items-formatted/reset-form-item.component"; +import InvoiceEnterModalTableComponent from "./invoice-enter-modal.table.component"; export default function InvoiceEnterModalComponent({ visible, @@ -10,12 +21,15 @@ export default function InvoiceEnterModalComponent({ handleSubmit, form, handleRoAutoComplete, + handleRoSelect, roAutoCompleteOptions, handleVendorAutoComplete, - vendorAutoCompleteOptions + vendorAutoCompleteOptions, + lineData, + linesState }) { const { t } = useTranslation(); - const { getFieldDecorator, isFieldsTouched, resetFields } = form; + const { getFieldDecorator, resetFields } = form; console.log("invoice", invoice); return ( @@ -33,61 +47,70 @@ export default function InvoiceEnterModalComponent({ onCancel={handleCancel} destroyOnClose > - {isFieldsTouched() ? : null} - - {getFieldDecorator("jobid", { - rules: [ - { - required: true, - pattern: new RegExp( - "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - ), - message: t("invoices.errors.invalidro") - } - ] - })( - { - console.log("props", props); - }} - /> - )} - - - {getFieldDecorator("vendorid", { - rules: [ - { - required: true, - pattern: new RegExp( - "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - ), - message: t("invoices.errors.invalidvendor") - } - ] - })( - - )} - +
+ + {getFieldDecorator("jobid", { + rules: [ + { + required: true, + pattern: new RegExp( + "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + ), + message: t("invoices.errors.invalidro") + } + ] + })( + + )} + + + {getFieldDecorator("vendorid", { + rules: [ + { + required: true, + pattern: new RegExp( + "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + ), + message: t("invoices.errors.invalidvendor") + } + ] + })( + + )} + + +
- {getFieldDecorator( - "invoice_number", - {} - )()} + {getFieldDecorator("invoice_number", { + rules: [ + { required: true, message: t("general.validation.required") } + ] + })()} - {getFieldDecorator("date", {})()} + {getFieldDecorator("date", { + rules: [ + { required: true, message: t("general.validation.required") } + ] + })()} {getFieldDecorator("is_credit_memo", { @@ -95,45 +118,24 @@ export default function InvoiceEnterModalComponent({ valuePropName: "checked" })()} + + {getFieldDecorator("total", { + rules: [ + { required: true, message: t("general.validation.required") } + ] + })()} +
- { - // - // {getFieldDecorator("line_desc", { - // initialValue: jobLine.line_desc - // })()} - // - // - // {getFieldDecorator("oem_partno", { - // initialValue: jobLine.oem_partno - // })()} - // - // - // {getFieldDecorator("part_type", { - // initialValue: jobLine.part_type - // })()} - // - // - // {getFieldDecorator("mod_lbr_ty", { - // initialValue: jobLine.mod_lbr_ty - // })()} - // - // - // {getFieldDecorator("op_code_desc", { - // initialValue: jobLine.op_code_desc - // })()} - // - // - // {getFieldDecorator("mod_lb_hrs", { - // initialValue: jobLine.mod_lb_hrs - // })()} - // - // - // {getFieldDecorator("act_price", { - // initialValue: jobLine.act_price - // })()} - // - } + + + + + Table of added items. +
); diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx index 32bcd0b0c..c790514ea 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx @@ -1,21 +1,20 @@ import { Form, notification } from "antd"; import React, { useState } from "react"; -import { useQuery } from "react-apollo"; +import { useQuery, useLazyQuery } from "react-apollo"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; -import { - INSERT_NEW_JOB_LINE, - UPDATE_JOB_LINE -} from "../../graphql/jobs-lines.queries"; +import { SEARCH_RO_AUTOCOMPLETE } from "../../graphql/jobs.queries"; +import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries"; import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { selectInvoiceEnterModal } from "../../redux/modals/modals.selectors"; import InvoiceEnterModalComponent from "./invoice-enter-modal.component"; -import { SEARCH_RO_AUTOCOMPLETE } from "../../graphql/jobs.queries"; -import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries"; +import { selectBodyshop } from "../../redux/user/user.selectors"; +import { GET_JOB_LINES_TO_ENTER_INVOICE } from "../../graphql/jobs-lines.queries"; const mapStateToProps = createStructuredSelector({ - invoiceEnterModal: selectInvoiceEnterModal + invoiceEnterModal: selectInvoiceEnterModal, + bodyshop: selectBodyshop }); const mapDispatchToProps = dispatch => ({ toggleModalVisible: () => dispatch(toggleModalVisible("invoiceEnter")) @@ -24,19 +23,20 @@ const mapDispatchToProps = dispatch => ({ function InvoiceEnterModalContainer({ invoiceEnterModal, toggleModalVisible, - form + form, + bodyshop }) { const { t } = useTranslation(); - - const roSearchState = useState(""); + const linesState = useState([]); + const roSearchState = useState({ text: "", selectedId: null }); const [roSearch, setRoSearch] = roSearchState; const handleRoAutoComplete = e => { - setRoSearch(e); + setRoSearch({ ...roSearch, text: e }); }; const { data: RoAutoCompleteData } = useQuery(SEARCH_RO_AUTOCOMPLETE, { fetchPolicy: "network-only", - variables: { search: `%${roSearch}%` }, - skip: !roSearch + variables: { search: `%${roSearch.text}%` }, + skip: !roSearch.text || roSearch.text.length < 3 }); const vendorSearchState = useState(""); @@ -49,10 +49,26 @@ function InvoiceEnterModalContainer({ { fetchPolicy: "network-only", variables: { search: `%${vendorSearch}%` }, - skip: !vendorSearch + skip: !vendorSearch || vendorSearch.length < 3 } ); + const [ + loadLines, + { called, loading: lineLoading, data: lineData } + ] = useLazyQuery(GET_JOB_LINES_TO_ENTER_INVOICE, { + fetchPolicy: "network-only", + variables: { id: roSearch.selectedId } + }); + + if (roSearch.selectedId) { + if (!called) loadLines(); + console.log("lineData", lineData); + } + const handleRoSelect = v => { + setRoSearch({ ...roSearch, selectedId: v }); + }; + const handleSubmit = e => { e.preventDefault(); form.validateFieldsAndScroll((err, values) => { @@ -126,6 +142,7 @@ function InvoiceEnterModalContainer({ handleCancel={handleCancel} form={form} handleRoAutoComplete={handleRoAutoComplete} + handleRoSelect={handleRoSelect} roAutoCompleteOptions={ RoAutoCompleteData ? RoAutoCompleteData.jobs.reduce((acc, value) => { @@ -152,6 +169,8 @@ function InvoiceEnterModalContainer({ }, []) : null } + linesState={linesState} + lineData={lineData ? lineData.joblines : null} /> ); } diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx new file mode 100644 index 000000000..156a0680f --- /dev/null +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx @@ -0,0 +1,131 @@ +import React, { useState } from "react"; +import { Table, Button, Icon } from "antd"; +import { useTranslation } from "react-i18next"; +import { alphaSort } from "../../utils/sorters"; +import CurrencyFormatter from "../../utils/CurrencyFormatter"; + +export default function InvoiceEnterModalTableComponent({ + lineData, + linesState +}) { + const [selectedLines, setSelectedLines] = linesState; + const [state, setState] = useState({ + sortedInfo: {} + }); + const { t } = useTranslation(); + + const columns = [ + { + title: t("joblines.fields.line_desc"), + dataIndex: "line_desc", + key: "line_desc", + sorter: (a, b) => alphaSort(a.line_desc, b.line_desc), + sortOrder: + state.sortedInfo.columnKey === "line_desc" && state.sortedInfo.order, + ellipsis: true + }, + { + title: t("joblines.fields.oem_partno"), + dataIndex: "oem_partno", + key: "oem_partno", + sorter: (a, b) => + alphaSort( + a.oem_partno ? a.oem_partno : a.op_code_desc, + b.oem_partno ? b.oem_partno : b.op_code_desc + ), + sortOrder: + state.sortedInfo.columnKey === "oem_partno" && state.sortedInfo.order, + ellipsis: true, + render: (text, record) => ( + + {record.oem_partno ? record.oem_partno : record.op_code_desc} + + ) + }, + { + title: t("joblines.fields.part_type"), + dataIndex: "part_type", + key: "part_type", + sorter: (a, b) => alphaSort(a.part_type, b.part_type), + sortOrder: + state.sortedInfo.columnKey === "part_type" && state.sortedInfo.order + }, + { + title: t("joblines.fields.db_price"), + dataIndex: "db_price", + key: "db_price", + sorter: (a, b) => a.db_price - b.db_price, + sortOrder: + state.sortedInfo.columnKey === "db_price" && state.sortedInfo.order, + render: (text, record) => ( + {record.db_price} + ) + }, + { + title: t("joblines.fields.act_price"), + dataIndex: "act_price", + key: "act_price", + sorter: (a, b) => a.act_price - b.act_price, + sortOrder: + state.sortedInfo.columnKey === "act_price" && state.sortedInfo.order, + render: (text, record) => ( + {record.act_price} + ) + }, + { + title: t("joblines.fields.part_qty"), + dataIndex: "part_qty", + key: "part_qty", + sorter: (a, b) => a.part_qty - b.part_qty, + sortOrder: + state.sortedInfo.columnKey === "part_qty" && state.sortedInfo.order + }, + { + title: t("joblines.fields.mod_lb_hrs"), + dataIndex: "mod_lb_hrs", + key: "mod_lb_hrs", + sorter: (a, b) => a.mod_lb_hrs - b.mod_lb_hrs, + sortOrder: + state.sortedInfo.columnKey === "mod_lb_hrs" && state.sortedInfo.order + }, + { + title: t("invoices.labels.actions"), + dataIndex: "actions", + key: "actions", + render: (text, record) => ( +
+ +
+ ) + } + ]; + + const handleTableChange = (pagination, filters, sorter) => { + setState({ ...state, filteredInfo: filters, sortedInfo: sorter }); + }; + + const formItemLayout = { + labelCol: { + xs: { span: 12 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 12 } + } + }; + + return ( + ({ ...item }))} + rowKey="id" + dataSource={lineData} + onChange={handleTableChange} + /> + ); +} diff --git a/client/src/graphql/jobs-lines.queries.js b/client/src/graphql/jobs-lines.queries.js index 197e4f6e6..4f7bb7be1 100644 --- a/client/src/graphql/jobs-lines.queries.js +++ b/client/src/graphql/jobs-lines.queries.js @@ -71,3 +71,29 @@ export const UPDATE_JOB_LINE = gql` } } `; + +export const GET_JOB_LINES_TO_ENTER_INVOICE = gql` + query GET_JOB_LINES_TO_ENTER_INVOICE($id: uuid!) { + joblines( + where: { + jobid: { _eq: $id } + oem_partno: { _neq: "" } + act_price: { _gt: "0" } + } + ) { + id + line_desc + part_type + oem_partno + db_price + act_price + part_qty + mod_lbr_ty + db_hrs + mod_lb_hrs + lbr_op + lbr_amt + op_code_desc + } + } +`; diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 8bc222578..a9ba6c91d 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -145,18 +145,24 @@ } }, "invoices": { + "actions": { + "receive": "Receive Part" + }, "errors": { "invalidro": "Not a valid RO.", - "invalidvendor": "Not a valid vendor." + "invalidvendor": "Not a valid vendor.", + "validation": "Please ensure all fields are entered correctly. " }, "fields": { "date": "Invoice Date", "invoice_number": "Invoice Number", "is_credit_memo": "Credit Memo?", "ro_number": "RO Number", + "total": "Invoice Total", "vendor": "Vendor" }, "labels": { + "actions": "Actions", "new": "New Invoice" } }, @@ -177,6 +183,7 @@ "mod_lbr_ty": "Labor Type", "oem_partno": "OEM Part #", "op_code_desc": "Operation Code Description", + "part_qty": "Quantity", "part_type": "Part Type", "status": "Status", "unq_seq": "Seq #" diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index accf712d2..ded57f8a9 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -145,18 +145,24 @@ } }, "invoices": { + "actions": { + "receive": "" + }, "errors": { "invalidro": "", - "invalidvendor": "" + "invalidvendor": "", + "validation": "" }, "fields": { "date": "", "invoice_number": "", "is_credit_memo": "", "ro_number": "", + "total": "", "vendor": "" }, "labels": { + "actions": "", "new": "" } }, @@ -177,6 +183,7 @@ "mod_lbr_ty": "Tipo de trabajo", "oem_partno": "OEM parte #", "op_code_desc": "", + "part_qty": "", "part_type": "Tipo de parte", "status": "Estado", "unq_seq": "Seq #" diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index ca3ce145a..1e1ca27c2 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -145,18 +145,24 @@ } }, "invoices": { + "actions": { + "receive": "" + }, "errors": { "invalidro": "", - "invalidvendor": "" + "invalidvendor": "", + "validation": "" }, "fields": { "date": "", "invoice_number": "", "is_credit_memo": "", "ro_number": "", + "total": "", "vendor": "" }, "labels": { + "actions": "", "new": "" } }, @@ -177,6 +183,7 @@ "mod_lbr_ty": "Type de travail", "oem_partno": "Pièce OEM #", "op_code_desc": "", + "part_qty": "", "part_type": "Type de pièce", "status": "Statut", "unq_seq": "Seq #" From 6785ff8aad351c3c96d67b0e46ddb518da41fd5a Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 26 Feb 2020 18:58:36 -0800 Subject: [PATCH 03/64] Additional WIP on enter invoice modal --- bodyshop_translations.babel | 52 +++++++++++++++++++ .../invoice-add-line-button.component.jsx | 49 +++++++++++++++++ .../invoice-enter-modal.component.jsx | 10 ++-- .../invoice-enter-modal.container.jsx | 46 +++++++++++----- .../invoice-enter-modal.table.component.jsx | 19 ++++--- client/src/translations/en_us/common.json | 6 +++ client/src/translations/es/common.json | 6 +++ client/src/translations/fr/common.json | 6 +++ 8 files changed, 171 insertions(+), 23 deletions(-) create mode 100644 client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index e73a047bc..dff302c4d 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1747,6 +1747,58 @@ + + invoicelines + + + fields + + + actual + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + retail + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + + + invoices diff --git a/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx new file mode 100644 index 000000000..40fab33da --- /dev/null +++ b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx @@ -0,0 +1,49 @@ +import React, { useState } from "react"; +import { Button, Popover, Icon, Input, InputNumber, Form } from "antd"; +import { useTranslation } from "react-i18next"; + +export default function InvoiceAddLineButton({ + jobLine, + invoiceLineState, + form, + discount +}) { + const [visibility, setVisibility] = useState(false); + const { t } = useTranslation(); + const { getFieldDecorator } = form; + + const popContent = ( +
+ + {getFieldDecorator("line_desc", { + initialValue: jobLine.line_desc + })()} + + + {getFieldDecorator("oem_partno", { + initialValue: jobLine.oem_partno + })()} + + + {getFieldDecorator("retail", { initialValue: jobLine.act_price })( + + )} + + + {getFieldDecorator("actual", { + initialValue: jobLine.act_price * (discount ? 1 - discount : 1) + })()} + + DISSC: {discount} + +
+ ); + + return ( + + + + ); +} diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index 16d425581..ef194319a 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -24,14 +24,15 @@ export default function InvoiceEnterModalComponent({ handleRoSelect, roAutoCompleteOptions, handleVendorAutoComplete, + handleVendorSelect, vendorAutoCompleteOptions, lineData, - linesState + linesState, + vendor }) { const { t } = useTranslation(); const { getFieldDecorator, resetFields } = form; - - console.log("invoice", invoice); + return (
Table of added items. diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx index c790514ea..e43da0f00 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx @@ -27,7 +27,7 @@ function InvoiceEnterModalContainer({ bodyshop }) { const { t } = useTranslation(); - const linesState = useState([]); + const linesState = useState([]); const roSearchState = useState({ text: "", selectedId: null }); const [roSearch, setRoSearch] = roSearchState; const handleRoAutoComplete = e => { @@ -39,36 +39,42 @@ function InvoiceEnterModalContainer({ skip: !roSearch.text || roSearch.text.length < 3 }); - const vendorSearchState = useState(""); + const vendorSearchState = useState({ + text: "", + selectedId: null + }); const [vendorSearch, setVendorSearch] = vendorSearchState; const handleVendorAutoComplete = e => { - setVendorSearch(e); + setVendorSearch({ ...vendorSearch, text: e }); }; const { data: VendorAutoCompleteData } = useQuery( SEARCH_VENDOR_AUTOCOMPLETE, { fetchPolicy: "network-only", - variables: { search: `%${vendorSearch}%` }, - skip: !vendorSearch || vendorSearch.length < 3 + variables: { search: `%${vendorSearch.text}%` }, + skip: !vendorSearch.text || vendorSearch.text.length < 3 } ); - const [ - loadLines, - { called, loading: lineLoading, data: lineData } - ] = useLazyQuery(GET_JOB_LINES_TO_ENTER_INVOICE, { - fetchPolicy: "network-only", - variables: { id: roSearch.selectedId } - }); + const [loadLines, { called, data: lineData }] = useLazyQuery( + GET_JOB_LINES_TO_ENTER_INVOICE, + { + fetchPolicy: "network-only", + variables: { id: roSearch.selectedId } + } + ); if (roSearch.selectedId) { if (!called) loadLines(); - console.log("lineData", lineData); } const handleRoSelect = v => { setRoSearch({ ...roSearch, selectedId: v }); }; + const handleVendorSelect = v => { + setVendorSearch({ ...vendorSearch, selectedId: v }); + }; + const handleSubmit = e => { e.preventDefault(); form.validateFieldsAndScroll((err, values) => { @@ -134,6 +140,12 @@ function InvoiceEnterModalContainer({ toggleModalVisible(); }; + console.log( + "c", + VendorAutoCompleteData?.vendors.filter( + v => v.id === vendorSearch.selectedId + ) + ); return ( { @@ -171,6 +184,13 @@ function InvoiceEnterModalContainer({ } linesState={linesState} lineData={lineData ? lineData.joblines : null} + vendor={ + vendorSearch.selectedId + ? VendorAutoCompleteData.vendors.filter( + v => v.id === vendorSearch.selectedId + )[0] + : null + } /> ); } diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx index 156a0680f..e3e2e0465 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx @@ -1,14 +1,17 @@ +import { Table } from "antd"; import React, { useState } from "react"; -import { Table, Button, Icon } from "antd"; import { useTranslation } from "react-i18next"; -import { alphaSort } from "../../utils/sorters"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; +import { alphaSort } from "../../utils/sorters"; +import InvoiceAddLineButton from "../invoice-add-line-button/invoice-add-line-button.component"; export default function InvoiceEnterModalTableComponent({ lineData, - linesState + linesState, + form, + vendor }) { - const [selectedLines, setSelectedLines] = linesState; + //const [selectedLines, setSelectedLines] = linesState; const [state, setState] = useState({ sortedInfo: {} }); @@ -94,9 +97,11 @@ export default function InvoiceEnterModalTableComponent({ key: "actions", render: (text, record) => (
- +
) } diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index a9ba6c91d..21a64b4b8 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -144,6 +144,12 @@ "required": "This field is required. " } }, + "invoicelines": { + "fields": { + "actual": "Actual", + "retail": "Retail" + } + }, "invoices": { "actions": { "receive": "Receive Part" diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index ded57f8a9..7e1b025b4 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -144,6 +144,12 @@ "required": "Este campo es requerido." } }, + "invoicelines": { + "fields": { + "actual": "", + "retail": "" + } + }, "invoices": { "actions": { "receive": "" diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 1e1ca27c2..01060529e 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -144,6 +144,12 @@ "required": "Ce champ est requis." } }, + "invoicelines": { + "fields": { + "actual": "", + "retail": "" + } + }, "invoices": { "actions": { "receive": "" From e2dfd6b60d9bee7213edb4af0e5c2669a21c3e45 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 28 Feb 2020 09:29:44 -0800 Subject: [PATCH 04/64] BREAKING - Package upgrades + some WIP on invoice enter. --- client/package.json | 22 +- .../invoice-add-line-button.component.jsx | 5 +- .../invoice-enter-modal.component.jsx | 4 +- .../invoice-enter-modal.table.component.jsx | 1 + client/yarn.lock | 1926 ++++++++--------- 5 files changed, 908 insertions(+), 1050 deletions(-) diff --git a/client/package.json b/client/package.json index 0ee8609c1..3342c540c 100644 --- a/client/package.json +++ b/client/package.json @@ -4,9 +4,9 @@ "private": true, "proxy": "https://localhost:5000", "dependencies": { - "@ckeditor/ckeditor5-build-classic": "^16.0.0", + "@ckeditor/ckeditor5-build-classic": "^17.0.0", "@ckeditor/ckeditor5-react": "^2.1.0", - "antd": "^3.26.8", + "antd": "^4.0.0", "apollo-boost": "^0.4.4", "apollo-link-context": "^1.0.19", "apollo-link-error": "^1.1.12", @@ -15,25 +15,25 @@ "axios": "^0.19.2", "chart.js": "^2.9.3", "dotenv": "^8.2.0", - "firebase": "^7.8.1", + "firebase": "^7.9.2", "graphql": "^14.6.0", - "i18next": "^19.1.0", + "i18next": "^19.3.2", "node-sass": "^4.13.1", - "react": "^16.12.0", + "react": "^16.13.0", "react-apollo": "^3.1.3", "react-barcode": "^1.4.0", - "react-big-calendar": "^0.23.0", + "react-big-calendar": "^0.24.0", "react-chartjs-2": "^2.9.0", - "react-dom": "^16.12.0", + "react-dom": "^16.13.0", "react-html-email": "^3.0.0", - "react-i18next": "^11.3.1", + "react-i18next": "^11.3.3", "react-icons": "^3.9.0", "react-image-file-resizer": "^0.2.1", "react-moment": "^0.9.7", - "react-number-format": "^4.3.1", - "react-redux": "^7.1.3", + "react-number-format": "^4.4.1", + "react-redux": "^7.2.0", "react-router-dom": "^5.1.2", - "react-scripts": "3.3.1", + "react-scripts": "3.4.0", "redux": "^4.0.5", "redux-logger": "^3.0.6", "redux-persist": "^6.0.0", diff --git a/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx index 40fab33da..80d61182a 100644 --- a/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx +++ b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx @@ -6,7 +6,8 @@ export default function InvoiceAddLineButton({ jobLine, invoiceLineState, form, - discount + discount, + disabled }) { const [visibility, setVisibility] = useState(false); const { t } = useTranslation(); @@ -41,7 +42,7 @@ export default function InvoiceAddLineButton({ return ( - diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index ef194319a..5c1620fb2 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -32,7 +32,7 @@ export default function InvoiceEnterModalComponent({ }) { const { t } = useTranslation(); const { getFieldDecorator, resetFields } = form; - + return ( )} -
Table of added items. + ); ); diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx index e3e2e0465..131a2cc23 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.table.component.jsx @@ -101,6 +101,7 @@ export default function InvoiceEnterModalTableComponent({ jobLine={record} form={form} discount={vendor ? vendor.discount : null} + disabled={vendor} /> ) diff --git a/client/yarn.lock b/client/yarn.lock index 6c2f02c81..d5ce9516f 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -9,26 +9,31 @@ dependencies: tinycolor2 "^1.4.1" -"@ant-design/create-react-context@^0.2.4": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@ant-design/create-react-context/-/create-react-context-0.2.5.tgz#f5f5a9163b4772097712837397ad30e22e79f858" - integrity sha512-1rMAa4qgP2lfl/QBH9i78+Gjxtj9FTMpMyDGZsEBW5Kih72EuUo9958mV8PgpRkh4uwPSQ7vVZWXeyNZXVAFDg== - dependencies: - gud "^1.0.0" - warning "^4.0.3" +"@ant-design/icons-svg@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.0.0.tgz#6683db0df97c0c6900bb28a280faf391522ec734" + integrity sha512-Nai+cd3XUrv/z50gSk1FI08j6rENZ1e93rhKeLTBGwa5WrmHvhn2vowa5+voZW2qkXJn1btS6tdvTEDB90M0Pw== -"@ant-design/icons-react@~2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@ant-design/icons-react/-/icons-react-2.0.1.tgz#17a2513571ab317aca2927e58cea25dd31e536fb" - integrity sha512-r1QfoltMuruJZqdiKcbPim3d8LNsVPB733U0gZEUSxBLuqilwsW28K2rCTWSMTjmFX7Mfpf+v/wdiFe/XCqThw== +"@ant-design/icons@^4.0.0-rc.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.0.0.tgz#cdb870777f185422cfc0e235392592d3e4795ef6" + integrity sha512-oJTNTyo/6DjVmK/DSa58A+7gZRGgzBCAEJ9Pfa6U+BAZO28tvOE3YzlQd9gq9Qu6d47JL1ixyID3qsmRFqitlQ== dependencies: "@ant-design/colors" "^3.1.0" - babel-runtime "^6.26.0" + "@ant-design/icons-svg" "^4.0.0" + classnames "^2.2.6" + insert-css "^2.0.0" + rc-util "^4.9.0" -"@ant-design/icons@~2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-2.1.1.tgz#7b9c08dffd4f5d41db667d9dbe5e0107d0bd9a4a" - integrity sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w== +"@ant-design/react-slick@~0.25.5": + version "0.25.5" + resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.25.5.tgz#18f40abaa22c15dc26da9c473d24da38d4d8f334" + integrity sha512-fusHR9LkarCARvYTN6cG3yz2/Ogf+HTaJ2XEihIjsjgm6uE1aSXycRFEVDpOFP1Aib51Z2Iz3tgg/gL+WbK8rQ== + dependencies: + classnames "^2.2.5" + json2mq "^0.2.0" + lodash "^4.17.15" + resize-observer-polyfill "^1.5.0" "@apollo/react-common@^3.1.3": version "3.1.3" @@ -95,16 +100,16 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/compat-data@^7.8.4": - version "7.8.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9" - integrity sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg== +"@babel/compat-data@^7.8.4", "@babel/compat-data@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.6.tgz#7eeaa0dfa17e50c7d9c0832515eee09b56f04e35" + integrity sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q== dependencies: browserslist "^4.8.5" invariant "^2.2.4" semver "^5.5.0" -"@babel/core@7.8.4", "@babel/core@^7.1.0", "@babel/core@^7.4.5": +"@babel/core@7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA== @@ -125,12 +130,33 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" - integrity sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA== +"@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.6.tgz#27d7df9258a45c2e686b6f18b6c659e563aa4636" + integrity sha512-Sheg7yEJD51YHAvLEV/7Uvw95AeWqYPL3Vk3zGujJKIhJ+8oLw2ALaf3hbucILhKsgSoADOvtKRJuNVdcJkOrg== dependencies: - "@babel/types" "^7.8.3" + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.6" + "@babel/helpers" "^7.8.4" + "@babel/parser" "^7.8.6" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.8.4", "@babel/generator@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.6.tgz#57adf96d370c9a63c241cd719f9111468578537a" + integrity sha512-4bpOR5ZBz+wWcMeVtcf7FbjcFzCp+817z2/gHNncIRcM9MmKzUhtWCYAq27RAfUrAFwb+OCG1s9WEaVxfi6cjg== + dependencies: + "@babel/types" "^7.8.6" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" @@ -167,34 +193,35 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-compilation-targets@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88" - integrity sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg== +"@babel/helper-compilation-targets@^7.8.4", "@babel/helper-compilation-targets@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.6.tgz#015b85db69e3a34240d5c2b761fc53eb9695f09c" + integrity sha512-UrJdk27hKVJSnibFcUWYLkCL0ZywTUoot8yii1lsHJcvwrypagmYKjHLMWivQPm4s6GdyygCL8fiH5EYLxhQwQ== dependencies: - "@babel/compat-data" "^7.8.4" + "@babel/compat-data" "^7.8.6" browserslist "^4.8.5" invariant "^2.2.4" levenary "^1.1.1" semver "^5.5.0" "@babel/helper-create-class-features-plugin@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" - integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA== + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0" + integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg== dependencies: "@babel/helper-function-name" "^7.8.3" "@babel/helper-member-expression-to-functions" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-split-export-declaration" "^7.8.3" "@babel/helper-create-regexp-features-plugin@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" - integrity sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q== + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz#7fa040c97fb8aebe1247a5c645330c32d083066b" + integrity sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A== dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" @@ -253,15 +280,16 @@ "@babel/types" "^7.8.3" "@babel/helper-module-transforms@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" - integrity sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q== + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz#6a13b5eecadc35692047073a64e42977b97654a4" + integrity sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg== dependencies: "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-simple-access" "^7.8.3" "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.8.6" lodash "^4.17.13" "@babel/helper-optimise-call-expression@^7.8.3": @@ -294,15 +322,15 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.3" -"@babel/helper-replace-supers@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" - integrity sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA== +"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" + integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== dependencies: "@babel/helper-member-expression-to-functions" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.6" "@babel/helper-simple-access@^7.8.3": version "7.8.3" @@ -347,10 +375,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" - integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.8.4", "@babel/parser@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.6.tgz#ba5c9910cddb77685a008e3c587af8d27b67962c" + integrity sha512-trGNYSfwq5s0SgM1BMEB8hX3NDmO7EP2wsDGDexiaKMB92BaRpS+qZfpkMqUBhcsOTBwNy9B/jieo4ad/t/z2g== "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.8.3" @@ -564,17 +592,17 @@ "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" - integrity sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w== +"@babel/plugin-transform-classes@^7.8.3", "@babel/plugin-transform-classes@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz#77534447a477cbe5995ae4aee3e39fbc8090c46d" + integrity sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg== dependencies: "@babel/helper-annotate-as-pure" "^7.8.3" "@babel/helper-define-map" "^7.8.3" "@babel/helper-function-name" "^7.8.3" "@babel/helper-optimise-call-expression" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" @@ -623,10 +651,10 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow" "^7.8.3" -"@babel/plugin-transform-for-of@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d" - integrity sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A== +"@babel/plugin-transform-for-of@^7.8.4", "@babel/plugin-transform-for-of@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz#a051bd1b402c61af97a27ff51b468321c7c2a085" + integrity sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw== dependencies: "@babel/helper-plugin-utils" "^7.8.3" @@ -845,7 +873,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@7.8.4", "@babel/preset-env@^7.4.5": +"@babel/preset-env@7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" integrity sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w== @@ -908,6 +936,69 @@ levenary "^1.1.1" semver "^5.5.0" +"@babel/preset-env@^7.4.5": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.6.tgz#2a0773b08589ecba4995fc71b1965e4f531af40b" + integrity sha512-M5u8llV9DIVXBFB/ArIpqJuvXpO+ymxcJ6e8ZAmzeK3sQeBNOD1y+rHvHCGG4TlEmsNpIrdecsHGHT8ZCoOSJg== + dependencies: + "@babel/compat-data" "^7.8.6" + "@babel/helper-compilation-targets" "^7.8.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.8.6" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.8.6" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.8.3" + "@babel/plugin-transform-modules-systemjs" "^7.8.3" + "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.4" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/types" "^7.8.6" + browserslist "^4.8.5" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + "@babel/preset-react@7.8.3", "@babel/preset-react@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.8.3.tgz#23dc63f1b5b0751283e04252e78cf1d6589273d2" @@ -927,50 +1018,50 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript" "^7.8.3" -"@babel/runtime@7.8.4", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2": +"@babel/runtime@7.8.4", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.4.0", "@babel/template@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" - integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== +"@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== dependencies: "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c" - integrity sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4", "@babel/traverse@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff" + integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A== dependencies: "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.4" + "@babel/generator" "^7.8.6" "@babel/helper-function-name" "^7.8.3" "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.8.4" - "@babel/types" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" - integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.6.tgz#629ecc33c2557fcde7126e58053127afdb3e6d01" + integrity sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA== dependencies: esutils "^2.0.2" lodash "^4.17.13" to-fast-properties "^2.0.0" -"@ckeditor/ckeditor5-build-classic@^16.0.0": - version "16.0.0" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-16.0.0.tgz#9141e94ea6765eda4925aaf062448507410bbe70" - integrity sha512-gBfZqWg3hmCvhq6/wX5UJp4qwl6gB+NJPpOkya2Y3jWKA0HKf3UdlhIvaHq7dRaqhi4unmqaJZVEk5VpZ1vDOg== +"@ckeditor/ckeditor5-build-classic@^17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-17.0.0.tgz#e048b70a3112cd56a53169016c6a70cd17488280" + integrity sha512-LBJk8jWKONs3BZSjgNbZbDEEgC2AD1z53sUfrduEkV5TCdYOlf+Ys0qF23MnNrfu1lwtVd6LfunS3AKymHQIiw== "@ckeditor/ckeditor5-react@^2.1.0": version "2.1.0" @@ -980,9 +1071,9 @@ prop-types "^15.6.1" "@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" @@ -998,9 +1089,9 @@ integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== "@emotion/is-prop-valid@^0.8.3": - version "0.8.6" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz#4757646f0a58e9dec614c47c838e7147d88c263c" - integrity sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ== + version "0.8.7" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.7.tgz#803449993f436f9a6c67752251ea3fc492a1044c" + integrity sha512-OPkKzUeiid0vEKjZqnGcy2mzxjIlCffin+L2C02pdz/bVlt5zZZE2VzO0D3XOPnH0NEeF21QNKSXiZphjr4xiQ== dependencies: "@emotion/memoize" "0.7.4" @@ -1019,173 +1110,173 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== -"@firebase/analytics-types@0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.2.6.tgz#c8f4102c2c6492f563a53381a0db620dd6ac1711" - integrity sha512-G4wGsWCxVibT4vHHTzFXi0uXk91upPUMYQyKnVEq4E9Qr491+EyyT3xH/6k+Hxj4/bGeK0lhJ4czMd1R5cOWwg== +"@firebase/analytics-types@0.2.7": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.2.7.tgz#70c3c3c9c8941e73c516cd38fabd02b18f912c6a" + integrity sha512-2596a1v62BkVXuobbQerC1gDavoxFOmgVutFFQcm24v6/2Iv8nlx2k8Wjy9eLAZWmAZHU/RkTX11K9gHy+w5Bg== -"@firebase/analytics@0.2.13": - version "0.2.13" - resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.2.13.tgz#55faa9d7a87fa08b764c08d3e026da71da77577a" - integrity sha512-FAvpVS3dmfeCcYdxl7msz3Fr9OOLp/EYfDAx4T1yKi3dfTOXALH6pJK1hNjWjmGMq0qAWPmOFfAdpzd13Q0Uag== +"@firebase/analytics@0.2.14": + version "0.2.14" + resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.2.14.tgz#df798e6fc0e0e97fda07517a20ba97ad5b305d05" + integrity sha512-RIkTqNOC12hDRNiWK6aNPZztBOt9VKYZgVp3nvUDRn8bmwkJQARHEvoQzJXFSXHM5fl9cM/9BO+bpuIuGUOdGQ== dependencies: - "@firebase/analytics-types" "0.2.6" - "@firebase/component" "0.1.5" - "@firebase/installations" "0.4.2" - "@firebase/util" "0.2.40" + "@firebase/analytics-types" "0.2.7" + "@firebase/component" "0.1.6" + "@firebase/installations" "0.4.3" + "@firebase/util" "0.2.41" tslib "1.10.0" -"@firebase/app-types@0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.5.1.tgz#8add41d10c533759a80a376d09d24af0a1009343" - integrity sha512-fhe4KxEoRLD596tuIkvBXVHedVByI5ALzf5nMraOXsnBxLY0gKcMSXQGwwPxZyeUt/S1VM8DRVXOg9shegEO7g== +"@firebase/app-types@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.5.2.tgz#3d9e86283b6b37d9384e42eecd04df9fae384466" + integrity sha512-k3zRi9gXyWrymu8OL6DA1Pz7eo+sKVBopX5ouOjQwozAZ55WhelifPC99WHmLWo8sAokNM0XDyzM7loOA5yliQ== -"@firebase/app@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.5.4.tgz#3c23eabd0f3b2f48daa3530f6c6b18eeb96a8ec2" - integrity sha512-a+Z13FB/Om3JAv6wTUUW/X8ikRmK66fvbLCGPUKoUtqKow1zxeUelznyKNhF4/WA2wxpo3w5OXzp0G9U09Lecw== +"@firebase/app@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.5.5.tgz#61785da263e7af0c2be0941a26251131b2ec7a23" + integrity sha512-CCqX/ZuNkPnyE2jQapVAHpp3Y0cSJZVBQRl+YjcmtfeiCl8WcUb7pyVJZYLPEw5xZZZVJWOrZXO393teiFtsIg== dependencies: - "@firebase/app-types" "0.5.1" - "@firebase/component" "0.1.5" - "@firebase/logger" "0.1.35" - "@firebase/util" "0.2.40" + "@firebase/app-types" "0.5.2" + "@firebase/component" "0.1.6" + "@firebase/logger" "0.1.36" + "@firebase/util" "0.2.41" dom-storage "2.1.0" tslib "1.10.0" xmlhttprequest "1.8.0" -"@firebase/auth-interop-types@0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.2.tgz#2f76aba39b4f22c52bb4b2eb7f31beb6ec312b33" - integrity sha512-FW4wNZbGSBpA8SgJy8EFdx0lPGm8a25zojI48kbV+QNn4EizJ1jbLPGtmBeEJJPFI4Ij+9EuCbsV1iwelZzDaA== +"@firebase/auth-interop-types@0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.3.tgz#ee28e96c795bde1d92670af2c26d6c32d468ffdc" + integrity sha512-Fd0MJ8hHw/MasNTJz7vl5jnMMs71X6pY/VqN0V6lqdP5HKTuyPVnffJ1d2Vb6uCLZ1D7nXAer4YWj9cOrNLPAQ== -"@firebase/auth-types@0.9.5": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.9.5.tgz#16d6ec2ca02591528088840f826ca66e394fc4fd" - integrity sha512-nXruvfY/S3q2PhKR/vMfWGkn/zZY0JTT07R/aEdClYRDV7AZDhmgCi3m5HZmj+bMPz7PeZT/w1tUuNLjUqJV2A== +"@firebase/auth-types@0.9.6": + version "0.9.6" + resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.9.6.tgz#93f88455b0f55c21eafaa07d09f0ebbead8125ac" + integrity sha512-HB1yXe5hgiwPMukLBEfC3TQX22U9qKczj8kEclKhL7rnds3FKZWMM0+EpKbcJREbU9Sj/rgwgaio7ovSN4ZQFA== -"@firebase/auth@0.13.5": - version "0.13.5" - resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.13.5.tgz#2fc0aec89744463d3e14608bf6fe286f23418da3" - integrity sha512-0s/ULeqstzQ/Xi0ZgJnasYXH4WtTRaa9LztPv9gXHjwmOt/GtFnRUeW0RqDCmF4A2uikanMFm5+wtm80BkfpTg== +"@firebase/auth@0.13.6": + version "0.13.6" + resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.13.6.tgz#5305512b74fa8bc94ed40a6f2a4683c43d704b39" + integrity sha512-ERlda/t5RimNw5Err+5HJATC/qFkC64zR40G+4nK5b9eFJEm0MB+/DaismCwp6J6GoVL3NmejoVbuWU7sV4G1w== dependencies: - "@firebase/auth-types" "0.9.5" + "@firebase/auth-types" "0.9.6" -"@firebase/component@0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.1.5.tgz#57836339073ebebad5cbfc81d83d0507b3630ca6" - integrity sha512-oxRmOEIW3YbJVchLZKXiP4nJlKDCNLCQRdFdcO23IfJnaWePZofh4v5nT3XSJ6ouWlGIpENLZgoXjv2QrGFXfg== +"@firebase/component@0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.1.6.tgz#e983f0630ae3f01003ead85330c1fe3cd2623c1f" + integrity sha512-dm5pVhm+sU8ag1M3hY6vleA/H7Ed8sKRxbm4TAKhtjGHDejPXxnK0meTNydJ3MwisHWlwzGuzIEhb223K7FFxA== dependencies: - "@firebase/util" "0.2.40" + "@firebase/util" "0.2.41" tslib "1.10.0" -"@firebase/database-types@0.4.11": - version "0.4.11" - resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.4.11.tgz#f76a1e668e7215a2855ded2a074601a0911d6bdb" - integrity sha512-+SiBjnufVhRSJg078feQWH7yHQncRjX+23NUgvBCRFXNBwUVvmPenNXYhCpF8XbhSOrC7BvfcRZTGqeI7+ZUdg== +"@firebase/database-types@0.4.12": + version "0.4.12" + resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.4.12.tgz#f6946e8605260f1c38a7db1b858d3d42e30bcbf4" + integrity sha512-PVCTQRG9fnN1cam3Qr91+WzsCf9tO+lmUcPEb0uvafSFVhvx2U9OZOlYDdM5hS0MMHTNXI7Ywmc33EheIlLmMw== dependencies: - "@firebase/app-types" "0.5.1" + "@firebase/app-types" "0.5.2" -"@firebase/database@0.5.21": - version "0.5.21" - resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.5.21.tgz#2544399a9e018bab4241559932ccae6a9ae1cb35" - integrity sha512-NlndeAr88Rfi6LbeHF0/YaTkapns6K6bLGVu2w22oivHjZxLfR4aoyN2172yzhPpwEPN7iYhkkz/ZQi11CzL4g== +"@firebase/database@0.5.22": + version "0.5.22" + resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.5.22.tgz#347e8f5d0fae2b7d50dbc2a39ee6fb35dfa37fc9" + integrity sha512-3CVsmLFscFIAFOjjVhlT6HzFOhS0TKVbjhixp64oVZMOshp9qPHtHIytf6QXRAypbtZMPFAMGnhNu0pmPW/vtg== dependencies: - "@firebase/auth-interop-types" "0.1.2" - "@firebase/component" "0.1.5" - "@firebase/database-types" "0.4.11" - "@firebase/logger" "0.1.35" - "@firebase/util" "0.2.40" + "@firebase/auth-interop-types" "0.1.3" + "@firebase/component" "0.1.6" + "@firebase/database-types" "0.4.12" + "@firebase/logger" "0.1.36" + "@firebase/util" "0.2.41" faye-websocket "0.11.3" tslib "1.10.0" -"@firebase/firestore-types@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-1.9.1.tgz#2a5372b3f314901186edbfd44b898f9120cf3a48" - integrity sha512-w3pT+RMQOORS8Tvf6wCaW8sq8hklPS4FkWSGCyo/gIbATP7pG8rvQDihN1x6D3if1jILWiZ/uPyl0eazm+MGzw== +"@firebase/firestore-types@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-1.9.2.tgz#ef70890b3e1c9a401640431d6e1087c73fc2714b" + integrity sha512-D264aOrssdbD3PE0JuJdbwBI9zXDTd5HASjJYtYc3AIGC526R+w+TDWes4GsE/zi0dSWqMfgiceVKL0PekjqZw== -"@firebase/firestore@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-1.10.1.tgz#d00ccf1f6f356e2ba0bafee71a09646cebbfa86f" - integrity sha512-104SkNefcasRWwHZPUx0LLAhiOdb2ZG9c28hJIiUTKoehZKS/FvdSA2fXMsWvXshuUS3RJO70/eCtbqMKJU9/w== +"@firebase/firestore@1.11.2": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-1.11.2.tgz#c51afaface0e65cce9ace63a97d939fafb012e49" + integrity sha512-WWTKQGUYvZ7BELzEeIhINVm+iKL2ki/f0y16Qc3kABCW4kdXtiUHak6uWMFQ3IXHtnpDGzcNTyDAKOWeZx+TzA== dependencies: - "@firebase/component" "0.1.5" - "@firebase/firestore-types" "1.9.1" - "@firebase/logger" "0.1.35" - "@firebase/util" "0.2.40" - "@firebase/webchannel-wrapper" "0.2.35" + "@firebase/component" "0.1.6" + "@firebase/firestore-types" "1.9.2" + "@firebase/logger" "0.1.36" + "@firebase/util" "0.2.41" + "@firebase/webchannel-wrapper" "0.2.36" "@grpc/proto-loader" "^0.5.0" grpc "1.24.2" tslib "1.10.0" -"@firebase/functions-types@0.3.14": - version "0.3.14" - resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.3.14.tgz#6abdebfe26c0896e0176edfd17502011b68c3259" - integrity sha512-G7wq6fahQuXbiSf/PbffWnWXNaYKsT9ECvps/2hTKXevZfeWEhDju40c/XFIDI2dcSnTfOYiKoRP8Mp7hi7/CQ== +"@firebase/functions-types@0.3.15": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.3.15.tgz#32d3fd61447793c277b1f86a11ff97236bf856df" + integrity sha512-VM0v7fJM+mzvL9tJgNtQWc3UZLUOl2GJYi0TdfiuqTbfEdPDQCXtYVTN3roAO5LJTIgNw0imZyOCgsHDy9MtXg== -"@firebase/functions@0.4.32": - version "0.4.32" - resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.4.32.tgz#1d73ba066b6e21a48e1b249e088311194e289451" - integrity sha512-0v8YkEElryo7Apx1S+eTUBR/yz/Gatj064hy37AWNN9n5oUjRyrkwl40/YywFPw15AZPB8ItoEx+wJBnyFjgUw== +"@firebase/functions@0.4.35": + version "0.4.35" + resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.4.35.tgz#e6be5d785165ef493ea568fbda339949a76519aa" + integrity sha512-s7NUXZfRvbyE9Fe+6snQab5iTKGAwa6pZQ/u00bD3L2vhh2ATJYZjdiGNtLmKajwjhgPiE8zT2CO2Bnr2zEz4g== dependencies: - "@firebase/component" "0.1.5" - "@firebase/functions-types" "0.3.14" - "@firebase/messaging-types" "0.4.2" + "@firebase/component" "0.1.6" + "@firebase/functions-types" "0.3.15" + "@firebase/messaging-types" "0.4.3" isomorphic-fetch "2.2.1" tslib "1.10.0" -"@firebase/installations-types@0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.3.1.tgz#f9f9264168081060ef8007d1a02b5a25317c3176" - integrity sha512-VU2Ssgy+rZx1LLra3e3CtYQ6cyZHMsg8zO6HVK3sf83qEOWMmWFPxLgjmyrCx+YDSY4A0TwmwFi2I7Mh98WY7w== +"@firebase/installations-types@0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.3.2.tgz#3ec255ea3abdca5eababd8cd7a5849795ede16ce" + integrity sha512-E5Jp1QlwYSypRiOJSkKtEC2RS8GnubUYqTAqjiJAtBsa0guZZunBcXvdn3kqWOyn3R4HaM2tDZ/bGdWpulVUkg== -"@firebase/installations@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.4.2.tgz#471a6c936b029aa15e2505dc79257e29474675d4" - integrity sha512-g8GDRRikxY7U1rUe9xdAKShCz2/S5CdlYOnYP4Qm+kaJDbfQvAZRRRhpo4sIg7cpoxZ5dSVbl64YyEZzVS7XtA== +"@firebase/installations@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.4.3.tgz#7bf03219fc9a068a3b17237cc8bcaba318ad8dbf" + integrity sha512-tiuQv1dUYUCHzRHKm9LyY5uK/H9Rjlfqi28nFbnvXvZ+9yVCbbOsIrjdzWzwuh13yG+OygN+Zw186h/7Yoj/MQ== dependencies: - "@firebase/component" "0.1.5" - "@firebase/installations-types" "0.3.1" - "@firebase/util" "0.2.40" + "@firebase/component" "0.1.6" + "@firebase/installations-types" "0.3.2" + "@firebase/util" "0.2.41" idb "3.0.2" tslib "1.10.0" -"@firebase/logger@0.1.35": - version "0.1.35" - resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.1.35.tgz#e9938eca5d81b72b581b9a4c9031ffebdb31e56d" - integrity sha512-T7I/0+IQrlPAm/uUw6xeyJH5Msi8P6in/0LUtz2XQn2+LVBqyatlr+Nod9AldDCZehwLySEAFhXlqhb3BrI5GA== +"@firebase/logger@0.1.36": + version "0.1.36" + resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.1.36.tgz#e8c634008d382169e30e944a9bf0ee02cdd88490" + integrity sha512-5Z0ryTtzRk7kjUb0/18r10oXYu8mSPAjgdbLowRBP6HdSJB7BDiUIRS7iATSmUBZLTArdroSiFJ29m7YDfm/cw== -"@firebase/messaging-types@0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@firebase/messaging-types/-/messaging-types-0.4.2.tgz#7cd8489fbcce17c1f35537641c417883269fad02" - integrity sha512-Yb6pJ31tyDWP+4/8uXUO4cNP4oBdfauNuPT0SVqQ92SKlp4n2lHtH68IHa1outxJj6CFzFgj/Z2YZMviUWCM0Q== +"@firebase/messaging-types@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@firebase/messaging-types/-/messaging-types-0.4.3.tgz#945a32cd06f23cf234ce637b5e192821b149e8f5" + integrity sha512-FxUQXjy5p/5r6E/pGS3Bnp3+3wshh3vkCo7ISU7ggOM6GBhq9FnyBLZKGix7bsjn079sNTOr5PH0KT8wGI+CPQ== -"@firebase/messaging@0.6.4": - version "0.6.4" - resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.6.4.tgz#60b6537c3eae6d09b9f1678c5e2feced9dbcdb28" - integrity sha512-QKoK5gskZ9cECOa5nnp2oXoP3vmVOyzrEj3x0vHu1HsZhCg6EgRiJ9yO4LeTwoVcwFKDMkuNNPJZ8USOy2fdtw== +"@firebase/messaging@0.6.7": + version "0.6.7" + resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.6.7.tgz#cabd72a078f3ab60b1cdf4ef58678bd98408739d" + integrity sha512-dido24992CfghX1cuwr6DwTY+TE/48AG/XMRS9AmRQ3ioa5NskTetrirJ3yubXVH1ItAjhuT7U9BfhxMcy52mw== dependencies: - "@firebase/component" "0.1.5" - "@firebase/installations" "0.4.2" - "@firebase/messaging-types" "0.4.2" - "@firebase/util" "0.2.40" + "@firebase/component" "0.1.6" + "@firebase/installations" "0.4.3" + "@firebase/messaging-types" "0.4.3" + "@firebase/util" "0.2.41" idb "3.0.2" tslib "1.10.0" -"@firebase/performance-types@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.0.9.tgz#27227b91149cf57c3f5b15fc1a234fdc791a65ae" - integrity sha512-kOVFW2OY5qObjSrq3OczLuEIKGtnVw/R7qw/wTtgPbyQUhMp7o2tnfTcMWlKSEifgcJDEY3kMTda3fjAuXgzSw== +"@firebase/performance-types@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.0.10.tgz#a6d2294f13f0ce9541e8e8428d122c3649a82ce1" + integrity sha512-E7aYto3XAZ9EzWOOs5YOZSsngztL0Br8l4OHEZdtxRVNTSvKnUcCx0UlFW06Prkbig9aNHFyuN5Ia9LFjd8+9w== -"@firebase/performance@0.2.32": - version "0.2.32" - resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.2.32.tgz#0f85540f7fe616d2249ea6050471f0b3fac98598" - integrity sha512-e18mVGU7Er13nG1IT/BrONxvoKhd2MK7IUWMvxGv1NDQ0gs/AiK1qKzCRI1oBtyna5b/I+pYI8UvaffWRQXKBw== +"@firebase/performance@0.2.33": + version "0.2.33" + resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.2.33.tgz#b005e8a291e11a2ca3dc6ae873c66e56e419066e" + integrity sha512-BsSrocIucpUWRf1MgurItLDPGN9IgKA8AemgYeW9zSpiFzliN2n5njOEvOOg0vcqD2dNf/UuyO/a7UjSvc0ZFw== dependencies: - "@firebase/component" "0.1.5" - "@firebase/installations" "0.4.2" - "@firebase/logger" "0.1.35" - "@firebase/performance-types" "0.0.9" - "@firebase/util" "0.2.40" + "@firebase/component" "0.1.6" + "@firebase/installations" "0.4.3" + "@firebase/logger" "0.1.36" + "@firebase/performance-types" "0.0.10" + "@firebase/util" "0.2.41" tslib "1.10.0" "@firebase/polyfill@0.3.31": @@ -1197,49 +1288,49 @@ promise-polyfill "8.1.3" whatwg-fetch "2.0.4" -"@firebase/remote-config-types@0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.1.6.tgz#9f81e5edee67b1c2a258cf609c7c5514a0575e86" - integrity sha512-t8Q3GOq7mGqy8SwgnMHQZYqADEc4fj3rdA8U+ZFPWEISMrGQQfaCm/5QaS7HFmSoKaJx+/tSBBKVjVqvSoOH6Q== +"@firebase/remote-config-types@0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.1.7.tgz#03a0cf4e7658593212d5a20780eca823b29bba36" + integrity sha512-oWyw1KNx/2+vaNBe1zYSppe5eSmjLxIphi49VAwYWO3SqhxpF3BsJ0uo4f9pU4bjYINuRFMYsCkbhZuKAR7o+w== -"@firebase/remote-config@0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.1.13.tgz#4ae29abf24e13fc67329d09a08e07fa66486dd92" - integrity sha512-VpqUZ5NRbWtoWkKsro2cqGRQh5eqTD6Fw/qETUmYk2jp1vdkyIzn8Mb4yAdejwC6W/fuib3R2XzIjHeHtAJNRA== +"@firebase/remote-config@0.1.14": + version "0.1.14" + resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.1.14.tgz#e2c5b0b73bf967b36ed66ef9ce81972ca3f22f88" + integrity sha512-VgDTymn2tDFswd6ec/tNwkFoaIib8bRSM1B6EhEhTrvInhPwnefGi7YSkUfWvYZnMnvyhVv5zIBbIplaLpvBQQ== dependencies: - "@firebase/component" "0.1.5" - "@firebase/installations" "0.4.2" - "@firebase/logger" "0.1.35" - "@firebase/remote-config-types" "0.1.6" - "@firebase/util" "0.2.40" + "@firebase/component" "0.1.6" + "@firebase/installations" "0.4.3" + "@firebase/logger" "0.1.36" + "@firebase/remote-config-types" "0.1.7" + "@firebase/util" "0.2.41" tslib "1.10.0" -"@firebase/storage-types@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.3.9.tgz#0e8f6531c80c6110df800b60d4c30137544400b0" - integrity sha512-az7GZ9zpLAh8vvbOKGwsRy/pB7bI654PzGPvAdK4E35NDBjLMTVBn8yqeDZd/5OjY3dgYit0twIDo1ljx1O6QA== +"@firebase/storage-types@0.3.10": + version "0.3.10" + resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.3.10.tgz#2456608a193d1939d399c58d4c8350d62a91d47e" + integrity sha512-c76gnTUFTDDumV4GenkuVY34EwAXjN7ZWLR6NSvuAnMvBlROdGKshTCsmyi8GTMd/dDoFB/MLJ+YOnk5tMbU4Q== -"@firebase/storage@0.3.26": - version "0.3.26" - resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.3.26.tgz#4068209281e569f182fc8a304a0cc13601195bbe" - integrity sha512-oSzQsDVUL5YuL7+7bkoA111rID0y1OZpAWKZlKtLktTqWN8GUloQIqArdwg1POt0wV+B1hfBytJuYZlI17hGgg== +"@firebase/storage@0.3.27": + version "0.3.27" + resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.3.27.tgz#4488efddac27a9cdd3b53bff9e95d23b9ea424ff" + integrity sha512-utePEBFsd02w9DM6Jf0+Kz7k5EcSL86KgcdF8eWQa9y1AkwAzzetfHPi8wjrDihubhyxB/zD0+Mop7Pqd/Zi8A== dependencies: - "@firebase/component" "0.1.5" - "@firebase/storage-types" "0.3.9" - "@firebase/util" "0.2.40" + "@firebase/component" "0.1.6" + "@firebase/storage-types" "0.3.10" + "@firebase/util" "0.2.41" tslib "1.10.0" -"@firebase/util@0.2.40": - version "0.2.40" - resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.2.40.tgz#b8c33437c63e08749c4c872025d70721d690aa69" - integrity sha512-ViuceN8F6eeN/8QaA7FbOX7KlypQAFrXHBnTEicxwED4n1SdgGFapaS/ggScq1MMwq0RjGinNbigtc1Rqy8yVA== +"@firebase/util@0.2.41": + version "0.2.41" + resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.2.41.tgz#36a0e0deb05a67b8ca79ec559d7a9859a46da519" + integrity sha512-QRu3wjU5I0ZBWrf4wgrEBYu5K5tkHjETMDPMY8WYCeekKB13k2MuJzHBjQVuStEOU7j6ygTAA0B8vXI/6B5D0g== dependencies: tslib "1.10.0" -"@firebase/webchannel-wrapper@0.2.35": - version "0.2.35" - resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.35.tgz#232e857698efb30cdda98b6f6a7a31a905d16147" - integrity sha512-7njiGBbFW0HCnuKNEJLcQt9EjfOzG8EJiXlFJwA3XfgiFxPVHmXrcF4d5yold2wfiwCwrXpeNTGZ854oRr6Hcw== +"@firebase/webchannel-wrapper@0.2.36": + version "0.2.36" + resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.36.tgz#80b63148f08e50e64afb50ad1f2bf61847476142" + integrity sha512-Vy7N8674HVHLZtRfZurvxThYeIi4sK1AeiV6DKFfndhGDfC/+iKHidoC/pgFoIIJR8E8tH5QD22Wndb0iW6cxw== "@grpc/proto-loader@^0.5.0": version "0.5.3" @@ -1540,9 +1631,9 @@ integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg== "@restart/hooks@^0.3.12": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.20.tgz#e7179ab41e5f346b2feca091261fbdad77e8bc19" - integrity sha512-Q1eeEqcxHQ4oqty7C5Me8/hzWwdCRR643nR/6EHxv8BVxLVYHe4IoWAHg8MIGkE4VtSm3/JnNhkoLJhCkLx5aw== + version "0.3.21" + resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.21.tgz#5264d12019ffb844dc1fc44d55517ded7b580ee2" + integrity sha512-Wcu3CFJV+iiqPEIoPVx3/CYnZBRgPeRABo6bLJByRH9ptJXyObn7WYPG7Rv0cg3+55bqcBbG0xEfovzwE2PNXg== "@svgr/babel-plugin-add-jsx-attribute@^4.2.0": version "4.2.0" @@ -1648,9 +1739,9 @@ loader-utils "^1.2.3" "@types/babel__core@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" - integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== + version "7.1.6" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.6.tgz#16ff42a5ae203c9af1c6e190ed1f30f83207b610" + integrity sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1674,9 +1765,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" - integrity sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw== + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.9.tgz#be82fab304b141c3eee81a4ce3b034d0eba1590a" + integrity sha512-jEFQ8L1tuvPjOI8lnpaf73oCJe+aoxL6ygqSy6c8LcW98zaC+4mzWuQIRCEvKeCOu+lbqdXcg4Uqmm1S8AP1tw== dependencies: "@babel/types" "^7.3.0" @@ -1696,11 +1787,6 @@ "@types/long" "*" "@types/node" "*" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/connect@*": version "3.4.33" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" @@ -1785,14 +1871,14 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*", "@types/node@>=6": - version "13.7.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4" - integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ== + version "13.7.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.6.tgz#cb734a7c191472ae6a2b3a502b4dfffcea974113" + integrity sha512-eyK7MWD0R1HqVTp+PtwRgFeIsemzuj4gBFSQxfPHY5iMjS7474e5wq+VFgTcdpyHeNxyKSaetYAjdMLJlKoWqA== "@types/node@^10.1.0": - version "10.17.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.14.tgz#b6c60ebf2fb5e4229fdd751ff9ddfae0f5f31541" - integrity sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw== + version "10.17.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.16.tgz#ee96ddac1a38d98d2c8a71c7df0cdad5758e8993" + integrity sha512-A4283YSA1OmnIivcpy/4nN86YlnKRiQp8PYwI2KdPCONEBN093QTb0gCtERtkLyVNGKKIGazTZ2nAmVzQU51zA== "@types/parse-json@^4.0.0": version "4.0.0" @@ -1814,17 +1900,10 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-slick@^0.23.4": - version "0.23.4" - resolved "https://registry.yarnpkg.com/@types/react-slick/-/react-slick-0.23.4.tgz#c97e2a9e7e3d1933c68593b8e82752fab1e8ce53" - integrity sha512-vXoIy4GUfB7/YgqubR4H7RALo+pRdMYCeLgWwV3MPwl5pggTlEkFBTF19R7u+LJc85uMqC7RfsbkqPLMQ4ab+A== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^16.9.11": - version "16.9.19" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.19.tgz#c842aa83ea490007d29938146ff2e4d9e4360c40" - integrity sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A== +"@types/react@^16.9.11": + version "16.9.23" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.23.tgz#1a66c6d468ba11a8943ad958a8cb3e737568271c" + integrity sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -1860,39 +1939,39 @@ integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== "@typescript-eslint/eslint-plugin@^2.10.0": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.2.tgz#e279aaae5d5c1f2547b4cff99204e1250bc7a058" - integrity sha512-HX2qOq2GOV04HNrmKnTpSIpHjfl7iwdXe3u/Nvt+/cpmdvzYvY0NHSiTkYN257jHnq4OM/yo+OsFgati+7LqJA== + version "2.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.21.0.tgz#a34de84a0791cae0357c4dda805c5b4e8203b6c6" + integrity sha512-b5jjjDMxzcjh/Sbjuo7WyhrQmVJg0WipTHQgXh5Xwx10uYm6nPWqN1WGOsaNq4HR3Zh4wUx4IRQdDkCHwyewyw== dependencies: - "@typescript-eslint/experimental-utils" "2.19.2" + "@typescript-eslint/experimental-utils" "2.21.0" eslint-utils "^1.4.3" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.19.2": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.2.tgz#4611d44cf0f0cb460c26aa7676fc0a787281e233" - integrity sha512-B88QuwT1wMJR750YvTJBNjMZwmiPpbmKYLm1yI7PCc3x0NariqPwqaPsoJRwU9DmUi0cd9dkhz1IqEnwfD+P1A== +"@typescript-eslint/experimental-utils@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.21.0.tgz#71de390a3ec00b280b69138d80733406e6e86bfa" + integrity sha512-olKw9JP/XUkav4lq0I7S1mhGgONJF9rHNhKFn9wJlpfRVjNo3PPjSvybxEldvCXnvD+WAshSzqH5cEjPp9CsBA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.19.2" + "@typescript-eslint/typescript-estree" "2.21.0" eslint-scope "^5.0.0" "@typescript-eslint/parser@^2.10.0": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.19.2.tgz#21f42c0694846367e7d6a907feb08ab2f89c0879" - integrity sha512-8uwnYGKqX9wWHGPGdLB9sk9+12sjcdqEEYKGgbS8A0IvYX59h01o8os5qXUHMq2na8vpDRaV0suTLM7S8wraTA== + version "2.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.21.0.tgz#4f200995517c3d5fc5ef51b17527bc948992e438" + integrity sha512-VrmbdrrrvvI6cPPOG7uOgGUFXNYTiSbnRq8ZMyuGa4+qmXJXVLEEz78hKuqupvkpwJQNk1Ucz1TenrRP90gmBg== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.19.2" - "@typescript-eslint/typescript-estree" "2.19.2" + "@typescript-eslint/experimental-utils" "2.21.0" + "@typescript-eslint/typescript-estree" "2.21.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.19.2": - version "2.19.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.2.tgz#67485b00172f400474d243c6c0be27581a579350" - integrity sha512-Xu/qa0MDk6upQWqE4Qy2X16Xg8Vi32tQS2PR0AvnT/ZYS4YGDvtn2MStOh5y8Zy2mg4NuL06KUHlvCh95j9C6Q== +"@typescript-eslint/typescript-estree@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.21.0.tgz#7e4be29f2e338195a2e8c818949ed0ff727cc943" + integrity sha512-NC/nogZNb9IK2MEFQqyDBAciOT8Lp8O3KgAfvHx2Skx6WBo+KmDqlU3R9KxHONaijfTIKtojRe3SZQyMjr3wBw== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" @@ -2100,9 +2179,9 @@ acorn-globals@^4.1.0, acorn-globals@^4.3.0: acorn-walk "^6.0.1" acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn-walk@^6.0.1: version "6.2.0" @@ -2182,9 +2261,9 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" - integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== + version "6.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" + integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -2255,71 +2334,54 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== +antd@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.0.0.tgz#1566ee4a4c9ff5deb446cc3ce7604d4495fd2d38" + integrity sha512-sfaxNqqtaGg+5JWucSPM0Nr3eBh5gUBlmsH5RqdtpcP5qTM2NOxcmhx3I8KlSs5O39jAZ6nRVmjubjpw3GS5oQ== dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -antd@^3.26.8: - version "3.26.9" - resolved "https://registry.yarnpkg.com/antd/-/antd-3.26.9.tgz#233c9d090c44146997984966d3b3657c9426bac1" - integrity sha512-youf+hBJHB4nuhV7yEbm2VQSMtX9RxrNQvjlc+iIPj4FeJsuTQXIfSSAc5GhwDeVAI4+nuapCv7XLFIQ+f2ZFg== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - "@ant-design/icons" "~2.1.1" - "@ant-design/icons-react" "~2.0.1" - "@types/react-slick" "^0.23.4" + "@ant-design/icons" "^4.0.0-rc.0" + "@ant-design/react-slick" "~0.25.5" array-tree-filter "^2.1.0" - babel-runtime "6.x" classnames "~2.2.6" copy-to-clipboard "^3.2.0" css-animation "^1.5.0" - dom-closest "^0.2.0" - enquire.js "^2.1.6" - is-mobile "^2.1.0" lodash "^4.17.13" moment "^2.24.0" omit.js "^1.0.2" prop-types "^15.7.2" raf "^3.4.1" - rc-animate "^2.10.2" - rc-calendar "~9.15.7" - rc-cascader "~0.17.4" + rc-animate "~2.10.2" + rc-cascader "~1.0.0" rc-checkbox "~2.1.6" rc-collapse "~1.11.3" rc-dialog "~7.6.0" rc-drawer "~3.1.1" - rc-dropdown "~2.4.1" - rc-editor-mention "^1.1.13" - rc-form "^2.4.10" - rc-input-number "~4.5.0" - rc-mentions "~0.4.0" - rc-menu "~7.5.1" - rc-notification "~3.3.1" - rc-pagination "~1.20.11" + rc-dropdown "~3.0.0" + rc-field-form "~1.0.0" + rc-input-number "~4.5.4" + rc-mentions "~1.0.0" + rc-menu "~8.0.1" + rc-notification "~4.0.0" + rc-pagination "~2.0.1" + rc-picker "~1.1.0" rc-progress "~2.5.0" - rc-rate "~2.5.0" + rc-rate "~2.5.1" rc-resize-observer "^0.1.0" - rc-select "~9.2.0" - rc-slider "~8.7.1" + rc-select "~10.0.0" + rc-slider "~9.2.1" rc-steps "~3.5.0" rc-switch "~1.9.0" - rc-table "~6.10.5" - rc-tabs "~9.7.0" - rc-time-picker "~3.7.1" - rc-tooltip "~3.7.3" - rc-tree "~2.1.0" - rc-tree-select "~2.9.1" - rc-trigger "^2.6.2" - rc-upload "~2.9.1" - rc-util "^4.16.1" - react-lazy-load "^3.0.13" - react-lifecycles-compat "^3.0.4" - react-slick "~0.25.2" + rc-table "~7.0.0" + rc-tabs "~10.0.0" + rc-tooltip "~4.0.0" + rc-tree "~3.0.0" + rc-tree-select "~3.0.0" + rc-trigger "~4.0.0" + rc-upload "~3.0.0" + rc-util "^4.20.0" + rc-virtual-list "~1.0.0" resize-observer-polyfill "^1.5.1" + scroll-into-view-if-needed "^2.2.20" shallowequal "^1.1.0" warning "~4.0.3" @@ -2560,12 +2622,12 @@ array-unique@^0.3.2: integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= array.prototype.find@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" - integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c" + integrity sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA== dependencies: define-properties "^1.1.3" - es-abstract "^1.13.0" + es-abstract "^1.17.4" array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: version "1.2.3" @@ -2580,7 +2642,7 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: +asap@^2.0.0, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -2659,10 +2721,10 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async-validator@~1.11.3: - version "1.11.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.11.5.tgz#9d43cf49ef6bb76be5442388d19fb9a6e47597ea" - integrity sha512-XNtCsMAeAH1pdLMEg1z8/Bb3a8cdCbui9QbJATRFHHHW5kT6+NPI3zSVQUXgikTFITzsg+kYY5NTWhM2Orwt9w== +async-validator@^3.0.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.2.3.tgz#b38b72f9c08c1d28548df13bb260b6908448ca49" + integrity sha512-yMJ4i3x5qEGVgEMowZiBkx+rjDrsXf64BWdHENCtHLgyPiEE+2r8jvqMF1cghCgdGo4sWVLJ7MDwPQgGSPDCcw== async@^2.6.2: version "2.6.3" @@ -3097,7 +3159,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.8.6, browserslist@^4.0.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.3, browserslist@^4.8.5: +browserslist@4.8.6: version "4.8.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" integrity sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg== @@ -3106,6 +3168,15 @@ browserslist@4.8.6, browserslist@^4.0.0, browserslist@^4.6.2, browserslist@^4.6. electron-to-chromium "^1.3.341" node-releases "^1.1.47" +browserslist@^4.0.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.3, browserslist@^4.8.5: + version "4.9.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.9.0.tgz#ff85c390889e0f754d7bd8ad13412575cdcf5dc7" + integrity sha512-seffIXhwgB84+OCeT/aMjpZnsAsYDiMSC+CEs3UkF8iU64BZGYcu+TZYs/IBpo4nRi0vJywUJWYdbTsOhFTweg== + dependencies: + caniuse-lite "^1.0.30001030" + electron-to-chromium "^1.3.361" + node-releases "^1.1.50" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3253,13 +3324,13 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= +camel-case@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" + integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" + pascal-case "^3.1.1" + tslib "^1.10.0" camelcase-keys@^2.0.0: version "2.1.0" @@ -3304,10 +3375,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: - version "1.0.30001027" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz#283e2ef17d94889cc216a22c6f85303d78ca852d" - integrity sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023, caniuse-lite@^1.0.30001030: + version "1.0.30001030" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001030.tgz#78076c4c6d67d3e41d6eb9399853fb27fe6e44ee" + integrity sha512-QGK0W4Ft/Ac+zTjEiRJfwDNATvS3fodDczBXrH42784kcfqcDKpEPfN08N0HQjrAp8He/Jw8QiSS9QRn7XAbUw== capture-exit@^2.0.0: version "2.0.0" @@ -3326,13 +3397,14 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" @@ -3345,15 +3417,6 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -3429,9 +3492,9 @@ chokidar@^3.3.0: fsevents "~2.1.2" chownr@^1.1.1, chownr@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chrome-trace-event@^1.0.2: version "1.0.2" @@ -3468,7 +3531,7 @@ classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classna resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== -clean-css@^4.2.1: +clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== @@ -3578,19 +3641,12 @@ color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3: dependencies: color-name "1.1.3" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -3628,7 +3684,7 @@ commander@^2.11.0, commander@^2.19.0, commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.0: +commander@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -3643,7 +3699,7 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -component-classes@1.x, component-classes@^1.2.5, component-classes@^1.2.6: +component-classes@^1.2.5, component-classes@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= @@ -3687,6 +3743,11 @@ compression@^1.7.4: safe-buffer "5.1.2" vary "~1.1.2" +compute-scroll-into-view@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.13.tgz#be1b1663b0e3f56cd5f7713082549f562a3477e2" + integrity sha512-o+w9w7A98aAFi/GjK8cxSV+CdASuPa2rR5UWs3+yHkJzWqaKoBEufFNWYaXInCSmUfDCVhesG+v9MTWqOjsxFg== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -3784,9 +3845,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-to-clipboard@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.1.tgz#b1a1137100e5665d5a96015cb579e30e90e07c44" - integrity sha512-btru1Q6RD9wbonIvEU5EfnhIRGHLo//BGXQ1hNAD2avIs/nBZlpbOeKtv3mhoUByN4DB9Cb6/vXBymj1S43KmA== + version "3.3.1" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== dependencies: toggle-selection "^1.0.6" @@ -3803,11 +3864,6 @@ core-js@3.6.2: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.2.tgz#2799ea1a59050f0acf50dfe89b916d6503b16caa" integrity sha512-hIE5dXkRzRvnZ5vhkRfQxUvDxQZmD9oueA08jDYRBKJHx+VIl/Pne/e0A4x9LObEEthC/TqiZybUoNM4tRgnKg== -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - core-js@^2.4.0: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" @@ -3875,15 +3931,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.3: - version "15.6.3" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" - integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== - dependencies: - fbjs "^0.8.9" - loose-envify "^1.3.1" - object-assign "^4.1.1" - cross-spawn@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" @@ -4037,11 +4084,6 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -4165,9 +4207,9 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: cssom "0.3.x" csstype@^2.2.0, csstype@^2.6.7: - version "2.6.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431" - integrity sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA== + version "2.6.9" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098" + integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q== currently-unhandled@^0.4.1: version "0.4.1" @@ -4215,10 +4257,10 @@ date-arithmetic@^4.0.1: resolved "https://registry.yarnpkg.com/date-arithmetic/-/date-arithmetic-4.1.0.tgz#e5d6434e9deb71f79760a37b729e4a515e730ddf" integrity sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg== -dayjs@^1.8.20: - version "1.8.20" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.20.tgz#724a5cb6ad1f6fc066b0bd9a800dedcc7886f19e" - integrity sha512-mH0MCDxw6UCGJYxVN78h8ugWycZAO8thkj3bW6vApL5tS0hQplIDdAQcmbvl7n35H0AKdCJQaArTrIQw2xt4Qg== +dayjs@^1.8.18, dayjs@^1.8.20: + version "1.8.21" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.21.tgz#98299185b72b9b679f31c7ed987b63923c961552" + integrity sha512-1kbWK0hziklUHkGgiKr7xm59KwAg/K3Tp7H/8X+f58DnNCwY3pKYjOCJpIlVs125FRBukGVZdKZojC073D0IeQ== debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" @@ -4460,13 +4502,6 @@ dom-align@^1.7.0: resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.10.4.tgz#862ae4de0d11d6495c1c8ee1b195427e7caa727d" integrity sha512-wytDzaru67AmqFOY4B9GUb/hrwWagezoYYK97D/vpK+ezg+cnuZO0Q2gltUPa7KfNmIqfRIYVCF8UhRDEHAmgQ== -dom-closest@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-closest/-/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf" - integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= - dependencies: - dom-matches ">=1.0.1" - dom-converter@^0.2: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4482,16 +4517,6 @@ dom-helpers@^5.1.0: "@babel/runtime" "^7.6.3" csstype "^2.6.7" -dom-matches@>=1.0.1: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-matches/-/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c" - integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= - -dom-scroll-into-view@1.x, dom-scroll-into-view@^1.2.0, dom-scroll-into-view@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz#e8f36732dd089b0201a88d7815dc3f88e6d66c7e" - integrity sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4= - dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -4558,12 +4583,20 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -dot-prop@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== +dot-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" + integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== dependencies: - is-obj "^1.0.0" + no-case "^3.0.3" + tslib "^1.10.0" + +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + dependencies: + is-obj "^2.0.0" dotenv-expand@5.1.0: version "5.1.0" @@ -4575,15 +4608,6 @@ dotenv@8.2.0, dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== -draft-js@^0.10.0, draft-js@~0.10.0: - version "0.10.5" - resolved "https://registry.yarnpkg.com/draft-js/-/draft-js-0.10.5.tgz#bfa9beb018fe0533dbb08d6675c371a6b08fa742" - integrity sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg== - dependencies: - fbjs "^0.8.15" - immutable "~3.7.4" - object-assign "^4.1.0" - duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -4619,10 +4643,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.341: - version "1.3.346" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.346.tgz#b08becbfbd64a42061195afd3a4923d0416c5d46" - integrity sha512-Yy4jF5hJd57BWmGPt0KjaXc25AmWZeQK75kdr4zIzksWVtiT6DwaNtvTb9dt+LkQKwUpvBfCyyPsXXtbY/5GYw== +electron-to-chromium@^1.3.341, electron-to-chromium@^1.3.361: + version "1.3.363" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.363.tgz#08756873e49446a92e0cee6c3cd9eb3c52043826" + integrity sha512-4w19wPBkeunBjOA53lNFT36IdOD3Tk1OoIDtTX+VToJUUDX42QfuhtsNKXv25wmSnoBOExM3kTbj7/WDNBwHuQ== elliptic@^6.0.0: version "6.5.2" @@ -4652,6 +4676,11 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4680,11 +4709,6 @@ enhanced-resolve@^4.1.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquire.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" - integrity sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ= - entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -4772,7 +4796,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.13.0, es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4: version "1.17.4" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ== @@ -5031,9 +5055,9 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48" + integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q== dependencies: estraverse "^4.0.0" @@ -5069,11 +5093,6 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== -eventlistener@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/eventlistener/-/eventlistener-0.0.1.tgz#ed2baabb852227af2bcf889152c72c63ca532eb8" - integrity sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg= - events@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" @@ -5286,28 +5305,15 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fbjs@^0.8.15, fbjs@^0.8.16, fbjs@^0.8.9: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== figures@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" - integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" @@ -5385,12 +5391,12 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: pkg-dir "^3.0.0" find-cache-dir@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.2.0.tgz#e7fe44c1abc1299f516146e563108fd1006c1874" - integrity sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.0.tgz#4d74ed1fe9ef1731467ca24378e8f8f5c8b6ed11" + integrity sha512-PtXtQb7IrD8O+h6Cq1dbpJH5NzD8+9keN1zZ0YlpDzl1PwXEJEBj6u1Xa92t1Hwluoozd9TNKul5Hi2iqpsWwg== dependencies: commondir "^1.0.1" - make-dir "^3.0.0" + make-dir "^3.0.2" pkg-dir "^4.1.0" find-up@4.1.0, find-up@^4.0.0: @@ -5423,25 +5429,25 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -firebase@^7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/firebase/-/firebase-7.8.1.tgz#1f2a1771d89acf1aac1a36fb35d5870a4da4d953" - integrity sha512-Ji1/21pNvxW3gbBo/iTtXFJsTTWzcDoMeCRx+NJ7/uUVYvmX91WjhnwO84OusHIo9WMs54kosoOWL0i6PZyWwg== +firebase@^7.9.2: + version "7.9.2" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-7.9.2.tgz#3f098a47fc8e61442cb7e2eecd38187a63a65fb2" + integrity sha512-c2B4DpoP/KAXFnej6PmBBW+JMldyNfX9vmNjSRIO1op9kgJt+VreckdOJM0VG6ij9iApAQEHKV/7QjbJq6Z9Xw== dependencies: - "@firebase/analytics" "0.2.13" - "@firebase/app" "0.5.4" - "@firebase/app-types" "0.5.1" - "@firebase/auth" "0.13.5" - "@firebase/database" "0.5.21" - "@firebase/firestore" "1.10.1" - "@firebase/functions" "0.4.32" - "@firebase/installations" "0.4.2" - "@firebase/messaging" "0.6.4" - "@firebase/performance" "0.2.32" + "@firebase/analytics" "0.2.14" + "@firebase/app" "0.5.5" + "@firebase/app-types" "0.5.2" + "@firebase/auth" "0.13.6" + "@firebase/database" "0.5.22" + "@firebase/firestore" "1.11.2" + "@firebase/functions" "0.4.35" + "@firebase/installations" "0.4.3" + "@firebase/messaging" "0.6.7" + "@firebase/performance" "0.2.33" "@firebase/polyfill" "0.3.31" - "@firebase/remote-config" "0.1.13" - "@firebase/storage" "0.3.26" - "@firebase/util" "0.2.40" + "@firebase/remote-config" "0.1.14" + "@firebase/storage" "0.3.27" + "@firebase/util" "0.2.41" flat-cache@^2.0.1: version "2.0.1" @@ -5807,12 +5813,12 @@ globby@^6.1.0: pinkie-promise "^2.0.0" globule@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.0.tgz#41d0e9fb44afd4b80d93a23263714f90b3dec904" - integrity sha512-YlD4kdMqRCQHrhVdonet4TdRtv1/sZKepvoxNT4Nrhrp5HI8XFfc8kFlGlBn2myBo80aGp8Eft259mbcUJhgSg== + version "1.3.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" + integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== dependencies: glob "~7.1.1" - lodash "~4.17.10" + lodash "~4.17.12" minimatch "~3.0.2" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: @@ -5877,7 +5883,7 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0, har-validator@~5.1.3: +har-validator@~5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== @@ -6015,9 +6021,9 @@ hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react- react-is "^16.7.0" hosted-git-info@^2.1.4: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" - integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + version "2.8.7" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.7.tgz#4d2e0d5248e1cfabc984b0f6a6d75fe36e679511" + integrity sha512-ChkjQtKJ3GI6SsI4O5jwr8q8EPrWCnxuc4Tbx+vRI5x6mDOpjKKltNo1lRlszw3xwgTOSns1ZRBiMmmwpcvLxg== hpack.js@^2.1.6: version "2.1.6" @@ -6069,17 +6075,17 @@ html-escaper@^2.0.0: integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== html-minifier-terser@^5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.3.tgz#b33549b57be7f0357be0d0b892995aaed1ed90f8" - integrity sha512-It4No3H1V3Dhd/O0MePFdo0oX/M6u6YZTMw4My/010mT6vxdbqge7+0RoxGAmeSbKok6gjYZoP0p4rpZ2+J2yw== + version "5.0.4" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz#e8cc02748acb983bd7912ea9660bd31c0702ec32" + integrity sha512-fHwmKQ+GzhlqdxEtwrqLT7MSuheiA+rif5/dZgbz3GjoMXJzcRzy1L9NXoiiyxrnap+q5guSiv8Tz5lrh9g42g== dependencies: - camel-case "^3.0.0" - clean-css "^4.2.1" - commander "^4.0.0" + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" he "^1.2.0" - param-case "^2.1.1" + param-case "^3.0.3" relateurl "^0.2.7" - terser "^4.3.9" + terser "^4.6.3" html-parse-stringify2@2.0.1: version "2.0.1" @@ -6187,10 +6193,10 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -i18next@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.1.0.tgz#fe1a1da3d208872946307c7d2d115da45d46159f" - integrity sha512-ISbmukX4L6Dz0QoH9+EW1AnBw7j+NRLoMu9uLPMaNSSTP9Eie9/oUL0dOyWX15baB3gYOpkHJpGZRHOqcnl0ew== +i18next@^19.3.2: + version "19.3.2" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.3.2.tgz#a17c3c8bb0dd2d8c4a8963429df99730275b3282" + integrity sha512-QDBQ8MqFWi4+L9OQjjZEKVyg9uSTy3NTU3Ri53QHe7nxtV+KD4PyLB8Kxu58gr6b9y5l8cU3mCiNHVeoxPMzAQ== dependencies: "@babel/runtime" "^7.3.1" @@ -6252,16 +6258,6 @@ immer@1.10.0: resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== -immutable@^3.7.4: - version "3.8.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= - -immutable@~3.7.4: - version "3.7.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" - integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= - import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -6379,6 +6375,11 @@ inquirer@7.0.4, inquirer@^7.0.0: strip-ansi "^5.1.0" through "^2.3.6" +insert-css@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4" + integrity sha1-610Ql7dUL0x56jBg067gfQU4gPQ= + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -6414,12 +6415,7 @@ ip@^1.1.0, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@^1.9.0: +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -6553,6 +6549,11 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= +is-docker@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" + integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -6611,11 +6612,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-mobile@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.0.tgz#72b19ab033deb0fd15a2d00a23b9b1003f8fa5d9" - integrity sha512-K0DmUqaZqYl6M8ej536uJYAQaBkx+qWph7xl1KRBr31UiGUT0MoFWUoqnIxzXnIeolnK8bkxtKXkZNL6HfSHhQ== - is-number-object@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -6633,11 +6629,16 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0, is-obj@^1.0.1: +is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-path-cwd@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" @@ -6745,6 +6746,11 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -6772,7 +6778,7 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1: +isomorphic-fetch@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= @@ -7223,9 +7229,9 @@ jest@24.9.0: jest-cli "^24.9.0" js-base64@^2.1.8: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + version "2.5.2" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" + integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -7597,7 +7603,7 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: +loader-utils@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -7606,6 +7612,15 @@ loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2. emojis-list "^2.0.0" json5 "^1.0.1" +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -7649,11 +7664,6 @@ lodash.clone@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.debounce@^4.0.0, lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - lodash.escape@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" @@ -7729,17 +7739,12 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.throttle@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.16.5, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.12: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -7774,10 +7779,12 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= +lower-case@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" + integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== + dependencies: + tslib "^1.10.0" lru-cache@^4.0.1: version "4.1.5" @@ -7802,10 +7809,10 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" - integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== +make-dir@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" + integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== dependencies: semver "^6.0.0" @@ -8136,7 +8143,7 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: dependencies: minimist "0.0.8" -moment@2.x, moment@^2.10.2, moment@^2.24.0: +moment@^2.10.2, moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== @@ -8186,11 +8193,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mutationobserver-shim@^0.3.2: - version "0.3.3" - resolved "https://registry.yarnpkg.com/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz#65869630bc89d7bf8c9cd9cb82188cd955aacd2b" - integrity sha512-gciOLNN8Vsf7YzcqRjKzlAJ6y7e+B86u7i3KXes0xfxx/nfLmozlW1Vn+Sc9x3tPIePFgc1AeIFhtRgkqTjzDQ== - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -8263,12 +8265,13 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== +no-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" + integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== dependencies: - lower-case "^1.1.1" + lower-case "^2.0.1" + tslib "^1.10.0" node-fetch@^1.0.1: version "1.7.3" @@ -8351,7 +8354,7 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@^0.14.0: +node-pre-gyp@*, node-pre-gyp@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83" integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA== @@ -8367,10 +8370,10 @@ node-pre-gyp@^0.14.0: semver "^5.3.0" tar "^4.4.2" -node-releases@^1.1.47: - version "1.1.48" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.48.tgz#7f647f0c453a0495bcd64cbd4778c26035c2f03a" - integrity sha512-Hr8BbmUl1ujAST0K0snItzEA5zkJTQup8VNTKNfT6Zw8vTJkIiagUPNfxHmgDOyfFYNfKAul40sD0UEYTvwebw== +node-releases@^1.1.47, node-releases@^1.1.50: + version "1.1.50" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.50.tgz#803c40d2c45db172d0410e4efec83aa8c6ad0592" + integrity sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ== dependencies: semver "^6.3.0" @@ -8534,9 +8537,9 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-hash@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.2.tgz#f7b2212dbe07d07e340ccd6004c59504fc4015cf" - integrity sha512-b+2AKjAf6uQlxxv8ChHdM+VT4eeX+ZSwv+pk2xIXZWbo+yxn4/En1iC+GHe/OFYa9on0AhFF2PvuAcFHoiiHaA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" + integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== object-inspect@^1.7.0: version "1.7.0" @@ -8658,12 +8661,13 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== +open@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.0.2.tgz#fb3681f11f157f2361d2392307548ca1792960e8" + integrity sha512-70E/pFTPr7nZ9nLDPNTcj3IVqnNvKuP4VsBmoKV9YGTnChe0mlS3C4qM7qKarhZ8rGaHKLfo+vBTHXDp6ZSyLQ== dependencies: - is-wsl "^1.1.0" + is-docker "^2.0.0" + is-wsl "^2.1.1" opn@^5.5.0: version "5.5.0" @@ -8855,12 +8859,13 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= +param-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" + integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== dependencies: - no-case "^2.2.0" + dot-case "^3.0.3" + tslib "^1.10.0" parent-module@^1.0.0: version "1.0.1" @@ -8928,6 +8933,14 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== +pascal-case@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" + integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== + dependencies: + no-case "^3.0.3" + tslib "^1.10.0" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -9167,14 +9180,13 @@ postcss-browser-comments@^3.0.0: postcss "^7" postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" + integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" postcss-color-functional-notation@^2.0.1: version "2.0.1" @@ -9731,11 +9743,11 @@ postcss-selector-not@^4.0.0: postcss "^7.0.2" postcss-selector-parser@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== dependencies: - dot-prop "^4.1.1" + dot-prop "^5.2.0" indexes-of "^1.0.1" uniq "^1.0.1" @@ -9776,15 +9788,15 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" + integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg== postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" @@ -9804,10 +9816,10 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.26" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" - integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.27" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" + integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -9876,13 +9888,6 @@ promise-polyfill@8.1.3: resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116" integrity sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g== -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - promise@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz#f592e099c6cddc000d538ee7283bb190452b0bf6" @@ -9891,12 +9896,12 @@ promise@^8.0.3: asap "~2.0.6" prompts@^2.0.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" - integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== + version "2.3.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.1.tgz#b63a9ce2809f106fa9ae1277c275b167af46ea05" + integrity sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA== dependencies: kleur "^3.0.3" - sisteransi "^1.0.3" + sisteransi "^1.0.4" prop-types-exact@^1.2.0: version "1.2.0" @@ -9946,12 +9951,12 @@ protobufjs@^6.8.6: long "^4.0.0" proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== dependencies: forwarded "~0.1.2" - ipaddr.js "1.9.0" + ipaddr.js "1.9.1" prr@~1.0.1: version "1.0.1" @@ -9963,7 +9968,7 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.24, psl@^1.1.28: +psl@^1.1.28: version "1.7.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== @@ -10010,7 +10015,7 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -10117,20 +10122,20 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc-align@^2.4.0, rc-align@^2.4.1: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" - integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== +rc-align@^3.0.0-rc.0: + version "3.0.0-rc.1" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-3.0.0-rc.1.tgz#32d1fac860d12bb85e9b8cafbbdef79f3f537674" + integrity sha512-GbofumhCUb7SxP410j/fbtR2M9Zml+eoZSdaliZh6R3NhfEj5zP4jcO3HG3S9C9KIcXQQtd/cwVHkb9Y0KU7Hg== dependencies: - babel-runtime "^6.26.0" + classnames "2.x" dom-align "^1.7.0" - prop-types "^15.5.8" - rc-util "^4.0.4" + rc-util "^4.12.0" + resize-observer-polyfill "^1.5.1" -rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.3.0, rc-animate@^2.6.0, rc-animate@^2.8.2: - version "2.10.2" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.10.2.tgz#217fdc76ff26cbf425a5caf87cc8a36ba4598456" - integrity sha512-cE/A7piAzoWFSgUD69NmmMraqCeqVBa51UErod8NS3LUEqWfppSVagHfa0qHAlwPVPiIBg3emRONyny3eiH0Dg== +rc-animate@2.x, rc-animate@^2.10.0, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.9.2, rc-animate@~2.10.2: + version "2.10.3" + resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.10.3.tgz#163d5e29281a4ff82d53ee7918eeeac856b756f9" + integrity sha512-A9qQ5Y8BLlM7EhuCO3fWb/dChndlbWtY/P5QvPqBU7h4r5Q2QsvsbpTGgdYZATRDZbTRnJXXfVk9UtlyS7MBLg== dependencies: babel-runtime "6.x" classnames "^2.2.6" @@ -10140,44 +10145,14 @@ rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.3.0, rc-an rc-util "^4.15.3" react-lifecycles-compat "^3.0.4" -rc-animate@^3.0.0-rc.1: - version "3.0.0-rc.6" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-3.0.0-rc.6.tgz#04288eefa118e0cae214536c8a903ffaac1bc3fb" - integrity sha512-oBLPpiT6Q4t6YvD/pkLcmofBP1p01TX0Otse8Q4+Mxt8J+VSDflLZGIgf62EwkvRwsQUkLPjZVFBsldnPKLzjg== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - component-classes "^1.2.6" - fbjs "^0.8.16" - prop-types "15.x" - raf "^3.4.0" - rc-util "^4.5.0" - react-lifecycles-compat "^3.0.4" - -rc-calendar@~9.15.7: - version "9.15.9" - resolved "https://registry.yarnpkg.com/rc-calendar/-/rc-calendar-9.15.9.tgz#7a3457ee10f27b9972a755fe6415ef352f01a97a" - integrity sha512-XOPzJlXYmLFIcwalXmzxKZrrAMD6dEPLRVoHG3wbBpErqjE8ugnXVjm9yXgtQh3Ho3Imhmt+KO0WGLv5T4WuAA== - dependencies: - babel-runtime "6.x" - classnames "2.x" - moment "2.x" - prop-types "^15.5.8" - rc-trigger "^2.2.0" - rc-util "^4.1.1" - react-lifecycles-compat "^3.0.4" - -rc-cascader@~0.17.4: - version "0.17.5" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-0.17.5.tgz#4fde91d23b7608c420263c38eee9c0687f80f7dc" - integrity sha512-WYMVcxU0+Lj+xLr4YYH0+yXODumvNXDcVEs5i7L1mtpWwYkubPV/zbQpn+jGKFCIW/hOhjkU4J1db8/P/UKE7A== +rc-cascader@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-1.0.1.tgz#770de1e1fa7bd559aabd4d59e525819b8bc809b7" + integrity sha512-3mk33+YKJBP1XSrTYbdVLuCC73rUDq5STNALhvua5i8vyIgIxtb5fSl96JdWWq1Oj8tIBoHnCgoEoOYnIXkthQ== dependencies: array-tree-filter "^2.1.0" - prop-types "^15.5.8" - rc-trigger "^2.2.0" + rc-trigger "^4.0.0" rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" - shallow-equal "^1.0.0" warning "^4.0.1" rc-checkbox@~2.1.6: @@ -10221,56 +10196,23 @@ rc-drawer@~3.1.1: rc-util "^4.16.1" react-lifecycles-compat "^3.0.4" -rc-dropdown@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-2.4.1.tgz#aaef6eb3a5152cdd9982895c2a78d9b5f046cdec" - integrity sha512-p0XYn0wrOpAZ2fUGE6YJ6U8JBNc5ASijznZ6dkojdaEfQJAeZtV9KMEewhxkVlxGSbbdXe10ptjBlTEW9vEwEg== +rc-dropdown@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.0.1.tgz#0c05318c4d3e6bb5f5d2446444c9b084da3d0d90" + integrity sha512-TbfTvJwFAaP1vPX/A/uxS07vbn2OqbHak9KJIL6Tdb0sV+sFXaIRo0udJixljkplbgPkLiasy8Xqnk1MGMfa0Q== dependencies: babel-runtime "^6.26.0" classnames "^2.2.6" - prop-types "^15.5.8" - rc-trigger "^2.5.1" - react-lifecycles-compat "^3.0.2" + rc-trigger "^4.0.0" -rc-editor-core@~0.8.3: - version "0.8.10" - resolved "https://registry.yarnpkg.com/rc-editor-core/-/rc-editor-core-0.8.10.tgz#6f215bc5df9c33ffa9f6c5b30ca73a7dabe8ab7c" - integrity sha512-T3aHpeMCIYA1sdAI7ynHHjXy5fqp83uPlD68ovZ0oClTSc3tbHmyCxXlA+Ti4YgmcpCYv7avF6a+TIbAka53kw== +rc-field-form@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.0.0.tgz#3293d6ae6dd4c4b0f1e7b2857ca8e15c61272dde" + integrity sha512-yPgmQjE8aRGwkTl2UsG18UBghekqux9SFfjxWHd80MugGeLpmCJwtwK98bxWhhVELu1YhZtrQQ5EHiNEWptYZg== dependencies: - babel-runtime "^6.26.0" - classnames "^2.2.5" - draft-js "^0.10.0" - immutable "^3.7.4" - lodash "^4.16.5" - prop-types "^15.5.8" - setimmediate "^1.0.5" - -rc-editor-mention@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/rc-editor-mention/-/rc-editor-mention-1.1.13.tgz#9f1cab1065f86b01523840321790c2ab12ac5e8b" - integrity sha512-3AOmGir91Fi2ogfRRaXLtqlNuIwQpvla7oUnGHS1+3eo7b+fUp5IlKcagqtwUBB5oDNofoySXkLBxzWvSYNp/Q== - dependencies: - babel-runtime "^6.23.0" - classnames "^2.2.5" - dom-scroll-into-view "^1.2.0" - draft-js "~0.10.0" - immutable "~3.7.4" - prop-types "^15.5.8" - rc-animate "^2.3.0" - rc-editor-core "~0.8.3" - -rc-form@^2.4.10: - version "2.4.11" - resolved "https://registry.yarnpkg.com/rc-form/-/rc-form-2.4.11.tgz#61ee3ae579259684ae30f2c48f55f0f23a5d3d08" - integrity sha512-8BL+FNlFLTOY/A5X6tU35GQJLSIpsmqpwn/tFAYQTczXc4dMJ33ggtH248Cum8+LS0jLTsJKG2L4Qp+1CkY+sA== - dependencies: - async-validator "~1.11.3" - babel-runtime "6.x" - create-react-class "^15.5.3" - dom-scroll-into-view "1.x" - hoist-non-react-statics "^3.3.0" - lodash "^4.17.4" - rc-util "^4.15.3" + "@babel/runtime" "^7.8.4" + async-validator "^3.0.3" + rc-util "^4.17.0" warning "^4.0.3" rc-hammerjs@~0.6.0: @@ -10282,10 +10224,10 @@ rc-hammerjs@~0.6.0: hammerjs "^2.0.8" prop-types "^15.5.9" -rc-input-number@~4.5.0: - version "4.5.3" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-4.5.3.tgz#ed497c727658e870d3f2a5e5a750d1ee71089f43" - integrity sha512-jBwxX5KDkp2nHOaEoMQ1mZBwWpmmGUuHXF/qralpmN+wDp8rlB6Xvr9d7AHgmzGZhbWIMyLeq6ET6HDDCCjvAA== +rc-input-number@~4.5.4: + version "4.5.6" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-4.5.6.tgz#0d52762b0ac39432256e2c6c5c836102f9797c46" + integrity sha512-AXbL4gtQ1mSQnu6v/JtMv3UbGRCzLvQznmf0a7U/SAtZ8+dCEAqD4JpJhkjv73Wog53eRYhw4l7ApdXflc9ymg== dependencies: babel-runtime "6.x" classnames "^2.2.0" @@ -10293,53 +10235,56 @@ rc-input-number@~4.5.0: rc-util "^4.5.1" rmc-feedback "^2.0.0" -rc-mentions@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-0.4.2.tgz#c18ab701efb9e4b75b3851a0c0d2dd698640e246" - integrity sha512-DTZurQzacLXOfVuiHydGzqkq7cFMHXF18l2jZ9PhWUn2cqvOSY3W4osN0Pq29AOMOBpcxdZCzgc7Lb0r/bgkDw== +rc-mentions@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.0.1.tgz#4a82b5011ccd3f0008f69f3b2e29ab8c0d91b17f" + integrity sha512-EgXFYsNHk44ifwDcbtd3zX7rJc3lHplfVEVEf8oxZeeyyIzFD0GLs0Z0LWHNs6Gm4wTAHvcR0j4Pd5M7fLtBoA== dependencies: - "@ant-design/create-react-context" "^0.2.4" classnames "^2.2.6" - rc-menu "^7.4.22" - rc-trigger "^2.6.2" + rc-menu "^8.0.1" + rc-trigger "^4.0.0" rc-util "^4.6.0" - react-lifecycles-compat "^3.0.4" -rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.5.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-7.5.5.tgz#78cdc817d86fc353a1430b864d3d96c7489600ca" - integrity sha512-4YJXJgrpUGEA1rMftXN7bDhrV5rPB8oBJoHqT+GVXtIWCanfQxEnM3fmhHQhatL59JoAFMZhJaNzhJIk4FUWCQ== +rc-menu@^8.0.1, rc-menu@~8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.0.2.tgz#ce8dacad615c4cadb47c018be3a0791248b04d14" + integrity sha512-0zae6+LVQf+XTBepSMwwn2Wu+CvRf0eAVh62xl0UcjFBvyA0uGz+dAE0SVR6oUA0q9X+/G14CV1ItZFdwaP6/g== dependencies: classnames "2.x" - dom-scroll-into-view "1.x" mini-store "^2.0.0" - mutationobserver-shim "^0.3.2" rc-animate "^2.10.1" - rc-trigger "^2.3.0" + rc-trigger "^4.0.0" rc-util "^4.13.0" resize-observer-polyfill "^1.5.0" + scroll-into-view-if-needed "^2.2.20" shallowequal "^1.1.0" -rc-notification@~3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-3.3.1.tgz#0baa3e70f8d40ab015ce8fa78c260c490fc7beb4" - integrity sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig== +rc-notification@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.0.0.tgz#ffe59783d6738003972dde8b9658f1acd469cd2c" + integrity sha512-In9FimkJY+JSIq3/eopPfBpQQr2Zugq5i9Aw9vdiNCGCsAsSO9bGq2dPsn8bamOydNrhc3djljGfmxUUMbcZnA== dependencies: - babel-runtime "6.x" classnames "2.x" - prop-types "^15.5.8" rc-animate "2.x" rc-util "^4.0.4" -rc-pagination@~1.20.11: - version "1.20.13" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-1.20.13.tgz#aca9dc020e475f77c5335659f7fe5d7cca2f2592" - integrity sha512-oocyyzx0pye957e3iARFg377hafdUc3oC13faGgmopGX/A8rn7tXCdOwVIJthhI6dHVfAcFLgnYQAlcpGXh+Uw== +rc-pagination@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-2.0.1.tgz#40deddb43173d951e2449c7d3f9951890f477ba1" + integrity sha512-jvLb05p1OEBUxRobWFjnrj6vRyvhG8XHouK6qh+eepCHPo7HDzUHHztvUUAWr5f+WnKldAXqdPcGgbM4rCH1OA== dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "^15.5.7" - react-lifecycles-compat "^3.0.4" + classnames "^2.2.1" + +rc-picker@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-1.1.2.tgz#9b4b552eac779b3568498c69453b6fb4aa796d3b" + integrity sha512-B4z1cqla4bZlVUcMuyeFmyPPx9eumpYd06gYFzLKsl5Yz3h1jTmW40hW1uxxUgPkeg6ym1X5TjUoB3ZOveHuMQ== + dependencies: + classnames "^2.2.1" + dayjs "^1.8.18" + moment "^2.24.0" + rc-trigger "^4.0.0" + rc-util "^4.17.0" rc-progress@~2.5.0: version "2.5.2" @@ -10349,7 +10294,7 @@ rc-progress@~2.5.0: babel-runtime "6.x" prop-types "^15.5.8" -rc-rate@~2.5.0: +rc-rate@~2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.5.1.tgz#55fc5fd23ea9dcc72250b9a889803479f4842961" integrity sha512-3iJkNJT8xlHklPCdeZtUZmJmRVUbr6AHRlfSsztfYTXVlHrv2TcPn3XkHsH+12j812WVB7gvilS2j3+ffjUHXg== @@ -10359,7 +10304,7 @@ rc-rate@~2.5.0: rc-util "^4.3.0" react-lifecycles-compat "^3.0.4" -rc-resize-observer@^0.1.0: +rc-resize-observer@^0.1.0, rc-resize-observer@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-0.1.3.tgz#097191f9c3ab186ed907b553ba6ef565df11c249" integrity sha512-uzOQEwx83xdQSFOkOAM7x7GHIQKYnrDV4dWxtCxyG1BS1pkfJ4EvDeMfsvAJHSYkQXVBu+sgRHGbRtLG3qiuUg== @@ -10368,35 +10313,28 @@ rc-resize-observer@^0.1.0: rc-util "^4.13.0" resize-observer-polyfill "^1.5.1" -rc-select@~9.2.0: - version "9.2.3" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-9.2.3.tgz#64340e2d6ef64e8bc3cfc6f468ffd28625589ac2" - integrity sha512-WhswxOMWiNnkXRbxyrj0kiIvyCfo/BaRPaYbsDetSIAU2yEDwKHF798blCP5u86KLOBKBvtxWLFCkSsQw1so5w== +rc-select@^10.0.0, rc-select@~10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-10.0.2.tgz#e74ca42ebf06db408b8a63f20978d68f86584594" + integrity sha512-lRgb0eHQOTZ3VZWfAJzQ771wGO32w4mwZXDP4ELzsyFr2fBjtNu52wl9R8Zxpnzy9z8IqmaLUt+kq444vqt0jg== dependencies: - babel-runtime "^6.23.0" classnames "2.x" - component-classes "1.x" - dom-scroll-into-view "1.x" - prop-types "^15.5.8" - raf "^3.4.0" - rc-animate "2.x" - rc-menu "^7.3.0" - rc-trigger "^2.5.4" - rc-util "^4.0.4" - react-lifecycles-compat "^3.0.2" - warning "^4.0.2" + rc-animate "^2.10.0" + rc-trigger "^4.0.0" + rc-util "^4.20.0" + rc-virtual-list "^1.0.0" + warning "^4.0.3" -rc-slider@~8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.7.1.tgz#9ed07362dc93489a38e654b21b8122ad70fd3c42" - integrity sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g== +rc-slider@~9.2.1: + version "9.2.2" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.2.2.tgz#852ed38abda337b98aed5ada2090538d98446cc2" + integrity sha512-WwdNHb/cvnQXMhp8cRhxOM0pGnVG4fPoaFE31yVkyJUAZiHq3siQgwzAeYl11fyszwhrEXkpGU7tEAfClh0AaQ== dependencies: babel-runtime "6.x" classnames "^2.2.5" prop-types "^15.5.4" - rc-tooltip "^3.7.0" + rc-tooltip "^4.0.0" rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" shallowequal "^1.1.0" warning "^4.0.3" @@ -10419,26 +10357,27 @@ rc-switch@~1.9.0: prop-types "^15.5.6" react-lifecycles-compat "^3.0.4" -rc-table@~6.10.5: - version "6.10.11" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.10.11.tgz#fffe9c1b56de49f04d75bab3e28458e8c7a22f33" - integrity sha512-YcTlpO4RKlcM7Mio2FjcUOqRUyGU4edtOBG4x5kwZNHwZdfBm7m6VQuyQ/i6qec5S67EP86wiFbmKU54Z2HtFQ== +rc-table@~7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.0.0.tgz#53f4652f661e77cfcda98ed6ece895ea76d12308" + integrity sha512-XVoRsJ1r3Oh1zl8vxVNBD/+4ZFL5hpHcEwEBpJLJ+I+N2uM/fnAYASHqYEkBdvCRv7l0nG0qTeFOB4dQQAHuLA== dependencies: classnames "^2.2.5" component-classes "^1.2.6" lodash "^4.17.5" mini-store "^2.0.0" prop-types "^15.5.8" - rc-util "^4.13.0" + raf "^3.4.1" + rc-resize-observer "^0.1.2" + rc-util "^4.19.0" react-lifecycles-compat "^3.0.2" - shallowequal "^1.0.2" + shallowequal "^1.1.0" -rc-tabs@~9.7.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-9.7.0.tgz#ae09695bef5963d6e64e7bc10521c76dfdd8448b" - integrity sha512-kvmgp8/MfLzFZ06hWHignqomFQ5nF7BqKr5O1FfhE4VKsGrep52YSF/1MvS5oe0NPcI9XGNS2p751C5v6cYDpQ== +rc-tabs@~10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-10.0.0.tgz#4db516a66bc731c9a24b44407231262103f6da76" + integrity sha512-kpYho3S8GqHVKuFvsYyShN4GSM+f3RMfgwxmR4lpXA79lzPmIlaLamCGtTnMAOXOVTS3JEltWQCWC8LYY4ITIg== dependencies: - "@ant-design/create-react-context" "^0.2.4" babel-runtime "6.x" classnames "2.x" lodash "^4.17.5" @@ -10446,108 +10385,78 @@ rc-tabs@~9.7.0: raf "^3.4.1" rc-hammerjs "~0.6.0" rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" resize-observer-polyfill "^1.5.1" warning "^4.0.3" -rc-time-picker@~3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" - integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== +rc-tooltip@^4.0.0, rc-tooltip@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-4.0.1.tgz#e7a800571c5661f80dfd411c13a1dabaa9646d3a" + integrity sha512-R+Ift6SwD2bJKhlYgKXyklvurnYwGzNMfRIPBqv0qoG0SYcVJDVuECL73dcRm2+CCik3YYn1ZGZLPjRRrUkAIw== + dependencies: + rc-trigger "^4.0.0" + +rc-tree-select@~3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-3.0.2.tgz#a24f26790a06bdc54855b691e289341b44d4343f" + integrity sha512-xowQdNWEUAxtEfJa5X2jcO5iRB/25YlecLwcyPGn04EC0Idwmn94yaji8fM+2QSKWKqvoImppaiRJpA1uljAHg== + dependencies: + classnames "2.x" + rc-select "^10.0.0" + rc-tree "^3.0.0" + rc-util "^4.17.0" + +rc-tree@^3.0.0, rc-tree@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.0.1.tgz#25b4c5a3983863ef9a8625d3222dfe81d7e8614c" + integrity sha512-v0B/aN8vikPGAcQoMm5jhxJ5eXj3V0HSHAoHJYXgdad4nqBVyWMDvSWDbZumdFQlBfKhpdGK02LnSgWx4W2SSA== dependencies: classnames "2.x" - moment "2.x" prop-types "^15.5.8" + rc-animate "^2.9.2" + rc-util "^4.11.0" + rc-virtual-list "^1.0.0" + react-lifecycles-compat "^3.0.4" + +rc-trigger@^4.0.0, rc-trigger@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-4.0.0.tgz#c42b8a479941175ed94fc73998fd59cd3c39da77" + integrity sha512-wOr2i4UrhsLjPhT9/k3p8l5yktC0BjOIBk2afze78a9ieql4GEw19Qo6iqSBmX/KqD9V4VXQxD4Ebt7U7IDrIw== + dependencies: + classnames "^2.2.6" + prop-types "15.x" raf "^3.4.1" - rc-trigger "^2.2.0" - react-lifecycles-compat "^3.0.4" + rc-align "^3.0.0-rc.0" + rc-animate "^2.10.2" + rc-util "^4.15.2" -rc-tooltip@^3.7.0, rc-tooltip@~3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" - integrity sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww== - dependencies: - babel-runtime "6.x" - prop-types "^15.5.8" - rc-trigger "^2.2.2" - -rc-tree-select@~2.9.1: - version "2.9.4" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-2.9.4.tgz#6aa794e1f0e65c66c406aa0a2a0e74fd0a557b09" - integrity sha512-0HQkXAN4XbfBW20CZYh3G+V+VMrjX42XRtDCpyv6PDUm5vikC0Ob682ZBCVS97Ww2a5Hf6Ajmu0ahWEdIEpwhg== - dependencies: - classnames "^2.2.1" - dom-scroll-into-view "^1.2.1" - prop-types "^15.5.8" - raf "^3.4.0" - rc-animate "^2.8.2" - rc-tree "~2.1.0" - rc-trigger "^3.0.0" - rc-util "^4.5.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.0.2" - warning "^4.0.1" - -rc-tree@~2.1.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-2.1.3.tgz#5214ab1b21a1848eb9a2ddcb919e3bc46d6d390b" - integrity sha512-COvV65spQ6omrHBUhHRKqKNL5+ddXjlS+qWZchaL9FFuQNvjM5pjp9RnmMWK4fJJ5kBhhpLneh6wh9Vh3kSMXQ== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - classnames "2.x" - prop-types "^15.5.8" - rc-animate "^2.6.0" - rc-util "^4.5.1" - react-lifecycles-compat "^3.0.4" - warning "^4.0.3" - -rc-trigger@^2.2.0, rc-trigger@^2.2.2, rc-trigger@^2.3.0, rc-trigger@^2.5.1, rc-trigger@^2.5.4, rc-trigger@^2.6.2: - version "2.6.5" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" - integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - rc-align "^2.4.0" - rc-animate "2.x" - rc-util "^4.4.0" - react-lifecycles-compat "^3.0.4" - -rc-trigger@^3.0.0: +rc-upload@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-3.0.0.tgz#f6d9b1da8a26b2b2d1d912a06876c1a486f5980f" - integrity sha512-hQxbbJpo23E2QnYczfq3Ec5J5tVl2mUDhkqxrEsQAqk16HfADQg+iKNWzEYXyERSncdxfnzYuaBgy764mNRzTA== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - raf "^3.4.0" - rc-align "^2.4.1" - rc-animate "^3.0.0-rc.1" - rc-util "^4.15.7" - -rc-upload@~2.9.1: - version "2.9.4" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-2.9.4.tgz#8e34a73a468d7907fe31982c38100e4593857d32" - integrity sha512-WXt0HGxXyzLrPV6iec/96Rbl/6dyrAW8pKuY6wwD7yFYwfU5bjgKjv7vC8KNMJ6wzitFrZjnoiogNL3dF9dj3Q== + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.0.0.tgz#1365a77405b2df82749e55bcc475ee0de9424370" + integrity sha512-GTmLJ2Habrgon26xwtF8nx1FBxu8KUjRC6QW/7a+NVZ6qXIo+s7HnjqwseuG42kz6xGCoSLNpHgIoHW55EwpxA== dependencies: babel-runtime "6.x" classnames "^2.2.5" - prop-types "^15.5.7" - warning "4.x" -rc-util@^4.0.4, rc-util@^4.1.1, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.15.7, rc-util@^4.16.1, rc-util@^4.3.0, rc-util@^4.4.0, rc-util@^4.5.0, rc-util@^4.5.1, rc-util@^4.6.0: - version "4.19.0" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.19.0.tgz#f3b5e3a02cc0a667d127784068e1236c095dbcbf" - integrity sha512-mptALlLwpeczS3nrv83DbwJNeupolbuvlIEjcvimSiWI8NUBjpF0HgG3kWp1RymiuiRCNm9yhaXqDz0a99dpgQ== +rc-util@^4.0.4, rc-util@^4.11.0, rc-util@^4.12.0, rc-util@^4.13.0, rc-util@^4.15.2, rc-util@^4.15.3, rc-util@^4.16.1, rc-util@^4.17.0, rc-util@^4.19.0, rc-util@^4.20.0, rc-util@^4.3.0, rc-util@^4.5.1, rc-util@^4.6.0, rc-util@^4.8.0, rc-util@^4.9.0: + version "4.20.0" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.20.0.tgz#fb601c59bb48cbee38538e0d5b628addda6a8c30" + integrity sha512-rUqk4RqtDe4OfTsSk2GpbvIQNVtfmmebw4Rn7ZAA1TO1zLMLfyOF78ZyrEKqs8RDwoE3S1aXp0AX0ogLfSxXrQ== dependencies: add-dom-event-listener "^1.1.0" babel-runtime "6.x" prop-types "^15.5.10" + react-is "^16.12.0" react-lifecycles-compat "^3.0.4" shallowequal "^1.1.0" +rc-virtual-list@^1.0.0, rc-virtual-list@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-1.0.0.tgz#34a755c48e9c6e50ac6d0155017134859af8f0b0" + integrity sha512-t6q0/GiH5qp5k2VRDeIrrS1Z2r8ey0fnVQN5HIu6ildvXqRfgm4MbNnUeoUywNt+et4XhDFBGmiEhRvIs6vujQ== + dependencies: + classnames "^2.2.6" + rc-util "^4.8.0" + rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -10589,10 +10498,10 @@ react-barcode@^1.4.0: jsbarcode "^3.8.0" prop-types "^15.6.2" -react-big-calendar@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.23.0.tgz#cc780481548fcefabb04cea05dd1a08456702a67" - integrity sha512-f/v1J/oqvEJqXcT5clJ5wzFIWKRNUeMCvLLzH6PYszcR15mUgqQb31HH+2Ev+YZHVW3YSStcZn2HWEhmvFr9ew== +react-big-calendar@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.24.0.tgz#aca0bcdecdc359ec06e874d2391707e5b2181e29" + integrity sha512-GvIQSt8xs2Qfm073H/NInt9HLAtgwCRJX1CPRrABnqMjIyjQKB4snJPjG1IMH3XGz/YYb/r+RDl9fMO7wurzlg== dependencies: "@babel/runtime" "^7.1.5" clsx "^1.0.4" @@ -10605,7 +10514,6 @@ react-big-calendar@^0.23.0: prop-types "^15.6.2" react-overlays "^2.0.0-0" uncontrollable "^7.0.0" - warning "^4.0.2" react-chartjs-2@^2.9.0: version "2.9.0" @@ -10615,15 +10523,15 @@ react-chartjs-2@^2.9.0: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.1.0.tgz#ccf82135f6dc2fc91969bc729ce57a69d8e86025" - integrity sha512-KmZChqxY6l+ed28IHetGrY8J9yZSvzlAHyFXduEIhQ42EBGtqftlbqQZ+dDTaC7CwNW2tuXN+66bRKE5h2HgrQ== +react-dev-utils@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.0.tgz#b11cc48aa2be2502fb3c27a50d1dfa95cfa9dfe0" + integrity sha512-MwrvQW2TFjLblhqpDNeqCXHBkz3G5vc7k4wntgutAJZX4ia3o07eGKo6uYGhUOeJ0hfOxcpJFNFk7+4XCc1S8g== dependencies: "@babel/code-frame" "7.8.3" address "1.1.2" browserslist "4.8.6" - chalk "3.0.0" + chalk "2.4.2" cross-spawn "7.0.1" detect-port-alt "1.1.6" escape-string-regexp "2.0.0" @@ -10637,28 +10545,28 @@ react-dev-utils@^10.1.0: inquirer "7.0.4" is-root "2.1.0" loader-utils "1.2.3" - open "^6.4.0" + open "^7.0.2" pkg-up "3.1.0" - react-error-overlay "^6.0.5" + react-error-overlay "^6.0.6" recursive-readdir "2.2.2" shell-quote "1.7.2" strip-ansi "6.0.0" text-table "0.2.0" -react-dom@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" - integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== +react-dom@^16.13.0: + version "16.13.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.0.tgz#cdde54b48eb9e8a0ca1b3dc9943d9bb409b81866" + integrity sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.18.0" + scheduler "^0.19.0" -react-error-overlay@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.5.tgz#55d59c2a3810e8b41922e0b4e5f85dcf239bd533" - integrity sha512-+DMR2k5c6BqMDSMF8hLH0vYKtKTeikiFW+fj0LClN+XZg4N9b8QUAdHC62CGWNLTi/gnuuemNcNcTFrCvK1f+A== +react-error-overlay@^6.0.6: + version "6.0.6" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.6.tgz#ac4d9dc4c1b5c536c2c312bf66aa2b09bfa384e2" + integrity sha512-Yzpno3enVzSrSCnnljmr4b/2KUQSMZaPuqmS26t9k4nW7uwJk6STWmH9heNjPuvqUTO3jOSPkHoKgO4+Dw7uIw== react-html-email@^3.0.0: version "3.0.0" @@ -10667,10 +10575,10 @@ react-html-email@^3.0.0: dependencies: prop-types "^15.5.10" -react-i18next@^11.3.1: - version "11.3.1" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.3.1.tgz#9269282c3f566015f0bdf8fdbf46782bbe50f5a7" - integrity sha512-S/CWHcnew1lXo8HeniGhBU5kTmPhZ4w4rtA4m/gDN07soCtKKYSAcLNm7zhwjI2OSR4Skd0vOtzNp/FzEEjxIw== +react-i18next@^11.3.3: + version "11.3.3" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.3.3.tgz#a84dcc32e3ad013012964d836790d8c6afac8e88" + integrity sha512-sGnPwJ0Kf8qTRLTnTRk030KiU6WYEZ49rP9ILPvCnsmgEKyucQfTxab+klSYnCSKYija+CWL+yo+c9va9BmJeg== dependencies: "@babel/runtime" "^7.3.1" html-parse-stringify2 "2.0.1" @@ -10688,19 +10596,9 @@ react-image-file-resizer@^0.2.1: integrity sha512-uvhNj2NKMUraVKIrsmPNZgWn34b7fjEcuWAyMXUrVb06gedNtOalOBxVwXYocd4KnZRFv2/ilmAE4KEzIkj4aA== react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" - integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== - -react-lazy-load@^3.0.13: - version "3.0.13" - resolved "https://registry.yarnpkg.com/react-lazy-load/-/react-lazy-load-3.0.13.tgz#3b0a92d336d43d3f0d73cbe6f35b17050b08b824" - integrity sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ= - dependencies: - eventlistener "0.0.1" - lodash.debounce "^4.0.0" - lodash.throttle "^4.0.0" - prop-types "^15.5.8" + version "16.13.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" + integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -10712,10 +10610,10 @@ react-moment@^0.9.7: resolved "https://registry.yarnpkg.com/react-moment/-/react-moment-0.9.7.tgz#ca570466595b1aa4f7619e62da18b3bb2de8b6f3" integrity sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g== -react-number-format@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-4.3.1.tgz#eccfc851d88d74c894ba463620ccb467defbdefb" - integrity sha512-ze6Lp7SGM71Jr0uZhUaN6grthv08NKTfJezS26zAWZq63ubmJ++FOX7ueGSK27EvpT7/e3ce9L3jlqr1YMFS7Q== +react-number-format@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-4.4.1.tgz#d5614dd25edfc21ed48b97356213440081437a94" + integrity sha512-ZGFMXZ0U7DcmQ3bSZY3FULOA1mfqreT9NIMYZNoa/ouiSgiTQiYA95Uj2KN8ge6BRr+ghA5vraozqWqsHZQw3Q== dependencies: prop-types "^15.7.2" @@ -10732,14 +10630,13 @@ react-overlays@^2.0.0-0: uncontrollable "^7.0.0" warning "^4.0.3" -react-redux@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.3.tgz#717a3d7bbe3a1b2d535c94885ce04cdc5a33fc79" - integrity sha512-uI1wca+ECG9RoVkWQFF4jDMqmaw0/qnvaSvOoL/GA4dNxf6LoV8sUAcNDvE5NWKs4hFpn0t6wswNQnY3f7HT3w== +react-redux@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d" + integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA== dependencies: "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" - invariant "^2.2.4" loose-envify "^1.4.0" prop-types "^15.7.2" react-is "^16.9.0" @@ -10773,10 +10670,10 @@ react-router@5.1.2: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.3.1.tgz#dee7962045dbee5b02b1d47569815e62f7a546b5" - integrity sha512-DHvc+/QN0IsLvmnPQqd+H70ol+gdFD3p/SS2tX8M6z1ysjtRGvOwLWy72co1nphYGpq1NqV/Ti5dviU8SCAXpA== +react-scripts@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.0.tgz#f413680f0b5b937c8879ba1ffdae9b8c5b364bf5" + integrity sha512-pBqaAroFoHnFAkuX+uSK9Th1uEh2GYdGY2IG1I9/7HmuEf+ls3lLCk1p2GFYRSrLMz6ieQR/SyN6TLIGK3hKRg== dependencies: "@babel/core" "7.8.4" "@svgr/webpack" "4.3.3" @@ -10817,47 +10714,36 @@ react-scripts@3.3.1: postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" react-app-polyfill "^1.0.6" - react-dev-utils "^10.1.0" + react-dev-utils "^10.2.0" resolve "1.15.0" resolve-url-loader "3.1.1" sass-loader "8.0.2" semver "6.3.0" - style-loader "1.1.3" + style-loader "0.23.1" terser-webpack-plugin "2.3.4" ts-pnp "1.1.5" url-loader "2.3.0" webpack "4.41.5" - webpack-dev-server "3.10.1" + webpack-dev-server "3.10.2" webpack-manifest-plugin "2.2.0" workbox-webpack-plugin "4.3.1" optionalDependencies: fsevents "2.1.2" -react-slick@~0.25.2: - version "0.25.2" - resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.25.2.tgz#56331b67d47d8bcfe2dceb6acab1c8fd5bd1f6bc" - integrity sha512-8MNH/NFX/R7zF6W/w+FS5VXNyDusF+XDW1OU0SzODEU7wqYB+ZTGAiNJ++zVNAVqCAHdyCybScaUB+FCZOmBBw== - dependencies: - classnames "^2.2.5" - enquire.js "^2.1.6" - json2mq "^0.2.0" - lodash.debounce "^4.0.8" - resize-observer-polyfill "^1.5.0" - react-test-renderer@^16.0.0-0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.12.0.tgz#11417ffda579306d4e841a794d32140f3da1b43f" - integrity sha512-Vj/teSqt2oayaWxkbhQ6gKis+t5JrknXfPVo+aIJ8QwYAqMPH77uptOdrlphyxl8eQI/rtkOYg86i/UWkpFu0w== + version "16.13.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.0.tgz#39ba3bf72cedc8210c3f81983f0bb061b14a3014" + integrity sha512-NQ2S9gdMUa7rgPGpKGyMcwl1d6D9MCF0lftdI3kts6kkiX+qvpC955jNjAZXlIDTjnN9jwFI8A8XhRh/9v0spA== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" react-is "^16.8.6" - scheduler "^0.18.0" + scheduler "^0.19.0" -react@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" - integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== +react@^16.13.0: + version "16.13.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.13.0.tgz#d046eabcdf64e457bbeed1e792e235e1b9934cf7" + integrity sha512-TSavZz2iSLkq5/oiE7gnFzmURKZMltmi193rm5HEoUDAXpzT9Kzw6oNZnGoai/4+fUnm7FqS5dwgUL34TujcWQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -10928,9 +10814,9 @@ read-pkg@^3.0.0: util-deprecate "~1.0.1" readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.5.0.tgz#465d70e6d1087f6162d079cd0b5db7fbebfd1606" - integrity sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA== + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -11084,9 +10970,9 @@ regjsgen@^0.5.0: integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== regjsparser@^0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.2.tgz#fd62c753991467d9d1ffe0a9f67f27a529024b96" - integrity sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q== + version "0.6.3" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.3.tgz#74192c5805d35e9f5ebe3c1fb5b40d40a8a38460" + integrity sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA== dependencies: jsesc "~0.5.0" @@ -11144,33 +11030,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.87.0, request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.88.2: +request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -11378,9 +11238,9 @@ rsvp@^4.8.4: integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + version "2.4.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" + integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== dependencies: is-promise "^2.1.0" @@ -11395,6 +11255,8 @@ rxjs@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -11471,10 +11333,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" - integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== +scheduler@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.0.tgz#a715d56302de403df742f4a9be11975b32f5698d" + integrity sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -11501,6 +11363,13 @@ scmp@^2.1.0: resolved "https://registry.yarnpkg.com/scmp/-/scmp-2.1.0.tgz#37b8e197c425bdeb570ab91cc356b311a11f9c9a" integrity sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q== +scroll-into-view-if-needed@^2.2.20: + version "2.2.24" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.24.tgz#12bca532990769bd509115a49edcfa755e92a0ea" + integrity sha512-vsC6SzyIZUyJG8o4nbUDCiIwsPdH6W/FVmjT2avR2hp/yzS53JjGmg/bKD20TkoNajbu5dAQN4xR7yes4qhwtQ== + dependencies: + compute-scroll-into-view "^1.0.13" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -11603,7 +11472,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -11643,11 +11512,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shallow-equal@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" - integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== - shallowequal@^1.0.2, shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" @@ -11699,7 +11563,7 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.3: +sisteransi@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== @@ -12168,13 +12032,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" - integrity sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw== +style-loader@0.23.1: + version "0.23.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" + integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== dependencies: - loader-utils "^1.2.3" - schema-utils "^2.6.4" + loader-utils "^1.1.0" + schema-utils "^1.0.0" styled-components@^5.0.1: version "5.0.1" @@ -12231,7 +12095,7 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== @@ -12339,10 +12203,10 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^4.1.2, terser@^4.3.9, terser@^4.4.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87" - integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ== +terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.4.tgz#40a0b37afbe5b57e494536815efa68326840fc00" + integrity sha512-5fqgBPLgVHZ/fVvqRhhUp9YUiGXhFJ9ZkrZWD9vQtFBR4QIGTnbsb+/kKqSqfgp3WnBwGWAFnedGTtmX1YTn0w== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -12485,14 +12349,6 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5 psl "^1.1.28" punycode "^2.1.1" -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -12519,16 +12375,26 @@ ts-invariant@^0.4.0, ts-invariant@^0.4.4: dependencies: tslib "^1.9.3" -ts-pnp@1.1.5, ts-pnp@^1.1.2: +ts-pnp@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.5.tgz#840e0739c89fce5f3abd9037bb091dbff16d9dec" integrity sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA== -tslib@1.10.0, tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +ts-pnp@^1.1.2: + version "1.1.6" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" + integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ== + +tslib@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -12623,11 +12489,6 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" -ua-parser-js@^0.7.18: - version "0.7.21" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== - uncontrollable@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.1.1.tgz#f67fed3ef93637126571809746323a9db815d556" @@ -12723,11 +12584,6 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -12892,7 +12748,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.3: +warning@^4.0.1, warning@^4.0.3, warning@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== @@ -12936,10 +12792,10 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz#1ff3e5cccf8e0897aa3f5909c654e623f69b1c0e" - integrity sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA== +webpack-dev-server@3.10.2: + version "3.10.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.2.tgz#3403287d674c7407aab6d9b3f72259ecd0aa0874" + integrity sha512-pxZKPYb+n77UN8u9YxXT4IaIrGcNtijh/mi8TXbErHmczw0DtPnMTTjHj+eNjkqLOaAZM/qD7V59j/qJsEiaZA== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" From 93be1417beab4b7a231b8a891cc588c3628dfe12 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 28 Feb 2020 09:52:51 -0800 Subject: [PATCH 05/64] Antd V4 Icon Updates --- .../allocations-employee-label.component.jsx | 2 +- .../chat-conversation.component.jsx | 3 +- .../chat-open-button.component.jsx | 5 +- .../chat-overlay/chat-overlay.component.jsx | 5 +- .../email-form-item.component.jsx | 7 +-- .../components/header/header.component.jsx | 15 +++--- .../invoice-add-line-button.component.jsx | 10 ++-- .../job-detail-cards.component.jsx | 50 +++++++++++-------- .../job-detail-cards.notes.component.jsx | 16 +++--- .../jobs-available-new.component.jsx | 13 +++-- .../jobs-available-supplement.component.jsx | 13 +++-- .../jobs-detail-header.component.jsx | 5 +- .../jobs-documents.component.jsx | 25 ++++++---- .../jobs-list/jobs-list.component.jsx | 5 +- .../jobs-notes/jobs.notes.component.jsx | 31 +++++++----- .../manage-sign-in-button.component.jsx | 6 +-- .../parts-order-modal.component.jsx | 18 ++++--- .../profile-sidebar.component.jsx | 7 +-- .../schedule-calendar.component.jsx | 5 +- .../sign-in-form/sign-in-form.component.jsx | 12 +++-- .../vendors-form/vendors-form.component.jsx | 17 ++----- .../jobs-detail.page.component.jsx | 20 +++++--- 22 files changed, 167 insertions(+), 123 deletions(-) diff --git a/client/src/components/allocations-employee-label/allocations-employee-label.component.jsx b/client/src/components/allocations-employee-label/allocations-employee-label.component.jsx index e67be1dcc..427c2a2b9 100644 --- a/client/src/components/allocations-employee-label/allocations-employee-label.component.jsx +++ b/client/src/components/allocations-employee-label/allocations-employee-label.component.jsx @@ -1,4 +1,4 @@ -import { Icon } from "antd"; +import Icon from "@ant-design/icons"; import React from "react"; import { MdRemoveCircleOutline } from "react-icons/md"; diff --git a/client/src/components/chat-conversation/chat-conversation.component.jsx b/client/src/components/chat-conversation/chat-conversation.component.jsx index 5d7f095c6..c2e0c3073 100644 --- a/client/src/components/chat-conversation/chat-conversation.component.jsx +++ b/client/src/components/chat-conversation/chat-conversation.component.jsx @@ -1,4 +1,5 @@ -import { Button, Card, Input, Icon } from "antd"; +import { Button, Card, Input } from "antd"; +import Icon from '@ant-design/icons'; import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; diff --git a/client/src/components/chat-open-button/chat-open-button.component.jsx b/client/src/components/chat-open-button/chat-open-button.component.jsx index bce620e7b..236be79ed 100644 --- a/client/src/components/chat-open-button/chat-open-button.component.jsx +++ b/client/src/components/chat-open-button/chat-open-button.component.jsx @@ -2,7 +2,7 @@ import React from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { openConversation } from "../../redux/messaging/messaging.actions"; -import { Icon } from "antd"; +import { MessageFilled } from "@ant-design/icons"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser }); @@ -14,9 +14,8 @@ export default connect( mapDispatchToProps )(function ChatOpenButton({ openConversation, phone }) { return ( - openConversation(phone)} /> ); diff --git a/client/src/components/chat-overlay/chat-overlay.component.jsx b/client/src/components/chat-overlay/chat-overlay.component.jsx index 396a57df6..599a694df 100644 --- a/client/src/components/chat-overlay/chat-overlay.component.jsx +++ b/client/src/components/chat-overlay/chat-overlay.component.jsx @@ -1,4 +1,5 @@ -import { Badge, Card, Icon } from "antd"; +import { Badge, Card } from "antd"; +import { MessageFilled } from "@ant-design/icons"; import React from "react"; import { useTranslation } from "react-i18next"; export default function ChatWindowComponent({ @@ -23,7 +24,7 @@ export default function ChatWindowComponent({ ) : (
- + {t("messaging.labels.messaging")} diff --git a/client/src/components/form-items-formatted/email-form-item.component.jsx b/client/src/components/form-items-formatted/email-form-item.component.jsx index c007b6bb3..f3d211a1a 100644 --- a/client/src/components/form-items-formatted/email-form-item.component.jsx +++ b/client/src/components/form-items-formatted/email-form-item.component.jsx @@ -1,4 +1,5 @@ -import { Icon, Input } from "antd"; +import { Input } from "antd"; +import { MailFilled } from "@ant-design/icons"; import React, { forwardRef } from "react"; function FormItemEmail(props, ref) { return ( @@ -7,10 +8,10 @@ function FormItemEmail(props, ref) { addonAfter={ props.email ? ( - + ) : ( - + ) } /> diff --git a/client/src/components/header/header.component.jsx b/client/src/components/header/header.component.jsx index fe0a4997c..5e19497bf 100644 --- a/client/src/components/header/header.component.jsx +++ b/client/src/components/header/header.component.jsx @@ -1,4 +1,5 @@ -import { Avatar, Col, Icon, Menu, Row } from "antd"; +import { Avatar, Col, Menu, Row } from "antd"; +import {GlobalOutlined, HomeFilled, TeamOutlined, CalendarFilled, CarFilled} from "@ant-design/icons"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; @@ -60,7 +61,7 @@ export default ({ - + {t("menus.currentuser.languageselector")} } @@ -87,14 +88,14 @@ export default ({ > - + {t("menus.header.home")} - + {t("menus.header.schedule")} @@ -110,13 +111,13 @@ export default ({ - + {t("menus.header.owners")} - + {t("menus.header.vehicles")} @@ -158,7 +159,7 @@ export default ({ - + {t("menus.currentuser.languageselector")} } diff --git a/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx index 80d61182a..319f03302 100644 --- a/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx +++ b/client/src/components/invoice-add-line-button/invoice-add-line-button.component.jsx @@ -1,5 +1,6 @@ import React, { useState } from "react"; -import { Button, Popover, Icon, Input, InputNumber, Form } from "antd"; +import { Button, Popover, Input, InputNumber, Form } from "antd"; +import { SelectOutlined } from "@ant-design/icons"; import { useTranslation } from "react-i18next"; export default function InvoiceAddLineButton({ @@ -35,15 +36,16 @@ export default function InvoiceAddLineButton({ initialValue: jobLine.act_price * (discount ? 1 - discount : 1) })()} - DISSC: {discount} - + {} + DISC: {discount} +
); return ( ); diff --git a/client/src/components/job-detail-cards/job-detail-cards.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.component.jsx index 910a02b1b..4edaccb00 100644 --- a/client/src/components/job-detail-cards/job-detail-cards.component.jsx +++ b/client/src/components/job-detail-cards/job-detail-cards.component.jsx @@ -1,5 +1,11 @@ import { useQuery } from "@apollo/react-hooks"; -import { Button, Icon, PageHeader, Tag } from "antd"; +import { + PrinterFilled, + FileImageFilled, + EditFilled, + ShoppingFilled +} from "@ant-design/icons"; +import { Button, PageHeader, Tag } from "antd"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; @@ -33,10 +39,10 @@ export default function JobDetailCards({ selectedJob }) { return
{t("jobs.errors.nojobselected")}
; } if (loading) return ; - if (error) return ; + if (error) return ; return ( -
+
window.history.back()} tags={ - + {data.jobs_by_pk.status ? ( - {data.jobs_by_pk.status} + {data.jobs_by_pk.status} ) : null} } @@ -73,39 +79,43 @@ export default function JobDetailCards({ selectedJob }) { } extra={[ , + key="documents" + to={`/manage/jobs/${data.jobs_by_pk.id}#documents`} + > , - , , - - ]}> + ]} + > { // loading ? ( // @@ -126,7 +136,7 @@ export default function JobDetailCards({ selectedJob }) { // ) } -
+
+ extraLink={`/manage/jobs/${data.id}#notes`} + > {data ? ( ( {item.critical ? ( - - ) : null} - {item.private ? ( - + ) : null} + {item.private ? : null} {item.text} )} diff --git a/client/src/components/jobs-available-new/jobs-available-new.component.jsx b/client/src/components/jobs-available-new/jobs-available-new.component.jsx index e411a125c..7c5d08dba 100644 --- a/client/src/components/jobs-available-new/jobs-available-new.component.jsx +++ b/client/src/components/jobs-available-new/jobs-available-new.component.jsx @@ -1,4 +1,9 @@ -import { Button, Icon, Input, notification, Table } from "antd"; +import { Button, Input, notification, Table } from "antd"; +import { + PlusCircleFilled, + DeleteFilled, + SyncOutlined +} from "@ant-design/icons"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { DateTimeFormatter } from "../../utils/DateFormatter"; @@ -124,7 +129,7 @@ export default function JobsAvailableComponent({ }); }} > - + ) @@ -181,7 +186,7 @@ export default function JobsAvailableComponent({ refetch(); }} > - + ) @@ -184,7 +189,7 @@ export default function JobsAvailableSupplementComponent({ refetch(); }} > - + , diff --git a/client/src/components/jobs-documents/jobs-documents.component.jsx b/client/src/components/jobs-documents/jobs-documents.component.jsx index 1bbd68d12..2ea672ba1 100644 --- a/client/src/components/jobs-documents/jobs-documents.component.jsx +++ b/client/src/components/jobs-documents/jobs-documents.component.jsx @@ -1,4 +1,5 @@ -import { Icon, Modal, notification, Upload } from "antd"; +import { Modal, notification, Upload } from "antd"; +import { InboxOutlined } from "@ant-design/icons"; import axios from "axios"; import React, { useState } from "react"; import { useMutation } from "react-apollo"; @@ -205,7 +206,7 @@ function JobsDocumentsComponent({ shopId, jobId, loading, data, currentUser }) { }; return ( -
+
-

- + onChange={handleChange} + > +

+

-

+

Click or drag file to this area to upload

-

+

Support for a single or bulk upload. Strictly prohibit from uploading company data or other band files

- example + example
); diff --git a/client/src/components/jobs-list/jobs-list.component.jsx b/client/src/components/jobs-list/jobs-list.component.jsx index 1b1ddb888..da609a63e 100644 --- a/client/src/components/jobs-list/jobs-list.component.jsx +++ b/client/src/components/jobs-list/jobs-list.component.jsx @@ -1,4 +1,5 @@ -import { Button, Icon, Input, Table } from "antd"; +import { Button, Input, Table } from "antd"; +import { SyncOutlined } from "@ant-design/icons"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, withRouter } from "react-router-dom"; @@ -208,7 +209,7 @@ export default withRouter(function JobsList({ return (
{" "} {record.critical ? ( - - ) : null} - {record.private ? ( - + ) : null} + {record.private ? : null} ) }, @@ -48,7 +52,7 @@ export default function JobNotesComponent({ sorter: (a, b) => new Date(a.updated_at) - new Date(b.updated_at), render: (text, record) => ( - {record.updated_at} + {record.updated_at} ) }, @@ -77,15 +81,17 @@ export default function JobNotesComponent({ message: t("notes.successes.deleted") }); }); - }}> - + }} + > + ) @@ -105,14 +111,15 @@ export default function JobNotesComponent({ onClick={() => { setExistingNote(null); setNoteModalVisible(true); - }}> + }} + > {t("notes.actions.new")}
({ ...item }))} - rowKey='id' + rowKey="id" dataSource={data} /> diff --git a/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx b/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx index 55ffe1281..5b0e60a72 100644 --- a/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx +++ b/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx @@ -1,4 +1,4 @@ -import { Icon } from "antd"; +import { BuildFilled, LoginOutlined } from "@ant-design/icons"; import React from "react"; import { connect } from "react-redux"; import { Link } from "react-router-dom"; @@ -15,12 +15,12 @@ export default connect( )(function ManageSignInButton({ currentUser }) { return currentUser.authorized ? ( - + Manage ) : ( - + Sign In ); diff --git a/client/src/components/parts-order-modal/parts-order-modal.component.jsx b/client/src/components/parts-order-modal/parts-order-modal.component.jsx index 29cb8252b..d9a4e6a0b 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.component.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.component.jsx @@ -1,4 +1,5 @@ -import { AutoComplete, DatePicker, Icon, Input, List, Radio } from "antd"; +import { AutoComplete, DatePicker, Input, List, Radio } from "antd"; +import { HeartFilled } from "@ant-design/icons"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; export default function PartsOrderModalComponent({ @@ -34,13 +35,14 @@ export default function PartsOrderModalComponent({ onSelect={handleSelect} defaultOpen backfill - optionLabelProp='value' + optionLabelProp="value" dataSource={vendorComplete} - placeholder={t("vendors.labels.search")}> + placeholder={t("vendors.labels.search")} + > {vendorComplete.map(v => (
{v.name}
-
{v.favorite ? : null}
+
{v.favorite ? : null}
))} @@ -55,14 +57,15 @@ export default function PartsOrderModalComponent({ {t("parts_orders.labels.inthisorder")} ( //TODO Editable table/adding line remarks to the order. - ]}> + ]} + > { // setSendType(e.target.value)}> + onChange={e => setSendType(e.target.value)} + > {t("parts_orders.labels.email")} {t("parts_orders.labels.print")} diff --git a/client/src/components/profile-sidebar/profile-sidebar.component.jsx b/client/src/components/profile-sidebar/profile-sidebar.component.jsx index b029bfb75..1ae5a5e17 100644 --- a/client/src/components/profile-sidebar/profile-sidebar.component.jsx +++ b/client/src/components/profile-sidebar/profile-sidebar.component.jsx @@ -1,6 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Layout, Menu, Icon } from "antd"; +import { Layout, Menu } from "antd"; +import { UserOutlined, BankFilled } from "@ant-design/icons"; export default function ProfileSideBar({ sidebarSelection, @@ -21,11 +22,11 @@ export default function ProfileSideBar({ mode="inline" > - + {t("menus.profilesidebar.profile")} - + {t("menus.profilesidebar.shops")} diff --git a/client/src/components/schedule-calendar/schedule-calendar.component.jsx b/client/src/components/schedule-calendar/schedule-calendar.component.jsx index 61c3ffe3e..9a0f5a5a7 100644 --- a/client/src/components/schedule-calendar/schedule-calendar.component.jsx +++ b/client/src/components/schedule-calendar/schedule-calendar.component.jsx @@ -1,7 +1,8 @@ import React from "react"; //import "react-big-calendar/lib/css/react-big-calendar.css"; import ScheduleCalendarWrapperComponent from "../schedule-calendar-wrapper/scheduler-calendar-wrapper.component"; -import { Button, Icon } from "antd"; +import { Button } from "antd"; +import { SyncOutlined } from "@ant-design/icons"; import { useTranslation } from "react-i18next"; import ScheduleAppointmentModalContainer from "../schedule-appointment-modal/schedule-appointment-modal.container"; @@ -19,7 +20,7 @@ export default function ScheduleCalendarComponent({ refetch(); }} > - + diff --git a/client/src/pages/jobs-detail/jobs-detail.page.component.jsx b/client/src/pages/jobs-detail/jobs-detail.page.component.jsx index 5de238e63..04c47631e 100644 --- a/client/src/pages/jobs-detail/jobs-detail.page.component.jsx +++ b/client/src/pages/jobs-detail/jobs-detail.page.component.jsx @@ -1,4 +1,12 @@ -import { Form, Icon, Tabs } from "antd"; +import { Form, Tabs } from "antd"; +import { + BarsOutlined, + DollarCircleOutlined, + ToolFilled, + CalendarFilled, + FileImageFilled +} from "@ant-design/icons"; +import Icon from "@ant-design/icons"; import React, { lazy, Suspense, useContext } from "react"; import { useTranslation } from "react-i18next"; import { @@ -140,7 +148,7 @@ export default function JobsDetailPage({ - + {t("menus.jobsdetail.repairdata")} } @@ -152,7 +160,7 @@ export default function JobsDetailPage({ - + {t("menus.jobsdetail.financials")} } @@ -164,7 +172,7 @@ export default function JobsDetailPage({ - + {t("menus.jobsdetail.partssublet")} } @@ -188,7 +196,7 @@ export default function JobsDetailPage({ - + {t("menus.jobsdetail.dates")} } @@ -200,7 +208,7 @@ export default function JobsDetailPage({ - + {t("jobs.labels.documents")} } From 6e0d9da2576aa3bc0e2747ba9bf3a6b3f74244c1 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 28 Feb 2020 15:55:31 -0800 Subject: [PATCH 06/64] STILL BROKEN: Refactored some forms to have bare functionality. Appears that v4 antd has extensive issues. --- .../email-overlay/email-overlay.component.jsx | 2 +- .../email-overlay/email-overlay.container.jsx | 14 +- .../invoice-add-line-button.component.jsx | 26 +-- .../invoice-enter-modal.component.jsx | 180 +++++++------- .../invoice-enter-modal.container.jsx | 148 +++++------- .../job-lines-upsert-modal.component.jsx | 71 +++--- .../job-lines-upsert-modal.container.jsx | 110 ++++----- .../jobs-detail-claims.component.jsx | 58 ++--- .../jobs-detail-dates.component.jsx | 117 +++++----- .../jobs-detail-financial.component.jsx | 220 +++++++----------- .../jobs-detail-header.component.jsx | 64 ++--- .../jobs-detail-insurance.component.jsx | 185 ++++++--------- .../owner-detail-form.component.jsx | 120 ++++------ .../owner-detail-form.container.jsx | 48 ++-- .../profile-my/profile-my.component.jsx | 105 +++++---- .../shop-employees-form.component.jsx | 181 +++++++------- .../shop-employees.container.jsx | 102 ++++---- .../sign-in-form/sign-in-form.component.jsx | 143 +++++------- .../vehicle-detail-form.component.jsx | 2 +- .../vehicle-detail-form.container.jsx | 44 ++-- .../vendors-form/vendors-form.container.jsx | 94 ++++---- client/src/graphql/jobs.queries.js | 1 + .../jobs-detail.page.component.jsx | 93 +++++--- .../jobs-detail.page.container.jsx | 56 ++--- 24 files changed, 986 insertions(+), 1198 deletions(-) diff --git a/client/src/components/email-overlay/email-overlay.component.jsx b/client/src/components/email-overlay/email-overlay.component.jsx index 956ae7d69..a2e10aa37 100644 --- a/client/src/components/email-overlay/email-overlay.component.jsx +++ b/client/src/components/email-overlay/email-overlay.component.jsx @@ -3,7 +3,7 @@ import { Input } from "antd"; import CKEditor from "@ckeditor/ckeditor5-react"; import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; -export default function SendEmailButtonComponent({ +export default function EmailOverlayComponent({ messageOptions, handleConfigChange, handleHtmlChange diff --git a/client/src/components/email-overlay/email-overlay.container.jsx b/client/src/components/email-overlay/email-overlay.container.jsx index 264452077..1730176e4 100644 --- a/client/src/components/email-overlay/email-overlay.container.jsx +++ b/client/src/components/email-overlay/email-overlay.container.jsx @@ -7,7 +7,10 @@ import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { toggleEmailOverlayVisible } from "../../redux/email/email.actions"; -import { selectEmailConfig, selectEmailVisible } from "../../redux/email/email.selectors.js"; +import { + selectEmailConfig, + selectEmailVisible +} from "../../redux/email/email.selectors.js"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; import EmailOverlayComponent from "./email-overlay.component"; @@ -21,7 +24,11 @@ const mapDispatchToProps = dispatch => ({ export default connect( mapStateToProps, mapDispatchToProps -)(function SendEmail({ emailConfig, modalVisible, toggleEmailOverlayVisible }) { +)(function EmailOveralContainer({ + emailConfig, + modalVisible, + toggleEmailOverlayVisible +}) { const { t } = useTranslation(); const [messageOptions, setMessageOptions] = useState( emailConfig.messageOptions @@ -88,7 +95,8 @@ export default connect( visible={modalVisible} width={"80%"} onOk={handleOk} - onCancel={() => toggleEmailOverlayVisible()}> + onCancel={() => toggleEmailOverlayVisible()} + > - - {getFieldDecorator("line_desc", { - initialValue: jobLine.line_desc - })()} + + - - {getFieldDecorator("oem_partno", { - initialValue: jobLine.oem_partno - })()} + + - - {getFieldDecorator("retail", { initialValue: jobLine.act_price })( - - )} + + - - {getFieldDecorator("actual", { - initialValue: jobLine.act_price * (discount ? 1 - discount : 1) - })()} + + - {} DISC: {discount} diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index 5c1620fb2..125486e30 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -18,8 +18,8 @@ export default function InvoiceEnterModalComponent({ visible, invoice, handleCancel, - handleSubmit, - form, + handleFinish, + handleRoAutoComplete, handleRoSelect, roAutoCompleteOptions, @@ -31,101 +31,109 @@ export default function InvoiceEnterModalComponent({ vendor }) { const { t } = useTranslation(); - const { getFieldDecorator, resetFields } = form; + const [form] = Form.useForm(); + const { resetFields } = form; + //Default Values to be set in form. + // {getFieldDecorator("retail", { initialValue: jobLine.act_price })( + // initialValue: jobLine.act_price * (discount ? 1 - discount : 1) return ( - -
+ +
- - {getFieldDecorator("jobid", { - rules: [ - { - required: true, - pattern: new RegExp( - "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - ), - message: t("invoices.errors.invalidro") - } - ] - })( - - )} + + - - {getFieldDecorator("vendorid", { - rules: [ - { - required: true, - pattern: new RegExp( - "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - ), - message: t("invoices.errors.invalidvendor") - } - ] - })( - - )} + +
- - {getFieldDecorator("invoice_number", { - rules: [ - { required: true, message: t("general.validation.required") } - ] - })()} + + - - {getFieldDecorator("date", { - rules: [ - { required: true, message: t("general.validation.required") } - ] - })()} + + - - {getFieldDecorator("is_credit_memo", { - initialValue: false, - valuePropName: "checked" - })()} + + - - {getFieldDecorator("total", { - rules: [ - { required: true, message: t("general.validation.required") } - ] - })()} + +
@@ -140,7 +148,7 @@ export default function InvoiceEnterModalComponent({
Table of added items. ); - - + {" "} + ); } diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx index e43da0f00..689b63fbb 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.container.jsx @@ -1,16 +1,14 @@ -import { Form, notification } from "antd"; import React, { useState } from "react"; -import { useQuery, useLazyQuery } from "react-apollo"; -import { useTranslation } from "react-i18next"; +import { useLazyQuery, useQuery } from "react-apollo"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import { GET_JOB_LINES_TO_ENTER_INVOICE } from "../../graphql/jobs-lines.queries"; import { SEARCH_RO_AUTOCOMPLETE } from "../../graphql/jobs.queries"; import { SEARCH_VENDOR_AUTOCOMPLETE } from "../../graphql/vendors.queries"; import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { selectInvoiceEnterModal } from "../../redux/modals/modals.selectors"; -import InvoiceEnterModalComponent from "./invoice-enter-modal.component"; import { selectBodyshop } from "../../redux/user/user.selectors"; -import { GET_JOB_LINES_TO_ENTER_INVOICE } from "../../graphql/jobs-lines.queries"; +import InvoiceEnterModalComponent from "./invoice-enter-modal.component"; const mapStateToProps = createStructuredSelector({ invoiceEnterModal: selectInvoiceEnterModal, @@ -23,10 +21,9 @@ const mapDispatchToProps = dispatch => ({ function InvoiceEnterModalContainer({ invoiceEnterModal, toggleModalVisible, - form, bodyshop }) { - const { t } = useTranslation(); + // const { t } = useTranslation(); const linesState = useState([]); const roSearchState = useState({ text: "", selectedId: null }); const [roSearch, setRoSearch] = roSearchState; @@ -67,100 +64,81 @@ function InvoiceEnterModalContainer({ if (roSearch.selectedId) { if (!called) loadLines(); } - const handleRoSelect = v => { - setRoSearch({ ...roSearch, selectedId: v }); + const handleRoSelect = (value, obj) => { + setRoSearch({ ...roSearch, selectedId: obj.id }); }; - const handleVendorSelect = v => { - setVendorSearch({ ...vendorSearch, selectedId: v }); + const handleVendorSelect = (value, obj) => { + setVendorSearch({ ...vendorSearch, selectedId: obj.id }); }; - const handleSubmit = e => { - e.preventDefault(); - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("invoices.errors.validation"), - description: err.message - }); - } - if (!err) { - console.log("values", values); - alert("Closing this modal."); - toggleModalVisible(); - // if (!jobLineEditModal.context.id) { - // insertJobLine({ - // variables: { - // lineInput: [{ jobid: jobLineEditModal.context.jobid, ...values }] - // } - // }) - // .then(r => { - // if (jobLineEditModal.actions.refetch) - // jobLineEditModal.actions.refetch(); - // toggleModalVisible(); - // notification["success"]({ - // message: t("joblines.successes.created") - // }); - // }) - // .catch(error => { - // notification["error"]({ - // message: t("joblines.errors.creating", { - // message: error.message - // }) - // }); - // }); - // } else { - // updateJobLine({ - // variables: { - // lineId: jobLineEditModal.context.id, - // line: values - // } - // }) - // .then(r => { - // notification["success"]({ - // message: t("joblines.successes.updated") - // }); - // }) - // .catch(error => { - // notification["success"]({ - // message: t("joblines.errors.updating", { - // message: error.message - // }) - // }); - // }); - // if (jobLineEditModal.actions.refetch) - // jobLineEditModal.actions.refetch(); - // toggleModalVisible(); - // } - } - }); + const handleFinish = values => { + alert("Closing this modal."); + toggleModalVisible(); + // if (!jobLineEditModal.context.id) { + // insertJobLine({ + // variables: { + // lineInput: [{ jobid: jobLineEditModal.context.jobid, ...values }] + // } + // }) + // .then(r => { + // if (jobLineEditModal.actions.refetch) + // jobLineEditModal.actions.refetch(); + // toggleModalVisible(); + // notification["success"]({ + // message: t("joblines.successes.created") + // }); + // }) + // .catch(error => { + // notification["error"]({ + // message: t("joblines.errors.creating", { + // message: error.message + // }) + // }); + // }); + // } else { + // updateJobLine({ + // variables: { + // lineId: jobLineEditModal.context.id, + // line: values + // } + // }) + // .then(r => { + // notification["success"]({ + // message: t("joblines.successes.updated") + // }); + // }) + // .catch(error => { + // notification["success"]({ + // message: t("joblines.errors.updating", { + // message: error.message + // }) + // }); + // }); + // if (jobLineEditModal.actions.refetch) + // jobLineEditModal.actions.refetch(); + // toggleModalVisible(); + // } }; const handleCancel = () => { toggleModalVisible(); }; - console.log( - "c", - VendorAutoCompleteData?.vendors.filter( - v => v.id === vendorSearch.selectedId - ) - ); return ( { acc.push({ - value: value.id, - text: `${value.ro_number || ""} | ${value.ownr_ln || + id: value.id, + value: `${value.ro_number || ""} | ${value.ownr_ln || ""} ${value.ownr_fn || ""} | ${value.vehicle.v_model_yr || ""} ${value.vehicle.v_make_desc || ""} ${value.vehicle .v_model_desc || ""}` @@ -175,8 +153,8 @@ function InvoiceEnterModalContainer({ VendorAutoCompleteData ? VendorAutoCompleteData.vendors.reduce((acc, value) => { acc.push({ - value: value.id, - text: `${value.name || ""}` + id: value.id, + value: `${value.name || ""}` }); return acc; }, []) @@ -198,8 +176,4 @@ function InvoiceEnterModalContainer({ export default connect( mapStateToProps, mapDispatchToProps -)( - Form.create({ name: "InvoiceEnterModalContainer" })( - InvoiceEnterModalContainer - ) -); +)(InvoiceEnterModalContainer); diff --git a/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.component.jsx b/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.component.jsx index aa87ea5f4..6e0909cb4 100644 --- a/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.component.jsx +++ b/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.component.jsx @@ -1,19 +1,20 @@ -import { Modal, Form, Input, InputNumber } from "antd"; -import React from "react"; +import { Form, Input, InputNumber, Modal } from "antd"; +import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import ResetForm from "../form-items-formatted/reset-form-item.component"; export default function JobLinesUpsertModalComponent({ visible, jobLine, - handleOk, handleCancel, - handleSubmit, - form + handleFinish }) { const { t } = useTranslation(); - const { getFieldDecorator, isFieldsTouched, resetFields } = form; + const [form] = Form.useForm(); + useEffect(() => { + form.resetFields(); + }, [visible, form]); + console.log("jobLine", jobLine); return ( - {isFieldsTouched() ? : null} -
- - {getFieldDecorator("line_desc", { - initialValue: jobLine.line_desc - })()} + + + - - {getFieldDecorator("oem_partno", { - initialValue: jobLine.oem_partno - })()} + + - - {getFieldDecorator("part_type", { - initialValue: jobLine.part_type - })()} + + - - {getFieldDecorator("mod_lbr_ty", { - initialValue: jobLine.mod_lbr_ty - })()} + + - - {getFieldDecorator("op_code_desc", { - initialValue: jobLine.op_code_desc - })()} + + - - {getFieldDecorator("mod_lb_hrs", { - initialValue: jobLine.mod_lb_hrs - })()} + + - - {getFieldDecorator("act_price", { - initialValue: jobLine.act_price - })()} + +
diff --git a/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.container.jsx b/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.container.jsx index fa1b732db..eb3fdc369 100644 --- a/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.container.jsx +++ b/client/src/components/job-lines-upsert-modal/job-lines-upsert-modal.container.jsx @@ -1,13 +1,10 @@ -import { Form, notification } from "antd"; +import { notification } from "antd"; import React from "react"; import { useMutation } from "react-apollo"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; -import { - INSERT_NEW_JOB_LINE, - UPDATE_JOB_LINE -} from "../../graphql/jobs-lines.queries"; +import { INSERT_NEW_JOB_LINE, UPDATE_JOB_LINE } from "../../graphql/jobs-lines.queries"; import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { selectJobLineEditModal } from "../../redux/modals/modals.selectors"; import JobLinesUpdsertModal from "./job-lines-upsert-modal.component"; @@ -21,70 +18,56 @@ const mapDispatchToProps = dispatch => ({ function JobLinesUpsertModalContainer({ jobLineEditModal, - toggleModalVisible, - form + toggleModalVisible }) { const { t } = useTranslation(); const [insertJobLine] = useMutation(INSERT_NEW_JOB_LINE); const [updateJobLine] = useMutation(UPDATE_JOB_LINE); - const handleSubmit = e => { - e.preventDefault(); - - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("joblines.errors.validation"), - description: err.message - }); - } - if (!err) { - if (!jobLineEditModal.context.id) { - insertJobLine({ - variables: { - lineInput: [{ jobid: jobLineEditModal.context.jobid, ...values }] - } - }) - .then(r => { - if (jobLineEditModal.actions.refetch) - jobLineEditModal.actions.refetch(); - toggleModalVisible(); - notification["success"]({ - message: t("joblines.successes.created") - }); - }) - .catch(error => { - notification["error"]({ - message: t("joblines.errors.creating", { - message: error.message - }) - }); - }); - } else { - updateJobLine({ - variables: { - lineId: jobLineEditModal.context.id, - line: values - } - }) - .then(r => { - notification["success"]({ - message: t("joblines.successes.updated") - }); - }) - .catch(error => { - notification["success"]({ - message: t("joblines.errors.updating", { - message: error.message - }) - }); - }); + const handleFinish = values => { + if (!jobLineEditModal.context.id) { + insertJobLine({ + variables: { + lineInput: [{ jobid: jobLineEditModal.context.jobid, ...values }] + } + }) + .then(r => { if (jobLineEditModal.actions.refetch) jobLineEditModal.actions.refetch(); toggleModalVisible(); + notification["success"]({ + message: t("joblines.successes.created") + }); + }) + .catch(error => { + notification["error"]({ + message: t("joblines.errors.creating", { + message: error.message + }) + }); + }); + } else { + updateJobLine({ + variables: { + lineId: jobLineEditModal.context.id, + line: values } - } - }); + }) + .then(r => { + notification["success"]({ + message: t("joblines.successes.updated") + }); + }) + .catch(error => { + notification["success"]({ + message: t("joblines.errors.updating", { + message: error.message + }) + }); + }); + if (jobLineEditModal.actions.refetch) jobLineEditModal.actions.refetch(); + toggleModalVisible(); + } }; const handleCancel = () => { @@ -95,9 +78,8 @@ function JobLinesUpsertModalContainer({ ); } @@ -105,6 +87,4 @@ function JobLinesUpsertModalContainer({ export default connect( mapStateToProps, mapDispatchToProps -)( - Form.create({ name: "JobsDetailPageContainer" })(JobLinesUpsertModalContainer) -); +)(JobLinesUpsertModalContainer); diff --git a/client/src/components/jobs-detail-claims/jobs-detail-claims.component.jsx b/client/src/components/jobs-detail-claims/jobs-detail-claims.component.jsx index 1c8323b4f..0e5078cb3 100644 --- a/client/src/components/jobs-detail-claims/jobs-detail-claims.component.jsx +++ b/client/src/components/jobs-detail-claims/jobs-detail-claims.component.jsx @@ -1,24 +1,17 @@ import { Form, Input, Switch } from "antd"; -import React, { useContext } from "react"; +import React from "react"; import { useTranslation } from "react-i18next"; -import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context"; export default function JobsDetailClaims({ job }) { - const form = useContext(JobDetailFormContext); - const { getFieldDecorator } = form; const { t } = useTranslation(); return (
- - {getFieldDecorator("csr", { - initialValue: job.csr - })()} + + - - {getFieldDecorator("loss_desc", { - initialValue: job.loss_desc - })()} + + TODO How to handle different taxes and marking them as exempt? { @@ -28,36 +21,27 @@ export default function JobsDetailClaims({ job }) { // })()} // } - - {getFieldDecorator("po_number", { - initialValue: job.po_number - })()} + + - - {getFieldDecorator("unit_number", { - initialValue: job.unit_number - })()} + + - - {getFieldDecorator("special_coverage_policy", { - initialValue: job.special_coverage_policy, - valuePropName: "checked" - })()} + + - - {getFieldDecorator("kmin", { - initialValue: job.kmin - })()} + + - - {getFieldDecorator("kmout", { - initialValue: job.kmout - })()} + + - - {getFieldDecorator("referral_source", { - initialValue: job.referral_source - })()} + +
); diff --git a/client/src/components/jobs-detail-dates/jobs-detail-dates.component.jsx b/client/src/components/jobs-detail-dates/jobs-detail-dates.component.jsx index f33f6652e..e2c033f05 100644 --- a/client/src/components/jobs-detail-dates/jobs-detail-dates.component.jsx +++ b/client/src/components/jobs-detail-dates/jobs-detail-dates.component.jsx @@ -1,89 +1,78 @@ import { DatePicker, Form } from "antd"; -import moment from "moment"; -import React, { useContext } from "react"; +import React from "react"; import { useTranslation } from "react-i18next"; -import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context"; export default function JobsDetailDatesComponent({ job }) { - const form = useContext(JobDetailFormContext); - const { getFieldDecorator } = form; const { t } = useTranslation(); + // initialValue: job.loss_date ? moment(job.loss_date) : null + // initialValue: job.date_estimated ? moment(job.date_estimated) : null + // initialValue: job.date_open ? moment(job.date_open) : null + // initialValue: job.date_scheduled ? moment(job.date_scheduled) : null + // initialValue: job.scheduled_in ? moment(job.scheduled_in) : null + // initialValue: job.actual_in ? moment(job.actual_in) : null + // initialValue: job.scheduled_completion ? moment(job.scheduled_completion) : null + // initialValue: job.actual_completion ? moment(job.actual_completion) : null + // initialValue: job.scheduled_delivery ? moment(job.scheduled_delivery) : null + // initialValue: job.actual_delivery ? moment(job.actual_delivery) : null + // initialValue: job.date_invoiced ? moment(job.date_invoiced) : null + // initialValue: job.date_closed ? moment(job.date_closed) : null + // initialValue: job.date_exported ? moment(job.date_exported) : null + return (
- - {getFieldDecorator("loss_date", { - initialValue: job.loss_date ? moment(job.loss_date) : null - })()} + + - DAMAGE {JSON.stringify(job.area_of_damage)} CAA # seems not correct based on field mapping Class seems not correct based on field mapping - - {getFieldDecorator("date_estimated", { - initialValue: job.date_estimated ? moment(job.date_estimated) : null - })()} + + - - {getFieldDecorator("date_open", { - initialValue: job.date_open ? moment(job.date_open) : null - })()} + + - - {getFieldDecorator("date_scheduled", { - initialValue: job.date_scheduled ? moment(job.date_scheduled) : null - })()} + + - - {getFieldDecorator("scheduled_in", { - initialValue: job.scheduled_in ? moment(job.scheduled_in) : null - })()} + + - - {getFieldDecorator("actual_in", { - initialValue: job.actual_in ? moment(job.actual_in) : null - })()} + + - - {getFieldDecorator("scheduled_completion", { - initialValue: job.scheduled_completion - ? moment(job.scheduled_completion) - : null - })()} + + - - {getFieldDecorator("actual_completion", { - initialValue: job.actual_completion - ? moment(job.actual_completion) - : null - })()} + + - - {getFieldDecorator("scheduled_delivery", { - initialValue: job.scheduled_delivery - ? moment(job.scheduled_delivery) - : null - })()} + + - - {getFieldDecorator("actual_delivery", { - initialValue: job.actual_delivery ? moment(job.actual_delivery) : null - })()} + + - - {getFieldDecorator("date_invoiced", { - initialValue: job.date_invoiced ? moment(job.date_invoiced) : null - })()} + + - - {getFieldDecorator("date_closed", { - initialValue: job.date_closed ? moment(job.date_closed) : null - })()} + + - - {getFieldDecorator("date_exported", { - initialValue: job.date_exported ? moment(job.date_exported) : null - })()} + +
); diff --git a/client/src/components/jobs-detail-financial/jobs-detail-financial.component.jsx b/client/src/components/jobs-detail-financial/jobs-detail-financial.component.jsx index 0bd919542..bbba78b5e 100644 --- a/client/src/components/jobs-detail-financial/jobs-detail-financial.component.jsx +++ b/client/src/components/jobs-detail-financial/jobs-detail-financial.component.jsx @@ -1,181 +1,131 @@ -import { Form, Input, InputNumber, Divider } from "antd"; -import React, { useContext } from "react"; +import { Divider, Form, Input, InputNumber } from "antd"; +import React from "react"; import { useTranslation } from "react-i18next"; -import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context"; export default function JobsDetailFinancials({ job }) { - const form = useContext(JobDetailFormContext); - const { getFieldDecorator } = form; const { t } = useTranslation(); return (
- - {getFieldDecorator("ded_amt", { - initialValue: job.ded_amt - })()} + + - - {getFieldDecorator("ded_status", { - initialValue: job.ded_status - })()} + + - - {getFieldDecorator("depreciation_taxes", { - initialValue: job.depreciation_taxes - })()} + + TODO This is equivalent of GST payable. - - {getFieldDecorator("federal_tax_payable", { - initialValue: job.federal_tax_payable - })()} + + TODO equivalent of other customer amount - - {getFieldDecorator("other_amount_payable", { - initialValue: job.other_amount_payable - })()} + + - - {getFieldDecorator("towing_payable", { - initialValue: job.towing_payable - })()} + + - - {getFieldDecorator("storage_payable", { - initialValue: job.storage_payable - })()} + + - - {getFieldDecorator("adjustment_bottom_line", { - initialValue: job.adjustment_bottom_line - })()} + + Totals Table - - {getFieldDecorator("labor_rate_desc", { - initialValue: job.labor_rate_desc - })()} + + - - {getFieldDecorator("rate_lab", { - initialValue: job.rate_lab - })()} + + - - {getFieldDecorator("rate_lad", { - initialValue: job.rate_lad - })()} + + - - {getFieldDecorator("rate_lae", { - initialValue: job.rate_lae - })()} + + - - {getFieldDecorator("rate_lar", { - initialValue: job.rate_lar - })()} + + - - {getFieldDecorator("rate_las", { - initialValue: job.rate_las - })()} + + - - {getFieldDecorator("rate_laf", { - initialValue: job.rate_laf - })()} + + - - {getFieldDecorator("rate_lam", { - initialValue: job.rate_lam - })()} + + - - {getFieldDecorator("rate_lag", { - initialValue: job.rate_lag - })()} + + Note //TODO Remove ATP rate? - - {getFieldDecorator("rate_atp", { - initialValue: job.rate_atp - })()} + + - - {getFieldDecorator("rate_lau", { - initialValue: job.rate_lau - })()} + + - - {getFieldDecorator("rate_la1", { - initialValue: job.rate_la1 - })()} + + - - {getFieldDecorator("rate_la2", { - initialValue: job.rate_la2 - })()} + + - - {getFieldDecorator("rate_la3", { - initialValue: job.rate_la3 - })()} + + - - {getFieldDecorator("rate_la4", { - initialValue: job.rate_la4 - })()} + + - - {getFieldDecorator("rate_mapa", { - initialValue: job.rate_mapa - })()} + + - - {getFieldDecorator("rate_mash", { - initialValue: job.rate_mash - })()} + + - - {getFieldDecorator("rate_mahw", { - initialValue: job.rate_mahw - })()} + + - - {getFieldDecorator("rate_ma2s", { - initialValue: job.rate_ma2s - })()} + + - - {getFieldDecorator("rate_ma3s", { - initialValue: job.rate_ma3s - })()} + + - - {getFieldDecorator("rate_mabl", { - initialValue: job.rate_mabl - })()} + + - - {getFieldDecorator("rate_macs", { - initialValue: job.rate_macs - })()} + + - - {getFieldDecorator("rate_matd", { - initialValue: job.rate_matd - })()} + + + + + - -{getFieldDecorator("rate_laa", { -initialValue: job.rate_laa -})()} - -
); } diff --git a/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx b/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx index e5eba130f..3d485359f 100644 --- a/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx +++ b/client/src/components/jobs-detail-header/jobs-detail-header.component.jsx @@ -5,13 +5,12 @@ import { Checkbox, Descriptions, Dropdown, - Menu, notification, PageHeader, Tag } from "antd"; -import {DownCircleFilled} from "@ant-design/icons"; +import { DownCircleFilled } from "@ant-design/icons"; import React from "react"; import { useTranslation } from "react-i18next"; import Moment from "react-moment"; @@ -34,7 +33,7 @@ export default connect( job, mutationConvertJob, refetch, - handleSubmit, + handleFinish, scheduleModalState, bodyshop, updateJobStatus @@ -44,7 +43,7 @@ export default connect( const tombstoneTitle = (
- + {`${t("jobs.fields.ro_number")} ${ job.ro_number ? job.ro_number : t("general.labels.na") }`} @@ -55,7 +54,8 @@ export default connect( { updateJobStatus(e.key); - }}> + }} + > {bodyshop.md_ro_statuses.statuses.map(item => ( {item} ))} @@ -63,23 +63,24 @@ export default connect( ); const menuExtra = [ - + , - + , , - ]; @@ -111,9 +109,9 @@ export default connect( title={tombstoneTitle} //subTitle={tombstoneSubtitle} tags={ - - {job.status ? {job.status} : null} - + + {job.status ? {job.status} : null} + {job.owner ? ( {`${job.ownr_co_nm || ""}${job.ownr_fn || ""} ${job.ownr_ln || @@ -123,7 +121,7 @@ export default connect( t("jobs.errors.noowner") )} - + {job.vehicle ? ( {job.vehicle.v_model_yr || t("general.labels.na")}{" "} @@ -137,27 +135,37 @@ export default connect( } - extra={menuExtra}> - - + extra={menuExtra} + > + + {job.clm_total} - + ##NO BINDING YET## - + - + {job.scheduled_completion ? ( - {job.scheduled_completion} + {job.scheduled_completion} ) : null} - + {job.service_car} diff --git a/client/src/components/jobs-detail-insurance/jobs-detail-insurance.component.jsx b/client/src/components/jobs-detail-insurance/jobs-detail-insurance.component.jsx index 4dc589973..4c79e57db 100644 --- a/client/src/components/jobs-detail-insurance/jobs-detail-insurance.component.jsx +++ b/client/src/components/jobs-detail-insurance/jobs-detail-insurance.component.jsx @@ -1,146 +1,115 @@ -import { Divider, Form, Input, DatePicker } from "antd"; -import React, { useContext } from "react"; +import { DatePicker, Divider, Form, Input } from "antd"; +import React from "react"; import { useTranslation } from "react-i18next"; -import JobDetailFormContext from "../../pages/jobs-detail/jobs-detail.page.context"; import FormItemEmail from "../form-items-formatted/email-form-item.component"; import FormItemPhone from "../form-items-formatted/phone-form-item.component"; -import moment from "moment"; -export default function JobsDetailInsurance({ job }) { - const form = useContext(JobDetailFormContext); - const { getFieldDecorator, getFieldValue } = form; +export default function JobsDetailInsurance({ job, form }) { + const { getFieldValue } = form; const { t } = useTranslation(); - + //initialValue: job.loss_date ? moment(job.loss_date) : null + console.log("job", job); return (
- - {getFieldDecorator("ins_co_id", { - initialValue: job.ins_co_id - })()} + + - - {getFieldDecorator("policy_no", { - initialValue: job.policy_no - })()} + + - - {getFieldDecorator("clm_no", { - initialValue: job.clm_no - })()} + + - - {getFieldDecorator("regie_number", { - initialValue: job.regie_number - })()} + + TODO: missing KOL field??? - - {getFieldDecorator("loss_date", { - initialValue: job.loss_date ? moment(job.loss_date) : null - })()} + + DAMAGE {JSON.stringify(job.area_of_damage)} CAA # seems not correct based on field mapping Class seems not correct based on field mapping - - {getFieldDecorator("ins_co_nm", { - initialValue: job.ins_co_nm - })()} + + - - {getFieldDecorator("ins_addr1", { - initialValue: job.ins_addr1 - })()} + + - - {getFieldDecorator("ins_city", { - initialValue: job.ins_city - })()} + + - - {getFieldDecorator("ins_ct_ln", { - initialValue: job.ins_ct_ln - })()} + + - - {getFieldDecorator("ins_ct_fn", { - initialValue: job.ins_ct_fn - })()} + + - - {getFieldDecorator("ins_ph1", { - initialValue: job.ins_ph1 - })()} + + - - {getFieldDecorator("ins_ea", { - initialValue: job.ins_ea, - rules: [ - { - type: "email", - message: "This is not a valid email address." - } - ] - })()} + + Appraiser Info - - {getFieldDecorator("est_co_nm", { - initialValue: job.est_co_nm - })()} + + - - {getFieldDecorator("est_ct_fn", { - initialValue: job.est_ct_fn - })()} + + - - {getFieldDecorator("est_ct_ln", { - initialValue: job.est_ct_ln - })()} + + TODO: Field is pay date but title is inspection date. Likely incorrect? - - {getFieldDecorator("pay_date", { - initialValue: job.pay_date - })()} + + - - {getFieldDecorator("est_ph1", { - initialValue: job.est_ph1 - })()} + + - - {getFieldDecorator("est_ea", { - initialValue: job.est_ea, - rules: [ - { - type: "email", - message: "This is not a valid email address." - } - ] - })()} + + - - {getFieldDecorator("selling_dealer", { - initialValue: job.selling_dealer - })()} + + - - {getFieldDecorator("servicing_dealer", { - initialValue: job.servicing_dealer - })()} + + - - {getFieldDecorator("selling_dealer_contact", { - initialValue: job.selling_dealer_contact - })()} + + - - {getFieldDecorator("servicing_dealer_contact", { - initialValue: job.servicing_dealer_contact - })()} + + TODO: Adding servicing/selling dealer contact info?
diff --git a/client/src/components/owner-detail-form/owner-detail-form.component.jsx b/client/src/components/owner-detail-form/owner-detail-form.component.jsx index 37eb40385..9dc1477a8 100644 --- a/client/src/components/owner-detail-form/owner-detail-form.component.jsx +++ b/client/src/components/owner-detail-form/owner-detail-form.component.jsx @@ -5,99 +5,77 @@ import FormItemEmail from "../form-items-formatted/email-form-item.component"; import FormItemPhone from "../form-items-formatted/phone-form-item.component"; import ResetForm from "../form-items-formatted/reset-form-item.component"; -export default function OwnerDetailFormComponent({ form, owner }) { +export default function OwnerDetailFormComponent({ form }) { const { t } = useTranslation(); - const { - isFieldsTouched, - resetFields, - getFieldDecorator, - getFieldValue - } = form; - + const { isFieldsTouched, resetFields, getFieldValue } = form; + console.log("isFieldsTouched([], true)", isFieldsTouched([], true)); return (
- {isFieldsTouched() ? : null} + + {isFieldsTouched([], true) ? ( + + ) : null}
- - {getFieldDecorator("ownr_ln", { - initialValue: owner.ownr_ln - })()} + + - - {getFieldDecorator("ownr_fn", { - initialValue: owner.ownr_fn - })()} + + - - {getFieldDecorator("allow_text_message", { - initialValue: owner.allow_text_message, - valuePropName: "checked" - })()} + + - - {getFieldDecorator("ownr_addr1", { - initialValue: owner.ownr_addr1 - })()} + + - - {getFieldDecorator("ownr_addr2", { - initialValue: owner.ownr_addr2 - })()} + + - - {getFieldDecorator("ownr_city", { - initialValue: owner.ownr_city - })()} + + - - {getFieldDecorator("ownr_ctry", { - initialValue: owner.ownr_ctry - })()} + + - {" "} - - {getFieldDecorator("ownr_ea", { - initialValue: owner.ownr_ea, - rules: [ - { - type: "email", - message: "This is not a valid email address." - } - ] - })( - - )} + + - - {getFieldDecorator("ownr_ph1", { - initialValue: owner.ownr_ph1 - })()} + + - - {getFieldDecorator("ownr_st", { - initialValue: owner.ownr_st - })()} + + - - {getFieldDecorator("ownr_zip", { - initialValue: owner.ownr_zip - })()} + + - - {getFieldDecorator("preferred_contact", { - initialValue: owner.preferred_contact - })()} + + - - {getFieldDecorator("ownr_title", { - initialValue: owner.ownr_title - })()} + + diff --git a/client/src/components/owner-detail-form/owner-detail-form.container.jsx b/client/src/components/owner-detail-form/owner-detail-form.container.jsx index 375e78d4a..cdd923392 100644 --- a/client/src/components/owner-detail-form/owner-detail-form.container.jsx +++ b/client/src/components/owner-detail-form/owner-detail-form.container.jsx @@ -5,42 +5,34 @@ import { useTranslation } from "react-i18next"; import { UPDATE_OWNER } from "../../graphql/owners.queries"; import OwnerDetailFormComponent from "./owner-detail-form.component"; -function OwnerDetailFormContainer({ form, owner, refetch }) { +function OwnerDetailFormContainer({ owner, refetch }) { const { t } = useTranslation(); + const [form] = Form.useForm(); const [updateOwner] = useMutation(UPDATE_OWNER); - const handleSubmit = e => { - e.preventDefault(); - - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("owners.errors.validationtitle"), - description: t("owners.errors.validation") - }); - } - if (!err) { - updateOwner({ - variables: { ownerId: owner.id, owner: values } - }).then(r => { - notification["success"]({ - message: t("owners.successes.save") - }); - //TODO Better way to reset the field decorators? - if (refetch) refetch().then(); - form.resetFields(); - }); - } + const handleFinish = values => { + updateOwner({ + variables: { ownerId: owner.id, owner: values } + }).then(r => { + notification["success"]({ + message: t("owners.successes.save") + }); + //TODO Better way to reset the field decorators? + if (refetch) refetch().then(); + // resetFields(); }); }; return ( -
- + + ); } -export default Form.create({ name: "OwnerDetailFormContainer" })( - OwnerDetailFormContainer -); +export default OwnerDetailFormContainer; diff --git a/client/src/components/profile-my/profile-my.component.jsx b/client/src/components/profile-my/profile-my.component.jsx index 1269ec3ec..4b388eab0 100644 --- a/client/src/components/profile-my/profile-my.component.jsx +++ b/client/src/components/profile-my/profile-my.component.jsx @@ -16,61 +16,60 @@ const mapDispatchToProps = dispatch => ({ export default connect( mapStateToProps, mapDispatchToProps -)( - Form.create({ name: "ProfileMyComponentForm" })(function ProfileMyComponent({ - currentUser, - form, - updateUserDetails - }) { - const { isFieldsTouched, resetFields, getFieldDecorator } = form; - const { t } = useTranslation(); +)(function ProfileMyComponent({ + currentUser, - const handleSubmit = e => { - e.preventDefault(); + updateUserDetails +}) { + const [form] = Form.useForm(); + const { isFieldsTouched, resetFields } = form; + const { t } = useTranslation(); - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("jobs.errors.validationtitle"), - description: t("jobs.errors.validation") - }); - } - if (!err) { - console.log("values", values); - updateUserDetails({ - displayName: values.displayname, - photoURL: values.photoURL - }); - } - }); - }; + const handleSubmit = e => { + e.preventDefault(); - return ( -
- {isFieldsTouched() ? : null} + form.validateFieldsAndScroll((err, values) => { + if (err) { + notification["error"]({ + message: t("jobs.errors.validationtitle"), + description: t("jobs.errors.validation") + }); + } + if (!err) { + console.log("values", values); + updateUserDetails({ + displayName: values.displayname, + photoURL: values.photoURL + }); + } + }); + }; -
- - {getFieldDecorator("displayname", { - initialValue: currentUser.displayName, - rules: [{ required: true }] - })()} - - - {getFieldDecorator("photoURL", { - initialValue: currentUser.photoURL - })()} - + return ( +
+ {isFieldsTouched() ? : null} - - -
- ); - }) -); +
+ + ) + + + + + + + +
+ ); +}); diff --git a/client/src/components/shop-employees/shop-employees-form.component.jsx b/client/src/components/shop-employees/shop-employees-form.component.jsx index cf7abfab7..1d99fc545 100644 --- a/client/src/components/shop-employees/shop-employees-form.component.jsx +++ b/client/src/components/shop-employees/shop-employees-form.component.jsx @@ -6,106 +6,125 @@ import { useTranslation } from "react-i18next"; export default function ShopEmployeesFormComponent({ form, selectedEmployee, - handleSubmit + handleFinish }) { const { t } = useTranslation(); - const { getFieldDecorator } = form; + if (!selectedEmployee) return "//TODO No employee selected."; + return ( -
+ - - {getFieldDecorator("first_name", { - initialValue: selectedEmployee.first_name, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + - - {getFieldDecorator("last_name", { - initialValue: selectedEmployee.last_name, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + - - {getFieldDecorator("employee_number", { - initialValue: selectedEmployee.employee_number, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + - - {getFieldDecorator("active", { - initialValue: selectedEmployee.active, - valuePropName: "checked" - })()} + + - - {getFieldDecorator("flat_rate", { - initialValue: selectedEmployee.flat_rate, - valuePropName: "checked" - })()} + + - - {getFieldDecorator("hire_date", { - initialValue: selectedEmployee.hire_date - ? moment(selectedEmployee.hire_date) - : null, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + - - {getFieldDecorator("termination_date", { - initialValue: selectedEmployee.termination_date - ? moment(selectedEmployee.termination_date) - : null - })()} + + { //TODO Make this a picklist. } - - {getFieldDecorator("cost_center", { - initialValue: selectedEmployee.cost_center, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + - - {getFieldDecorator("base_rate", { - initialValue: selectedEmployee.base_rate, - rules: [ - { - required: true, - message: t("general.validation.required") - } - ] - })()} + + ); diff --git a/client/src/components/shop-employees/shop-employees.container.jsx b/client/src/components/shop-employees/shop-employees.container.jsx index fc65e05cb..4a5e37fa8 100644 --- a/client/src/components/shop-employees/shop-employees.container.jsx +++ b/client/src/components/shop-employees/shop-employees.container.jsx @@ -4,17 +4,22 @@ import { useMutation, useQuery } from "react-apollo"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; -import { DELETE_EMPLOYEE, INSERT_EMPLOYEES, QUERY_EMPLOYEES, UPDATE_EMPLOYEE } from "../../graphql/employees.queries"; +import { + DELETE_EMPLOYEE, + INSERT_EMPLOYEES, + QUERY_EMPLOYEES, + UPDATE_EMPLOYEE +} from "../../graphql/employees.queries"; import { selectBodyshop } from "../../redux/user/user.selectors"; import AlertComponent from "../alert/alert.component"; import ShopEmployeeComponent from "./shop-employees.component"; - const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop }); -function ShopEmployeesContainer({ form, bodyshop }) { +function ShopEmployeesContainer({ bodyshop }) { + const [form] = Form.useForm(); const { t } = useTranslation(); const employeeState = useState(null); const { loading, error, data, refetch } = useQuery(QUERY_EMPLOYEES, { @@ -41,63 +46,49 @@ function ShopEmployeesContainer({ form, bodyshop }) { }); }; - const handleSubmit = e => { - e.preventDefault(); - - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("employees.errors.validationtitle"), - description: t("employees.errors.validation") - }); - } - if (!err) { - if (employeeState[0].id) { - //Update a record. - updateEmployee({ - variables: { id: employeeState[0].id, employee: values } - }) - .then(r => { - notification["success"]({ - message: t("employees.successes.save") - }); - //TODO Better way to reset the field decorators? - employeeState[1](null); - refetch().then(r => form.resetFields()); - }) - .catch(error => { - notification["error"]({ - message: t("employees.errors.save") - }); - }); - } else { - //New record, insert it. - insertEmployees({ - variables: { employees: [{ ...values, shopid: bodyshop.id }] } - }).then(r => { - notification["success"]({ - message: t("employees.successes.save") - }); - //TODO Better way to reset the field decorators? - employeeState[1](null); - refetch() - .then(r => form.resetFields()) - .catch(error => { - notification["error"]({ - message: t("employees.errors.save") - }); - }); + const handleFinish = values => { + if (employeeState[0].id) { + //Update a record. + updateEmployee({ + variables: { id: employeeState[0].id, employee: values } + }) + .then(r => { + notification["success"]({ + message: t("employees.successes.save") }); - } - } - }); + //TODO Better way to reset the field decorators? + employeeState[1](null); + refetch().then(r => form.resetFields()); + }) + .catch(error => { + notification["error"]({ + message: t("employees.errors.save") + }); + }); + } else { + //New record, insert it. + insertEmployees({ + variables: { employees: [{ ...values, shopid: bodyshop.id }] } + }).then(r => { + notification["success"]({ + message: t("employees.successes.save") + }); + //TODO Better way to reset the field decorators? + employeeState[1](null); + refetch().catch(error => { + notification["error"]({ + message: t("employees.errors.save") + }); + }); + }); + } }; if (error) return ; return ( ); } -export default connect( - mapStateToProps, - null -)(Form.create({ name: "ShopEmployeesContainer" })(ShopEmployeesContainer)); +export default connect(mapStateToProps, null)(ShopEmployeesContainer); diff --git a/client/src/components/sign-in-form/sign-in-form.component.jsx b/client/src/components/sign-in-form/sign-in-form.component.jsx index 1b55d700c..5dc7075d0 100644 --- a/client/src/components/sign-in-form/sign-in-form.component.jsx +++ b/client/src/components/sign-in-form/sign-in-form.component.jsx @@ -26,89 +26,74 @@ const mapDispatchToProps = dispatch => ({ export default connect( mapStateToProps, mapDispatchToProps -)( - Form.create({ name: "sign_in" })(function SignInComponent({ - form, - emailSignInStart, - currentUser, - signInError - }) { - const apolloClient = useApolloClient(); +)(function SignInComponent({ emailSignInStart, currentUser, signInError }) { + const apolloClient = useApolloClient(); - const handleSubmit = e => { - e.preventDefault(); - form.validateFields(async (err, values) => { - if (!err) { - const { email, password } = values; - emailSignInStart(email, password); - //Try to do the login using a saga here. + const handleFinish = values => { + console.log("Login"); + + const { email, password } = values; + emailSignInStart(email, password); + //Try to do the login using a saga here. + }; + + if (currentUser.authorized === true) { + apolloClient + .mutate({ + mutation: UPSERT_USER, + variables: { + authEmail: currentUser.email, + authToken: currentUser.uid } + }) + .then() + .catch(error => { + console.log("User login upsert error.", error); }); - }; + } - if (currentUser.authorized === true) { - apolloClient - .mutate({ - mutation: UPSERT_USER, - variables: { - authEmail: currentUser.email, - authToken: currentUser.uid - } - }) - .then() - .catch(error => { - console.log("User login upsert error.", error); - }); - } + return ( +
+ {currentUser.authorized === true ? : null} - const { getFieldDecorator } = form; - return ( -
- {currentUser.authorized === true ? : null} + Bodyshop.app - Bodyshop.app +
+ + + + + } + type="password" + placeholder="Password" + /> + - - - {getFieldDecorator("email", { - rules: [ - { - type: "email", - message: "Please enter a valid email." - }, - { - required: true, - message: "Please your email." - } - ] - })()} - - - {getFieldDecorator("password", { - rules: [ - { required: true, message: "Please enter your password." } - ] - })( - } - type="password" - placeholder="Password" - /> - )} - - -
Forgot password
- -
- {signInError ?
{signInError.message}
: null} - -
- ); - }) -); +
Forgot password
+ + + {signInError ?
{signInError.message}
: null} + +
+ ); +}); diff --git a/client/src/components/vehicle-detail-form/vehicle-detail-form.component.jsx b/client/src/components/vehicle-detail-form/vehicle-detail-form.component.jsx index 8f5a369c7..2cfcaad00 100644 --- a/client/src/components/vehicle-detail-form/vehicle-detail-form.component.jsx +++ b/client/src/components/vehicle-detail-form/vehicle-detail-form.component.jsx @@ -1,4 +1,4 @@ -import { Button, DatePicker, Form, Input, Row, Col } from "antd"; +import { Button, Col, DatePicker, Form, Input, Row } from "antd"; import moment from "moment"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/client/src/components/vehicle-detail-form/vehicle-detail-form.container.jsx b/client/src/components/vehicle-detail-form/vehicle-detail-form.container.jsx index ec0a7fb70..3e49762ac 100644 --- a/client/src/components/vehicle-detail-form/vehicle-detail-form.container.jsx +++ b/client/src/components/vehicle-detail-form/vehicle-detail-form.container.jsx @@ -5,42 +5,30 @@ import VehicleDetailFormComponent from "./vehicle-detail-form.component"; import { useTranslation } from "react-i18next"; import { UPDATE_VEHICLE } from "../../graphql/vehicles.queries"; -function VehicleDetailFormContainer({ form, vehicle, refetch }) { +function VehicleDetailFormContainer({ vehicle, refetch }) { const { t } = useTranslation(); const [updateVehicle] = useMutation(UPDATE_VEHICLE); + const [form] = Form.useForm(); + const { resetFields } = form; - const handleSubmit = e => { - e.preventDefault(); - - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("vehicles.errors.validationtitle"), - description: t("vehicles.errors.validation") - }); - } - if (!err) { - updateVehicle({ - variables: { vehId: vehicle.id, vehicle: values } - }).then(r => { - notification["success"]({ - message: t("vehicles.successes.save") - }); - //TODO Better way to reset the field decorators? - if (refetch) refetch().then(); - form.resetFields(); - }); - } + const handleFinish = values => { + updateVehicle({ + variables: { vehId: vehicle.id, vehicle: values } + }).then(r => { + notification["success"]({ + message: t("vehicles.successes.save") + }); + //TODO Better way to reset the field decorators? + if (refetch) refetch().then(); + resetFields(); }); }; return ( -
- + + ); } -export default Form.create({ name: "VehicleDetailFormContainer" })( - VehicleDetailFormContainer -); +export default VehicleDetailFormContainer; diff --git a/client/src/components/vendors-form/vendors-form.container.jsx b/client/src/components/vendors-form/vendors-form.container.jsx index 04a034dcc..f2911b937 100644 --- a/client/src/components/vendors-form/vendors-form.container.jsx +++ b/client/src/components/vendors-form/vendors-form.container.jsx @@ -19,7 +19,8 @@ const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop }); -function VendorsFormContainer({ form, vendorId, refetch, bodyshop }) { +function VendorsFormContainer({ vendorId, refetch, bodyshop }) { + const [form] = Form.useForm(); const { t } = useTranslation(); const { loading, error, data } = useQuery(QUERY_VENDOR_BY_ID, { variables: { id: vendorId }, @@ -45,61 +46,49 @@ function VendorsFormContainer({ form, vendorId, refetch, bodyshop }) { }); }; - const handleSubmit = e => { - e.preventDefault(); - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("jobs.errors.validationtitle"), - description: t("jobs.errors.validation") + const handleFinish = values => { + delete values.keys; + if (vendorId) { + //It's a vendor to update. + updateVendor({ + variables: { id: vendorId, vendor: values } + }) + .then(r => { + notification["success"]({ + message: t("vendors.successes.saved") + }); + //TODO Better way to reset the field decorators? + if (refetch) refetch().then(r => form.resetFields()); + }) + .catch(error => { + notification["error"]({ + message: t("vendors.errors.saving") + }); }); - } - if (!err) { - console.log("Received values of form: ", values); - delete values.keys; - if (vendorId) { - //It's a vendor to update. - updateVendor({ - variables: { id: vendorId, vendor: values } - }) - .then(r => { - notification["success"]({ - message: t("vendors.successes.saved") - }); - //TODO Better way to reset the field decorators? - if (refetch) refetch().then(r => form.resetFields()); - }) - .catch(error => { - notification["error"]({ - message: t("vendors.errors.saving") - }); - }); - } else { - //It's a new vendor to insert. - insertvendor({ - variables: { vendorInput: [{ ...values, bodyshopid: bodyshop.id }] } - }) - .then(r => { - notification["success"]({ - message: t("vendors.successes.saved") - }); - //TODO Better way to reset the field decorators? - if (refetch) refetch().then(r => form.resetFields()); - }) - .catch(error => { - notification["error"]({ - message: t("vendors.errors.saving") - }); - }); - } - } - }); + } else { + //It's a new vendor to insert. + insertvendor({ + variables: { vendorInput: [{ ...values, bodyshopid: bodyshop.id }] } + }) + .then(r => { + notification["success"]({ + message: t("vendors.successes.saved") + }); + //TODO Better way to reset the field decorators? + if (refetch) refetch().then(r => form.resetFields()); + }) + .catch(error => { + notification["error"]({ + message: t("vendors.errors.saving") + }); + }); + } }; if (loading) return ; if (error) return ; return ( -
+ {data ? ( ); } -export default connect( - mapStateToProps, - null -)(Form.create({ name: "VendorsFormContainer" })(VendorsFormContainer)); +export default connect(mapStateToProps, null)(VendorsFormContainer); diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index f402d6278..a707d5b38 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -94,6 +94,7 @@ export const SUBSCRIPTION_JOBS_IN_PRODUCTION = gql` export const GET_JOB_BY_PK = gql` query GET_JOB_BY_PK($id: uuid!) { jobs_by_pk(id: $id) { + updated_at service_car csr loss_desc diff --git a/client/src/pages/jobs-detail/jobs-detail.page.component.jsx b/client/src/pages/jobs-detail/jobs-detail.page.component.jsx index 04c47631e..9518a6822 100644 --- a/client/src/pages/jobs-detail/jobs-detail.page.component.jsx +++ b/client/src/pages/jobs-detail/jobs-detail.page.component.jsx @@ -1,21 +1,9 @@ -import { Form, Tabs } from "antd"; -import { - BarsOutlined, - DollarCircleOutlined, - ToolFilled, - CalendarFilled, - FileImageFilled -} from "@ant-design/icons"; -import Icon from "@ant-design/icons"; -import React, { lazy, Suspense, useContext } from "react"; +import Icon, { BarsOutlined, CalendarFilled, DollarCircleOutlined, FileImageFilled, ToolFilled } from "@ant-design/icons"; +import { Form, notification, Tabs } from "antd"; +import moment from "moment"; +import React, { lazy, Suspense } from "react"; import { useTranslation } from "react-i18next"; -import { - FaHardHat, - FaInfo, - FaRegStickyNote, - FaShieldAlt -} from "react-icons/fa"; -import ResetForm from "../../components/form-items-formatted/reset-form-item.component"; +import { FaHardHat, FaInfo, FaRegStickyNote, FaShieldAlt } from "react-icons/fa"; //import JobsLinesContainer from "../../components/job-detail-lines/job-lines.container"; //import JobsDetailClaims from "../../components/jobs-detail-claims/jobs-detail-claims.component"; //import JobsDetailDatesComponent from "../../components/jobs-detail-dates/jobs-detail-dates.component"; @@ -28,8 +16,6 @@ import ResetForm from "../../components/form-items-formatted/reset-form-item.com //import JobLineUpsertModalContainer from "../../components/job-lines-upsert-modal/job-lines-upsert-modal.container"; //import EnterInvoiceModalContainer from "../../components/invoice-enter-modal/invoice-enter-modal.container"; import LoadingSpinner from "../../components/loading-spinner/loading-spinner.component"; -import JobDetailFormContext from "./jobs-detail.page.context"; -import JobsDetailPliContainer from "../../components/jobs-detail-pli/jobs-detail-pli.container"; const JobsLinesContainer = lazy(() => import("../../components/job-detail-lines/job-lines.container") @@ -70,6 +56,9 @@ const JobLineUpsertModalContainer = lazy(() => const EnterInvoiceModalContainer = lazy(() => import("../../components/invoice-enter-modal/invoice-enter-modal.container") ); +const JobsDetailPliContainer = lazy(() => + import("../../components/jobs-detail-pli/jobs-detail-pli.container") +); export default function JobsDetailPage({ job, @@ -81,8 +70,7 @@ export default function JobsDetailPage({ updateJobStatus }) { const { t } = useTranslation(); - - const { isFieldsTouched, resetFields } = useContext(JobDetailFormContext); + const [form] = Form.useForm(); const formItemLayout = { labelCol: { @@ -95,6 +83,17 @@ export default function JobsDetailPage({ } }; + const handleFinish = values => { + mutationUpdateJob({ + variables: { jobId: job.id, job: values } + }).then(r => { + notification["success"]({ + message: t("jobs.successes.savetitle") + }); + refetch().then(r => form.resetFields()); + }); + }; + return ( } @@ -108,7 +107,45 @@ export default function JobsDetailPage({ - + console.log("a,b", a, b)} + name="JobDetailForm" + onFinish={handleFinish} + {...formItemLayout} + autoComplete={"off"} + initialValues={{ + ...job, + loss_date: job.loss_date ? moment(job.loss_date) : null, + date_estimated: job.date_estimated + ? moment(job.date_estimated) + : null, + date_open: job.date_open ? moment(job.date_open) : null, + date_scheduled: job.date_scheduled + ? moment(job.date_scheduled) + : null, + scheduled_in: job.scheduled_in ? moment(job.scheduled_in) : null, + actual_in: job.actual_in ? moment(job.actual_in) : null, + scheduled_completion: job.scheduled_completion + ? moment(job.scheduled_completion) + : null, + actual_completion: job.actual_completion + ? moment(job.actual_completion) + : null, + scheduled_delivery: job.scheduled_delivery + ? moment(job.scheduled_delivery) + : null, + actual_delivery: job.actual_delivery + ? moment(job.actual_delivery) + : null, + date_invoiced: job.date_invoiced ? moment(job.date_invoiced) : null, + date_closed: job.date_closed ? moment(job.date_closed) : null, + date_exported: job.date_exported ? moment(job.date_exported) : null + }} + > + + + - - {isFieldsTouched() ? : null} - - @@ -142,9 +175,8 @@ export default function JobsDetailPage({ } key="insurance" > - + - @@ -156,7 +188,6 @@ export default function JobsDetailPage({ > - @@ -168,7 +199,6 @@ export default function JobsDetailPage({ > - @@ -180,7 +210,6 @@ export default function JobsDetailPage({ > - @@ -192,7 +221,6 @@ export default function JobsDetailPage({ > Labor - @@ -204,7 +232,6 @@ export default function JobsDetailPage({ > } - diff --git a/client/src/pages/jobs-detail/jobs-detail.page.container.jsx b/client/src/pages/jobs-detail/jobs-detail.page.container.jsx index b564728a0..9c526c4df 100644 --- a/client/src/pages/jobs-detail/jobs-detail.page.container.jsx +++ b/client/src/pages/jobs-detail/jobs-detail.page.container.jsx @@ -1,4 +1,4 @@ -import { Form, notification } from "antd"; +import { notification } from "antd"; import React, { useEffect, useState } from "react"; import { useMutation, useQuery } from "react-apollo"; import { useTranslation } from "react-i18next"; @@ -11,9 +11,8 @@ import { UPDATE_JOB_STATUS } from "../../graphql/jobs.queries"; import JobsDetailPage from "./jobs-detail.page.component"; -import JobDetailFormContext from "./jobs-detail.page.context"; -function JobsDetailPageContainer({ match, form }) { +function JobsDetailPageContainer({ match }) { const { jobId } = match.params; const { t } = useTranslation(); @@ -52,49 +51,20 @@ function JobsDetailPageContainer({ match, form }) { }); }, [loading, data, t, error]); - const handleSubmit = e => { - e.preventDefault(); - - form.validateFieldsAndScroll((err, values) => { - if (err) { - notification["error"]({ - message: t("jobs.errors.validationtitle"), - description: t("jobs.errors.validation") - }); - } - if (!err) { - mutationUpdateJob({ - variables: { jobId: data.jobs_by_pk.id, job: values } - }).then(r => { - notification["success"]({ - message: t("jobs.successes.savetitle") - }); - refetch().then(r => form.resetFields()); - }); - } - }); - }; - if (loading) return ; - if (error) return ; + if (error) return ; return data.jobs_by_pk ? ( - - - + ) : ( - + ); } -export default Form.create({ name: "JobsDetailPageContainer" })( - JobsDetailPageContainer -); +export default JobsDetailPageContainer; From 8c54de9a9fbd5b1c2540fbdb3a72f1bc75bd7f53 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 28 Feb 2020 17:56:36 -0800 Subject: [PATCH 07/64] Most functionality is restored after antd upgrade. WIP on invoice enter screen. --- .../allocations-assignment.component.jsx | 1 - .../email-overlay/email-overlay.container.jsx | 41 ++++++-------- .../currency-form-item.component.jsx | 15 +++++ .../invoice-enter-modal.component.jsx | 56 +++++++++++-------- .../invoice-enter-modal.container.jsx | 50 ++++------------- .../job-lines-upsert-modal.component.jsx | 55 ++++++++++-------- client/src/graphql/jobs.queries.js | 7 ++- client/src/graphql/vendors.queries.js | 4 +- .../jobs-detail.page.component.jsx | 18 ++++-- client/src/pages/manage/manage.page.jsx | 3 - 10 files changed, 128 insertions(+), 122 deletions(-) create mode 100644 client/src/components/form-items-formatted/currency-form-item.component.jsx diff --git a/client/src/components/allocations-assignment/allocations-assignment.component.jsx b/client/src/components/allocations-assignment/allocations-assignment.component.jsx index f3f3a0a8a..b02f09bc2 100644 --- a/client/src/components/allocations-assignment/allocations-assignment.component.jsx +++ b/client/src/components/allocations-assignment/allocations-assignment.component.jsx @@ -23,7 +23,6 @@ export default connect( const { t } = useTranslation(); const onChange = e => { - console.log("e", e); setAssignment({ ...assignment, employeeid: e }); }; diff --git a/client/src/components/email-overlay/email-overlay.container.jsx b/client/src/components/email-overlay/email-overlay.container.jsx index 1730176e4..ae595207a 100644 --- a/client/src/components/email-overlay/email-overlay.container.jsx +++ b/client/src/components/email-overlay/email-overlay.container.jsx @@ -1,4 +1,4 @@ -import { Button, Modal, notification } from "antd"; +import { Modal, notification } from "antd"; import axios from "axios"; import React, { useEffect, useState } from "react"; import { useLazyQuery } from "react-apollo"; @@ -7,10 +7,7 @@ import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { toggleEmailOverlayVisible } from "../../redux/email/email.actions"; -import { - selectEmailConfig, - selectEmailVisible -} from "../../redux/email/email.selectors.js"; +import { selectEmailConfig, selectEmailVisible } from "../../redux/email/email.selectors.js"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; import EmailOverlayComponent from "./email-overlay.component"; @@ -89,24 +86,20 @@ export default connect( }; return ( -
- toggleEmailOverlayVisible()} - > - - - - - - -
+ toggleEmailOverlayVisible()} + > + + + + ); }); diff --git a/client/src/components/form-items-formatted/currency-form-item.component.jsx b/client/src/components/form-items-formatted/currency-form-item.component.jsx new file mode 100644 index 000000000..85c82e8e0 --- /dev/null +++ b/client/src/components/form-items-formatted/currency-form-item.component.jsx @@ -0,0 +1,15 @@ +import { InputNumber } from "antd"; +import React, { forwardRef } from "react"; +function FormItemCurrency(props, ref) { + return ( + `$ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",")} + parser={value => value.replace(/\$\s?|(,*)/g, "")} + precision={2} + + /> + ); +} + +export default forwardRef(FormItemCurrency); diff --git a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx index 125486e30..8df927ca9 100644 --- a/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx +++ b/client/src/components/invoice-enter-modal/invoice-enter-modal.component.jsx @@ -1,5 +1,5 @@ import { - AutoComplete, + Select, Button, DatePicker, Form, @@ -20,10 +20,9 @@ export default function InvoiceEnterModalComponent({ handleCancel, handleFinish, - handleRoAutoComplete, handleRoSelect, roAutoCompleteOptions, - handleVendorAutoComplete, + handleVendorSelect, vendorAutoCompleteOptions, lineData, @@ -48,7 +47,7 @@ export default function InvoiceEnterModalComponent({ width={"90%"} visible={visible} okText={t("general.labels.save")} - onOk={handleFinish} + onOk={() => form.submit()} okButtonProps={{ htmlType: "submit" }} onCancel={handleCancel} > @@ -59,21 +58,31 @@ export default function InvoiceEnterModalComponent({ rules={[ { required: true, - pattern: new RegExp( - "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - ), - message: t("invoices.errors.invalidro") + message: t("general.validation.required") } ]} > - + > + {roAutoCompleteOptions + ? roAutoCompleteOptions.map(o => ( + + {`${ + o.ro_number ? o.ro_number : o.est_number + } | ${o.ownr_ln || ""} ${o.ownr_fn || ""} | ${o.vehicle + .v_model_yr || ""} ${o.vehicle.v_make_desc || ""} ${o + .vehicle.v_model_desc || ""}`} + + )) + : null} +
- + > + {vendorAutoCompleteOptions + ? vendorAutoCompleteOptions.map(o => ( + + {o.name} + + )) + : null} +