Commit 74b630af authored by ZeMKI's avatar ZeMKI
Browse files

0 questions are now working

- you can now create a study with 0 questions, only post sort or only pre sort questions
- interview is adapted: it doesn't show the according question page if there are no questions
parent 99c36370
......@@ -136,7 +136,6 @@ class StudyController extends Controller
$presortQuestions[0]['type'] = "presort";
$postsortQuestions[0]['type'] = "postsort";
// extract method saveQuestionsAnswers
$this->saveQuestionsAnswers($presortQuestions, $newstudy);
$this->saveQuestionsAnswers($postsortQuestions, $newstudy);
return response()->json(['message'=>'Study Saved!','studyid'=>$newstudy->id], 200);
......@@ -153,6 +152,9 @@ class StudyController extends Controller
}
}
if(array_key_exists('question',$questions[0])){
foreach ($questions as $q) {
$question = new Question;
......@@ -198,6 +200,7 @@ class StudyController extends Controller
}
}
}
}
......
......@@ -23,7 +23,7 @@
},
"dependencies": {
"@mdi/font": "^3.5.95",
"buefy": "^0.7.3",
"buefy": "^0.7.6",
"bulma-extensions": "^6.0.1",
"child_process": "^1.0.2",
"fs": "0.0.1-security",
......
This diff is collapsed.
This diff is collapsed.
......@@ -390,7 +390,7 @@ __webpack_require__.r(__webpack_exports__);
} else {
_this.emailexistmessage = "This user is not registered, an invitation email will be sent.";
}
})["catch"](function (error) {});
}).catch(function (error) {});
} else {}
}
}
......@@ -468,7 +468,7 @@ __webpack_require__.r(__webpack_exports__);
});
}*/
})["catch"](function (error) {
}).catch(function (error) {
console.log("error " + error);
});
},
......@@ -502,10 +502,10 @@ __webpack_require__.r(__webpack_exports__);
window.axios.get('studies/users/' + _this3.study).then(function (response) {
// this.$emit('reloadusers',{'response':response,'study': this.study});
Vue.set(_this3.$parent.users, _this3.study, response.data); // this.$parent.$forceUpdate();
})["catch"](function (error) {
}).catch(function (error) {
console.log(error);
});
})["catch"](function (error) {
}).catch(function (error) {
_this3.errors = error.message;
});
}
......@@ -532,7 +532,7 @@ __webpack_require__.r(__webpack_exports__);
window.axios.post('updateuser', user).then(function (response) {
_this4.message = "";
_this4.message = response.data;
})["catch"](function (error) {
}).catch(function (error) {
_this4.errors = error.data;
});
},
......@@ -573,7 +573,7 @@ __webpack_require__.r(__webpack_exports__);
window.axios.post('resetpassword', this.usertoedit).then(function (response) {
_this6.message = "";
_this6.message = response.data;
})["catch"](function (error) {
}).catch(function (error) {
_this6.errors = error.data.errors;
});
},
......@@ -692,6 +692,7 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
$(document).on('keydown', function (e) {
if (e.keyCode == 13) {
e.preventDefault();
......@@ -796,12 +797,14 @@ $(document).ready(function () {
created: function created() {
// if there is an id
// load the study resource by corresponding id and fill the inputs
this.timestart = new Date().toISOString().slice(0, 19).replace('T', ' ');
this.timestart = new Date().toISOString().slice(0, 19).replace('T', ' '); // debug tool
 
if (this.gotos) {
this.interview.currentpage = 1;
} //study.sortings[0].pivot.details.substr(study.sortings[0].pivot.details.indexOf('circles|')+1)
} // no presort questions
 
if (this.questions.presort.length == 0) this.nextpage();
},
methods: {
makeActive: function makeActive(item) {
......@@ -811,7 +814,7 @@ $(document).ready(function () {
},
nextpage: function nextpage() {
var self = this;
var myNode = document.getElementById("sortingdisplay");
var sortingCanvas = document.getElementById("sortingdisplay");
 
if (this.interview.currentpage + 1 == 2) {
var opt = {
......@@ -827,19 +830,19 @@ $(document).ready(function () {
}
 
if (this.interview.currentpage + 1 != 2 && this.interview.structure.sortingscreenshot != "") {
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
while (sortingCanvas.firstChild) {
sortingCanvas.removeChild(sortingCanvas.firstChild);
}
}
 
this.interview.currentpage++;
},
previouspage: function previouspage() {
var myNode = document.getElementById("sortingdisplay");
var sortingCanvas = document.getElementById("sortingdisplay");
 
if (this.interview.currentpage - 1 != 2 && this.interview.structure.sortingscreenshot != "") {
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
while (sortingCanvas.firstChild) {
sortingCanvas.removeChild(sortingCanvas.firstChild);
}
} else if (this.interview.currentpage - 1 == 2 && this.interview.structure.sortingscreenshot != "") {
var self = this;
......@@ -864,10 +867,22 @@ $(document).ready(function () {
 
this.interview.currentpage--;
},
notLastPage: function notLastPage() {
return this.interview.currentpage != this.interview.pages;
},
lastPage: function lastPage() {
return this.interview.currentpage == this.interview.pages;
},
noPostSortQuestions: function noPostSortQuestions() {
return this.interview.currentpage == 2 && this.questions.postsort.length == 0;
},
confirmnextpage: function confirmnextpage() {
var _this = this;
 
if (this.interview.currentpage != this.interview.pages) {
console.log(this.notLastPage() && !(this.interview.currentpage == 2 && this.questions.postsort.length > 0));
console.log(this.lastPage() || this.noPostSortQuestions());
if (this.notLastPage() && !this.noPostSortQuestions()) {
this.$dialog.confirm({
title: 'Section Finished',
message: 'Are you sure you want to <b>end</b> the section and go to the next?',
......@@ -878,7 +893,7 @@ $(document).ready(function () {
return _this.nextpage();
}
});
} else {
} else if (this.lastPage() || this.noPostSortQuestions()) {
// final dialog
this.$dialog.confirm({
title: 'Interview Finished',
......@@ -975,7 +990,7 @@ $(document).ready(function () {
setTimeout(function () {
window.location.href = '../';
}, 1000);
})["catch"](function (error) {
}).catch(function (error) {
_this3.disableinput = false;
 
_this3.$toast.open({
......@@ -1312,7 +1327,6 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
 
 
$(document).on('keydown', function (e) {
......@@ -1327,7 +1341,7 @@ $(document).on('keydown', function (e) {
studydata: {
type: Object,
require: false,
"default": {}
default: {}
}
},
components: {
......@@ -1657,7 +1671,7 @@ $(document).on('keydown', function (e) {
window.location.href = '../studies/' + response.data.studyid + '/edit';
}, 1000);
_this.loading = false;
})["catch"](function (error) {
}).catch(function (error) {
if (error.message) _this.$snackbar.open(error.message);else {
_this.$snackbar.open(error.response.data);
}
......@@ -1696,7 +1710,7 @@ $(document).on('keydown', function (e) {
window.location.href = '../' + response.data.studyid + '/edit';
}, 1000);
_this2.loading = false;
})["catch"](function (error) {
}).catch(function (error) {
if (error.message) _this2.$snackbar.open(error.message);else {
_this2.$snackbar.open(error.response.data);
}
......@@ -1870,8 +1884,8 @@ $(document).on('keydown', function (e) {
'Content-type': 'image/*'
}
}).then(function (response) {
var image = btoa(new Uint8Array(response.data).reduce(function (data, _byte) {
return data + String.fromCharCode(_byte);
var image = btoa(new Uint8Array(response.data).reduce(function (data, byte) {
return data + String.fromCharCode(byte);
}, ''));
var base64 = "data:".concat(response.headers['content-type'].toLowerCase(), ";base64,").concat(image);
var im = new Image();
......@@ -2081,7 +2095,7 @@ __webpack_require__.r(__webpack_exports__);
_this.inputs.userroles = response.data.allroles;
_this.inputs.studies = response.data.relatedstudies;
_this.userroleselected = [0];
})["catch"](function (error) {});
}).catch(function (error) {});
},
showmodalparent: function showmodalparent() {
this.$emit('showmodalparent');
......@@ -2109,7 +2123,7 @@ __webpack_require__.r(__webpack_exports__);
_this2.message = response.data;
 
_this2.emptyform();
})["catch"](function (error) {
}).catch(function (error) {
_this2.errors = error.data.errors;
});
}
......@@ -2132,7 +2146,7 @@ __webpack_require__.r(__webpack_exports__);
this.loading = true;
this.message = "";
var self = this;
axios["delete"]('deleteuser/' + id, {
axios.delete('deleteuser/' + id, {
data: id
}).then(function (response) {
setTimeout(function () {
......@@ -2169,7 +2183,7 @@ __webpack_require__.r(__webpack_exports__);
}
 
_this4.loading = false;
})["catch"](function (error) {
}).catch(function (error) {
_this4.errors = error.data;
_this4.loading = false;
});
......@@ -2254,7 +2268,7 @@ $(document).keydown(function (event) {
outmost: 0,
center_x: 0,
center_y: 0,
"export": false
export: false
};
},
created: function created() {
......@@ -2482,7 +2496,7 @@ __webpack_require__.r(__webpack_exports__);
},
event: {
reloadusers: function reloadusers() {
window.axios.get('study' + this.study + 'users').then(function (response) {})["catch"](function (error) {});
window.axios.get('study' + this.study + 'users').then(function (response) {}).catch(function (error) {});
}
},
methods: {
......@@ -2517,7 +2531,7 @@ __webpack_require__.r(__webpack_exports__);
confirmuser: function confirmuser(user) {
window.axios.patch('usersconfirm/' + user.id).then(function (response) {
window.app.$snackbar.open("User needs to create a new password");
})["catch"](function (error) {});
}).catch(function (error) {});
},
deleteuser: function deleteuser(user) {
var _this3 = this;
......@@ -2526,8 +2540,8 @@ __webpack_require__.r(__webpack_exports__);
window.app.$snackbar.open("User deleted");
window.axios.get('studies/users/' + _this3.study).then(function (response) {
Vue.set(window.app.users, _this3.study, response.data);
})["catch"](function (error) {});
})["catch"](function (error) {});
}).catch(function (error) {});
}).catch(function (error) {});
},
changeeditpermission: function changeeditpermission(value, user) {
var valueToSend = {
......@@ -2535,7 +2549,7 @@ __webpack_require__.r(__webpack_exports__);
};
window.axios.post('users/' + user + '/canedit/' + this.study, valueToSend).then(function (response) {
window.app.$snackbar.open("Permission changed.");
})["catch"](function (error) {});
}).catch(function (error) {});
},
changestudiespermission: function changestudiespermission(value, user) {
var valueToSend = {
......@@ -2547,7 +2561,7 @@ __webpack_require__.r(__webpack_exports__);
} else {
window.app.$snackbar.open(user['email'] + ' cannot create studies.');
}
})["catch"](function (error) {});
}).catch(function (error) {});
},
isItemInArray: function isItemInArray(array, item) {
for (var i = 0; i < array.length; i++) {
......@@ -13518,7 +13532,7 @@ var render = function() {
: _vm._e()
]),
_vm._v(" "),
_vm.interview.currentpage > 0
_vm.interview.currentpage > 0 && _vm.questions.presort.length > 0
? _c(
"span",
{
......@@ -13776,7 +13790,9 @@ var render = function() {
_c("div", { staticClass: "level-item has-text-centered" }, [
_c("figure", { staticClass: "image is-128x128" }, [
_c("img", {
attrs: { src: _vm.baseUrl + "/images/sorting1.png" }
attrs: {
src: _vm.baseUrl + "/mesort/images/sorting1.png"
}
})
])
]),
......@@ -13841,47 +13857,38 @@ var render = function() {
staticStyle: { "margin-left": "1rem" }
},
[
_c("div", { staticClass: "column is-one-quarter" }, [
_c("div", { staticClass: "field " }, [
_c("label", { staticClass: "label" }, [
_vm._v("Number of tokens")
]),
_vm._v(" "),
_c("div", { staticClass: "control" }, [
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
_c(
"div",
{ staticClass: "column is-one-quarter" },
[
_c(
"b-field",
{ attrs: { label: "Number of tokens" } },
[
_c("b-numberinput", {
attrs: {
"controls-position": "compact",
type: "is-light",
id: "numberoftokens",
min: "1",
max: "50",
editable: "false",
steps: "1"
},
model: {
value: _vm.sorting.tokennumber,
callback: function($$v) {
_vm.$set(_vm.sorting, "tokennumber", $$v)
},
expression: "sorting.tokennumber"
}
],
staticClass: "input",
attrs: {
id: "numberoftokens",
type: "number",
placeholder: "",
min: "1",
max: "50"
},
domProps: { value: _vm.sorting.tokennumber },
on: {
input: function($event) {
if ($event.target.composing) {
return
}
_vm.$set(
_vm.sorting,
"tokennumber",
$event.target.value
)
}
}
})
])
])
]),
})
],
1
)
],
1
),
_vm._v(" "),
_c("div", { staticClass: "column" }, [
_c(
......@@ -16457,13 +16464,13 @@ Vue.component('v-select', vue_select__WEBPACK_IMPORTED_MODULE_8___default.a);
* or customize the JavaScript scaffolding to fit your unique needs.
*/
 
Vue.component('new-study', __webpack_require__(/*! ./components/newstudy.vue */ "./resources/js/components/newstudy.vue")["default"]);
Vue.component('new-edit-user', __webpack_require__(/*! ./components/newedituser.vue */ "./resources/js/components/newedituser.vue")["default"]);
Vue.component('user-overview', __webpack_require__(/*! ./components/overviewuser.vue */ "./resources/js/components/overviewuser.vue")["default"]);
Vue.component('new-interview', __webpack_require__(/*! ./components/newinterview.vue */ "./resources/js/components/newinterview.vue")["default"]);
Vue.component('sorting', __webpack_require__(/*! ./components/sorting.vue */ "./resources/js/components/sorting.vue")["default"]);
Vue.component('consultsorting', __webpack_require__(/*! ./components/consultsorting.vue */ "./resources/js/components/consultsorting.vue")["default"]);
Vue.component('userpart', __webpack_require__(/*! ./components/userpart.vue */ "./resources/js/components/userpart.vue")["default"]);
Vue.component('new-study', __webpack_require__(/*! ./components/newstudy.vue */ "./resources/js/components/newstudy.vue").default);
Vue.component('new-edit-user', __webpack_require__(/*! ./components/newedituser.vue */ "./resources/js/components/newedituser.vue").default);
Vue.component('user-overview', __webpack_require__(/*! ./components/overviewuser.vue */ "./resources/js/components/overviewuser.vue").default);
Vue.component('new-interview', __webpack_require__(/*! ./components/newinterview.vue */ "./resources/js/components/newinterview.vue").default);
Vue.component('sorting', __webpack_require__(/*! ./components/sorting.vue */ "./resources/js/components/sorting.vue").default);
Vue.component('consultsorting', __webpack_require__(/*! ./components/consultsorting.vue */ "./resources/js/components/consultsorting.vue").default);
Vue.component('userpart', __webpack_require__(/*! ./components/userpart.vue */ "./resources/js/components/userpart.vue").default);
Vue.config.devtools = true;
Vue.config.debug = true;
Vue.config.silent = false;
......@@ -16543,7 +16550,7 @@ Vue.mixin({
this.loading = true;
this.message = "";
var self = this;
axios["delete"]('studies/' + id, {
axios.delete('studies/' + id, {
data: id
}).then(function (response) {
setTimeout(function () {
......@@ -16551,13 +16558,13 @@ Vue.mixin({
self.$snackbar.open("Study deleted");
window.location.href = '../mesort';
}, 500);
})["catch"](function (error) {
}).catch(function (error) {
console.log(error);
self.loading = false;
self.$snackbar.open("There it was an error during the request - refresh page and try again");
});
},
"goto": function goto(url) {
goto: function goto(url) {
window.location.href = url;
}
}
......@@ -16650,7 +16657,7 @@ window.app = new Vue({
/***/ (function(module, exports, __webpack_require__) {
 
window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js");
window.Popper = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"];
window.Popper = __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js").default;
/**
* We'll load jQuery and the Bootstrap jQuery plugin which provides support
* for JavaScript based Bootstrap features such as modals and tabs. This
This diff is collapsed.
{
"/js/app.js": "/js/app.js?id=c484af3d47e67937d439",
"/css/app.css": "/css/app.css?id=4c99a0fcbfb0d96fb80c",
"/css/app_dompdf.css": "/css/app_dompdf.css?id=82141a4c119d58595641",
"/js/app.js": "/js/app.js?id=3dfd3bc36bb920dab1ce",
"/css/app.css": "/css/app.css?id=e84a82de624f811e1abd",
"/css/app_dompdf.css": "/css/app_dompdf.css?id=f2725a6164128b5948d3",
"/js/manifest.js": "/js/manifest.js?id=844cdbfe9e6b6b56ae8f",
"/js/vendor.js": "/js/vendor.js?id=6e8da90889dced2f52c5"
"/js/vendor.js": "/js/vendor.js?id=e803732b0abd596f50d8"
}
......@@ -2,6 +2,7 @@
<div class="container" style="overscroll-behavior: none;touch-action:none;overflow-x: scroll;overflow-y: hidden;margin: 0;height: 90vh;min-width: 100vw" id="style-1">
<form enctype="multipart/form-data">
<section class="section" style="padding: 5px !important;" v-if="interview.currentpage == 0">
<div class="columns">
......@@ -69,7 +70,7 @@
</div>
</section>
</form>
<span v-show="!disableinput" class="icon is-large is-size-1" style="position: fixed;bottom: 20px;left: 10px;" v-if="interview.currentpage > 0" @click="confirmpreviouspage">
<span v-show="!disableinput" class="icon is-large is-size-1" style="position: fixed;bottom: 20px;left: 10px;" v-if="interview.currentpage > 0 && questions.presort.length > 0" @click="confirmpreviouspage">
<arrow-left />
</span>
<span class="icon is-large is-size-1" v-show="!disableinput" style="position: fixed;bottom: 20px;right: 10px;" @click="confirmnextpage">
......@@ -199,11 +200,16 @@ mounted() {
// if there is an id
// load the study resource by corresponding id and fill the inputs
this.timestart = new Date().toISOString().slice(0, 19).replace('T', ' ');
// debug tool
if(this.gotos){
this.interview.currentpage =1;
}
//study.sortings[0].pivot.details.substr(study.sortings[0].pivot.details.indexOf('circles|')+1)
// no presort questions
if(this.questions.presort.length == 0) this.nextpage();
},
methods: {
......@@ -214,7 +220,7 @@ mounted() {
},
nextpage: function(){
let self = this;
var myNode = document.getElementById("sortingdisplay");
var sortingCanvas = document.getElementById("sortingdisplay");
if(this.interview.currentpage+1 == 2){
......@@ -231,25 +237,27 @@ mounted() {
self.interview.structure.sortingscreenshot = canvas.toDataURL("image/png").toString();
});
}
if(this.interview.currentpage +1 != 2 && this.interview.structure.sortingscreenshot != ""){
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
while (sortingCanvas.firstChild) {
sortingCanvas.removeChild(sortingCanvas.firstChild);
}
}
this.interview.currentpage++;
this.interview.currentpage++;
},
previouspage: function(){
var myNode = document.getElementById("sortingdisplay");
var sortingCanvas = document.getElementById("sortingdisplay");
if(this.interview.currentpage -1 != 2 && this.interview.structure.sortingscreenshot != ""){
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
while (sortingCanvas.firstChild) {
sortingCanvas.removeChild(sortingCanvas.firstChild);
}
}else if(this.interview.currentpage -1 == 2 && this.interview.structure.sortingscreenshot != ""){
let self = this;
......@@ -277,8 +285,18 @@ mounted() {
this.interview.currentpage--;
},
confirmnextpage: function() {
if(this.interview.currentpage != this.interview.pages){
notLastPage: function () {
return this.interview.currentpage != this.interview.pages;
},
lastPage: function () {
return this.interview.currentpage == this.interview.pages;
}, noPostSortQuestions: function () {
return this.interview.currentpage == 2 && this.questions.postsort.length == 0;
}, confirmnextpage: function() {
console.log(this.notLastPage() && !(this.interview.currentpage == 2 && this.questions.postsort.length > 0));
console.log(this.lastPage() || this.noPostSortQuestions());
if(this.notLastPage() && !this.noPostSortQuestions()){
this.$dialog.confirm({
title: 'Section Finished',
message: 'Are you sure you want to <b>end</b> the section and go to the next?',
......@@ -287,7 +305,7 @@ mounted() {
hasIcon: true,
onConfirm: () => this.nextpage()
})
}else{
}else if(this.lastPage() || this.noPostSortQuestions()){
// final dialog
this.$dialog.confirm({
title: 'Interview Finished',
......
......@@ -83,16 +83,15 @@
<div class="column is-four-fifths" style="margin-left: 1rem;">
<div class="column is-one-quarter">
<div class="field ">
<label class="label">Number of tokens</label>
<div class="control">
<input v-model="sorting.tokennumber" id="numberoftokens" class="input" type="number" placeholder="" min="1" max="50">
</div>
</div>
<b-field label="Number of tokens">
<b-numberinput controls-position="compact" type="is-light" v-model="sorting.tokennumber" id="numberoftokens" min="1" max="50" editable="false" steps="1"></b-numberinput>
</b-field>
</div>
<div class="column">
<div class="columns is-multiline">
<div :class="sorting.tokennumber < 4? 'column is-one-quarter' :'column is-one-quarter'" v-for="(t,index) in sorting.tokens" :key="index">
<div class="card" >
<div class="token-img" >
......
......@@ -1428,10 +1428,10 @@ browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.4.2:
electron-to-chromium "^1.3.113"
node-releases "^1.1.8"
buefy@^0.7.3:
version "0.7.3"
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.7.3.tgz#3008a20e624416e9d800d8775563afdb766e27d7"
integrity sha512-6PHKyDzU9BeExv9w5qcZJkjl9v73RWHeevWDRIZWD5TS4+dbmbzQ6z2EQc0sgbNHYesAgbX2Qd+xu5/KqDMFng==
buefy@^0.7.6:
version "0.7.6"
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.7.6.tgz#db0c4874a4d16cae8b774b085cd70f5362f14f8d"
integrity sha512-Mnx2E6hrGzEB2R/smkRFekHVdhtZR/qJU6/ARW5g8VAyL0r9EtZkPHWEEYB8ZDi7AKGNF0CTTqZc4j24cASMbQ==
dependencies:
bulma "0.7.4"
......@@ -2409,7 +2409,7 @@ debug@^4.1.0, debug@^4.1.1:
dependencies:
ms "^2.1.1"
debuglog@*, debuglog@^1.0.1:
debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
......@@ -3737,10 +3737,10 @@ html2canvas@1.0.0-alpha.12, html2canvas@^1.0.0-alpha.12:
dependencies:
css-line-break "1.0.1"
html2canvas@^1.0.0-rc.0:
version "1.0.0-rc.0"
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.0.0-rc.0.tgz#2c723e77061423b1590da8d1e3047720ed4c0bfb"
integrity sha512-frTeoKJqVsA5F/kS5O119dvkJonKz21twDQHaxoRlTK81wjWZ8HHL5XrXcOXW61Wf/qH0HvhWj1ymRYDsTziEw==
html2canvas@^1.0.0-rc.1:
version "1.0.0-rc.1"
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.0.0-rc.1.tgz#422222d21332d05ca55d86954e5f413e17fae6fb"
integrity sha512-ImguLJ3goQnY0P6z7n6VqBZ+ViS77Hv6J7iYXBxvdb3NWz3s8/mqr4/Lj0OlMUb3ID+qCQ1BPLIBuRMqhgqvYg==
dependencies:
css-line-break "1.0.1"
......@@ -3946,7 +3946,7 @@ import-local@^2.0.0:
pkg-dir "^3.0.0"
resolve-cwd "^2.0.0"