@ainias42/react-bootstrap-mobile 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @ainias42/react-bootstrap-mobile v0.2.0
3
+ * @ainias42/react-bootstrap-mobile v0.2.2
4
4
  * git+https://github.com/Ainias/Bootstrap-React-Mobile.git
5
5
  * Copyright (c) Silas Günther and project contributors.
6
6
  * This source code is licensed under the MIT license found in the
@@ -1253,13 +1253,14 @@ var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(1354);
1253
1253
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
1254
1254
  var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
1255
1255
  // Module
1256
- ___CSS_LOADER_EXPORT___.push([module.id, `.buttonDialog__FKbnS{font-weight:400;max-width:95%;overflow:hidden;min-width:270px}.buttonDialog__FKbnS .title__WvvXx{font-weight:500}.buttonDialog__FKbnS .buttonContainer__e9ZHw{width:100%}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{color:var(--flavor-accent);padding:0 8px}.flat-design .buttonDialog__FKbnS{border-radius:8px;background-color:#f4f4f4;padding-top:16px;color:#1f1f21;font-family:-apple-system,"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;text-align:center}.flat-design .buttonDialog__FKbnS .title__WvvXx{font-size:17px;padding:0 8px}.flat-design .buttonDialog__FKbnS .message__yLthE{font-size:14px;padding:4px 12px 8px;min-height:36px}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw{display:flex;white-space:nowrap}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{flex:1;display:block;border-left:1px solid var(--border-light);border-top:1px solid var(--border-light);text-overflow:ellipsis;letter-spacing:0;vertical-align:middle;font-size:16px;text-align:center;height:44px;line-height:44px;overflow:hidden}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul:first-child{border-left:none}.material-design .buttonDialog__FKbnS{border-radius:2px;background-color:#fff;padding:22px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4);color:#31313a;font-family:"Roboto","Noto",sans-serif;text-align:left}.material-design .buttonDialog__FKbnS .title__WvvXx{font-size:20px;padding:0 24px}.material-design .buttonDialog__FKbnS .message__yLthE{font-size:16px;line-height:20px;padding:0 24px;margin:24px 0 10px 0;min-height:0;color:rgba(49,49,58,.85)}.material-design .buttonDialog__FKbnS .buttonContainer__e9ZHw{display:block;padding:0;height:52px;line-height:1}.material-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{text-transform:uppercase;display:inline-block;width:auto;float:right;border-radius:2px;font-size:14px;font-weight:500;height:36px;line-height:36px;margin:8px 8px 8px 0;min-width:50px}`, "",{"version":3,"sources":["webpack://./src/Components/Dialog/buttonDialog.scss","webpack://./src/scss/_designMixin.scss"],"names":[],"mappings":"AAGA,qBACE,eAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAEA,mCACE,eAAA,CAMF,6CACE,UAAA,CAEA,4DACE,0BAAA,CACA,aAAA,CCjBO,kCDsBT,iBAAA,CACA,wBAAA,CACA,gBAAA,CACA,aAAA,CACA,yFAAA,CACA,iBAAA,CAEA,gDACE,cAAA,CACA,aAAA,CAGF,kDACE,cAAA,CACA,oBAAA,CACA,eAAA,CAGF,0DACE,YAAA,CACA,kBAAA,CAEA,yEACE,MAAA,CACA,aAAA,CACA,yCAAA,CACA,wCAAA,CACA,sBAAA,CACA,gBAAA,CACA,qBAAA,CACA,cAAA,CACA,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,eAAA,CAEA,qFACE,gBAAA,CC3DG,sCDkET,iBAAA,CACA,qBAAA,CACA,gBAAA,CACA,wGAAA,CACA,aAAA,CACA,sCAAA,CACA,eAAA,CAEA,oDACE,cAAA,CACA,cAAA,CAGF,sDACE,cAAA,CACA,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,YAAA,CACA,wBAAA,CAGF,8DACE,aAAA,CACA,SAAA,CACA,WAAA,CACA,aAAA,CAEA,6EACE,wBAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,gBAAA,CACA,oBAAA,CACA,cAAA","sourcesContent":["@import \"../../scss/variables\";\n@import \"../../scss/designMixin\";\n\n.buttonDialog {\n font-weight: 400;\n max-width: 95%;\n overflow: hidden;\n min-width: 270px;\n\n .title {\n font-weight: 500;\n }\n\n .message {\n }\n\n .buttonContainer {\n width: 100%;\n\n .button {\n color: var(--flavor-accent);\n padding: 0 8px;\n }\n }\n\n @include design($flat) {\n border-radius: 8px;\n background-color: #f4f4f4;\n padding-top: 16px;\n color: #1f1f21;\n font-family: -apple-system, 'Helvetica Neue', 'Helvetica', 'Arial', 'Lucida Grande', sans-serif;\n text-align: center;\n\n .title {\n font-size: 17px;\n padding: 0 8px;\n }\n\n .message {\n font-size: 14px;\n padding: 4px 12px 8px;\n min-height: 36px;\n }\n\n .buttonContainer {\n display: flex;\n white-space: nowrap;\n\n .button {\n flex: 1;\n display: block;\n border-left: 1px solid var(--border-light);\n border-top: 1px solid var(--border-light);\n text-overflow: ellipsis;\n letter-spacing: 0;\n vertical-align: middle;\n font-size: 16px;\n text-align: center;\n height: 44px;\n line-height: 44px;\n overflow: hidden;\n\n &:first-child {\n border-left: none;\n }\n }\n }\n }\n\n @include design($material) {\n border-radius: 2px;\n background-color: #ffffff;\n padding: 22px 0 0;\n box-shadow: 0 16px 24px 2px rgb(0 0 0 / 14%), 0 6px 30px 5px rgb(0 0 0 / 12%), 0 8px 10px -5px rgb(0 0 0 / 40%);\n color: #31313a;\n font-family: 'Roboto', 'Noto', sans-serif;\n text-align: left;\n\n .title {\n font-size: 20px;\n padding: 0 24px;\n }\n\n .message {\n font-size: 16px;\n line-height: 20px;\n padding: 0 24px;\n margin: 24px 0 10px 0;\n min-height: 0;\n color: rgba(49, 49, 58, .85);\n }\n\n .buttonContainer {\n display: block;\n padding: 0;\n height: 52px;\n line-height: 1;\n\n .button {\n text-transform: uppercase;\n display: inline-block;\n width: auto;\n float: right;\n border-radius: 2px;\n font-size: 14px;\n font-weight: 500;\n height: 36px;\n line-height: 36px;\n margin: 8px 8px 8px 0;\n min-width: 50px;\n }\n }\n }\n}\n","@use 'sass:selector';\n\n@mixin design($designName) {\n @if & {\n @at-root #{selector.nest(':global(.'+$designName+\")\", &)} {\n @content\n }\n } @else {\n :global(.#{$designName}) {\n @content\n }\n }\n}\n"],"sourceRoot":""}]);
1256
+ ___CSS_LOADER_EXPORT___.push([module.id, `.buttonDialog__FKbnS{font-weight:400;max-width:95%;overflow:hidden;min-width:270px}.buttonDialog__FKbnS .title__WvvXx{font-weight:500}.buttonDialog__FKbnS .buttonContainer__e9ZHw{width:100%}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{padding:0 8px}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI.flavor-accent{--text-primary-default-color:var(--flavor-accent)}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI.flavor-basic{--text-primary-default-color:var(--flavor-basic)}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI.flavor-destructive{--text-primary-default-color:var(--flavor-destructive)}.buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI.flavor-constructive{--text-primary-default-color:var(--flavor-constructive)}.flat-design .buttonDialog__FKbnS{border-radius:8px;background-color:#f4f4f4;padding-top:16px;color:#1f1f21;font-family:-apple-system,"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;text-align:center}.flat-design .buttonDialog__FKbnS .title__WvvXx{font-size:17px;padding:0 8px}.flat-design .buttonDialog__FKbnS .message__yLthE{font-size:14px;padding:4px 12px 8px;min-height:36px}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw{display:flex;white-space:nowrap}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{flex:1;display:block;border-left:1px solid var(--border-light);border-top:1px solid var(--border-light);vertical-align:middle;text-align:center;height:44px;overflow:hidden}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI{line-height:44px;text-overflow:ellipsis;letter-spacing:0;font-size:16px}.flat-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul:first-child{border-left:none}.material-design .buttonDialog__FKbnS{border-radius:2px;background-color:#fff;padding:22px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4);color:#31313a;font-family:"Roboto","Noto",sans-serif;text-align:left}.material-design .buttonDialog__FKbnS .title__WvvXx{font-size:20px;padding:0 24px}.material-design .buttonDialog__FKbnS .message__yLthE{font-size:16px;line-height:20px;padding:0 24px;margin:24px 0 10px 0;min-height:0;color:rgba(49,49,58,.85)}.material-design .buttonDialog__FKbnS .buttonContainer__e9ZHw{display:block;padding:0;height:52px;line-height:1}.material-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul{text-transform:uppercase;display:inline-block;width:auto;float:right;border-radius:2px;height:36px;margin:8px 8px 8px 0;min-width:50px}.material-design .buttonDialog__FKbnS .buttonContainer__e9ZHw .button__HSgul .buttonText__O0SYI{line-height:36px;font-size:14px;font-weight:500}`, "",{"version":3,"sources":["webpack://./src/Components/Dialog/buttonDialog.scss","webpack://./src/scss/_flavorMixin.scss","webpack://./src/scss/_designMixin.scss"],"names":[],"mappings":"AAIA,qBACE,eAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAEA,mCACE,eAAA,CAMF,6CACE,UAAA,CAEA,4DACE,aAAA,CClBJ,6FACE,iDAAA,CAEF,4FACE,gDAAA,CAEF,kGACE,sDAAA,CAEF,mGACE,uDAAA,CCTS,kCF4BT,iBAAA,CACA,wBAAA,CACA,gBAAA,CACA,aAAA,CACA,yFAAA,CACA,iBAAA,CAEA,gDACE,cAAA,CACA,aAAA,CAGF,kDACE,cAAA,CACA,oBAAA,CACA,eAAA,CAGF,0DACE,YAAA,CACA,kBAAA,CAEA,yEACE,MAAA,CACA,aAAA,CACA,yCAAA,CACA,wCAAA,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,4FACE,gBAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CAGF,qFACE,gBAAA,CEpEG,sCF2ET,iBAAA,CACA,qBAAA,CACA,gBAAA,CACA,wGAAA,CACA,aAAA,CACA,sCAAA,CACA,eAAA,CAEA,oDACE,cAAA,CACA,cAAA,CAGF,sDACE,cAAA,CACA,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,YAAA,CACA,wBAAA,CAGF,8DACE,aAAA,CACA,SAAA,CACA,WAAA,CACA,aAAA,CAEA,6EACE,wBAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,WAAA,CACA,oBAAA,CACA,cAAA,CAEA,gGACE,gBAAA,CACA,cAAA,CACA,eAAA","sourcesContent":["@import \"../../scss/variables\";\n@import \"../../scss/designMixin\";\n@import \"../../scss/flavorMixin\";\n\n.buttonDialog {\n font-weight: 400;\n max-width: 95%;\n overflow: hidden;\n min-width: 270px;\n\n .title {\n font-weight: 500;\n }\n\n .message {\n }\n\n .buttonContainer {\n width: 100%;\n\n .button {\n padding: 0 8px;\n\n .buttonText {\n @include flavorSelection(--text-primary-default-color);\n\n }\n\n }\n }\n\n @include design($flat) {\n border-radius: 8px;\n background-color: #f4f4f4;\n padding-top: 16px;\n color: #1f1f21;\n font-family: -apple-system, 'Helvetica Neue', 'Helvetica', 'Arial', 'Lucida Grande', sans-serif;\n text-align: center;\n\n .title {\n font-size: 17px;\n padding: 0 8px;\n }\n\n .message {\n font-size: 14px;\n padding: 4px 12px 8px;\n min-height: 36px;\n }\n\n .buttonContainer {\n display: flex;\n white-space: nowrap;\n\n .button {\n flex: 1;\n display: block;\n border-left: 1px solid var(--border-light);\n border-top: 1px solid var(--border-light);\n vertical-align: middle;\n text-align: center;\n height: 44px;\n overflow: hidden;\n\n .buttonText {\n line-height: 44px;\n text-overflow: ellipsis;\n letter-spacing: 0;\n font-size: 16px;\n }\n\n &:first-child {\n border-left: none;\n }\n }\n }\n }\n\n @include design($material) {\n border-radius: 2px;\n background-color: #ffffff;\n padding: 22px 0 0;\n box-shadow: 0 16px 24px 2px rgb(0 0 0 / 14%), 0 6px 30px 5px rgb(0 0 0 / 12%), 0 8px 10px -5px rgb(0 0 0 / 40%);\n color: #31313a;\n font-family: 'Roboto', 'Noto', sans-serif;\n text-align: left;\n\n .title {\n font-size: 20px;\n padding: 0 24px;\n }\n\n .message {\n font-size: 16px;\n line-height: 20px;\n padding: 0 24px;\n margin: 24px 0 10px 0;\n min-height: 0;\n color: rgba(49, 49, 58, .85);\n }\n\n .buttonContainer {\n display: block;\n padding: 0;\n height: 52px;\n line-height: 1;\n\n .button {\n text-transform: uppercase;\n display: inline-block;\n width: auto;\n float: right;\n border-radius: 2px;\n height: 36px;\n margin: 8px 8px 8px 0;\n min-width: 50px;\n\n .buttonText {\n line-height: 36px;\n font-size: 14px;\n font-weight: 500;\n }\n }\n }\n }\n}\n","@use 'sass:selector';\n\n@mixin flavorSelection($varName) {\n &:global(.flavor-accent) {\n #{$varName}: var(--flavor-accent);\n }\n &:global(.flavor-basic) {\n #{$varName}: var(--flavor-basic);\n }\n &:global(.flavor-destructive) {\n #{$varName}: var(--flavor-destructive);\n }\n &:global(.flavor-constructive) {\n #{$varName}: var(--flavor-constructive);\n }\n}\n","@use 'sass:selector';\n\n@mixin design($designName) {\n @if & {\n @at-root #{selector.nest(':global(.'+$designName+\")\", &)} {\n @content\n }\n } @else {\n :global(.#{$designName}) {\n @content\n }\n }\n}\n"],"sourceRoot":""}]);
1257
1257
  // Exports
