diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel
index 8e1022741..b4aaee9da 100644
--- a/bodyshop_translations.babel
+++ b/bodyshop_translations.babel
@@ -11980,6 +11980,27 @@
+
+ productionboard
+ false
+
+
+
+
+
+ en-US
+ false
+
+
+ es-MX
+ false
+
+
+ fr-CA
+ false
+
+
+
productionlist
false
@@ -12360,6 +12381,27 @@
+
+ productionboard
+ false
+
+
+
+
+
+ en-US
+ false
+
+
+ es-MX
+ false
+
+
+ fr-CA
+ false
+
+
+
productionlist
false
diff --git a/client/package.json b/client/package.json
index 802da011c..0d2424469 100644
--- a/client/package.json
+++ b/client/package.json
@@ -40,6 +40,7 @@
"react-redux": "^7.2.0",
"react-router-dom": "^5.1.2",
"react-scripts": "3.4.1",
+ "react-trello": "^2.2.5",
"redux": "^4.0.5",
"redux-persist": "^6.0.0",
"redux-saga": "^1.1.3",
diff --git a/client/src/components/production-board-kanban/production-board-kanban.component.jsx b/client/src/components/production-board-kanban/production-board-kanban.component.jsx
new file mode 100644
index 000000000..06507f545
--- /dev/null
+++ b/client/src/components/production-board-kanban/production-board-kanban.component.jsx
@@ -0,0 +1,52 @@
+import React from "react";
+import Board from "react-trello";
+import { Card } from "antd";
+import LoadingSpinner from "../loading-spinner/loading-spinner.component";
+
+export default function ProductionBoardKanbanComponent({
+ loading,
+ data,
+ columnState,
+}) {
+ console.log("data", data);
+ const data2 = {
+ lanes: [
+ {
+ id: "lane1",
+ title: "Planned Tasks",
+ label: "2/2",
+ cards: [
+ {
+ id: "Card1",
+ title: "Write Blog",
+ description: "Can AI make memes",
+ label: "30 mins",
+ },
+ {
+ id: "Card2",
+ title: "Pay Rent",
+ description: "Transfer via NEFT",
+ label: "5 mins",
+ metadata: { sha: "be312a1" },
+ },
+ ],
+ },
+ {
+ id: "lane2",
+ title: "Completed",
+ label: "0/0",
+ cards: [],
+ },
+ ],
+ };
+
+ const kanbanCard = (card) => {card.title};
+
+ if (loading) return ;
+
+ return (
+
+
+
+ );
+}
diff --git a/client/src/components/production-board-kanban/production-board-kanban.container.jsx b/client/src/components/production-board-kanban/production-board-kanban.container.jsx
new file mode 100644
index 000000000..8365cf8c9
--- /dev/null
+++ b/client/src/components/production-board-kanban/production-board-kanban.container.jsx
@@ -0,0 +1,17 @@
+import { useSubscription } from "@apollo/react-hooks";
+import React from "react";
+import { SUBSCRIPTION_JOBS_IN_PRODUCTION } from "../../graphql/jobs.queries";
+import ProductionBoardKanbanComponent from "./production-board-kanban.component";
+
+export default function ProductionBoardKanbanContainer({ columnState }) {
+ const { loading, data } = useSubscription(SUBSCRIPTION_JOBS_IN_PRODUCTION);
+
+ return (
+
+ );
+}
diff --git a/client/src/pages/manage/manage.page.component.jsx b/client/src/pages/manage/manage.page.component.jsx
index 4a862c8ec..32bd51ae2 100644
--- a/client/src/pages/manage/manage.page.component.jsx
+++ b/client/src/pages/manage/manage.page.component.jsx
@@ -80,6 +80,9 @@ const TimeTicketModalContainer = lazy(() =>
const ProductionListPage = lazy(() =>
import("../production-list/production-list.container")
);
+const ProductionBoardPage = lazy(() =>
+ import("../production-board/production-board.container")
+);
const { Header, Content, Footer } = Layout;
export default function Manage({ match }) {
@@ -173,6 +176,11 @@ export default function Manage({ match }) {
path={`${match.path}/production/list`}
component={ProductionListPage}
/>
+
;
+}
diff --git a/client/src/pages/production-board/production-board.container.jsx b/client/src/pages/production-board/production-board.container.jsx
new file mode 100644
index 000000000..f021cfbb5
--- /dev/null
+++ b/client/src/pages/production-board/production-board.container.jsx
@@ -0,0 +1,45 @@
+import React, { useEffect, useState } from "react";
+import { useTranslation } from "react-i18next";
+import { connect } from "react-redux";
+import { createStructuredSelector } from "reselect";
+import { setBreadcrumbs } from "../../redux/application/application.actions";
+import { selectBodyshop } from "../../redux/user/user.selectors";
+import ProductionBoardComponent from "./production-board.component";
+import ProductionListColumns from "../../components/production-list-columns/production-list-columns.data";
+
+const mapStateToProps = createStructuredSelector({
+ bodyshop: selectBodyshop,
+});
+
+const mapDispatchToProps = (dispatch) => ({
+ setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
+});
+
+export function ProductionBoardContainer({ setBreadcrumbs, bodyshop }) {
+ const { t } = useTranslation();
+ const columnState = useState(
+ (bodyshop.production_config &&
+ bodyshop.production_config.columnKeys.map((k) =>
+ ProductionListColumns.find((e) => e.key === k)
+ )) ||
+ []
+ );
+ // console.log("ProductionListContainer -> columnState", columnState);
+
+ useEffect(() => {
+ document.title = t("titles.productionboard");
+ setBreadcrumbs([
+ { link: "/manage/production/board", label: t("titles.bc.productionboard") },
+ ]);
+ }, [t, setBreadcrumbs]);
+
+ return (
+
+ );
+}
+export default connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(ProductionBoardContainer);
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index 89ba35c18..8b1bad769 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -781,6 +781,7 @@
"jobs-new": "Create a New Job",
"owner-detail": "{{name}}",
"owners": "Owners",
+ "productionboard": "Production Board",
"productionlist": "Production - List",
"schedule": "Schedule",
"vehicle-details": "Vehicle: {{vehicle}}",
@@ -800,6 +801,7 @@
"manageroot": "Home | $t(titles.app)",
"owners": "All Owners | $t(titles.app)",
"owners-detail": "{{name}} | $t(titles.app)",
+ "productionboard": "Production - Board",
"productionlist": "Production - List View | $t(titles.app)",
"profile": "My Profile | $t(titles.app)",
"schedule": "Schedule | $t(titles.app)",
diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json
index 131efa2af..e0dca7d2d 100644
--- a/client/src/translations/es/common.json
+++ b/client/src/translations/es/common.json
@@ -781,6 +781,7 @@
"jobs-new": "",
"owner-detail": "",
"owners": "",
+ "productionboard": "",
"productionlist": "",
"schedule": "",
"vehicle-details": "",
@@ -800,6 +801,7 @@
"manageroot": "Casa | $t(titles.app)",
"owners": "Todos los propietarios | $t(titles.app)",
"owners-detail": "",
+ "productionboard": "",
"productionlist": "",
"profile": "Mi perfil | $t(titles.app)",
"schedule": "Horario | $t(titles.app)",
diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json
index 79dacbb1a..99229426e 100644
--- a/client/src/translations/fr/common.json
+++ b/client/src/translations/fr/common.json
@@ -781,6 +781,7 @@
"jobs-new": "",
"owner-detail": "",
"owners": "",
+ "productionboard": "",
"productionlist": "",
"schedule": "",
"vehicle-details": "",
@@ -800,6 +801,7 @@
"manageroot": "Accueil | $t(titles.app)",
"owners": "Tous les propriétaires | $t(titles.app)",
"owners-detail": "",
+ "productionboard": "",
"productionlist": "",
"profile": "Mon profil | $t(titles.app)",
"schedule": "Horaire | $t(titles.app)",
diff --git a/client/yarn.lock b/client/yarn.lock
index 1cd84472e..6caf6b743 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -3111,6 +3111,11 @@ autoprefixer@^9.6.1:
postcss "^7.0.26"
postcss-value-parser "^4.0.2"
+autosize@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.2.tgz#073cfd07c8bf45da4b9fd153437f5bafbba1e4c9"
+ integrity sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA==
+
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
@@ -3888,7 +3893,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
-classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@~2.2.6:
+classnames@2.x, "classnames@>= 2.0", classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@~2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
@@ -6716,6 +6721,13 @@ immer@1.10.0:
resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d"
integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==
+immutability-helper@^2.8.1:
+ version "2.9.1"
+ resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.9.1.tgz#71c423ba387e67b6c6ceba0650572f2a2a6727df"
+ integrity sha512-r/RmRG8xO06s/k+PIaif2r5rGc3j4Yhc01jSBfwPCXDLYZwp/yxralI37Df1mwmuzcCsen/E/ITKcTEvc1PQmQ==
+ dependencies:
+ invariant "^2.2.0"
+
import-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
@@ -6863,7 +6875,7 @@ internal-slot@^1.0.2:
has "^1.0.3"
side-channel "^1.0.2"
-invariant@^2.2.2, invariant@^2.2.4:
+invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
@@ -7905,6 +7917,11 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3:
array-includes "^3.0.3"
object.assign "^4.1.0"
+just-curry-it@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/just-curry-it/-/just-curry-it-3.1.0.tgz#ab59daed308a58b847ada166edd0a2d40766fbc5"
+ integrity sha512-mjzgSOFzlrurlURaHVjnQodyPNvrHrf1TbQP2XU9NSqBtHQPuHZ+Eb6TAJP7ASeJN9h9K0KXoRTs8u6ouHBKvg==
+
killable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
@@ -10291,7 +10308,7 @@ prop-types-exact@^1.2.0:
object.assign "^4.1.0"
reflect.ownkeys "^0.2.0"
-prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -10898,6 +10915,10 @@ react-big-calendar@^0.24.5:
react-overlays "^2.0.0-0"
uncontrollable "^7.0.0"
+"react-click-outside@github:tj/react-click-outside":
+ version "1.1.1"
+ resolved "https://codeload.github.com/tj/react-click-outside/tar.gz/a833ddc5be47490307f9fcc6ed09d8c353108510"
+
react-dev-utils@^10.2.1:
version "10.2.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19"
@@ -10928,7 +10949,7 @@ react-dev-utils@^10.2.1:
strip-ansi "6.0.0"
text-table "0.2.0"
-react-dom@^16.13.1:
+"react-dom@>= 16.3", react-dom@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
@@ -11022,7 +11043,7 @@ react-is@^16.6.0, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.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:
+react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
@@ -11071,11 +11092,35 @@ react-overlays@^2.0.0-0:
uncontrollable "^7.0.0"
warning "^4.0.3"
+react-popopo@^2.1.9:
+ version "2.1.9"
+ resolved "https://registry.yarnpkg.com/react-popopo/-/react-popopo-2.1.9.tgz#d93f70a8fb68227907d00c0cea4d8f5d321053ea"
+ integrity sha512-zXOpcLSpaLZmBxhdtenJzQPLjY81XknVS/tXH4Kv5BBrnYIUPHvVdGmS7+o9s7DjCzzdK7AdVwtG+FVSO0cZ8g==
+ dependencies:
+ classnames ">= 2.0"
+ prop-types "^15.7.2"
+ react ">= 16.3"
+ react-dom ">= 16.3"
+ styled-components ">= 4.0"
+
react-prop-toggle@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/react-prop-toggle/-/react-prop-toggle-1.0.2.tgz#8b0b7e74653606b1427cfcf6c4eaa9198330568e"
integrity sha512-JmerjAXs7qJ959+d0Ygt7Cb2+4fG+n3I2VXO6JO0AcAY1vkRN/JpZKAN67CMXY889xEJcfylmMPhzvf6nWO68Q==
+react-redux@^5.0.7:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.2.tgz#b19cf9e21d694422727bf798e934a916c4080f57"
+ integrity sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+ hoist-non-react-statics "^3.3.0"
+ invariant "^2.2.4"
+ loose-envify "^1.1.0"
+ prop-types "^15.6.1"
+ react-is "^16.6.0"
+ react-lifecycles-compat "^3.0.0"
+
react-redux@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d"
@@ -11212,7 +11257,26 @@ react-transition-group@2:
prop-types "^15.6.2"
react-lifecycles-compat "^3.0.4"
-react@^16.13.1:
+react-trello@^2.2.5:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/react-trello/-/react-trello-2.2.5.tgz#8da753748b0e3f0ff66582bfbc8d48c2a1191172"
+ integrity sha512-stI5fZ0yJ+ZaSfmaqG5kGG6lEXz+LEcaIwk1+pAN1V1X5fOP2IwEj9L22gHIrblwK3+I4Q6nQ6scIr7MoehbZQ==
+ dependencies:
+ autosize "^4.0.2"
+ classnames "^2.2.6"
+ immutability-helper "^2.8.1"
+ lodash "^4.17.11"
+ prop-types "^15.7.2"
+ react-click-outside tj/react-click-outside
+ react-popopo "^2.1.9"
+ react-redux "^5.0.7"
+ redux "^4.0.0"
+ redux-actions "^2.6.1"
+ redux-logger "^3.0.6"
+ trello-smooth-dnd "1.0.0"
+ uuid "^3.3.2"
+
+"react@>= 16.3", react@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
@@ -11344,6 +11408,22 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
+reduce-reducers@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.4.3.tgz#8e052618801cd8fc2714b4915adaa8937eb6d66c"
+ integrity sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==
+
+redux-actions@^2.6.1:
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.5.tgz#bdca548768ee99832a63910c276def85e821a27e"
+ integrity sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==
+ dependencies:
+ invariant "^2.2.4"
+ just-curry-it "^3.1.0"
+ loose-envify "^1.4.0"
+ reduce-reducers "^0.4.3"
+ to-camel-case "^1.0.0"
+
redux-logger@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf"
@@ -11363,7 +11443,7 @@ redux-saga@^1.1.3:
dependencies:
"@redux-saga/core" "^1.1.3"
-redux@^4.0.4, redux@^4.0.5:
+redux@^4.0.0, redux@^4.0.4, redux@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
@@ -12615,7 +12695,7 @@ style-loader@0.23.1:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
-styled-components@^5.1.0:
+"styled-components@>= 4.0", styled-components@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.1.0.tgz#2e3985b54f461027e1c91af3229e1c2530872a4e"
integrity sha512-0Qs2wEkFBXHFlysz6CV831VG6HedcrFUwChjnWylNivsx14MtmqQsohi21rMHZxzuTba063dEyoe/SR6VGJI7Q==
@@ -12863,11 +12943,23 @@ to-arraybuffer@^1.0.0:
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+to-camel-case@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46"
+ integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY=
+ dependencies:
+ to-space-case "^1.0.0"
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+to-no-case@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a"
+ integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo=
+
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -12900,6 +12992,13 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
+to-space-case@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17"
+ integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc=
+ dependencies:
+ to-no-case "^1.0.0"
+
toggle-selection@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
@@ -12925,6 +13024,11 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
+trello-smooth-dnd@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trello-smooth-dnd/-/trello-smooth-dnd-1.0.0.tgz#0003d5b35a1651a16a165b7bfb6b41d0a7c52a17"
+ integrity sha512-KgYEwmxX08Dl4OmioEv24LSnlNp9jNv8lwTQlUMbMm6B+VuwyQuuuoyu4wlsRweiMCCC6sZXpCCGkmAni/vCaQ==
+
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"