diff --git a/public/static/bundle.js b/public/static/bundle.js index d9199f2..cfe4706 100644 --- a/public/static/bundle.js +++ b/public/static/bundle.js @@ -20,13 +20,53 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css": -/*!***********************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css ***! - \***********************************************************************************************************************************/ +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/Beat.css": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/Beat.css ***! + \**********************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".beatSettingsView {\\n display: none;\\n}\\n\\n.beatSettingsView.visible {\\n display: block;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;AACjB;;AAEA;IACI,cAAc;AAClB\",\"sourcesContent\":[\".beatSettingsView {\\n display: none;\\n}\\n\\n.beatSettingsView.visible {\\n display: block;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".beat:first-child {\\n padding-left: 5px;\\n}\\n\\n.beat:last-child {\\n padding-right: 0;\\n}\\n\\n.beat > * {\\n padding-right: 1em;\\n padding-left: 1em;\\n}\\n\\n.beat-settings-btn {\\n cursor: pointer;\\n line-height: 2em;\\n display: inline-block;\\n height: 2em;\\n border: 1px solid grey;\\n border-radius: 1em;\\n user-select: none;\\n transition: background-color 150ms;\\n}\\n\\n.beat-settings-btn:hover {\\n background-color: #eaeaea;\\n}\\n\\n.beat-settings-btn.active {\\n background-color: lightgrey;\\n transition: none;\\n}\\n\\n.beat-unit-block {\\n height: 2em;\\n}\\n\\n.beat-title {\\n line-height: 2em;\\n width: 3em;\\n margin: 0;\\n}\\n\\n.beat-spacer {\\n display: inline-block;\\n width: 1em;\\n height: 2em;\\n}\\n\\n.beat-main {\\n display: inline-flex;\\n}\\n\\n.beat-settings-container {\\n display: flex;\\n}\\n\\n.beat {\\n width: max-content;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/Beat/Beat.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;AACrB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,WAAW;IACX,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,kCAAkC;AACtC;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,gBAAgB;IAChB,UAAU;IACV,SAAS;AACb;;AAEA;IACI,qBAAqB;IACrB,UAAU;IACV,WAAW;AACf;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\".beat:first-child {\\n padding-left: 5px;\\n}\\n\\n.beat:last-child {\\n padding-right: 0;\\n}\\n\\n.beat > * {\\n padding-right: 1em;\\n padding-left: 1em;\\n}\\n\\n.beat-settings-btn {\\n cursor: pointer;\\n line-height: 2em;\\n display: inline-block;\\n height: 2em;\\n border: 1px solid grey;\\n border-radius: 1em;\\n user-select: none;\\n transition: background-color 150ms;\\n}\\n\\n.beat-settings-btn:hover {\\n background-color: #eaeaea;\\n}\\n\\n.beat-settings-btn.active {\\n background-color: lightgrey;\\n transition: none;\\n}\\n\\n.beat-unit-block {\\n height: 2em;\\n}\\n\\n.beat-title {\\n line-height: 2em;\\n width: 3em;\\n margin: 0;\\n}\\n\\n.beat-spacer {\\n display: inline-block;\\n width: 1em;\\n height: 2em;\\n}\\n\\n.beat-main {\\n display: inline-flex;\\n}\\n\\n.beat-settings-container {\\n display: flex;\\n}\\n\\n.beat {\\n width: max-content;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/Beat.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css": +/*!*******************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css ***! + \*******************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".beat-settings {\\n padding: 1em;\\n display: none;\\n text-align: center;\\n width: 40em;\\n justify-content: space-evenly;\\n}\\n\\n.beat-settings.visible {\\n display: inline-flex;\\n}\\n\\n.beat-settings-time-sig-up {\\n display: block;\\n}\\n\\n.beat-settings-time-sig-down {\\n display: block;\\n}\\n\\n.beat-settings-option {\\n display: inline-block;\\n}\\n\\n.beat-settings-option-group {\\n align-self: stretch;\\n}\\n\\n.beat-settings-time-sig input {\\n margin: auto;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,6BAA6B;AACjC;;AAEA;IACI,oBAAoB;AACxB;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,YAAY;AAChB\",\"sourcesContent\":[\".beat-settings {\\n padding: 1em;\\n display: none;\\n text-align: center;\\n width: 40em;\\n justify-content: space-evenly;\\n}\\n\\n.beat-settings.visible {\\n display: inline-flex;\\n}\\n\\n.beat-settings-time-sig-up {\\n display: block;\\n}\\n\\n.beat-settings-time-sig-down {\\n display: block;\\n}\\n\\n.beat-settings-option {\\n display: inline-block;\\n}\\n\\n.beat-settings-option-group {\\n align-self: stretch;\\n}\\n\\n.beat-settings-time-sig input {\\n margin: auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css ***! + \***********************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".beat-unit {\\n width: 2em;\\n height: 2em;\\n margin-right: 0.2em;\\n background-color: white;\\n border-width: 0.1em 0.1em 0.1em 0.1em;\\n border-color: black;\\n border-style: solid;\\n display: inline-block;\\n transition: background-color 150ms;\\n cursor: pointer;\\n}\\n\\n.beat-unit:hover {\\n background-color: #f1c3b6;\\n transition: none;\\n}\\n\\n.beat-unit.beat-unit-ghost:hover {\\n background-color: #c9e2c9;\\n}\\n\\n.beat-unit.beat-unit-on {\\n background-color: darksalmon;\\n transition: none;\\n}\\n\\n.beat-unit.beat-unit-on.beat-unit-ghost {\\n background-color: darkseagreen;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,uBAAuB;IACvB,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,kCAAkC;IAClC,eAAe;AACnB;;AAEA;IACI,yBAAyB;IACzB,gBAAgB;AACpB;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,4BAA4B;IAC5B,gBAAgB;AACpB;;AAEA;IACI,8BAA8B;AAClC\",\"sourcesContent\":[\".beat-unit {\\n width: 2em;\\n height: 2em;\\n margin-right: 0.2em;\\n background-color: white;\\n border-width: 0.1em 0.1em 0.1em 0.1em;\\n border-color: black;\\n border-style: solid;\\n display: inline-block;\\n transition: background-color 150ms;\\n cursor: pointer;\\n}\\n\\n.beat-unit:hover {\\n background-color: #f1c3b6;\\n transition: none;\\n}\\n\\n.beat-unit.beat-unit-ghost:hover {\\n background-color: #c9e2c9;\\n}\\n\\n.beat-unit.beat-unit-on {\\n background-color: darksalmon;\\n transition: none;\\n}\\n\\n.beat-unit.beat-unit-on.beat-unit-ghost {\\n background-color: darkseagreen;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css": +/*!************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css ***! + \************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".beat-group-settings {\\n}\\n\\n.beat-group-settings-options {\\n padding: 1em;\\n display: inline-flex;\\n width: 40em;\\n justify-content: space-evenly;\\n}\\n\\n.beat-group-settings-option {\\n display: inline-block;\\n text-align: center;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css\"],\"names\":[],\"mappings\":\"AAAA;AACA;;AAEA;IACI,YAAY;IACZ,oBAAoB;IACpB,WAAW;IACX,6BAA6B;AACjC;;AAEA;IACI,qBAAqB;IACrB,kBAAkB;AACtB\",\"sourcesContent\":[\".beat-group-settings {\\n}\\n\\n.beat-group-settings-options {\\n padding: 1em;\\n display: inline-flex;\\n width: 40em;\\n justify-content: space-evenly;\\n}\\n\\n.beat-group-settings-option {\\n display: inline-block;\\n text-align: center;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css": +/*!******************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css ***! + \******************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".loop-settings-option-group {\\n margin-top: 1em;\\n}\\n\\n.loop-settings-option > label {\\n width: 5em;\\n text-align: left;\\n}\\n\\n.loop-settings > p {\\n margin: 0;\\n text-align: center;\\n}\\n\\n.loop-settings-option {\\n display: flex;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,eAAe;AACnB;;AAEA;IACI,UAAU;IACV,gBAAgB;AACpB;;AAEA;IACI,SAAS;IACT,kBAAkB;AACtB;;AAEA;IACI,aAAa;AACjB\",\"sourcesContent\":[\".loop-settings-option-group {\\n margin-top: 1em;\\n}\\n\\n.loop-settings-option > label {\\n width: 5em;\\n text-align: left;\\n}\\n\\n.loop-settings > p {\\n margin: 0;\\n text-align: center;\\n}\\n\\n.loop-settings-option {\\n display: flex;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); /***/ }), @@ -36,7 +76,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".rootView {\\n margin: auto;\\n width: 80%;\\n}\\n\\n.rootView .title {\\n text-align: center;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/Root/Root.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,YAAY;IACZ,UAAU;AACd;;AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\".rootView {\\n margin: auto;\\n width: 80%;\\n}\\n\\n.rootView .title {\\n text-align: center;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/Root/Root.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".root {\\n margin-left: 10em;\\n margin-right: 10em;\\n}\\n\\n.root .title {\\n text-align: center;\\n}\\n\\n.root input[type=\\\"number\\\"] {\\n width: 5em;\\n}\\n\\n* {\\n user-drag: none;\\n user-select: none;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/Root/Root.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,kBAAkB;AACtB;;AAEA;IACI,UAAU;AACd;;AAEA;IACI,eAAe;IACf,iBAAiB;AACrB\",\"sourcesContent\":[\".root {\\n margin-left: 10em;\\n margin-right: 10em;\\n}\\n\\n.root .title {\\n text-align: center;\\n}\\n\\n.root input[type=\\\"number\\\"] {\\n width: 5em;\\n}\\n\\n* {\\n user-drag: none;\\n user-select: none;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/Root/Root.css?./node_modules/css-loader/dist/cjs.js??ruleSet%5B1%5D.rules%5B1%5D.use%5B1%5D"); /***/ }), @@ -70,13 +110,53 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css": -/*!*****************************************************************!*\ - !*** ./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css ***! - \*****************************************************************/ +/***/ "./src/ui/BeatGroup/Beat/Beat.css": +/*!****************************************!*\ + !*** ./src/ui/BeatGroup/Beat/Beat.css ***! + \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./BeatSettingsView.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_Beat_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./Beat.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/Beat.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_Beat_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_Beat_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_Beat_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_Beat_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/Beat.css?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css": +/*!*************************************************************!*\ + !*** ./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettings_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./BeatSettings.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettings_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettings_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css": +/*!*****************************************************!*\ + !*** ./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatUnit_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./BeatUnit.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatUnit_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatUnit_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatUnit_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatUnit_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css": +/*!******************************************************************!*\ + !*** ./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./BeatGroupSettings.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css": +/*!************************************************************************!*\ + !*** ./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./BeatLikeLoopSettings.css */ \"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_6__.default, options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_6__.default && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_1_use_1_BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_6__.default.locals : undefined);\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css?"); /***/ }), @@ -156,7 +236,7 @@ eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, style) {\ \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BeatEvents\": () => (/* binding */ BeatEvents),\n/* harmony export */ \"default\": () => (/* binding */ Beat)\n/* harmony export */ });\n/* harmony import */ var _BeatUnit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BeatUnit */ \"./src/BeatUnit.ts\");\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n\n\nvar BeatEvents;\n(function (BeatEvents) {\n BeatEvents[BeatEvents[\"NewTimeSig\"] = 0] = \"NewTimeSig\";\n BeatEvents[BeatEvents[\"NewBarCount\"] = 1] = \"NewBarCount\";\n BeatEvents[BeatEvents[\"NewName\"] = 2] = \"NewName\";\n BeatEvents[BeatEvents[\"UnitChanged\"] = 3] = \"UnitChanged\";\n})(BeatEvents || (BeatEvents = {}));\nclass Beat {\n static count = 0;\n key;\n name;\n timeSigUp = 4;\n timeSigDown = 4;\n unitRecord = [];\n barCount = 1;\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_1__.Publisher();\n constructor(options) {\n this.key = `Beat-${Beat.count}`;\n this.name = options?.name ?? this.key;\n this.setTimeSignature({ up: options?.timeSig?.up ?? 4, down: options?.timeSig?.down ?? 4 });\n this.setBars(options?.bars ?? 48);\n Beat.count++;\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n setTimeSignature(timeSig) {\n if (timeSig.up && Beat.isValidTimeSigRange(timeSig.up)) {\n this.timeSigUp = timeSig.up | 0;\n }\n if (timeSig.down && Beat.isValidTimeSigRange(timeSig.down)) {\n this.timeSigDown = timeSig.down | 0;\n }\n this.updateBeatUnitLength();\n this.publisher.notifySubs(BeatEvents.NewTimeSig);\n }\n setBars(barCount) {\n const isPosInt = (barCount > 0 && (barCount | 0) === barCount);\n if (!isPosInt || barCount == this.barCount) {\n return;\n }\n this.barCount = barCount;\n this.updateBeatUnitLength();\n this.publisher.notifySubs(BeatEvents.NewBarCount);\n }\n updateBeatUnitLength() {\n const newBarCount = this.barCount * this.timeSigUp;\n if (newBarCount < this.unitRecord.length) {\n this.unitRecord.splice(this.barCount * this.timeSigUp, this.unitRecord.length - newBarCount);\n }\n else if (newBarCount > this.unitRecord.length) {\n const barsToAdd = newBarCount - this.unitRecord.length;\n for (let i = 0; i < barsToAdd; i++) {\n this.unitRecord.push(new _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.default());\n }\n }\n }\n getTimeSigUp() {\n return this.timeSigUp;\n }\n getTimeSigDown() {\n return this.timeSigDown;\n }\n turnUnitOn(index) {\n if (Math.abs(index | 0) !== index) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.setOn(true);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n turnUnitOff(index) {\n if (Math.abs(index | 0) !== index) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.setOn(false);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n toggleUnit(index) {\n if (Math.abs(index | 0) !== index) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.toggle();\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n setUnitType(index, type) {\n if (Math.abs(index | 0) !== index) {\n return;\n }\n this.getUnit(index).setType(type);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n unitIsOn(index) {\n return this.getUnit(index)?.isOn();\n }\n unitType(index) {\n return this.getUnit(index)?.getType();\n }\n getUnit(index) {\n if (!this.unitRecord[index]) {\n throw new Error(`Invalid beat unit index! - ${index}`);\n }\n return this.unitRecord[index];\n }\n getBarCount() {\n return this.barCount;\n }\n getKey() {\n return this.key;\n }\n static isValidTimeSigRange(sig) {\n return sig >= 2 && sig <= 64;\n }\n setName(newName) {\n this.name = newName;\n this.publisher.notifySubs(BeatEvents.NewName);\n }\n getName() {\n return this.name;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/Beat.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BeatEvents\": () => (/* binding */ BeatEvents),\n/* harmony export */ \"default\": () => (/* binding */ Beat)\n/* harmony export */ });\n/* harmony import */ var _BeatUnit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BeatUnit */ \"./src/BeatUnit.ts\");\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n\n\n\nvar BeatEvents;\n(function (BeatEvents) {\n BeatEvents[BeatEvents[\"NewTimeSig\"] = 0] = \"NewTimeSig\";\n BeatEvents[BeatEvents[\"NewBarCount\"] = 1] = \"NewBarCount\";\n BeatEvents[BeatEvents[\"NewName\"] = 2] = \"NewName\";\n BeatEvents[BeatEvents[\"UnitChanged\"] = 3] = \"UnitChanged\";\n BeatEvents[BeatEvents[\"DisplayTypeChanged\"] = 4] = \"DisplayTypeChanged\";\n BeatEvents[BeatEvents[\"LoopLengthChanged\"] = 5] = \"LoopLengthChanged\";\n})(BeatEvents || (BeatEvents = {}));\nclass Beat {\n static count = 0;\n key;\n name;\n timeSigUp = 4;\n timeSigDown = 4;\n unitRecord = [];\n barCount = 1;\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_1__.Publisher();\n loopLength;\n looping;\n constructor(options) {\n this.key = `Beat-${Beat.count}`;\n this.name = options?.name ?? this.key;\n this.setTimeSignature({ up: options?.timeSig?.up ?? 4, down: options?.timeSig?.down ?? 4 });\n this.setBarCount(options?.bars ?? 4);\n Beat.count++;\n this.loopLength = options?.loopLength ?? this.timeSigUp * this.barCount;\n this.looping = options?.isLooping ?? false;\n }\n setLoopLength(loopLength) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(loopLength) || loopLength < 2) {\n return;\n }\n this.loopLength = loopLength | 0;\n this.publisher.notifySubs(BeatEvents.LoopLengthChanged);\n }\n setLooping(isLooping) {\n this.looping = isLooping;\n this.publisher.notifySubs(BeatEvents.DisplayTypeChanged);\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n setTimeSignature(timeSig) {\n if (timeSig.up && Beat.isValidTimeSigRange(timeSig.up)) {\n this.timeSigUp = timeSig.up | 0;\n this.loopLength = this.timeSigUp * this.barCount;\n }\n if (timeSig.down && Beat.isValidTimeSigRange(timeSig.down)) {\n this.timeSigDown = timeSig.down | 0;\n }\n this.updateBeatUnitLength();\n this.publisher.notifySubs(BeatEvents.NewTimeSig);\n }\n setBarCount(barCount) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(barCount) || barCount == this.barCount) {\n return;\n }\n this.barCount = barCount;\n this.loopLength = this.timeSigUp * this.barCount;\n this.updateBeatUnitLength();\n this.publisher.notifySubs(BeatEvents.NewBarCount);\n }\n getUnitByIndex(index) {\n if (this.looping) {\n return this.unitRecord[index % this.loopLength];\n }\n return this.unitRecord[index] ?? null;\n }\n updateBeatUnitLength() {\n const newBarCount = this.barCount * this.timeSigUp;\n if (newBarCount < this.unitRecord.length) {\n this.unitRecord.splice(this.barCount * this.timeSigUp, this.unitRecord.length - newBarCount);\n }\n else if (newBarCount > this.unitRecord.length) {\n const barsToAdd = newBarCount - this.unitRecord.length;\n for (let i = 0; i < barsToAdd; i++) {\n this.unitRecord.push(new _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.default());\n }\n }\n }\n getTimeSigUp() {\n return this.timeSigUp;\n }\n getTimeSigDown() {\n return this.timeSigDown;\n }\n turnUnitOn(index) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(index)) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.setOn(true);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n turnUnitOff(index) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(index)) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.setOn(false);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n toggleUnit(index) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(index)) {\n return;\n }\n const unit = this.getUnit(index);\n if (unit) {\n unit.toggle();\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n }\n setUnitType(index, type) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(index)) {\n return;\n }\n this.getUnit(index).setType(type);\n this.publisher.notifySubs(BeatEvents.UnitChanged);\n }\n unitIsOn(index) {\n return this.getUnit(index)?.isOn();\n }\n unitType(index) {\n return this.getUnit(index)?.getType();\n }\n getUnit(index) {\n if (!this.unitRecord[index]) {\n throw new Error(`Invalid beat unit index! - ${index}`);\n }\n return this.unitRecord[index];\n }\n getBarCount() {\n return this.barCount;\n }\n getKey() {\n return this.key;\n }\n static isValidTimeSigRange(sig) {\n return sig >= 2 && sig <= 64;\n }\n setName(newName) {\n this.name = newName;\n this.publisher.notifySubs(BeatEvents.NewName);\n }\n getName() {\n return this.name;\n }\n isLooping() {\n return this.looping;\n }\n getLoopLength() {\n return this.loopLength;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/Beat.ts?"); /***/ }), @@ -166,7 +246,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatGroup)\n/* harmony export */ });\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n\n\nclass BeatGroup {\n beats = [];\n beatKeyMap = {};\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_1__.Publisher();\n constructor(options) {\n if (options?.beats) {\n for (const beatOptions of options.beats) {\n const newBeat = new _Beat__WEBPACK_IMPORTED_MODULE_0__.default(beatOptions);\n this.beats.push(newBeat);\n this.beatKeyMap[newBeat.getKey()] = this.beats.length - 1;\n }\n }\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n getBeatByKey(beatKey) {\n if (typeof this.beatKeyMap[beatKey] === \"undefined\") {\n throw new Error(`Could not find the beat with key: ${beatKey}`);\n }\n return this.getBeatByIndex(this.beatKeyMap[beatKey]);\n }\n getBeatByIndex(beatIndex) {\n if (!this.beats[beatIndex]) {\n throw new Error(`Could not find the beat with index: ${beatIndex}`);\n }\n return this.beats[beatIndex];\n }\n getBeatCount() {\n return this.beats.length;\n }\n getBeatKeys() {\n return this.beats.map(beat => beat.getKey());\n }\n swapBeatsByIndices(beatIndex1, beatIndex2) {\n const beat1 = this.getBeatByIndex(beatIndex1);\n const beat2 = this.getBeatByIndex(beatIndex2);\n this.beats[beatIndex1] = beat2;\n this.beats[beatIndex2] = beat1;\n this.beatKeyMap[beat1.getKey()] = beatIndex2;\n this.beatKeyMap[beat2.getKey()] = beatIndex1;\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n swapBeatsByKeys(beatKey1, beatKey2) {\n const index1 = this.beatKeyMap[this.getBeatByKey(beatKey1).getKey()];\n const index2 = this.beatKeyMap[this.getBeatByKey(beatKey2).getKey()];\n this.swapBeatsByIndices(index1, index2);\n }\n moveBeatBack(beatKey) {\n const index = this.beatKeyMap[beatKey];\n if (typeof index !== \"undefined\" && index > 0) {\n this.swapBeatsByIndices(index, index - 1);\n }\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n moveBeatForward(beatKey) {\n const index = this.beatKeyMap[beatKey];\n if (typeof index !== \"undefined\" && index < this.getBeatCount()) {\n this.swapBeatsByIndices(index, index + 1);\n }\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n canMoveBeatBack(beatKey) {\n return this.beatKeyMap[beatKey] > 0;\n }\n canMoveBeatForward(beatKey) {\n return this.beatKeyMap[beatKey] < this.beats.length - 1;\n }\n addBeat(options) {\n const newBeat = new _Beat__WEBPACK_IMPORTED_MODULE_0__.default(options);\n this.beats.push(newBeat);\n this.beatKeyMap[newBeat.getKey()] = this.beats.length;\n this.publisher.notifySubs(1 /* BeatListChanged */);\n return newBeat;\n }\n removeBeat(beatKey) {\n const beat = this.getBeatByKey(beatKey);\n this.publisher.notifySubs(1 /* BeatListChanged */);\n this.beats.splice(this.beats.indexOf(beat), 1);\n }\n setBeatName(beatKey, newName) {\n this.getBeatByKey(beatKey).setName(newName);\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/BeatGroup.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatGroup)\n/* harmony export */ });\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n\n\n\nclass BeatGroup {\n beats = [];\n beatKeyMap = {};\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_1__.Publisher();\n globalBarCount;\n globalTimeSigUp;\n globalLoopLength;\n globalIsLooping;\n constructor(options) {\n if (options?.beats) {\n for (const beatOptions of options.beats) {\n const newBeat = new _Beat__WEBPACK_IMPORTED_MODULE_0__.default(beatOptions);\n this.beats.push(newBeat);\n this.beatKeyMap[newBeat.getKey()] = this.beats.length - 1;\n }\n }\n this.globalBarCount = options?.barCount ?? 4;\n this.globalTimeSigUp = options?.timeSigUp ?? 4;\n this.globalLoopLength = options?.loopLength ?? this.globalBarCount * this.globalTimeSigUp;\n this.globalIsLooping = options?.isLooping ?? false;\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n setBarCount(barCount) {\n if (barCount <= 0 || (barCount | 0) !== barCount) {\n return;\n }\n this.globalBarCount = barCount;\n for (const beat of this.beats) {\n beat.setBarCount(barCount);\n }\n this.publisher.notifySubs(2 /* GlobalBarCountChanged */);\n }\n getBarCount() {\n return this.globalBarCount;\n }\n setLoopLength(loopLength) {\n if (!(0,_utils__WEBPACK_IMPORTED_MODULE_2__.isPosInt)(loopLength)) {\n return;\n }\n this.globalLoopLength = loopLength;\n for (const beat of this.beats) {\n beat.setLoopLength(loopLength);\n }\n this.publisher.notifySubs(_Beat__WEBPACK_IMPORTED_MODULE_0__.BeatEvents.LoopLengthChanged);\n }\n getLoopLength() {\n return this.globalLoopLength;\n }\n setLooping(isLooping) {\n this.globalIsLooping = isLooping;\n for (const beat of this.beats) {\n beat.setLooping(isLooping);\n }\n this.publisher.notifySubs(_Beat__WEBPACK_IMPORTED_MODULE_0__.BeatEvents.DisplayTypeChanged);\n }\n isLooping() {\n return this.globalIsLooping;\n }\n setGlobalTimeSigUp(timeSigUp) {\n if (!_Beat__WEBPACK_IMPORTED_MODULE_0__.default.isValidTimeSigRange(timeSigUp)) {\n return;\n }\n this.globalTimeSigUp = timeSigUp;\n for (const beat of this.beats) {\n beat.setTimeSignature({ up: timeSigUp });\n }\n this.publisher.notifySubs(3 /* GlobalTimeSigUpChanged */);\n }\n getBeatByKey(beatKey) {\n if (typeof this.beatKeyMap[beatKey] === \"undefined\") {\n throw new Error(`Could not find the beat with key: ${beatKey}`);\n }\n return this.getBeatByIndex(this.beatKeyMap[beatKey]);\n }\n getBeatByIndex(beatIndex) {\n if (!this.beats[beatIndex]) {\n throw new Error(`Could not find the beat with index: ${beatIndex}`);\n }\n return this.beats[beatIndex];\n }\n getBeatCount() {\n return this.beats.length;\n }\n getBeatKeys() {\n return this.beats.map(beat => beat.getKey());\n }\n swapBeatsByIndices(beatIndex1, beatIndex2) {\n const beat1 = this.getBeatByIndex(beatIndex1);\n const beat2 = this.getBeatByIndex(beatIndex2);\n this.beats[beatIndex1] = beat2;\n this.beats[beatIndex2] = beat1;\n this.beatKeyMap[beat1.getKey()] = beatIndex2;\n this.beatKeyMap[beat2.getKey()] = beatIndex1;\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n swapBeatsByKeys(beatKey1, beatKey2) {\n const index1 = this.beatKeyMap[this.getBeatByKey(beatKey1).getKey()];\n const index2 = this.beatKeyMap[this.getBeatByKey(beatKey2).getKey()];\n this.swapBeatsByIndices(index1, index2);\n }\n moveBeatBack(beatKey) {\n const index = this.beatKeyMap[beatKey];\n if (typeof index !== \"undefined\" && index > 0) {\n this.swapBeatsByIndices(index, index - 1);\n }\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n moveBeatForward(beatKey) {\n const index = this.beatKeyMap[beatKey];\n if (typeof index !== \"undefined\" && index < this.getBeatCount()) {\n this.swapBeatsByIndices(index, index + 1);\n }\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n canMoveBeatBack(beatKey) {\n return this.beatKeyMap[beatKey] > 0;\n }\n canMoveBeatForward(beatKey) {\n return this.beatKeyMap[beatKey] < this.beats.length - 1;\n }\n addBeat(options) {\n const newBeat = new _Beat__WEBPACK_IMPORTED_MODULE_0__.default(options);\n this.beats.push(newBeat);\n this.beatKeyMap[newBeat.getKey()] = this.beats.length;\n this.publisher.notifySubs(1 /* BeatListChanged */);\n return newBeat;\n }\n removeBeat(beatKey) {\n const beat = this.getBeatByKey(beatKey);\n this.publisher.notifySubs(1 /* BeatListChanged */);\n this.beats.splice(this.beats.indexOf(beat), 1);\n }\n setBeatName(beatKey, newName) {\n this.getBeatByKey(beatKey).setName(newName);\n this.publisher.notifySubs(0 /* BeatOrderChanged */);\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/BeatGroup.ts?"); /***/ }), @@ -176,7 +256,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BeatUnitType\": () => (/* binding */ BeatUnitType),\n/* harmony export */ \"default\": () => (/* binding */ BeatUnit)\n/* harmony export */ });\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n\nvar BeatUnitType;\n(function (BeatUnitType) {\n BeatUnitType[BeatUnitType[\"Normal\"] = 0] = \"Normal\";\n BeatUnitType[BeatUnitType[\"GhostNote\"] = 1] = \"GhostNote\";\n})(BeatUnitType || (BeatUnitType = {}));\nclass BeatUnit {\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_0__.Publisher();\n on = false;\n type = BeatUnitType.Normal;\n constructor(on = false) {\n this.on = on;\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n toggle() {\n this.on = !this.on;\n this.publisher.notifySubs(0 /* Toggle */);\n if (this.on) {\n this.publisher.notifySubs(1 /* On */);\n }\n else {\n this.publisher.notifySubs(2 /* Off */);\n }\n }\n setOn(on) {\n this.on = on;\n this.publisher.notifySubs(1 /* On */);\n }\n setType(type) {\n this.type = type;\n this.publisher.notifySubs(2 /* Off */);\n }\n getType() {\n return this.type;\n }\n isOn() {\n return this.on;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/BeatUnit.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BeatUnitType\": () => (/* binding */ BeatUnitType),\n/* harmony export */ \"default\": () => (/* binding */ BeatUnit)\n/* harmony export */ });\n/* harmony import */ var _Publisher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Publisher */ \"./src/Publisher.ts\");\n\nvar BeatUnitType;\n(function (BeatUnitType) {\n BeatUnitType[BeatUnitType[\"Normal\"] = 0] = \"Normal\";\n BeatUnitType[BeatUnitType[\"GhostNote\"] = 1] = \"GhostNote\";\n})(BeatUnitType || (BeatUnitType = {}));\nclass BeatUnit {\n publisher = new _Publisher__WEBPACK_IMPORTED_MODULE_0__.Publisher();\n on = false;\n type = BeatUnitType.Normal;\n constructor(on = false) {\n this.on = on;\n }\n addSubscriber(subscriber, eventType) {\n return this.publisher.addSubscriber(subscriber, eventType);\n }\n toggle() {\n this.on = !this.on;\n this.publisher.notifySubs(0 /* Toggle */);\n if (this.on) {\n this.publisher.notifySubs(1 /* On */);\n }\n else {\n this.publisher.notifySubs(2 /* Off */);\n }\n }\n setOn(on) {\n this.on = on;\n this.publisher.notifySubs(this.on ? 1 /* On */ : 2 /* Off */);\n }\n setType(type) {\n this.type = type;\n this.publisher.notifySubs(3 /* TypeChange */);\n }\n getType() {\n return this.type;\n }\n isOn() {\n return this.on;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/BeatUnit.ts?"); /***/ }), @@ -186,7 +266,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Publisher\": () => (/* binding */ Publisher)\n/* harmony export */ });\nclass Publisher {\n subscribers;\n constructor() {\n this.subscribers = new Map();\n this.subscribers.set(\"all\", []);\n }\n addSubscriber(subscriber, eventType) {\n let eventTypes = [];\n if (!Array.isArray(eventType)) {\n eventTypes.push(eventType);\n }\n else {\n eventTypes = eventType;\n }\n for (const key of eventTypes) {\n this.getSubscribers(key).push(subscriber);\n }\n return {\n unbind: () => {\n for (const key of eventTypes) {\n const subs = this.getSubscribers(key);\n subs.splice(subs.indexOf(subscriber), 1);\n }\n }\n };\n }\n getSubscribers(key) {\n const subscribersList = this.subscribers.get(key);\n if (subscribersList === undefined) {\n const newList = [];\n this.subscribers.set(key, newList);\n return newList;\n }\n else {\n return subscribersList;\n }\n }\n notifySubs(eventType) {\n for (const sub of this.getSubscribers(eventType)) {\n sub.notify(this, eventType);\n }\n for (const sub of this.getSubscribers(\"all\")) {\n sub.notify(this, \"all\");\n }\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/Publisher.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Publisher\": () => (/* binding */ Publisher)\n/* harmony export */ });\nclass Publisher {\n subscribers;\n constructor() {\n this.subscribers = new Map();\n this.subscribers.set(\"all\", []);\n }\n addSubscriber(subscriber, eventType) {\n let eventTypes = [];\n if (!Array.isArray(eventType)) {\n eventTypes.push(eventType);\n }\n else {\n eventTypes = eventType;\n }\n for (const key of eventTypes) {\n this.getSubscribers(key).push(subscriber);\n }\n return {\n unbind: () => {\n for (const key of eventTypes) {\n const subs = this.getSubscribers(key);\n subs.splice(subs.indexOf(subscriber), 1);\n }\n }\n };\n }\n getSubscribers(key) {\n const subscribersList = this.subscribers.get(key);\n if (subscribersList === undefined) {\n const newList = [];\n this.subscribers.set(key, newList);\n return newList;\n }\n else {\n return subscribersList;\n }\n }\n notifySubs(eventType) {\n for (const sub of this.getSubscribers(eventType)) {\n sub.notify(this, eventType);\n }\n for (const sub of this.getSubscribers(\"all\")) {\n sub.notify(this, eventType);\n }\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/Publisher.ts?"); /***/ }), @@ -196,7 +276,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _main_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./main.css */ \"./src/main.css\");\n/* harmony import */ var _BeatGroup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BeatGroup */ \"./src/BeatGroup.ts\");\n/* harmony import */ var _ui_Root_RootView__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/Root/RootView */ \"./src/ui/Root/RootView.ts\");\n\n\n\nconst defaultSettings = {\n bars: 10,\n timeSig: {\n down: 4,\n up: 4,\n },\n};\nconst mainBeatGroup = new _BeatGroup__WEBPACK_IMPORTED_MODULE_1__.default();\nmainBeatGroup.addBeat({\n name: \"LF\"\n});\nmainBeatGroup.addBeat({\n name: \"LH\"\n});\nmainBeatGroup.addBeat({\n name: \"RH\"\n});\nmainBeatGroup.addBeat({\n name: \"RF\"\n});\nconst appNode = document.querySelector(\"#app\");\nif (appNode) {\n const appRoot = new _ui_Root_RootView__WEBPACK_IMPORTED_MODULE_2__.default({\n parent: appNode,\n title: \"Drum Slayer\",\n mainBeatGroup: mainBeatGroup,\n });\n //@ts-ignore\n window.appRoot = appRoot;\n appRoot.render();\n console.log(\"OK!\");\n}\nelse {\n console.error(\"FUCK!\");\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/main.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _main_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./main.css */ \"./src/main.css\");\n/* harmony import */ var _BeatGroup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BeatGroup */ \"./src/BeatGroup.ts\");\n/* harmony import */ var _ui_Root_RootView__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/Root/RootView */ \"./src/ui/Root/RootView.ts\");\n\n\n\nconst defaultSettings = {\n bars: 10,\n timeSig: {\n down: 4,\n up: 4,\n },\n};\nconst mainBeatGroup = new _BeatGroup__WEBPACK_IMPORTED_MODULE_1__.default();\nmainBeatGroup.addBeat({\n name: \"LF\"\n});\nmainBeatGroup.addBeat({\n name: \"LH\"\n});\nmainBeatGroup.addBeat({\n name: \"RH\"\n});\nmainBeatGroup.addBeat({\n name: \"RF\"\n});\nconst appNode = document.querySelector(\"#app\");\nif (appNode) {\n const appRoot = new _ui_Root_RootView__WEBPACK_IMPORTED_MODULE_2__.default({\n title: \"Drum Slayer\",\n mainBeatGroup: mainBeatGroup,\n });\n //@ts-ignore\n window.appRoot = appRoot;\n appNode.appendChild(appRoot.render());\n console.log(\"OK!\");\n}\nelse {\n console.error(\"FUCK!\");\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/main.ts?"); /***/ }), @@ -206,7 +286,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mai \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatSettingsView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _BeatSettingsView_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatSettingsView.css */ \"./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.css\");\n\n\n\nclass BeatSettingsView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beat;\n visible = false;\n timeSigUp;\n timeSigDown;\n barCountInput;\n constructor(options) {\n super(options);\n this.beat = options.beat;\n this.setupBindings();\n }\n setupBindings() {\n this.beat.addSubscriber(this, _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewName);\n }\n notify(publisher, event) {\n if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewTimeSig) {\n this.timeSigUp.value = this.beat.getTimeSigUp().toString();\n this.timeSigDown.value = this.beat.getTimeSigDown().toString();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewBarCount) {\n this.barCountInput.value = this.beat.getBarCount().toString();\n }\n }\n toggleVisible() {\n this.visible = !this.visible;\n if (this.visible) {\n this.node?.classList.add(\"visible\");\n }\n else {\n this.node?.classList.remove(\"visible\");\n }\n }\n isOpen() {\n return this.visible;\n }\n rebuild() {\n this.timeSigUp = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {});\n this.timeSigUp.addEventListener(\"input\", (event) => this.beat.setTimeSignature({\n up: Number(event.target.value)\n }));\n this.timeSigDown = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {});\n this.timeSigDown.addEventListener(\"input\", (event) => this.beat.setTimeSignature({\n down: Number(event.target.value)\n }));\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"p\", { innerText: `Settings for ${this.beat.getName()}` }),\n this.timeSigUp,\n this.timeSigDown,\n ],\n classes: [\"beatSettingsView\"]\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatSettingsView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _BeatSettings_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatSettings.css */ \"./src/ui/BeatGroup/Beat/BeatSettings/BeatSettings.css\");\n/* harmony import */ var _BeatLikeLoopSettings_BeatLikeLoopSettingsView__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../BeatLikeLoopSettings/BeatLikeLoopSettingsView */ \"./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettingsView.ts\");\n\n\n\n\nclass BeatSettingsView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beat;\n visible = false;\n timeSigUp;\n timeSigDown;\n barCountInput;\n loopSettingsView;\n constructor(options) {\n super(options);\n this.beat = options.beat;\n this.setupBindings();\n }\n setupBindings() {\n this.beat.addSubscriber(this, \"all\");\n }\n notify(publisher, event) {\n if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewTimeSig) {\n this.timeSigUp.value = this.beat.getTimeSigUp().toString();\n this.timeSigDown.value = this.beat.getTimeSigDown().toString();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewBarCount) {\n this.barCountInput.value = this.beat.getBarCount().toString();\n }\n }\n toggleVisible() {\n this.visible = !this.visible;\n if (this.visible) {\n this.node?.classList.add(\"visible\");\n }\n else {\n this.node?.classList.remove(\"visible\");\n }\n }\n isOpen() {\n return this.visible;\n }\n rebuild() {\n this.loopSettingsView = new _BeatLikeLoopSettings_BeatLikeLoopSettingsView__WEBPACK_IMPORTED_MODULE_3__.default({ beatLike: this.beat });\n this.timeSigUp = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n classes: [\"time-sig-up\"],\n type: \"number\",\n value: this.beat.getTimeSigUp().toString(),\n oninput: (event) => {\n this.beat.setTimeSignature({ up: Number(event.target.value) });\n },\n });\n this.timeSigDown = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n classes: [\"beat-settings-time-sig-down\"],\n type: \"number\",\n value: this.beat.getTimeSigDown().toString(),\n oninput: (event) => {\n this.beat.setTimeSignature({ down: Number(event.target.value) });\n },\n });\n this.barCountInput = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n classes: [\"beat-settings-bars-count\"],\n type: \"number\",\n value: this.beat.getBarCount().toString(),\n oninput: (event) => {\n this.beat.setBarCount(Number(event.target.value));\n },\n });\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-settings\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-settings-time-sig\", \"beat-settings-option-group\", \"beat-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"Time Signature:\" }),\n this.timeSigUp,\n this.timeSigDown,\n ]\n }),\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-settings-bar\", \"beat-settings-option-group\", \"beat-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"Bar Count:\" }),\n this.barCountInput,\n ],\n }),\n this.loopSettingsView.render(),\n ],\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.ts?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/Beat/BeatUnit/BeatUnitView.ts": +/*!********************************************************!*\ + !*** ./src/ui/BeatGroup/Beat/BeatUnit/BeatUnitView.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatUnitView)\n/* harmony export */ });\n/* harmony import */ var _BeatUnit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../BeatUnit */ \"./src/BeatUnit.ts\");\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _BeatUnit_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatUnit.css */ \"./src/ui/BeatGroup/Beat/BeatUnit/BeatUnit.css\");\n\n\n\nclass BeatUnitView extends _UINode__WEBPACK_IMPORTED_MODULE_1__.default {\n beatUnit;\n subscription;\n constructor(options) {\n super(options);\n this.beatUnit = options.beatUnit;\n this.setupBindings();\n }\n setUnit(beatUnit) {\n this.subscription.unbind();\n this.beatUnit = beatUnit;\n this.setupBindings();\n this.rebuild();\n this.redraw();\n }\n setupBindings() {\n this.subscription = this.beatUnit.addSubscriber(this, \"all\");\n }\n toggle() {\n this.beatUnit.toggle();\n }\n turnOn() {\n this.beatUnit.setOn(true);\n }\n turnOff() {\n this.beatUnit.setOn(false);\n }\n notify(publisher, event) {\n if (event === 1 /* On */) {\n this.node?.classList.add(\"beat-unit-on\");\n }\n else if (event === 2 /* Off */) {\n this.node?.classList.remove(\"beat-unit-on\");\n }\n else if (event === 3 /* TypeChange */) {\n if (this.beatUnit.getType() === _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.BeatUnitType.GhostNote) {\n this.node?.classList.add(\"beat-unit-ghost\");\n }\n else {\n this.node?.classList.remove(\"beat-unit-ghost\");\n }\n }\n }\n rebuild() {\n const classes = [\"beat-unit\"];\n if (this.beatUnit.isOn()) {\n classes.push(\"beat-unit-on\");\n }\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_1__.default.make(\"div\", {\n classes: classes,\n oncontextmenu: () => false,\n });\n this.onMouseUp((ev) => {\n if (ev.button === 1) {\n const currentType = this.beatUnit.getType();\n this.beatUnit.setType(currentType === _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.BeatUnitType.GhostNote ? _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.BeatUnitType.Normal : _BeatUnit__WEBPACK_IMPORTED_MODULE_0__.BeatUnitType.GhostNote);\n }\n });\n return this.node;\n }\n onHover(cb) {\n this.getNode().onmouseover = cb;\n }\n onMouseDown(cb) {\n this.getNode().onmousedown = cb;\n }\n onMouseUp(cb) {\n this.getNode().onmouseup = cb;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatUnit/BeatUnitView.ts?"); /***/ }), @@ -216,7 +306,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _BeatSettings_BeatSettingsView__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatSettings/BeatSettingsView */ \"./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.ts\");\n\n\n\nclass BeatView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beat;\n title;\n settingsView;\n settingsToggleButton;\n constructor(options) {\n super(options);\n this.beat = options.beat;\n this.setupBindings();\n this.rebuild();\n }\n setupBindings() {\n this.beat.addSubscriber(this, _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewName);\n }\n notify(publisher, event) {\n if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewName) {\n this.title.innerText = this.beat.getName();\n }\n }\n toggleSettings() {\n this.settingsView.toggleVisible();\n this.settingsToggleButton.innerText = this.settingsView.isOpen() ? \"Hide Settings\" : \"Show Settings\";\n }\n rebuild() {\n this.title = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h3\", { innerText: this.beat.getName() });\n this.settingsView = new _BeatSettings_BeatSettingsView__WEBPACK_IMPORTED_MODULE_2__.default({ beat: this.beat });\n this.settingsToggleButton = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"button\", { innerText: this.settingsView.isOpen() ? \"Hide Settings\" : \"Show Settings\" });\n this.settingsToggleButton.addEventListener(\"click\", () => this.toggleSettings());\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n subs: [\n this.title,\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"p\", { innerText: \"I am a BeatGroup\" }),\n this.settingsToggleButton,\n this.settingsView.rebuild(),\n ],\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatView.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _BeatSettings_BeatSettingsView__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatSettings/BeatSettingsView */ \"./src/ui/BeatGroup/Beat/BeatSettings/BeatSettingsView.ts\");\n/* harmony import */ var _BeatUnit_BeatUnitView__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BeatUnit/BeatUnitView */ \"./src/ui/BeatGroup/Beat/BeatUnit/BeatUnitView.ts\");\n/* harmony import */ var _Beat_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Beat.css */ \"./src/ui/BeatGroup/Beat/Beat.css\");\n\n\n\n\n\nclass BeatView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beat;\n title;\n settingsView;\n settingsToggleButton;\n beatUnitViews = [];\n beatUnitViewBlock = null;\n lastHoveredBeatUnitView = null;\n static deselectingUnits = false;\n static selectingUnits = false;\n constructor(options) {\n super(options);\n this.beat = options.beat;\n this.setupBindings();\n }\n setupBindings() {\n this.beat.addSubscriber(this, \"all\");\n }\n notify(publisher, event) {\n if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewName) {\n this.title.innerText = this.beat.getName();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewTimeSig) {\n this.setupBeatUnits();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.NewBarCount) {\n this.setupBeatUnits();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.DisplayTypeChanged) {\n this.setupBeatUnits();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.LoopLengthChanged) {\n this.setupBeatUnits();\n }\n }\n toggleSettings() {\n this.settingsView.toggleVisible();\n if (this.settingsView.isOpen()) {\n this.settingsToggleButton.classList.add(\"active\");\n }\n else {\n this.settingsToggleButton.classList.remove(\"active\");\n }\n }\n rebuildBeatUnitViews() {\n const beatUnitCount = this.beat.getBarCount() * this.beat.getTimeSigUp();\n this.beatUnitViews.splice(beatUnitCount, this.beatUnitViews.length - beatUnitCount);\n for (let i = 0; i < beatUnitCount; i++) {\n const beatUnit = this.beat.getUnitByIndex(i);\n if (beatUnit) {\n let view;\n if (this.beatUnitViews[i]) {\n view = this.beatUnitViews[i];\n view.setUnit(beatUnit);\n }\n else {\n view = new _BeatUnit_BeatUnitView__WEBPACK_IMPORTED_MODULE_3__.default({ beatUnit });\n this.beatUnitViews.push(view);\n }\n view.onMouseDown((event) => this.onBeatUnitClick(event.button, i));\n window.addEventListener(\"mouseup\", (event) => {\n BeatView.selectingUnits = false;\n BeatView.deselectingUnits = false;\n });\n view.onHover(() => {\n this.lastHoveredBeatUnitView = view;\n if (BeatView.selectingUnits) {\n this.lastHoveredBeatUnitView.turnOn();\n }\n else if (BeatView.deselectingUnits) {\n this.lastHoveredBeatUnitView.turnOff();\n }\n });\n }\n }\n }\n onBeatUnitClick(button, index) {\n if (button === 0) {\n BeatView.selectingUnits = true;\n this.beat.getUnitByIndex(index)?.toggle();\n }\n else if (button === 2) {\n BeatView.deselectingUnits = true;\n this.beat.getUnitByIndex(index)?.setOn(false);\n }\n }\n buildBeatUnitViewBlock() {\n const beatUnitNodes = [];\n for (let i = 0; i < this.beatUnitViews.length; i++) {\n beatUnitNodes.push(this.beatUnitViews[i].render());\n }\n if (this.beatUnitViewBlock) {\n this.beatUnitViewBlock.replaceChildren(...beatUnitNodes);\n }\n else {\n this.beatUnitViewBlock = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-unit-block\"],\n subs: [...beatUnitNodes],\n });\n }\n }\n respaceBeatUnits() {\n if (!this.beatUnitViewBlock) {\n return;\n }\n this.beatUnitViewBlock.querySelectorAll(\".beat-spacer\").forEach(spacer => spacer.remove());\n const barLength = this.beat.getTimeSigUp();\n const barCount = this.beat.getBarCount();\n let bars = 0;\n let i = -1;\n let spacersInserted = false;\n while (!spacersInserted) {\n i += barLength;\n const newSpacer = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", { classes: [\"beat-spacer\"] });\n const leftNeighbour = this.beatUnitViewBlock.children.item(i);\n if (leftNeighbour) {\n leftNeighbour.insertAdjacentElement(\"afterend\", newSpacer);\n }\n else {\n break;\n }\n i++;\n bars++;\n if (bars === barCount) {\n spacersInserted = true;\n }\n }\n }\n setupBeatUnits() {\n this.rebuildBeatUnitViews();\n this.buildBeatUnitViewBlock();\n this.respaceBeatUnits();\n }\n rebuild() {\n this.title = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h3\", {\n innerText: this.beat.getName(),\n classes: [\"beat-title\"],\n });\n this.setupBeatUnits();\n this.settingsView = new _BeatSettings_BeatSettingsView__WEBPACK_IMPORTED_MODULE_2__.default({ beat: this.beat });\n this.settingsToggleButton = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-settings-btn\"],\n innerText: \"Settings\",\n onclick: () => this.toggleSettings()\n });\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-main\"],\n subs: [\n this.title,\n this.beatUnitViewBlock,\n ]\n }),\n this.settingsToggleButton,\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-settings-container\"],\n subs: [this.settingsView.render()],\n }),\n ],\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/Beat/BeatView.ts?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettingsView.ts": +/*!*********************************************************************!*\ + !*** ./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettingsView.ts ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatGroupSettingsView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _BeatLikeLoopSettings_BeatLikeLoopSettingsView__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BeatLikeLoopSettings/BeatLikeLoopSettingsView */ \"./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettingsView.ts\");\n/* harmony import */ var _BeatGroupSettings_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatGroupSettings.css */ \"./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettings.css\");\n\n\n\nclass BeatGroupSettingsView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beatGroup;\n barCountInput;\n timeSigUpInput;\n loopSettingsView;\n constructor(options) {\n super(options);\n this.beatGroup = options.beatGroup;\n this.beatGroup.addSubscriber(this, [\n 2 /* GlobalBarCountChanged */,\n 3 /* GlobalTimeSigUpChanged */\n ]);\n }\n notify(publisher, event) {\n if (event === 2 /* GlobalBarCountChanged */) {\n this.barCountInput.value = this.beatGroup.getBeatByIndex(0).getBarCount().toString();\n }\n else if (event === 3 /* GlobalTimeSigUpChanged */) {\n this.barCountInput.value = this.beatGroup.getBeatByIndex(0).getBarCount().toString();\n }\n }\n rebuild() {\n this.loopSettingsView = new _BeatLikeLoopSettings_BeatLikeLoopSettingsView__WEBPACK_IMPORTED_MODULE_1__.default({ beatLike: this.beatGroup });\n this.barCountInput = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n type: \"number\",\n value: this.beatGroup.getBeatByIndex(0).getBarCount().toString(),\n oninput: () => {\n this.beatGroup.setBarCount(Number(this.barCountInput.value));\n },\n });\n this.timeSigUpInput = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n type: \"number\",\n value: this.beatGroup.getBeatByIndex(0).getTimeSigUp().toString(),\n oninput: () => {\n this.beatGroup.setGlobalTimeSigUp(Number(this.timeSigUpInput.value));\n },\n });\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-group-settings\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h4\", { innerText: \"Settings for beat\" }),\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-group-settings-options\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-group-settings-bar-count\", \"beat-group-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"Bars:\" }),\n this.barCountInput,\n ],\n }),\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-group-settings-boxes\", \"beat-group-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"Boxes per bar:\" }),\n this.timeSigUpInput,\n ],\n }),\n this.loopSettingsView.render(),\n ],\n }),\n ],\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettingsView.ts?"); /***/ }), @@ -226,7 +326,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatGroupView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat_BeatView__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Beat/BeatView */ \"./src/ui/BeatGroup/Beat/BeatView.ts\");\n\n\nclass BeatGroupView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n title;\n beatGroup;\n constructor(options) {\n super(options);\n this.beatGroup = options.beatGroup;\n this.title = options.title;\n }\n rebuild() {\n const beatViews = [];\n for (let i = 0; i < this.beatGroup.getBeatCount(); i++) {\n beatViews.push(new _Beat_BeatView__WEBPACK_IMPORTED_MODULE_1__.default({ beat: this.beatGroup.getBeatByIndex(i) }));\n }\n return _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h3\", { innerText: this.title }),\n ...beatViews.map(bv => bv.rebuild())\n ],\n });\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatGroupView.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatGroupView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat_BeatView__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Beat/BeatView */ \"./src/ui/BeatGroup/Beat/BeatView.ts\");\n/* harmony import */ var _BeatGroupSettings_BeatGroupSettingsView__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatGroupSettings/BeatGroupSettingsView */ \"./src/ui/BeatGroup/BeatGroupSettings/BeatGroupSettingsView.ts\");\n\n\n\nclass BeatGroupView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n title;\n beatGroup;\n beatGroupSettingsView;\n beatViews = [];\n constructor(options) {\n super(options);\n this.beatGroup = options.beatGroup;\n this.title = options.title;\n }\n rebuild() {\n this.beatViews = [];\n for (let i = 0; i < this.beatGroup.getBeatCount(); i++) {\n this.beatViews.push(new _Beat_BeatView__WEBPACK_IMPORTED_MODULE_1__.default({ beat: this.beatGroup.getBeatByIndex(i) }));\n }\n this.beatGroupSettingsView = new _BeatGroupSettings_BeatGroupSettingsView__WEBPACK_IMPORTED_MODULE_2__.default({ beatGroup: this.beatGroup });\n return _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"beat-group\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h3\", { innerText: this.title }),\n this.beatGroupSettingsView.render(),\n ...this.beatViews.map(bv => bv.render())\n ],\n });\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatGroupView.ts?"); + +/***/ }), + +/***/ "./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettingsView.ts": +/*!***************************************************************************!*\ + !*** ./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettingsView.ts ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ BeatLikeLoopSettingsView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _Beat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Beat */ \"./src/Beat.ts\");\n/* harmony import */ var _BeatLikeLoopSettings_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeatLikeLoopSettings.css */ \"./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettings.css\");\n\n\n\nclass BeatLikeLoopSettingsView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n beatLike;\n loopLengthInput;\n loopCheckbox;\n constructor(options) {\n super(options);\n this.beatLike = options.beatLike;\n this.setupBindings();\n }\n setupBindings() {\n this.beatLike.addSubscriber(this, \"all\");\n }\n notify(publisher, event) {\n if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.LoopLengthChanged) {\n this.loopLengthInput.value = this.beatLike.getLoopLength().toString();\n }\n else if (event === _Beat__WEBPACK_IMPORTED_MODULE_1__.BeatEvents.DisplayTypeChanged) {\n this.loopCheckbox.checked = this.beatLike.isLooping();\n }\n }\n rebuild() {\n this.loopLengthInput = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n classes: [\"loop-settings-loop-length\"],\n type: \"number\",\n value: this.beatLike.getLoopLength().toString(),\n oninput: (event) => {\n this.beatLike.setLoopLength(Number(event.target.value));\n },\n });\n this.loopCheckbox = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"input\", {\n classes: [\"loop-settings-loop-toggle\"],\n type: \"checkbox\",\n checked: this.beatLike.isLooping(),\n oninput: (event) => {\n this.beatLike.setLooping(event.target.checked);\n },\n });\n this.node = _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"loop-settings\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"p\", { innerText: \"Looping:\" }),\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"loop-settings-option-group\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"loop-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"Length:\" }),\n this.loopLengthInput,\n ],\n }),\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"loop-settings-option\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"label\", { innerText: \"On:\" }),\n this.loopCheckbox,\n ],\n }),\n ],\n }),\n ]\n });\n return this.node;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/BeatGroup/BeatLikeLoopSettings/BeatLikeLoopSettingsView.ts?"); /***/ }), @@ -236,7 +346,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _BeatGroup_BeatGroupView__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BeatGroup/BeatGroupView */ \"./src/ui/BeatGroup/BeatGroupView.ts\");\n/* harmony import */ var _Root_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Root.css */ \"./src/ui/Root/Root.css\");\n\n\n\nclass RootView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n title;\n parent;\n beatGroupView;\n mainBeatGroup;\n constructor(options) {\n super(options);\n this.beatGroupView = new _BeatGroup_BeatGroupView__WEBPACK_IMPORTED_MODULE_1__.default({ title: \"THE BEAT\", beatGroup: options.mainBeatGroup });\n this.mainBeatGroup = options.mainBeatGroup;\n this.title = options.title;\n this.parent = options.parent;\n this.rebuild();\n }\n render() {\n const oldNode = this.node;\n this.node = this.rebuild();\n if (oldNode) {\n this.parent.replaceChild(oldNode, this.node);\n }\n else {\n this.parent.appendChild(this.node);\n }\n }\n rebuild() {\n return _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h1\", { innerText: this.title, classes: [\"title\"] }),\n this.beatGroupView.rebuild(),\n ],\n classes: [\"rootView\"]\n });\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/Root/RootView.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootView)\n/* harmony export */ });\n/* harmony import */ var _UINode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../UINode */ \"./src/ui/UINode.ts\");\n/* harmony import */ var _BeatGroup_BeatGroupView__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BeatGroup/BeatGroupView */ \"./src/ui/BeatGroup/BeatGroupView.ts\");\n/* harmony import */ var _Root_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Root.css */ \"./src/ui/Root/Root.css\");\n\n\n\nclass RootView extends _UINode__WEBPACK_IMPORTED_MODULE_0__.default {\n title;\n beatGroupView;\n mainBeatGroup;\n constructor(options) {\n super(options);\n this.beatGroupView = new _BeatGroup_BeatGroupView__WEBPACK_IMPORTED_MODULE_1__.default({ title: \"THE BEAT\", beatGroup: options.mainBeatGroup });\n this.mainBeatGroup = options.mainBeatGroup;\n this.title = options.title;\n }\n rebuild() {\n return _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"div\", {\n classes: [\"root\"],\n subs: [\n _UINode__WEBPACK_IMPORTED_MODULE_0__.default.make(\"h1\", { innerText: this.title, classes: [\"title\"] }),\n this.beatGroupView.render(),\n ],\n });\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/Root/RootView.ts?"); /***/ }), @@ -246,7 +356,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UINode)\n/* harmony export */ });\nclass UINode {\n node = null;\n constructor(options) {\n }\n static make(type, attributes) {\n const element = document.createElement(type);\n if (attributes) {\n for (const key in attributes) {\n if (key === \"classes\") {\n element.classList.add(...attributes[key]);\n }\n else if (key === \"subs\") {\n element.append(...attributes.subs);\n }\n else {\n element[key] = attributes[key];\n }\n }\n }\n return element;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/UINode.ts?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UINode)\n/* harmony export */ });\nclass UINode {\n node = null;\n constructor(options) { }\n render() {\n if (!this.node) {\n this.node = this.rebuild();\n }\n return this.node;\n }\n getNode() {\n if (!this.node) {\n return this.render();\n }\n else {\n return this.node;\n }\n }\n redraw() {\n const oldNode = this.node;\n this.render();\n if (!oldNode || !this.node) {\n return;\n }\n const parent = this.node.parentElement;\n if (parent) {\n parent.replaceChild(oldNode, this.node);\n }\n }\n static make(type, attributes) {\n const element = document.createElement(type);\n if (attributes) {\n for (const key in attributes) {\n if (key === \"classes\") {\n element.classList.add(...attributes[key]);\n }\n else if (key === \"subs\") {\n element.append(...attributes.subs);\n }\n else {\n element[key] = attributes[key];\n }\n }\n }\n return element;\n }\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/ui/UINode.ts?"); + +/***/ }), + +/***/ "./src/utils.ts": +/*!**********************!*\ + !*** ./src/utils.ts ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isPosInt\": () => (/* binding */ isPosInt)\n/* harmony export */ });\nfunction isPosInt(maybePosInt) {\n return (maybePosInt | 0) === maybePosInt && maybePosInt > 0;\n}\n\n\n//# sourceURL=webpack://arne-drums/./src/utils.ts?"); /***/ })