1258
1258
  ___CSS_LOADER_EXPORT___.locals = {
1259
1259
  "buttonDialog": `buttonDialog__FKbnS`,
1260
1260
  "title": `title__WvvXx`,
1261
1261
  "buttonContainer": `buttonContainer__e9ZHw`,
1262
1262
  "button": `button__HSgul`,
1263
+ "buttonText": `buttonText__O0SYI`,
1263
1264
  "message": `message__yLthE`
1264
1265
  };
1265
1266
  module.exports = ___CSS_LOADER_EXPORT___;
@@ -1314,7 +1315,7 @@ var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(1354);
1314
1315
  var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
1315
1316
  var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
1316
1317
  // Module
1317
- ___CSS_LOADER_EXPORT___.push([module.id, `.button__jnst2{cursor:pointer;margin:0;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;letter-spacing:0;vertical-align:middle;border-radius:3px;transition:none}.button__jnst2.flavor-accent{--button-color:var(--flavor-accent)}.button__jnst2.flavor-basic{--button-color:var(--flavor-basic)}.material-design .button__jnst2{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);min-height:40px;line-height:40px;padding:0 16px;text-align:center;font-size:14px;text-transform:uppercase;font-weight:500}.flat-design .button__jnst2{line-height:32px;padding:4px 18px;font-size:17px}.button__jnst2.primary__cT39p{background-color:var(--button-color);border:0 solid currentColor;color:#fff;--text-primary-default-color: white}.button__jnst2.secondary__Fozj5{background-color:rgba(0,0,0,0);border:1px solid var(--button-color);color:var(--button-color);--text-primary-default-color: var(--button-color)}.button__jnst2.disabled__tYMFZ{opacity:.3;cursor:default;pointer-events:none}.material-design .button__jnst2.small__dpDPv{min-height:17px;line-height:17px;padding:0 8px}.flat-design .button__jnst2.small__dpDPv{line-height:17px;padding:4px 9px}.button__jnst2.fullWidth__E_iTN{width:100%}`, "",{"version":3,"sources":["webpack://./src/Components/FormElements/Button/button.scss","webpack://./src/scss/_flavorMixin.scss","webpack://./src/scss/_designMixin.scss","webpack://./src/scss/_variables.scss"],"names":[],"mappings":"AAIA,eACE,cAAA,CACA,QAAA,CACA,gBAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CACA,oBAAA,CACA,gBAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CCZA,6BACE,mCAAA,CAEF,4BACE,kCAAA,CCHS,gCFgBT,gGGDgB,CHEhB,eAAA,CACA,gBAAA,CACA,cAAA,CACA,iBAAA,CACA,cAAA,CACA,wBAAA,CACA,eAAA,CEvBS,4BF2BT,gBAAA,CACA,gBAAA,CACA,cAAA,CAGF,8BACE,oCAAA,CACA,2BAAA,CACA,UAAA,CACA,mCAAA,CAGF,gCACE,8BAAA,CACA,oCAAA,CACA,yBAAA,CACA,iDAAA,CAGF,+BACE,UAAA,CACA,cAAA,CACA,mBAAA,CEjDS,6CFsDP,eAAA,CACA,gBAAA,CACA,aAAA,CExDO,yCF4DP,gBAAA,CACA,eAAA,CAIJ,gCACE,UAAA","sourcesContent":["@import \"../../../scss/variables\";\n@import \"../../../scss/designMixin\";\n@import \"../../../scss/flavorMixin\";\n\n.button {\n cursor: pointer;\n margin: 0;\n user-select: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n text-decoration: none;\n letter-spacing: 0;\n vertical-align: middle;\n border-radius: 3px;\n transition: none;\n\n @include flavorSelection(--button-color);\n\n @include design($material) {\n box-shadow: $boxShadowMaterial;\n min-height: 40px;\n line-height: 40px;\n padding: 0 16px;\n text-align: center;\n font-size: 14px;\n text-transform: uppercase;\n font-weight: 500;\n }\n\n @include design($flat) {\n line-height: 32px;\n padding: 4px 18px;\n font-size: 17px;\n }\n\n &.primary {\n background-color: var(--button-color);\n border: 0 solid currentColor;\n color: white;\n --text-primary-default-color: white;\n }\n\n &.secondary {\n background-color: transparent;\n border: 1px solid var(--button-color);\n color: var(--button-color);\n --text-primary-default-color: var(--button-color);\n }\n\n &.disabled {\n opacity: 0.3;\n cursor: default;\n pointer-events: none;\n }\n\n &.small {\n @include design($material) {\n min-height: 17px;\n line-height: 17px;\n padding: 0 8px;\n }\n\n @include design($flat) {\n line-height: 17px;\n padding: 4px 9px;\n }\n }\n\n &.fullWidth {\n width: 100%;\n }\n}\n","@use 'sass:selector';\n\n@mixin flavorSelection($varName) {\n &:global(.flavor-accent) {\n #{$varName}: var(--flavor-accent);\n }\n &:global(.flavor-basic) {\n #{$varName}: var(--flavor-basic);\n }\n}\n","@use 'sass:selector';\n\n@mixin design($designName) {\n @if & {\n @at-root #{selector.nest(':global(.'+$designName+\")\", &)} {\n @content\n }\n } @else {\n :global(.#{$designName}) {\n @content\n }\n }\n}\n","@import 'bootstrap/scss/functions';\n@import 'bootstrap/scss/variables';\n\n$classPrefix: \"rbm-\";\n\n$material: \"material-design\";\n$flat: \"flat-design\";\n\n$android: $material;\n$ios: $flat;\n\n$animationDuration: 0.3s;\n$animationDurationMaterial: $animationDuration;\n$animationDurationFlat: $animationDuration;\n$animationDurationAndroid: $animationDurationMaterial;\n$animationDurationIos: $animationDurationFlat;\n\n$fontSizeBase: 16px;\n\n$boxShadowMaterial: 0 2px 2px 0 rgb(0 0 0 / 14%),\n0 1px 5px 0 rgb(0 0 0 / 12%),\n0 3px 1px -2px rgb(0 0 0 / 20%);\n"],"sourceRoot":""}]);
1318
+ ___CSS_LOADER_EXPORT___.push([module.id, `.button__jnst2{cursor:pointer;margin:0;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;letter-spacing:0;vertical-align:middle;border-radius:3px;transition:none}.button__jnst2.flavor-accent{--button-color:var(--flavor-accent)}.button__jnst2.flavor-basic{--button-color:var(--flavor-basic)}.button__jnst2.flavor-destructive{--button-color:var(--flavor-destructive)}.button__jnst2.flavor-constructive{--button-color:var(--flavor-constructive)}.material-design .button__jnst2{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);min-height:40px;line-height:40px;padding:0 16px;text-align:center;font-size:14px;text-transform:uppercase;font-weight:500}.flat-design .button__jnst2{line-height:32px;padding:4px 18px;font-size:17px}.button__jnst2.primary__cT39p{background-color:var(--button-color);border:0 solid currentColor;color:#fff;--text-primary-default-color: white}.button__jnst2.secondary__Fozj5{background-color:rgba(0,0,0,0);border:1px solid var(--button-color);color:var(--button-color);--text-primary-default-color: var(--button-color)}.button__jnst2.disabled__tYMFZ{opacity:.3;cursor:default;pointer-events:none}.material-design .button__jnst2.small__dpDPv{min-height:17px;line-height:17px;padding:0 8px}.flat-design .button__jnst2.small__dpDPv{line-height:17px;padding:4px 9px}.button__jnst2.fullWidth__E_iTN{width:100%}`, "",{"version":3,"sources":["webpack://./src/Components/FormElements/Button/button.scss","webpack://./src/scss/_flavorMixin.scss","webpack://./src/scss/_designMixin.scss","webpack://./src/scss/_variables.scss"],"names":[],"mappings":"AAIA,eACE,cAAA,CACA,QAAA,CACA,gBAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CACA,oBAAA,CACA,gBAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CCZA,6BACE,mCAAA,CAEF,4BACE,kCAAA,CAEF,kCACE,wCAAA,CAEF,mCACE,yCAAA,CCTS,gCFgBT,gGGDgB,CHEhB,eAAA,CACA,gBAAA,CACA,cAAA,CACA,iBAAA,CACA,cAAA,CACA,wBAAA,CACA,eAAA,CEvBS,4BF2BT,gBAAA,CACA,gBAAA,CACA,cAAA,CAGF,8BACE,oCAAA,CACA,2BAAA,CACA,UAAA,CACA,mCAAA,CAGF,gCACE,8BAAA,CACA,oCAAA,CACA,yBAAA,CACA,iDAAA,CAGF,+BACE,UAAA,CACA,cAAA,CACA,mBAAA,CEjDS,6CFsDP,eAAA,CACA,gBAAA,CACA,aAAA,CExDO,yCF4DP,gBAAA,CACA,eAAA,CAIJ,gCACE,UAAA","sourcesContent":["@import \"../../../scss/variables\";\n@import \"../../../scss/designMixin\";\n@import \"../../../scss/flavorMixin\";\n\n.button {\n cursor: pointer;\n margin: 0;\n user-select: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n text-decoration: none;\n letter-spacing: 0;\n vertical-align: middle;\n border-radius: 3px;\n transition: none;\n\n @include flavorSelection(--button-color);\n\n @include design($material) {\n box-shadow: $boxShadowMaterial;\n min-height: 40px;\n line-height: 40px;\n padding: 0 16px;\n text-align: center;\n font-size: 14px;\n text-transform: uppercase;\n font-weight: 500;\n }\n\n @include design($flat) {\n line-height: 32px;\n padding: 4px 18px;\n font-size: 17px;\n }\n\n &.primary {\n background-color: var(--button-color);\n border: 0 solid currentColor;\n color: white;\n --text-primary-default-color: white;\n }\n\n &.secondary {\n background-color: transparent;\n border: 1px solid var(--button-color);\n color: var(--button-color);\n --text-primary-default-color: var(--button-color);\n }\n\n &.disabled {\n opacity: 0.3;\n cursor: default;\n pointer-events: none;\n }\n\n &.small {\n @include design($material) {\n min-height: 17px;\n line-height: 17px;\n padding: 0 8px;\n }\n\n @include design($flat) {\n line-height: 17px;\n padding: 4px 9px;\n }\n }\n\n &.fullWidth {\n width: 100%;\n }\n}\n","@use 'sass:selector';\n\n@mixin flavorSelection($varName) {\n &:global(.flavor-accent) {\n #{$varName}: var(--flavor-accent);\n }\n &:global(.flavor-basic) {\n #{$varName}: var(--flavor-basic);\n }\n &:global(.flavor-destructive) {\n #{$varName}: var(--flavor-destructive);\n }\n &:global(.flavor-constructive) {\n #{$varName}: var(--flavor-constructive);\n }\n}\n","@use 'sass:selector';\n\n@mixin design($designName) {\n @if & {\n @at-root #{selector.nest(':global(.'+$designName+\")\", &)} {\n @content\n }\n } @else {\n :global(.#{$designName}) {\n @content\n }\n }\n}\n","@import 'bootstrap/scss/functions';\n@import 'bootstrap/scss/variables';\n\n$classPrefix: \"rbm-\";\n\n$material: \"material-design\";\n$flat: \"flat-design\";\n\n$android: $material;\n$ios: $flat;\n\n$animationDuration: 0.3s;\n$animationDurationMaterial: $animationDuration;\n$animationDurationFlat: $animationDuration;\n$animationDurationAndroid: $animationDurationMaterial;\n$animationDurationIos: $animationDurationFlat;\n\n$fontSizeBase: 16px;\n\n$boxShadowMaterial: 0 2px 2px 0 rgb(0 0 0 / 14%),\n0 1px 5px 0 rgb(0 0 0 / 12%),\n0 3px 1px -2px rgb(0 0 0 / 20%);\n"],"sourceRoot":""}]);
1318
1319
  // Exports
1319
1320
  ___CSS_LOADER_EXPORT___.locals = {
1320
1321
  "button": `button__jnst2`,
@@ -10016,6 +10017,7 @@ __webpack_require__.d(__webpack_exports__, {
10016
10017
  Icon: () => (/* reexport */ Icon),
10017
10018
  Image: () => (/* reexport */ ImageMemo),
10018
10019
  InViewport: () => (/* reexport */ InViewportMemo),
10020
+ InfiniteList: () => (/* reexport */ InfiniteList),
10019
10021
  Inline: () => (/* reexport */ InlineMemo),
10020
10022
  InlineBlock: () => (/* reexport */ InlineBlockMemo),
10021
10023
  Input: () => (/* reexport */ Input),
@@ -11013,6 +11015,14 @@ const CardMemo = withMemo(Card, (card_default()));
11013
11015
  // EXTERNAL MODULE: ./src/Components/Dialog/buttonDialog.scss
11014
11016
  var buttonDialog = __webpack_require__(7661);
11015
11017
  var buttonDialog_default = /*#__PURE__*/__webpack_require__.n(buttonDialog);
11018
+ ;// CONCATENATED MODULE: ./src/Components/Flavor.ts
11019
+ var Flavor;
11020
+ (function (Flavor) {
11021
+ Flavor["Accent"] = "flavor-accent";
11022
+ Flavor["Basic"] = "flavor-basic";
11023
+ Flavor["Destructive"] = "flavor-destructive";
11024
+ Flavor["Constructive"] = "flavor-constructive";
11025
+ })(Flavor || (Flavor = {}));
11016
11026
  ;// CONCATENATED MODULE: ./src/Components/Dialog/ButtonDialog.tsx
11017
11027
 
11018
11028
 
@@ -11021,12 +11031,14 @@ var buttonDialog_default = /*#__PURE__*/__webpack_require__.n(buttonDialog);
11021
11031
 
11022
11032
 
11023
11033
 
11034
+
11024
11035
  function ButtonDialog({
11025
11036
  title,
11026
11037
  message,
11027
11038
  buttons,
11028
11039
  style,
11029
- className
11040
+ className,
11041
+ extraContent
11030
11042
  }) {
11031
11043
  // Variables
11032
11044
  // Refs
@@ -11039,20 +11051,27 @@ function ButtonDialog({
11039
11051
  return /*#__PURE__*/external_react_.createElement(BlockMemo, {
11040
11052
  className: classnames_default()((buttonDialog_default()).buttonDialog, className),
11041
11053
  style: style
11042
- }, !!title && /*#__PURE__*/external_react_.createElement(BlockMemo, {
11054
+ }, !!title && /*#__PURE__*/external_react_.createElement(BlockMemo, null, /*#__PURE__*/external_react_.createElement(tmp, {
11055
+ size: TEXT_SIZE.large,
11043
11056
  className: (buttonDialog_default()).title
11044
- }, /*#__PURE__*/external_react_.createElement(tmp, null, title)), /*#__PURE__*/external_react_.createElement(BlockMemo, {
11057
+ }, title)), /*#__PURE__*/external_react_.createElement(BlockMemo, null, /*#__PURE__*/external_react_.createElement(tmp, {
11045
11058
  className: (buttonDialog_default()).message
11046
- }, /*#__PURE__*/external_react_.createElement(tmp, null, message)), /*#__PURE__*/external_react_.createElement(BlockMemo, {
11059
+ }, message)), extraContent, /*#__PURE__*/external_react_.createElement(BlockMemo, {
11047
11060
  className: (buttonDialog_default()).buttonContainer
11048
- }, buttons.map((b, i) =>
11049
- /*#__PURE__*/
11050
- // eslint-disable-next-line react/no-array-index-key
11051
- external_react_.createElement(ClickableMemo, {
11052
- onClick: b.callback,
11053
- className: (buttonDialog_default()).button,
11054
- key: i + b.text
11055
- }, /*#__PURE__*/external_react_.createElement(tmp, null, b.text)))));
11061
+ }, buttons.map((b, i) => {
11062
+ var _a;
11063
+ return (
11064
+ /*#__PURE__*/
11065
+ // eslint-disable-next-line react/no-array-index-key
11066
+ external_react_.createElement(ClickableMemo, {
11067
+ onClick: b.callback,
11068
+ className: classnames_default()((buttonDialog_default()).button),
11069
+ key: i + b.text
11070
+ }, /*#__PURE__*/external_react_.createElement(tmp, {
11071
+ className: classnames_default()((buttonDialog_default()).buttonText, (_a = b.flavor) !== null && _a !== void 0 ? _a : Flavor.Accent)
11072
+ }, b.text))
11073
+ );
11074
+ })));
11056
11075
  }
11057
11076
  // Need ButtonDialogMemo for autocompletion of phpstorm
11058
11077
  const ButtonDialogMemo = withMemo(ButtonDialog, (buttonDialog_default()));
@@ -11094,6 +11113,7 @@ const AlertDialogMemo = withMemo(AlertDialog);
11094
11113
 
11095
11114
 
11096
11115
 
11116
+ // TODO Translation
11097
11117
  function ConfirmDialog({
11098
11118
  title,
11099
11119
  message,
@@ -11456,12 +11476,6 @@ const DropArea = withMemo(function DropArea(_a) {
11456
11476
  className: className
11457
11477
  }), children, placeholder));
11458
11478
  });
11459
- ;// CONCATENATED MODULE: ./src/Components/Flavor.ts
11460
- var Flavor;
11461
- (function (Flavor) {
11462
- Flavor["Accent"] = "flavor-accent";
11463
- Flavor["Basic"] = "flavor-basic";
11464
- })(Flavor || (Flavor = {}));
11465
11479
  // EXTERNAL MODULE: ./src/Components/FormElements/Button/button.scss
11466
11480
  var Button_button = __webpack_require__(2853);
11467
11481
  var button_default = /*#__PURE__*/__webpack_require__.n(Button_button);
@@ -23264,6 +23278,21 @@ function useOnChangeDone(onChangeDone, ref) {
23264
23278
  }, [onChangeDone, usedRef]);
23265
23279
  return usedRef;
23266
23280
  }
23281
+ ;// CONCATENATED MODULE: ./src/Components/Hooks/useDebounced.ts
23282
+
23283
+ function useDebounced(callback, dependencies, delay = 100) {
23284
+ const [shared] = (0,external_react_.useState)({
23285
+ timeout: undefined
23286
+ });
23287
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23288
+ const realCB = (0,external_react_.useCallback)(callback, dependencies);
23289
+ return (0,external_react_.useCallback)((...newArgs) => {
23290
+ if (shared.timeout === undefined) {
23291
+ realCB(...newArgs);
23292
+ shared.timeout = setTimeout(() => shared.timeout = undefined, delay);
23293
+ }
23294
+ }, [delay, realCB, shared]);
23295
+ }
23267
23296
  ;// CONCATENATED MODULE: ./src/Components/FormElements/Input/Input.tsx
23268
23297
  function Input_extends() { return Input_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, Input_extends.apply(null, arguments); }
23269
23298
  var Input_rest = undefined && undefined.__rest || function (s, e) {
@@ -23285,6 +23314,7 @@ var Input_rest = undefined && undefined.__rest || function (s, e) {
23285
23314
 
23286
23315
 
23287
23316
 
23317
+
23288
23318
  const Input = withForwardRef(function Input(_a, ref) {
23289
23319
  // Variables
23290
23320
  var {
@@ -23350,7 +23380,8 @@ const Input = withForwardRef(function Input(_a, ref) {
23350
23380
  onChangeWithData(e);
23351
23381
  }, [onChangeWithData, onChangeText, otherProps.type]);
23352
23382
  const [onBlur, otherPropsWithoutBlur] = useListenerWithExtractedProps('onBlur', otherPropsWithoutOnchange);
23353
- const [onChangeDone, otherPropsWithoutData] = useListenerWithExtractedProps('onChangeDone', otherPropsWithoutBlur);
23383
+ const [onChangeDoneWithoutDeboune, otherPropsWithoutData] = useListenerWithExtractedProps('onChangeDone', otherPropsWithoutBlur);
23384
+ const onChangeDone = useDebounced(onChangeDoneWithoutDeboune, [onChangeDoneWithoutDeboune]);
23354
23385
  const realOnKeyDown = (0,external_react_.useCallback)(e => {
23355
23386
  onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
23356
23387
  if (onEnter && e.key === 'Enter' && !e.defaultPrevented) {
@@ -23380,7 +23411,7 @@ const Input = withForwardRef(function Input(_a, ref) {
23380
23411
  onChange(e);
23381
23412
  }
23382
23413
  }
23383
- }, [onKeyDown, onChange, otherProps]);
23414
+ }, [onKeyDown, onEnter, otherProps.type, otherProps.step, otherProps.max, otherProps.min, onChange]);
23384
23415
  // Effects
23385
23416
  useOnChangeDone(onChangeDone, innerRef);
23386
23417
  (0,external_react_.useEffect)(() => {
@@ -23619,9 +23650,10 @@ const MultipleFileInput = withMemo(function MultipleImageInput(_a) {
23619
23650
  allowOverride = maxFiles === 1,
23620
23651
  onError,
23621
23652
  showDeleteButton = true,
23622
- error
23653
+ error,
23654
+ "data-test-id": testId
23623
23655
  } = _a,
23624
- otherProps = MultipleFileInput_rest(_a, ["className", "style", "value", "label", "mimeTypes", "maxFiles", "maxSizePerFile", "allowOverride", "onError", "showDeleteButton", "error"]);
23656
+ otherProps = MultipleFileInput_rest(_a, ["className", "style", "value", "label", "mimeTypes", "maxFiles", "maxSizePerFile", "allowOverride", "onError", "showDeleteButton", "error", "data-test-id"]);
23625
23657
  // Refs
23626
23658
  const inputRef = (0,external_react_.useRef)(null);
23627
23659
  const indexRef = (0,external_react_.useRef)(undefined);
@@ -23639,7 +23671,7 @@ const MultipleFileInput = withMemo(function MultipleImageInput(_a) {
23639
23671
  return fileType === type;
23640
23672
  });
23641
23673
  }, [mimeTypes]);
23642
- const [onChangeFiles, ...props] = useListenerWithExtractedProps('onChangeFiles', otherProps);
23674
+ const [onChangeFiles, props] = useListenerWithExtractedProps('onChangeFiles', otherProps);
23643
23675
  const getBase64 = (0,external_react_.useCallback)(inputFiles => {
23644
23676
  const promises = inputFiles.map(file => new Promise((resolve, reject) => {
23645
23677
  const reader = new FileReader();
@@ -23744,7 +23776,8 @@ const MultipleFileInput = withMemo(function MultipleImageInput(_a) {
23744
23776
  };
23745
23777
  return /*#__PURE__*/external_react_.createElement("span", {
23746
23778
  className: classnames_default()((fileInput_default()).fileInput, className),
23747
- style: style
23779
+ style: style,
23780
+ "data-test-id": testId
23748
23781
  }, /*#__PURE__*/external_react_.createElement(Flex_tmp, {
23749
23782
  horizontal: true
23750
23783
  }, !!label && /*#__PURE__*/external_react_.createElement(Grow, null, /*#__PURE__*/external_react_.createElement(tmp, null, label)), maxFiles > 1 && /*#__PURE__*/external_react_.createElement(InlineMemo, null, /*#__PURE__*/external_react_.createElement(tmp, null, value.length, "/", maxFiles))), /*#__PURE__*/external_react_.createElement(Flex_tmp, {
@@ -24033,7 +24066,6 @@ var FileInput_rest = undefined && undefined.__rest || function (s, e) {
24033
24066
 
24034
24067
 
24035
24068
 
24036
- // TODO use MultipleFileInput internal
24037
24069
  const FileInput = withMemo(function FileInput(_a) {
24038
24070
  // Variables
24039
24071
  var {
@@ -24522,21 +24554,6 @@ function useBreakpointSelect(breakpointValues) {
24522
24554
  return breakpointValues[5];
24523
24555
  }
24524
24556
  }
24525
- ;// CONCATENATED MODULE: ./src/Components/Hooks/useDebounced.ts
24526
-
24527
- function useDebounced(callback, dependencies, delay = 100) {
24528
- const [shared] = (0,external_react_.useState)({
24529
- timeout: undefined
24530
- });
24531
- // eslint-disable-next-line react-hooks/exhaustive-deps
24532
- const realCB = (0,external_react_.useCallback)(callback, dependencies);
24533
- return (0,external_react_.useCallback)((...newArgs) => {
24534
- if (shared.timeout === undefined) {
24535
- realCB(...newArgs);
24536
- shared.timeout = setTimeout(() => shared.timeout = undefined, delay);
24537
- }
24538
- }, [delay, realCB, shared]);
24539
- }
24540
24557
  ;// CONCATENATED MODULE: ./src/Components/Hooks/useDelayed.ts
24541
24558
 
24542
24559
  function useDelayed(callback, dependencies, delay = 100, maxDelay = undefined) {
@@ -24825,7 +24842,7 @@ function Grid({
24825
24842
  useContainerWidth = false,
24826
24843
  className,
24827
24844
  __allowChildren
24828
- }) {
24845
+ }, ref) {
24829
24846
  // Variables
24830
24847
  const appliedStyle = (0,external_react_.useMemo)(() => Object.assign(Object.assign({}, style), {
24831
24848
  '--grid-columns': columns,
@@ -24839,6 +24856,7 @@ function Grid({
24839
24856
  // Other
24840
24857
  // Render Functions
24841
24858
  return /*#__PURE__*/external_react_.createElement(BlockMemo, {
24859
+ ref: ref,
24842
24860
  style: appliedStyle,
24843
24861
  className: classnames_default()((grid_default()).grid, className, {
24844
24862
  [(grid_default()).useContainerWidth]: useContainerWidth
@@ -24847,7 +24865,7 @@ function Grid({
24847
24865
  }, children);
24848
24866
  }
24849
24867
  // Need RowMemo for autocompletion of phpstorm
24850
- const GridMemo = withMemo(Grid, (grid_default()));
24868
+ const GridMemo = withForwardRef(Grid, (grid_default()));
24851
24869
 
24852
24870
  ;// CONCATENATED MODULE: ./src/Components/Layout/Grid/GridItem.tsx
24853
24871
 
@@ -25025,6 +25043,270 @@ function ListItem({
25025
25043
  // Need ListItemMemo for autocompletion of phpstorm
25026
25044
  const ListItemMemo = withMemo(ListItem);
25027
25045
 
25046
+ ;// CONCATENATED MODULE: ./node_modules/react-window-infinite-loader/dist/index.esm.js
25047
+
25048
+
25049
+ function isInteger(value) {
25050
+ return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
25051
+ }
25052
+
25053
+ function isRangeVisible(_ref) {
25054
+ var lastRenderedStartIndex = _ref.lastRenderedStartIndex,
25055
+ lastRenderedStopIndex = _ref.lastRenderedStopIndex,
25056
+ startIndex = _ref.startIndex,
25057
+ stopIndex = _ref.stopIndex;
25058
+
25059
+ return !(startIndex > lastRenderedStopIndex || stopIndex < lastRenderedStartIndex);
25060
+ }
25061
+
25062
+ function scanForUnloadedRanges(_ref) {
25063
+ var isItemLoaded = _ref.isItemLoaded,
25064
+ itemCount = _ref.itemCount,
25065
+ minimumBatchSize = _ref.minimumBatchSize,
25066
+ startIndex = _ref.startIndex,
25067
+ stopIndex = _ref.stopIndex;
25068
+
25069
+ var unloadedRanges = [];
25070
+
25071
+ var rangeStartIndex = null;
25072
+ var rangeStopIndex = null;
25073
+
25074
+ for (var _index = startIndex; _index <= stopIndex; _index++) {
25075
+ var loaded = isItemLoaded(_index);
25076
+
25077
+ if (!loaded) {
25078
+ rangeStopIndex = _index;
25079
+ if (rangeStartIndex === null) {
25080
+ rangeStartIndex = _index;
25081
+ }
25082
+ } else if (rangeStopIndex !== null) {
25083
+ unloadedRanges.push(rangeStartIndex, rangeStopIndex);
25084
+
25085
+ rangeStartIndex = rangeStopIndex = null;
25086
+ }
25087
+ }
25088
+
25089
+ // If :rangeStopIndex is not null it means we haven't ran out of unloaded rows.
25090
+ // Scan forward to try filling our :minimumBatchSize.
25091
+ if (rangeStopIndex !== null) {
25092
+ var potentialStopIndex = Math.min(Math.max(rangeStopIndex, rangeStartIndex + minimumBatchSize - 1), itemCount - 1);
25093
+
25094
+ for (var _index2 = rangeStopIndex + 1; _index2 <= potentialStopIndex; _index2++) {
25095
+ if (!isItemLoaded(_index2)) {
25096
+ rangeStopIndex = _index2;
25097
+ } else {
25098
+ break;
25099
+ }
25100
+ }
25101
+
25102
+ unloadedRanges.push(rangeStartIndex, rangeStopIndex);
25103
+ }
25104
+
25105
+ // Check to see if our first range ended prematurely.
25106
+ // In this case we should scan backwards to try filling our :minimumBatchSize.
25107
+ if (unloadedRanges.length) {
25108
+ while (unloadedRanges[1] - unloadedRanges[0] + 1 < minimumBatchSize && unloadedRanges[0] > 0) {
25109
+ var _index3 = unloadedRanges[0] - 1;
25110
+
25111
+ if (!isItemLoaded(_index3)) {
25112
+ unloadedRanges[0] = _index3;
25113
+ } else {
25114
+ break;
25115
+ }
25116
+ }
25117
+ }
25118
+
25119
+ return unloadedRanges;
25120
+ }
25121
+
25122
+ var classCallCheck = function (instance, Constructor) {
25123
+ if (!(instance instanceof Constructor)) {
25124
+ throw new TypeError("Cannot call a class as a function");
25125
+ }
25126
+ };
25127
+
25128
+ var createClass = function () {
25129
+ function defineProperties(target, props) {
25130
+ for (var i = 0; i < props.length; i++) {
25131
+ var descriptor = props[i];
25132
+ descriptor.enumerable = descriptor.enumerable || false;
25133
+ descriptor.configurable = true;
25134
+ if ("value" in descriptor) descriptor.writable = true;
25135
+ Object.defineProperty(target, descriptor.key, descriptor);
25136
+ }
25137
+ }
25138
+
25139
+ return function (Constructor, protoProps, staticProps) {
25140
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
25141
+ if (staticProps) defineProperties(Constructor, staticProps);
25142
+ return Constructor;
25143
+ };
25144
+ }();
25145
+
25146
+ var inherits = function (subClass, superClass) {
25147
+ if (typeof superClass !== "function" && superClass !== null) {
25148
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
25149
+ }
25150
+
25151
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
25152
+ constructor: {
25153
+ value: subClass,
25154
+ enumerable: false,
25155
+ writable: true,
25156
+ configurable: true
25157
+ }
25158
+ });
25159
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
25160
+ };
25161
+
25162
+ var possibleConstructorReturn = function (self, call) {
25163
+ if (!self) {
25164
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
25165
+ }
25166
+
25167
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
25168
+ };
25169
+
25170
+ var InfiniteLoader = function (_PureComponent) {
25171
+ inherits(InfiniteLoader, _PureComponent);
25172
+
25173
+ function InfiniteLoader() {
25174
+ var _ref;
25175
+
25176
+ var _temp, _this, _ret;
25177
+
25178
+ classCallCheck(this, InfiniteLoader);
25179
+
25180
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
25181
+ args[_key] = arguments[_key];
25182
+ }
25183
+
25184
+ return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = InfiniteLoader.__proto__ || Object.getPrototypeOf(InfiniteLoader)).call.apply(_ref, [this].concat(args))), _this), _this._lastRenderedStartIndex = -1, _this._lastRenderedStopIndex = -1, _this._memoizedUnloadedRanges = [], _this._onItemsRendered = function (_ref2) {
25185
+ var visibleStartIndex = _ref2.visibleStartIndex,
25186
+ visibleStopIndex = _ref2.visibleStopIndex;
25187
+
25188
+ if (false) {}
25189
+
25190
+ _this._lastRenderedStartIndex = visibleStartIndex;
25191
+ _this._lastRenderedStopIndex = visibleStopIndex;
25192
+
25193
+ _this._ensureRowsLoaded(visibleStartIndex, visibleStopIndex);
25194
+ }, _this._setRef = function (listRef) {
25195
+ _this._listRef = listRef;
25196
+ }, _temp), possibleConstructorReturn(_this, _ret);
25197
+ }
25198
+
25199
+ createClass(InfiniteLoader, [{
25200
+ key: 'resetloadMoreItemsCache',
25201
+ value: function resetloadMoreItemsCache() {
25202
+ var autoReload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
25203
+
25204
+ this._memoizedUnloadedRanges = [];
25205
+
25206
+ if (autoReload) {
25207
+ this._ensureRowsLoaded(this._lastRenderedStartIndex, this._lastRenderedStopIndex);
25208
+ }
25209
+ }
25210
+ }, {
25211
+ key: 'componentDidMount',
25212
+ value: function componentDidMount() {
25213
+ if (false) {}
25214
+ }
25215
+ }, {
25216
+ key: 'render',
25217
+ value: function render() {
25218
+ var children = this.props.children;
25219
+
25220
+
25221
+ return children({
25222
+ onItemsRendered: this._onItemsRendered,
25223
+ ref: this._setRef
25224
+ });
25225
+ }
25226
+ }, {
25227
+ key: '_ensureRowsLoaded',
25228
+ value: function _ensureRowsLoaded(startIndex, stopIndex) {
25229
+ var _props = this.props,
25230
+ isItemLoaded = _props.isItemLoaded,
25231
+ itemCount = _props.itemCount,
25232
+ _props$minimumBatchSi = _props.minimumBatchSize,
25233
+ minimumBatchSize = _props$minimumBatchSi === undefined ? 10 : _props$minimumBatchSi,
25234
+ _props$threshold = _props.threshold,
25235
+ threshold = _props$threshold === undefined ? 15 : _props$threshold;
25236
+
25237
+
25238
+ var unloadedRanges = scanForUnloadedRanges({
25239
+ isItemLoaded: isItemLoaded,
25240
+ itemCount: itemCount,
25241
+ minimumBatchSize: minimumBatchSize,
25242
+ startIndex: Math.max(0, startIndex - threshold),
25243
+ stopIndex: Math.min(itemCount - 1, stopIndex + threshold)
25244
+ });
25245
+
25246
+ // Avoid calling load-rows unless range has changed.
25247
+ // This shouldn't be strictly necessary, but is maybe nice to do.
25248
+ if (this._memoizedUnloadedRanges.length !== unloadedRanges.length || this._memoizedUnloadedRanges.some(function (startOrStop, index) {
25249
+ return unloadedRanges[index] !== startOrStop;
25250
+ })) {
25251
+ this._memoizedUnloadedRanges = unloadedRanges;
25252
+ this._loadUnloadedRanges(unloadedRanges);
25253
+ }
25254
+ }
25255
+ }, {
25256
+ key: '_loadUnloadedRanges',
25257
+ value: function _loadUnloadedRanges(unloadedRanges) {
25258
+ var _this2 = this;
25259
+
25260
+ // loadMoreRows was renamed to loadMoreItems in v1.0.3; will be removed in v2.0
25261
+ var loadMoreItems = this.props.loadMoreItems || this.props.loadMoreRows;
25262
+
25263
+ var _loop = function _loop(i) {
25264
+ var startIndex = unloadedRanges[i];
25265
+ var stopIndex = unloadedRanges[i + 1];
25266
+ var promise = loadMoreItems(startIndex, stopIndex);
25267
+ if (promise != null) {
25268
+ promise.then(function () {
25269
+ // Refresh the visible rows if any of them have just been loaded.
25270
+ // Otherwise they will remain in their unloaded visual state.
25271
+ if (isRangeVisible({
25272
+ lastRenderedStartIndex: _this2._lastRenderedStartIndex,
25273
+ lastRenderedStopIndex: _this2._lastRenderedStopIndex,
25274
+ startIndex: startIndex,
25275
+ stopIndex: stopIndex
25276
+ })) {
25277
+ // Handle an unmount while promises are still in flight.
25278
+ if (_this2._listRef == null) {
25279
+ return;
25280
+ }
25281
+
25282
+ // Resize cached row sizes for VariableSizeList,
25283
+ // otherwise just re-render the list.
25284
+ if (typeof _this2._listRef.resetAfterIndex === 'function') {
25285
+ _this2._listRef.resetAfterIndex(startIndex, true);
25286
+ } else {
25287
+ // HACK reset temporarily cached item styles to force PureComponent to re-render.
25288
+ // This is pretty gross, but I'm okay with it for now.
25289
+ // Don't judge me.
25290
+ if (typeof _this2._listRef._getItemStyleCache === 'function') {
25291
+ _this2._listRef._getItemStyleCache(-1);
25292
+ }
25293
+ _this2._listRef.forceUpdate();
25294
+ }
25295
+ }
25296
+ });
25297
+ }
25298
+ };
25299
+
25300
+ for (var i = 0; i < unloadedRanges.length; i += 2) {
25301
+ _loop(i);
25302
+ }
25303
+ }
25304
+ }]);
25305
+ return InfiniteLoader;
25306
+ }(external_react_.PureComponent);
25307
+
25308
+ /* harmony default export */ const index_esm = (InfiniteLoader);
25309
+
25028
25310
  // EXTERNAL MODULE: ./src/Components/List/list.scss
25029
25311
  var list = __webpack_require__(2477);
25030
25312
  var list_default = /*#__PURE__*/__webpack_require__.n(list);
@@ -27500,13 +27782,15 @@ const SizeCalculatorMemo = withMemo(SizeCalculator);
27500
27782
 
27501
27783
 
27502
27784
 
27503
- const List = withMemo(function List({
27785
+ const List = withForwardRef(function List({
27504
27786
  items,
27505
27787
  renderItem,
27506
27788
  itemHeight: initialItemHeight = 0,
27507
27789
  className,
27508
- style
27509
- }) {
27790
+ style,
27791
+ onItemsRendered,
27792
+ autoSizeClassName
27793
+ }, ref) {
27510
27794
  // Variables
27511
27795
  // States
27512
27796
  const [itemHeight, setItemHeight] = (0,external_react_.useState)(initialItemHeight);
@@ -27520,7 +27804,9 @@ const List = withMemo(function List({
27520
27804
  // Effects
27521
27805
  // Other
27522
27806
  // Render Functions
27523
- return /*#__PURE__*/external_react_.createElement(AutoSizer, null, ({
27807
+ return /*#__PURE__*/external_react_.createElement(AutoSizer, {
27808
+ className: autoSizeClassName
27809
+ }, ({
27524
27810
  height,
27525
27811
  width
27526
27812
  }) => {
@@ -27528,12 +27814,16 @@ const List = withMemo(function List({
27528
27814
  onSize: setHeight,
27529
27815
  absolute: true
27530
27816
  }, renderItem(items[0], {
27817
+ visibility: 'hidden',
27818
+ pointerEvents: 'none',
27531
27819
  position: 'relative',
27532
27820
  top: '0px',
27533
27821
  left: '0px',
27534
27822
  width: '100%',
27535
27823
  zIndex: -1
27536
27824
  }, 0)), height !== undefined && width !== undefined && /*#__PURE__*/external_react_.createElement(FixedSizeList, {
27825
+ onItemsRendered: onItemsRendered,
27826
+ ref: ref,
27537
27827
  height: height,
27538
27828
  itemCount: items.length,
27539
27829
  width: width,
@@ -27544,6 +27834,87 @@ const List = withMemo(function List({
27544
27834
  }, renderItemInner));
27545
27835
  });
27546
27836
  }, (list_default()));
27837
+ ;// CONCATENATED MODULE: ./src/Components/List/InfiniteList.tsx
27838
+ var InfiniteList_awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
27839
+ function adopt(value) {
27840
+ return value instanceof P ? value : new P(function (resolve) {
27841
+ resolve(value);
27842
+ });
27843
+ }
27844
+ return new (P || (P = Promise))(function (resolve, reject) {
27845
+ function fulfilled(value) {
27846
+ try {
27847
+ step(generator.next(value));
27848
+ } catch (e) {
27849
+ reject(e);
27850
+ }
27851
+ }
27852
+ function rejected(value) {
27853
+ try {
27854
+ step(generator["throw"](value));
27855
+ } catch (e) {
27856
+ reject(e);
27857
+ }
27858
+ }
27859
+ function step(result) {
27860
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
27861
+ }
27862
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
27863
+ });
27864
+ };
27865
+
27866
+
27867
+
27868
+
27869
+ const InfiniteList = withMemo(function InfiniteList({
27870
+ renderItem,
27871
+ itemHeight,
27872
+ items,
27873
+ renderBefore,
27874
+ keyExtractor,
27875
+ hasNextPage,
27876
+ loadNextPage,
27877
+ style,
27878
+ className
27879
+ }) {
27880
+ // Refs
27881
+ // States/Variables/Selectors
27882
+ const [isPageLoading, setIsPageLoading] = (0,external_react_.useState)(false);
27883
+ // Dispatch
27884
+ // Callbacks
27885
+ const isItemLoaded = (0,external_react_.useCallback)(index => !hasNextPage || index < items.length, [hasNextPage, items]);
27886
+ const loadMore = (0,external_react_.useCallback)(() => InfiniteList_awaiter(this, void 0, void 0, function* () {
27887
+ if (!isPageLoading) {
27888
+ setIsPageLoading(true);
27889
+ try {
27890
+ loadNextPage();
27891
+ } finally {
27892
+ setIsPageLoading(false);
27893
+ }
27894
+ }
27895
+ }), [isPageLoading, loadNextPage]);
27896
+ // Effects
27897
+ // Other
27898
+ // RenderFunctions
27899
+ return /*#__PURE__*/external_react_default().createElement(index_esm, {
27900
+ isItemLoaded: isItemLoaded,
27901
+ loadMoreItems: loadMore,
27902
+ itemCount: hasNextPage ? items.length + 1 : items.length
27903
+ }, ({
27904
+ onItemsRendered,
27905
+ ref
27906
+ }) => /*#__PURE__*/external_react_default().createElement(List, {
27907
+ items: items,
27908
+ renderItem: renderItem,
27909
+ style: style,
27910
+ className: className,
27911
+ itemHeight: itemHeight,
27912
+ renderBefore: renderBefore,
27913
+ keyExtractor: keyExtractor,
27914
+ ref: ref,
27915
+ onItemsRendered: onItemsRendered
27916
+ }));
27917
+ });
27547
27918
  ;// CONCATENATED MODULE: ./src/Components/Menu/HoverMenu.tsx
27548
27919
 
27549
27920
 
@@ -28693,6 +29064,7 @@ function nonEmptyString(str, other = Characters.NBSP) {
28693
29064
 
28694
29065
 
28695
29066
 
29067
+
28696
29068
 
28697
29069
 
28698
29070
  })();
@@ -28735,6 +29107,7 @@ exports.HoverMenu = __webpack_exports__.HoverMenu;
28735
29107
  exports.Icon = __webpack_exports__.Icon;
28736
29108
  exports.Image = __webpack_exports__.Image;
28737
29109
  exports.InViewport = __webpack_exports__.InViewport;
29110
+ exports.InfiniteList = __webpack_exports__.InfiniteList;
28738
29111
  exports.Inline = __webpack_exports__.Inline;
28739
29112
  exports.InlineBlock = __webpack_exports__.InlineBlock;
28740
29113
  exports.Input = __webpack_exports__.Input;