@pie-element/categorize 11.3.4-next.3 → 12.0.0-beta.1
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.
- package/CHANGELOG.md +0 -11
- package/configure/CHANGELOG.md +0 -11
- package/configure/lib/__tests__/main.test.js +100 -0
- package/configure/lib/__tests__/utils.js +39 -0
- package/configure/lib/defaults.js +3 -6
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/design/__tests__/builder.test.js +34 -0
- package/configure/lib/design/__tests__/buttons.test.js +36 -0
- package/configure/lib/design/__tests__/header.test.js +37 -0
- package/configure/lib/design/__tests__/index.test.js +125 -0
- package/configure/lib/design/__tests__/input-header.test.js +41 -0
- package/configure/lib/design/builder.js +16 -34
- package/configure/lib/design/builder.js.map +1 -1
- package/configure/lib/design/buttons.js +42 -96
- package/configure/lib/design/buttons.js.map +1 -1
- package/configure/lib/design/categories/RowLabel.js +34 -47
- package/configure/lib/design/categories/RowLabel.js.map +1 -1
- package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
- package/configure/lib/design/categories/__tests__/category.test.js +65 -0
- package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
- package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
- package/configure/lib/design/categories/__tests__/index.test.js +91 -0
- package/configure/lib/design/categories/alternateResponses.js +97 -252
- package/configure/lib/design/categories/alternateResponses.js.map +1 -1
- package/configure/lib/design/categories/category.js +136 -209
- package/configure/lib/design/categories/category.js.map +1 -1
- package/configure/lib/design/categories/choice-preview.js +62 -127
- package/configure/lib/design/categories/choice-preview.js.map +1 -1
- package/configure/lib/design/categories/droppable-placeholder.js +74 -166
- package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
- package/configure/lib/design/categories/index.js +196 -385
- package/configure/lib/design/categories/index.js.map +1 -1
- package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
- package/configure/lib/design/choices/__tests__/config.test.js +66 -0
- package/configure/lib/design/choices/__tests__/index.test.js +70 -0
- package/configure/lib/design/choices/choice.js +156 -265
- package/configure/lib/design/choices/choice.js.map +1 -1
- package/configure/lib/design/choices/config.js +43 -99
- package/configure/lib/design/choices/config.js.map +1 -1
- package/configure/lib/design/choices/index.js +149 -237
- package/configure/lib/design/choices/index.js.map +1 -1
- package/configure/lib/design/header.js +58 -112
- package/configure/lib/design/header.js.map +1 -1
- package/configure/lib/design/index.js +633 -478
- package/configure/lib/design/index.js.map +1 -1
- package/configure/lib/design/input-header.js +95 -151
- package/configure/lib/design/input-header.js.map +1 -1
- package/configure/lib/design/utils.js +5 -16
- package/configure/lib/design/utils.js.map +1 -1
- package/configure/lib/index.js +121 -184
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +31 -75
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/utils.js +23 -33
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +15 -15
- package/controller/CHANGELOG.md +0 -11
- package/controller/lib/__tests__/index.test.js +526 -0
- package/controller/lib/defaults.js +3 -6
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +238 -319
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +29 -66
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +5 -5
- package/docs/demo/.pie/.configure/package.json +10 -0
- package/docs/demo/.pie/.configure/yarn.lock +2181 -0
- package/docs/demo/.pie/.controllers/package.json +10 -0
- package/docs/demo/.pie/.controllers/yarn.lock +110 -0
- package/docs/demo/.pie/info.entry.js +89 -0
- package/docs/demo/.pie/info.webpack.config.js +119 -0
- package/docs/demo/.pie/package.json +10 -0
- package/docs/demo/.pie/yarn.lock +2190 -0
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/index.test.js +197 -0
- package/lib/categorize/__tests__/categories.test.js +138 -0
- package/lib/categorize/__tests__/category.test.js +137 -0
- package/lib/categorize/__tests__/choice.test.js +88 -0
- package/lib/categorize/__tests__/choices.test.js +118 -0
- package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
- package/lib/categorize/__tests__/grid-content.test.js +48 -0
- package/lib/categorize/__tests__/index.test.js +152 -0
- package/lib/categorize/categories.js +107 -165
- package/lib/categorize/categories.js.map +1 -1
- package/lib/categorize/category.js +74 -124
- package/lib/categorize/category.js.map +1 -1
- package/lib/categorize/choice.js +119 -246
- package/lib/categorize/choice.js.map +1 -1
- package/lib/categorize/choices.js +67 -132
- package/lib/categorize/choices.js.map +1 -1
- package/lib/categorize/droppable-placeholder.js +47 -104
- package/lib/categorize/droppable-placeholder.js.map +1 -1
- package/lib/categorize/grid-content.js +40 -88
- package/lib/categorize/grid-content.js.map +1 -1
- package/lib/categorize/index.js +342 -318
- package/lib/categorize/index.js.map +1 -1
- package/lib/index.js +286 -307
- package/lib/index.js.map +1 -1
- package/package.json +16 -14
- package/esm/configure.js +0 -34401
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -1468
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -13134
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
|
@@ -1,193 +1,135 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
4
|
Object.defineProperty(exports, "__esModule", {
|
|
8
5
|
value: true
|
|
9
6
|
});
|
|
10
7
|
exports.Categories = void 0;
|
|
11
8
|
Object.defineProperty(exports, "CategoryType", {
|
|
12
9
|
enumerable: true,
|
|
13
|
-
get: function
|
|
10
|
+
get: function () {
|
|
14
11
|
return _category.CategoryType;
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
|
-
exports
|
|
18
|
-
|
|
14
|
+
exports.default = void 0;
|
|
19
15
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
20
|
-
|
|
21
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
22
|
-
|
|
23
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
24
|
-
|
|
25
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
26
|
-
|
|
27
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
28
|
-
|
|
29
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
30
|
-
|
|
31
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
|
-
|
|
33
17
|
var _react = _interopRequireDefault(require("react"));
|
|
34
|
-
|
|
35
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
36
|
-
|
|
37
|
-
var _styles = require("@material-ui/core/styles");
|
|
38
|
-
|
|
19
|
+
var _styles = require("@mui/material/styles");
|
|
39
20
|
var _renderUi = require("@pie-lib/render-ui");
|
|
40
|
-
|
|
41
21
|
var _gridContent = _interopRequireDefault(require("./grid-content"));
|
|
42
|
-
|
|
43
22
|
var _category = _interopRequireWildcard(require("./category"));
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
for (var i = 0; i < cats.length; i += categoriesPerRow) {
|
|
82
|
-
chunkedCategories.push(cats.slice(i, i + categoriesPerRow));
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
24
|
+
class Categories extends _react.default.Component {
|
|
25
|
+
render() {
|
|
26
|
+
const {
|
|
27
|
+
categories,
|
|
28
|
+
model,
|
|
29
|
+
disabled,
|
|
30
|
+
onDropChoice,
|
|
31
|
+
onRemoveChoice,
|
|
32
|
+
rowLabels
|
|
33
|
+
} = this.props;
|
|
34
|
+
const {
|
|
35
|
+
categoriesPerRow,
|
|
36
|
+
minRowHeight
|
|
37
|
+
} = model;
|
|
38
|
+
|
|
39
|
+
// split categories into an array of arrays (inner array),
|
|
40
|
+
// where each inner array represents how many categories should be displayed on one row
|
|
41
|
+
const chunkedCategories = [];
|
|
42
|
+
const cats = categories || [];
|
|
43
|
+
for (let i = 0; i < cats.length; i += categoriesPerRow) {
|
|
44
|
+
chunkedCategories.push(cats.slice(i, i + categoriesPerRow));
|
|
45
|
+
}
|
|
46
|
+
const hasNonEmptyString = array => {
|
|
47
|
+
let found = false;
|
|
48
|
+
(array || []).forEach(element => {
|
|
49
|
+
if (typeof element === 'string' && element.trim() !== '' && element.trim() !== '<div></div>') {
|
|
50
|
+
found = true;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return found;
|
|
54
|
+
};
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(_gridContent.default, {
|
|
56
|
+
columns: categoriesPerRow,
|
|
57
|
+
rows: Math.ceil(categories.length / categoriesPerRow) * 2,
|
|
58
|
+
extraStyle: {
|
|
59
|
+
flex: 1
|
|
83
60
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
61
|
+
}, chunkedCategories.map((cat, rowIndex) => {
|
|
62
|
+
let items = [];
|
|
63
|
+
|
|
64
|
+
// for each inner array of categories, create a row with category titles
|
|
65
|
+
// first cell of row has to be the row label
|
|
66
|
+
cat.forEach((c, columnIndex) => {
|
|
67
|
+
items.push(/*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
style: {
|
|
69
|
+
display: 'flex'
|
|
90
70
|
}
|
|
91
|
-
})
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
key: "category-label-".concat(rowIndex, "-").concat(columnIndex),
|
|
119
|
-
dangerouslySetInnerHTML: {
|
|
120
|
-
__html: c.label
|
|
121
|
-
}
|
|
122
|
-
}), /*#__PURE__*/_react["default"].createElement(_category["default"], (0, _extends2["default"])({
|
|
123
|
-
minRowHeight: minRowHeight,
|
|
124
|
-
onDropChoice: function onDropChoice(h) {
|
|
125
|
-
return _onDropChoice(c.id, h);
|
|
126
|
-
},
|
|
127
|
-
onRemoveChoice: onRemoveChoice,
|
|
128
|
-
disabled: disabled,
|
|
129
|
-
className: classes.category,
|
|
130
|
-
key: "category-element-".concat(rowIndex, "-").concat(columnIndex)
|
|
131
|
-
}, c)))));
|
|
132
|
-
}); // if the last row has fewer categories than max on a row, fill the spaces with divs
|
|
133
|
-
|
|
134
|
-
items = items.concat(Array(categoriesPerRow - cat.length).fill( /*#__PURE__*/_react["default"].createElement("div", null)).map(function (value, index) {
|
|
135
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
136
|
-
key: "fill-space-final-".concat(index)
|
|
137
|
-
});
|
|
138
|
-
}));
|
|
139
|
-
return items;
|
|
140
|
-
}));
|
|
141
|
-
}
|
|
142
|
-
}]);
|
|
143
|
-
return Categories;
|
|
144
|
-
}(_react["default"].Component);
|
|
145
|
-
|
|
71
|
+
}, columnIndex === 0 && hasNonEmptyString(rowLabels) ? /*#__PURE__*/_react.default.createElement(StyledRowLabel, {
|
|
72
|
+
key: rowIndex,
|
|
73
|
+
dangerouslySetInnerHTML: {
|
|
74
|
+
__html: rowLabels[rowIndex] || ''
|
|
75
|
+
}
|
|
76
|
+
}) : null, /*#__PURE__*/_react.default.createElement(StyledCategoryWrapper, null, /*#__PURE__*/_react.default.createElement(StyledLabel, {
|
|
77
|
+
key: `category-label-${rowIndex}-${columnIndex}`,
|
|
78
|
+
dangerouslySetInnerHTML: {
|
|
79
|
+
__html: c.label
|
|
80
|
+
}
|
|
81
|
+
}), /*#__PURE__*/_react.default.createElement(_category.default, (0, _extends2.default)({
|
|
82
|
+
minRowHeight: minRowHeight,
|
|
83
|
+
onDropChoice: h => onDropChoice(c.id, h),
|
|
84
|
+
onRemoveChoice: onRemoveChoice,
|
|
85
|
+
disabled: disabled,
|
|
86
|
+
key: `category-element-${rowIndex}-${columnIndex}`
|
|
87
|
+
}, c)))));
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// if the last row has fewer categories than max on a row, fill the spaces with divs
|
|
91
|
+
items = items.concat(Array(categoriesPerRow - cat.length).fill(/*#__PURE__*/_react.default.createElement("div", null)).map((value, index) => /*#__PURE__*/_react.default.createElement("div", {
|
|
92
|
+
key: `fill-space-final-${index}`
|
|
93
|
+
})));
|
|
94
|
+
return items;
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
146
98
|
exports.Categories = Categories;
|
|
147
|
-
(0, _defineProperty2
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
categoriesPerRow: _propTypes["default"].number
|
|
99
|
+
(0, _defineProperty2.default)(Categories, "propTypes", {
|
|
100
|
+
categories: _propTypes.default.arrayOf(_propTypes.default.shape(_category.CategoryType)),
|
|
101
|
+
model: _propTypes.default.shape({
|
|
102
|
+
categoriesPerRow: _propTypes.default.number
|
|
152
103
|
}),
|
|
153
|
-
disabled: _propTypes
|
|
154
|
-
onDropChoice: _propTypes
|
|
155
|
-
onRemoveChoice: _propTypes
|
|
156
|
-
rowLabels: _propTypes
|
|
104
|
+
disabled: _propTypes.default.bool,
|
|
105
|
+
onDropChoice: _propTypes.default.func.isRequired,
|
|
106
|
+
onRemoveChoice: _propTypes.default.func.isRequired,
|
|
107
|
+
rowLabels: _propTypes.default.array
|
|
157
108
|
});
|
|
158
|
-
(0, _defineProperty2
|
|
109
|
+
(0, _defineProperty2.default)(Categories, "defaultProps", {
|
|
159
110
|
model: {
|
|
160
111
|
categoriesPerRow: 1
|
|
161
112
|
}
|
|
162
113
|
});
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
flex: '2',
|
|
185
|
-
flexDirection: 'column'
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
var _default = (0, _styles.withStyles)(styles)(Categories);
|
|
191
|
-
|
|
192
|
-
exports["default"] = _default;
|
|
193
|
-
//# sourceMappingURL=categories.js.map
|
|
114
|
+
const StyledLabel = (0, _styles.styled)('div')(({
|
|
115
|
+
theme
|
|
116
|
+
}) => ({
|
|
117
|
+
color: _renderUi.color.text(),
|
|
118
|
+
backgroundColor: _renderUi.color.background(),
|
|
119
|
+
textAlign: 'center',
|
|
120
|
+
paddingTop: theme.spacing(1)
|
|
121
|
+
}));
|
|
122
|
+
const StyledRowLabel = (0, _styles.styled)('div')({
|
|
123
|
+
alignItems: 'center',
|
|
124
|
+
display: 'flex',
|
|
125
|
+
justifyContent: 'center',
|
|
126
|
+
flex: 0.5,
|
|
127
|
+
marginRight: '12px'
|
|
128
|
+
});
|
|
129
|
+
const StyledCategoryWrapper = (0, _styles.styled)('div')({
|
|
130
|
+
display: 'flex',
|
|
131
|
+
flex: '2',
|
|
132
|
+
flexDirection: 'column'
|
|
133
|
+
});
|
|
134
|
+
var _default = exports.default = Categories;
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX3JlbmRlclVpIiwiX2dyaWRDb250ZW50IiwiX2NhdGVnb3J5IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJDYXRlZ29yaWVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJjYXRlZ29yaWVzIiwibW9kZWwiLCJkaXNhYmxlZCIsIm9uRHJvcENob2ljZSIsIm9uUmVtb3ZlQ2hvaWNlIiwicm93TGFiZWxzIiwicHJvcHMiLCJjYXRlZ29yaWVzUGVyUm93IiwibWluUm93SGVpZ2h0IiwiY2h1bmtlZENhdGVnb3JpZXMiLCJjYXRzIiwibGVuZ3RoIiwicHVzaCIsInNsaWNlIiwiaGFzTm9uRW1wdHlTdHJpbmciLCJhcnJheSIsImZvdW5kIiwiZm9yRWFjaCIsImVsZW1lbnQiLCJ0cmltIiwiY3JlYXRlRWxlbWVudCIsImNvbHVtbnMiLCJyb3dzIiwiTWF0aCIsImNlaWwiLCJleHRyYVN0eWxlIiwiZmxleCIsIm1hcCIsImNhdCIsInJvd0luZGV4IiwiaXRlbXMiLCJjIiwiY29sdW1uSW5kZXgiLCJzdHlsZSIsImRpc3BsYXkiLCJTdHlsZWRSb3dMYWJlbCIsImtleSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiU3R5bGVkQ2F0ZWdvcnlXcmFwcGVyIiwiU3R5bGVkTGFiZWwiLCJsYWJlbCIsIl9leHRlbmRzMiIsImgiLCJpZCIsImNvbmNhdCIsIkFycmF5IiwiZmlsbCIsInZhbHVlIiwiaW5kZXgiLCJleHBvcnRzIiwiX2RlZmluZVByb3BlcnR5MiIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJzaGFwZSIsIkNhdGVnb3J5VHlwZSIsIm51bWJlciIsImJvb2wiLCJmdW5jIiwiaXNSZXF1aXJlZCIsInN0eWxlZCIsInRoZW1lIiwiY29sb3IiLCJ0ZXh0IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsInRleHRBbGlnbiIsInBhZGRpbmdUb3AiLCJzcGFjaW5nIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwibWFyZ2luUmlnaHQiLCJmbGV4RGlyZWN0aW9uIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2F0ZWdvcml6ZS9jYXRlZ29yaWVzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuaW1wb3J0IEdyaWRDb250ZW50IGZyb20gJy4vZ3JpZC1jb250ZW50JztcbmltcG9ydCBDYXRlZ29yeSwgeyBDYXRlZ29yeVR5cGUgfSBmcm9tICcuL2NhdGVnb3J5JztcblxuZXhwb3J0IHsgQ2F0ZWdvcnlUeXBlIH07XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yaWVzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjYXRlZ29yaWVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc2hhcGUoQ2F0ZWdvcnlUeXBlKSksXG4gICAgbW9kZWw6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjYXRlZ29yaWVzUGVyUm93OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkRyb3BDaG9pY2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVDaG9pY2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcm93TGFiZWxzOiBQcm9wVHlwZXMuYXJyYXksXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBtb2RlbDoge1xuICAgICAgY2F0ZWdvcmllc1BlclJvdzogMSxcbiAgICB9LFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNhdGVnb3JpZXMsIG1vZGVsLCBkaXNhYmxlZCwgb25Ecm9wQ2hvaWNlLCBvblJlbW92ZUNob2ljZSwgcm93TGFiZWxzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgY2F0ZWdvcmllc1BlclJvdywgbWluUm93SGVpZ2h0IH0gPSBtb2RlbDtcblxuICAgIC8vIHNwbGl0IGNhdGVnb3JpZXMgaW50byBhbiBhcnJheSBvZiBhcnJheXMgKGlubmVyIGFycmF5KSxcbiAgICAvLyB3aGVyZSBlYWNoIGlubmVyIGFycmF5IHJlcHJlc2VudHMgaG93IG1hbnkgY2F0ZWdvcmllcyBzaG91bGQgYmUgZGlzcGxheWVkIG9uIG9uZSByb3dcbiAgICBjb25zdCBjaHVua2VkQ2F0ZWdvcmllcyA9IFtdO1xuICAgIGNvbnN0IGNhdHMgPSBjYXRlZ29yaWVzIHx8IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2F0cy5sZW5ndGg7IGkgKz0gY2F0ZWdvcmllc1BlclJvdykge1xuICAgICAgY2h1bmtlZENhdGVnb3JpZXMucHVzaChjYXRzLnNsaWNlKGksIGkgKyBjYXRlZ29yaWVzUGVyUm93KSk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzTm9uRW1wdHlTdHJpbmcgPSAoYXJyYXkpID0+IHtcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gICAgICAoYXJyYXkgfHwgW10pLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJyAmJiBlbGVtZW50LnRyaW0oKSAhPT0gJycgJiYgZWxlbWVudC50cmltKCkgIT09ICc8ZGl2PjwvZGl2PicpIHtcbiAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZm91bmQ7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8R3JpZENvbnRlbnRcbiAgICAgICAgY29sdW1ucz17Y2F0ZWdvcmllc1BlclJvd31cbiAgICAgICAgcm93cz17TWF0aC5jZWlsKGNhdGVnb3JpZXMubGVuZ3RoIC8gY2F0ZWdvcmllc1BlclJvdykgKiAyfVxuICAgICAgICBleHRyYVN0eWxlPXt7IGZsZXg6IDEgfX1cbiAgICAgID5cbiAgICAgICAge2NodW5rZWRDYXRlZ29yaWVzLm1hcCgoY2F0LCByb3dJbmRleCkgPT4ge1xuICAgICAgICAgIGxldCBpdGVtcyA9IFtdO1xuXG4gICAgICAgICAgLy8gZm9yIGVhY2ggaW5uZXIgYXJyYXkgb2YgY2F0ZWdvcmllcywgY3JlYXRlIGEgcm93IHdpdGggY2F0ZWdvcnkgdGl0bGVzXG4gICAgICAgICAgLy8gZmlyc3QgY2VsbCBvZiByb3cgaGFzIHRvIGJlIHRoZSByb3cgbGFiZWxcbiAgICAgICAgICBjYXQuZm9yRWFjaCgoYywgY29sdW1uSW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnIH19PlxuICAgICAgICAgICAgICAgIHtjb2x1bW5JbmRleCA9PT0gMCAmJiBoYXNOb25FbXB0eVN0cmluZyhyb3dMYWJlbHMpID8gKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZFJvd0xhYmVsXG4gICAgICAgICAgICAgICAgICAgIGtleT17cm93SW5kZXh9XG4gICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgICAgICAgX19odG1sOiByb3dMYWJlbHNbcm93SW5kZXhdIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8U3R5bGVkQ2F0ZWdvcnlXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgICAgICAgIGtleT17YGNhdGVnb3J5LWxhYmVsLSR7cm93SW5kZXh9LSR7Y29sdW1uSW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBjLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgICA8Q2F0ZWdvcnlcbiAgICAgICAgICAgICAgICAgICAgbWluUm93SGVpZ2h0PXttaW5Sb3dIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgIG9uRHJvcENob2ljZT17KGgpID0+IG9uRHJvcENob2ljZShjLmlkLCBoKX1cbiAgICAgICAgICAgICAgICAgICAgb25SZW1vdmVDaG9pY2U9e29uUmVtb3ZlQ2hvaWNlfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIGtleT17YGNhdGVnb3J5LWVsZW1lbnQtJHtyb3dJbmRleH0tJHtjb2x1bW5JbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICB7Li4uY31cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDYXRlZ29yeVdyYXBwZXI+XG4gICAgICAgICAgICAgIDwvZGl2PixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBpZiB0aGUgbGFzdCByb3cgaGFzIGZld2VyIGNhdGVnb3JpZXMgdGhhbiBtYXggb24gYSByb3csIGZpbGwgdGhlIHNwYWNlcyB3aXRoIGRpdnNcbiAgICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChcbiAgICAgICAgICAgIEFycmF5KGNhdGVnb3JpZXNQZXJSb3cgLSBjYXQubGVuZ3RoKVxuICAgICAgICAgICAgICAuZmlsbCg8ZGl2IC8+KVxuICAgICAgICAgICAgICAubWFwKCh2YWx1ZSwgaW5kZXgpID0+IDxkaXYga2V5PXtgZmlsbC1zcGFjZS1maW5hbC0ke2luZGV4fWB9IC8+KSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgICB9KX1cbiAgICAgIDwvR3JpZENvbnRlbnQ+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IFN0eWxlZFJvd0xhYmVsID0gc3R5bGVkKCdkaXYnKSh7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgZmxleDogMC41LFxuICBtYXJnaW5SaWdodDogJzEycHgnLFxufSk7XG5cbmNvbnN0IFN0eWxlZENhdGVnb3J5V3JhcHBlciA9IHN0eWxlZCgnZGl2Jykoe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXg6ICcyJyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ2F0ZWdvcmllcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"categories.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_gridContent","_category","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Categories","React","Component","render","categories","model","disabled","onDropChoice","onRemoveChoice","rowLabels","props","categoriesPerRow","minRowHeight","chunkedCategories","cats","length","push","slice","hasNonEmptyString","array","found","forEach","element","trim","createElement","columns","rows","Math","ceil","extraStyle","flex","map","cat","rowIndex","items","c","columnIndex","style","display","StyledRowLabel","key","dangerouslySetInnerHTML","__html","StyledCategoryWrapper","StyledLabel","label","_extends2","h","id","concat","Array","fill","value","index","exports","_defineProperty2","PropTypes","arrayOf","shape","CategoryType","number","bool","func","isRequired","styled","theme","color","text","backgroundColor","background","textAlign","paddingTop","spacing","alignItems","justifyContent","marginRight","flexDirection","_default"],"sources":["../../src/categorize/categories.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nimport GridContent from './grid-content';\nimport Category, { CategoryType } from './category';\n\nexport { CategoryType };\n\nexport class Categories extends React.Component {\n static propTypes = {\n categories: PropTypes.arrayOf(PropTypes.shape(CategoryType)),\n model: PropTypes.shape({\n categoriesPerRow: PropTypes.number,\n }),\n disabled: PropTypes.bool,\n onDropChoice: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n rowLabels: PropTypes.array,\n };\n\n static defaultProps = {\n model: {\n categoriesPerRow: 1,\n },\n };\n\n render() {\n const { categories, model, disabled, onDropChoice, onRemoveChoice, rowLabels } = this.props;\n const { categoriesPerRow, minRowHeight } = model;\n\n // split categories into an array of arrays (inner array),\n // where each inner array represents how many categories should be displayed on one row\n const chunkedCategories = [];\n const cats = categories || [];\n for (let i = 0; i < cats.length; i += categoriesPerRow) {\n chunkedCategories.push(cats.slice(i, i + categoriesPerRow));\n }\n\n const hasNonEmptyString = (array) => {\n let found = false;\n\n (array || []).forEach((element) => {\n if (typeof element === 'string' && element.trim() !== '' && element.trim() !== '<div></div>') {\n found = true;\n }\n });\n\n return found;\n };\n\n return (\n <GridContent\n columns={categoriesPerRow}\n rows={Math.ceil(categories.length / categoriesPerRow) * 2}\n extraStyle={{ flex: 1 }}\n >\n {chunkedCategories.map((cat, rowIndex) => {\n let items = [];\n\n // for each inner array of categories, create a row with category titles\n // first cell of row has to be the row label\n cat.forEach((c, columnIndex) => {\n items.push(\n <div style={{ display: 'flex' }}>\n {columnIndex === 0 && hasNonEmptyString(rowLabels) ? (\n <StyledRowLabel\n key={rowIndex}\n dangerouslySetInnerHTML={{\n __html: rowLabels[rowIndex] || '',\n }}\n />\n ) : null}\n <StyledCategoryWrapper>\n <StyledLabel\n key={`category-label-${rowIndex}-${columnIndex}`}\n dangerouslySetInnerHTML={{ __html: c.label }}\n />\n\n <Category\n minRowHeight={minRowHeight}\n onDropChoice={(h) => onDropChoice(c.id, h)}\n onRemoveChoice={onRemoveChoice}\n disabled={disabled}\n key={`category-element-${rowIndex}-${columnIndex}`}\n {...c}\n />\n </StyledCategoryWrapper>\n </div>,\n );\n });\n\n // if the last row has fewer categories than max on a row, fill the spaces with divs\n items = items.concat(\n Array(categoriesPerRow - cat.length)\n .fill(<div />)\n .map((value, index) => <div key={`fill-space-final-${index}`} />),\n );\n\n return items;\n })}\n </GridContent>\n );\n }\n}\n\nconst StyledLabel = styled('div')(({ theme }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n textAlign: 'center',\n paddingTop: theme.spacing(1),\n}));\n\nconst StyledRowLabel = styled('div')({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n flex: 0.5,\n marginRight: '12px',\n});\n\nconst StyledCategoryWrapper = styled('div')({\n display: 'flex',\n flex: '2',\n flexDirection: 'column',\n});\n\nexport default Categories;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAC,uBAAA,CAAAN,OAAA;AAAoD,SAAAM,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAI7C,MAAMkB,UAAU,SAASC,cAAK,CAACC,SAAS,CAAC;EAkB9CC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,UAAU;MAAEC,KAAK;MAAEC,QAAQ;MAAEC,YAAY;MAAEC,cAAc;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAC3F,MAAM;MAAEC,gBAAgB;MAAEC;IAAa,CAAC,GAAGP,KAAK;;IAEhD;IACA;IACA,MAAMQ,iBAAiB,GAAG,EAAE;IAC5B,MAAMC,IAAI,GAAGV,UAAU,IAAI,EAAE;IAC7B,KAAK,IAAIhB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0B,IAAI,CAACC,MAAM,EAAE3B,CAAC,IAAIuB,gBAAgB,EAAE;MACtDE,iBAAiB,CAACG,IAAI,CAACF,IAAI,CAACG,KAAK,CAAC7B,CAAC,EAAEA,CAAC,GAAGuB,gBAAgB,CAAC,CAAC;IAC7D;IAEA,MAAMO,iBAAiB,GAAIC,KAAK,IAAK;MACnC,IAAIC,KAAK,GAAG,KAAK;MAEjB,CAACD,KAAK,IAAI,EAAE,EAAEE,OAAO,CAAEC,OAAO,IAAK;QACjC,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAID,OAAO,CAACC,IAAI,CAAC,CAAC,KAAK,aAAa,EAAE;UAC5FH,KAAK,GAAG,IAAI;QACd;MACF,CAAC,CAAC;MAEF,OAAOA,KAAK;IACd,CAAC;IAED,oBACEhD,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC9C,YAAA,CAAAa,OAAW;MACVkC,OAAO,EAAEd,gBAAiB;MAC1Be,IAAI,EAAEC,IAAI,CAACC,IAAI,CAACxB,UAAU,CAACW,MAAM,GAAGJ,gBAAgB,CAAC,GAAG,CAAE;MAC1DkB,UAAU,EAAE;QAAEC,IAAI,EAAE;MAAE;IAAE,GAEvBjB,iBAAiB,CAACkB,GAAG,CAAC,CAACC,GAAG,EAAEC,QAAQ,KAAK;MACxC,IAAIC,KAAK,GAAG,EAAE;;MAEd;MACA;MACAF,GAAG,CAACX,OAAO,CAAC,CAACc,CAAC,EAAEC,WAAW,KAAK;QAC9BF,KAAK,CAAClB,IAAI,cACR5C,MAAA,CAAAmB,OAAA,CAAAiC,aAAA;UAAKa,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAAE,GAC7BF,WAAW,KAAK,CAAC,IAAIlB,iBAAiB,CAACT,SAAS,CAAC,gBAChDrC,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAACe,cAAc;UACbC,GAAG,EAAEP,QAAS;UACdQ,uBAAuB,EAAE;YACvBC,MAAM,EAAEjC,SAAS,CAACwB,QAAQ,CAAC,IAAI;UACjC;QAAE,CACH,CAAC,GACA,IAAI,eACR7D,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAACmB,qBAAqB,qBACpBvE,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAACoB,WAAW;UACVJ,GAAG,EAAE,kBAAkBP,QAAQ,IAAIG,WAAW,EAAG;UACjDK,uBAAuB,EAAE;YAAEC,MAAM,EAAEP,CAAC,CAACU;UAAM;QAAE,CAC9C,CAAC,eAEFzE,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC7C,SAAA,CAAAY,OAAQ,MAAAuD,SAAA,CAAAvD,OAAA;UACPqB,YAAY,EAAEA,YAAa;UAC3BL,YAAY,EAAGwC,CAAC,IAAKxC,YAAY,CAAC4B,CAAC,CAACa,EAAE,EAAED,CAAC,CAAE;UAC3CvC,cAAc,EAAEA,cAAe;UAC/BF,QAAQ,EAAEA,QAAS;UACnBkC,GAAG,EAAE,oBAAoBP,QAAQ,IAAIG,WAAW;QAAG,GAC/CD,CAAC,CACN,CACoB,CACpB,CACP,CAAC;MACH,CAAC,CAAC;;MAEF;MACAD,KAAK,GAAGA,KAAK,CAACe,MAAM,CAClBC,KAAK,CAACvC,gBAAgB,GAAGqB,GAAG,CAACjB,MAAM,CAAC,CACjCoC,IAAI,cAAC/E,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,YAAM,CAAC,CAAC,CACbO,GAAG,CAAC,CAACqB,KAAK,EAAEC,KAAK,kBAAKjF,MAAA,CAAAmB,OAAA,CAAAiC,aAAA;QAAKgB,GAAG,EAAE,oBAAoBa,KAAK;MAAG,CAAE,CAAC,CACpE,CAAC;MAED,OAAOnB,KAAK;IACd,CAAC,CACU,CAAC;EAElB;AACF;AAACoB,OAAA,CAAAtD,UAAA,GAAAA,UAAA;AAAA,IAAAuD,gBAAA,CAAAhE,OAAA,EA/FYS,UAAU,eACF;EACjBI,UAAU,EAAEoD,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAACC,sBAAY,CAAC,CAAC;EAC5DtD,KAAK,EAAEmD,kBAAS,CAACE,KAAK,CAAC;IACrB/C,gBAAgB,EAAE6C,kBAAS,CAACI;EAC9B,CAAC,CAAC;EACFtD,QAAQ,EAAEkD,kBAAS,CAACK,IAAI;EACxBtD,YAAY,EAAEiD,kBAAS,CAACM,IAAI,CAACC,UAAU;EACvCvD,cAAc,EAAEgD,kBAAS,CAACM,IAAI,CAACC,UAAU;EACzCtD,SAAS,EAAE+C,kBAAS,CAACrC;AACvB,CAAC;AAAA,IAAAoC,gBAAA,CAAAhE,OAAA,EAVUS,UAAU,kBAYC;EACpBK,KAAK,EAAE;IACLM,gBAAgB,EAAE;EACpB;AACF,CAAC;AAiFH,MAAMiC,WAAW,GAAG,IAAAoB,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAChDC,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;EACnBC,eAAe,EAAEF,eAAK,CAACG,UAAU,CAAC,CAAC;EACnCC,SAAS,EAAE,QAAQ;EACnBC,UAAU,EAAEN,KAAK,CAACO,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAMjC,cAAc,GAAG,IAAAyB,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCS,UAAU,EAAE,QAAQ;EACpBnC,OAAO,EAAE,MAAM;EACfoC,cAAc,EAAE,QAAQ;EACxB5C,IAAI,EAAE,GAAG;EACT6C,WAAW,EAAE;AACf,CAAC,CAAC;AAEF,MAAMhC,qBAAqB,GAAG,IAAAqB,cAAM,EAAC,KAAK,CAAC,CAAC;EAC1C1B,OAAO,EAAE,MAAM;EACfR,IAAI,EAAE,GAAG;EACT8C,aAAa,EAAE;AACjB,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAvB,OAAA,CAAA/D,OAAA,GAEYS,UAAU","ignoreList":[]}
|
|
@@ -1,140 +1,90 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
7
|
+
exports.default = exports.CategoryType = exports.Category = void 0;
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
10
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
32
14
|
var _choice = _interopRequireDefault(require("./choice"));
|
|
33
|
-
|
|
34
15
|
var _droppablePlaceholder = _interopRequireDefault(require("./droppable-placeholder"));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
-
|
|
40
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
46
|
-
var CategoryType = {
|
|
47
|
-
id: _propTypes["default"].string.isRequired,
|
|
48
|
-
categoryId: _propTypes["default"].string
|
|
16
|
+
const CategoryType = exports.CategoryType = {
|
|
17
|
+
id: _propTypes.default.string.isRequired,
|
|
18
|
+
categoryId: _propTypes.default.string
|
|
49
19
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
20
|
+
class Category extends _react.default.Component {
|
|
21
|
+
render() {
|
|
22
|
+
const {
|
|
23
|
+
className,
|
|
24
|
+
choices = [],
|
|
25
|
+
disabled,
|
|
26
|
+
onDropChoice,
|
|
27
|
+
onRemoveChoice,
|
|
28
|
+
id,
|
|
29
|
+
correct,
|
|
30
|
+
minRowHeight
|
|
31
|
+
} = this.props;
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(StyledDiv, {
|
|
33
|
+
className: className,
|
|
34
|
+
id: id
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(StyledPlaceHolder, {
|
|
36
|
+
id: id,
|
|
37
|
+
onDropChoice: onDropChoice,
|
|
38
|
+
disabled: disabled,
|
|
39
|
+
correct: correct,
|
|
40
|
+
minRowHeight: minRowHeight
|
|
41
|
+
}, choices.map((c, index) => /*#__PURE__*/_react.default.createElement(_choice.default, (0, _extends2.default)({
|
|
42
|
+
onRemoveChoice: onRemoveChoice,
|
|
43
|
+
disabled: disabled,
|
|
44
|
+
key: index,
|
|
45
|
+
choiceIndex: index,
|
|
46
|
+
categoryId: id
|
|
47
|
+
}, c)))));
|
|
60
48
|
}
|
|
61
|
-
|
|
62
|
-
(0, _createClass2["default"])(Category, [{
|
|
63
|
-
key: "render",
|
|
64
|
-
value: function render() {
|
|
65
|
-
var _this$props = this.props,
|
|
66
|
-
classes = _this$props.classes,
|
|
67
|
-
className = _this$props.className,
|
|
68
|
-
_this$props$choices = _this$props.choices,
|
|
69
|
-
choices = _this$props$choices === void 0 ? [] : _this$props$choices,
|
|
70
|
-
disabled = _this$props.disabled,
|
|
71
|
-
onDropChoice = _this$props.onDropChoice,
|
|
72
|
-
onRemoveChoice = _this$props.onRemoveChoice,
|
|
73
|
-
id = _this$props.id,
|
|
74
|
-
correct = _this$props.correct,
|
|
75
|
-
minRowHeight = _this$props.minRowHeight;
|
|
76
|
-
var names = (0, _classnames["default"])(classes.category, className);
|
|
77
|
-
var placeholderNames = (0, _classnames["default"])(classes.placeholder, correct === false && classes.incorrect, correct === true && classes.correct);
|
|
78
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
79
|
-
className: names
|
|
80
|
-
}, /*#__PURE__*/_react["default"].createElement(_droppablePlaceholder["default"], {
|
|
81
|
-
onDropChoice: onDropChoice,
|
|
82
|
-
disabled: disabled,
|
|
83
|
-
className: placeholderNames,
|
|
84
|
-
minRowHeight: minRowHeight
|
|
85
|
-
}, choices.map(function (c, index) {
|
|
86
|
-
return /*#__PURE__*/_react["default"].createElement(_choice["default"], (0, _extends2["default"])({
|
|
87
|
-
onRemoveChoice: onRemoveChoice,
|
|
88
|
-
disabled: disabled,
|
|
89
|
-
key: index,
|
|
90
|
-
choiceIndex: index,
|
|
91
|
-
categoryId: id
|
|
92
|
-
}, c));
|
|
93
|
-
})));
|
|
94
|
-
}
|
|
95
|
-
}]);
|
|
96
|
-
return Category;
|
|
97
|
-
}(_react["default"].Component);
|
|
98
|
-
|
|
49
|
+
}
|
|
99
50
|
exports.Category = Category;
|
|
100
|
-
(0, _defineProperty2
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
onDropChoice: _propTypes
|
|
105
|
-
onRemoveChoice: _propTypes
|
|
106
|
-
minRowHeight: _propTypes
|
|
51
|
+
(0, _defineProperty2.default)(Category, "propTypes", {
|
|
52
|
+
...CategoryType,
|
|
53
|
+
className: _propTypes.default.string,
|
|
54
|
+
disabled: _propTypes.default.bool,
|
|
55
|
+
onDropChoice: _propTypes.default.func,
|
|
56
|
+
onRemoveChoice: _propTypes.default.func,
|
|
57
|
+
minRowHeight: _propTypes.default.string
|
|
58
|
+
});
|
|
59
|
+
(0, _defineProperty2.default)(Category, "defaultProps", {});
|
|
60
|
+
const StyledDiv = (0, _styles.styled)('div')(({
|
|
61
|
+
theme
|
|
62
|
+
}) => ({
|
|
63
|
+
display: 'flex',
|
|
64
|
+
flexDirection: 'column',
|
|
65
|
+
flex: 2
|
|
107
66
|
}));
|
|
108
|
-
(0,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
flex: 2
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
var _default = (0, _styles.withStyles)(styles)(Category);
|
|
138
|
-
|
|
139
|
-
exports["default"] = _default;
|
|
140
|
-
//# sourceMappingURL=category.js.map
|
|
67
|
+
const StyledPlaceHolder = (0, _styles.styled)(_droppablePlaceholder.default, {
|
|
68
|
+
shouldForwardProp: prop => prop !== 'correct'
|
|
69
|
+
})(({
|
|
70
|
+
theme,
|
|
71
|
+
correct
|
|
72
|
+
}) => ({
|
|
73
|
+
padding: theme.spacing(0.5),
|
|
74
|
+
borderRadius: theme.spacing(0.5),
|
|
75
|
+
gridColumnGap: 0,
|
|
76
|
+
gridRowGap: 0,
|
|
77
|
+
display: 'flex',
|
|
78
|
+
flexWrap: 'wrap',
|
|
79
|
+
justifyContent: 'center',
|
|
80
|
+
alignItems: 'center',
|
|
81
|
+
alignContent: 'flex-start',
|
|
82
|
+
...(correct === false && {
|
|
83
|
+
border: `solid 2px ${_renderUi.color.incorrect()}`
|
|
84
|
+
}),
|
|
85
|
+
...(correct === true && {
|
|
86
|
+
border: `solid 2px ${_renderUi.color.correct()}`
|
|
87
|
+
})
|
|
88
|
+
}));
|
|
89
|
+
var _default = exports.default = Category;
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX3JlbmRlclVpIiwiX2Nob2ljZSIsIl9kcm9wcGFibGVQbGFjZWhvbGRlciIsIkNhdGVnb3J5VHlwZSIsImV4cG9ydHMiLCJpZCIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJjYXRlZ29yeUlkIiwiQ2F0ZWdvcnkiLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlciIsImNsYXNzTmFtZSIsImNob2ljZXMiLCJkaXNhYmxlZCIsIm9uRHJvcENob2ljZSIsIm9uUmVtb3ZlQ2hvaWNlIiwiY29ycmVjdCIsIm1pblJvd0hlaWdodCIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJTdHlsZWREaXYiLCJTdHlsZWRQbGFjZUhvbGRlciIsIm1hcCIsImMiLCJpbmRleCIsIl9leHRlbmRzMiIsImtleSIsImNob2ljZUluZGV4IiwiX2RlZmluZVByb3BlcnR5MiIsImJvb2wiLCJmdW5jIiwic3R5bGVkIiwidGhlbWUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImZsZXgiLCJQbGFjZUhvbGRlciIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcCIsInBhZGRpbmciLCJzcGFjaW5nIiwiYm9yZGVyUmFkaXVzIiwiZ3JpZENvbHVtbkdhcCIsImdyaWRSb3dHYXAiLCJmbGV4V3JhcCIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImFsaWduQ29udGVudCIsImJvcmRlciIsImNvbG9yIiwiaW5jb3JyZWN0IiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2F0ZWdvcml6ZS9jYXRlZ29yeS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5cbmltcG9ydCBDaG9pY2UgZnJvbSAnLi9jaG9pY2UnO1xuaW1wb3J0IFBsYWNlSG9sZGVyIGZyb20gJy4vZHJvcHBhYmxlLXBsYWNlaG9sZGVyJztcblxuZXhwb3J0IGNvbnN0IENhdGVnb3J5VHlwZSA9IHtcbiAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2F0ZWdvcnlJZDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgLi4uQ2F0ZWdvcnlUeXBlLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25Ecm9wQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJlbW92ZUNob2ljZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbWluUm93SGVpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7fTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY2hvaWNlcyA9IFtdLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBvbkRyb3BDaG9pY2UsXG4gICAgICBvblJlbW92ZUNob2ljZSxcbiAgICAgIGlkLFxuICAgICAgY29ycmVjdCxcbiAgICAgIG1pblJvd0hlaWdodCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBpZD17aWR9PlxuICAgICAgICA8U3R5bGVkUGxhY2VIb2xkZXJcbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgb25Ecm9wQ2hvaWNlPXtvbkRyb3BDaG9pY2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGNvcnJlY3Q9e2NvcnJlY3R9XG4gICAgICAgICAgbWluUm93SGVpZ2h0PXttaW5Sb3dIZWlnaHR9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hvaWNlcy5tYXAoKGMsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8Q2hvaWNlXG4gICAgICAgICAgICAgIG9uUmVtb3ZlQ2hvaWNlPXtvblJlbW92ZUNob2ljZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBjaG9pY2VJbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGNhdGVnb3J5SWQ9e2lkfVxuICAgICAgICAgICAgICB7Li4uY31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkUGxhY2VIb2xkZXI+XG4gICAgICA8L1N0eWxlZERpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZERpdiA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgZmxleDogMixcbn0pKTtcblxuY29uc3QgU3R5bGVkUGxhY2VIb2xkZXIgPSBzdHlsZWQoUGxhY2VIb2xkZXIsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBwcm9wICE9PSAnY29ycmVjdCcsXG59KSgoeyB0aGVtZSwgY29ycmVjdCB9KSA9PiAoe1xuICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDAuNSksXG4gIGJvcmRlclJhZGl1czogdGhlbWUuc3BhY2luZygwLjUpLFxuICBncmlkQ29sdW1uR2FwOiAwLFxuICBncmlkUm93R2FwOiAwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhXcmFwOiAnd3JhcCcsXG4gIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGFsaWduQ29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAuLi4oY29ycmVjdCA9PT0gZmFsc2UgJiYge1xuICAgIGJvcmRlcjogYHNvbGlkIDJweCAke2NvbG9yLmluY29ycmVjdCgpfWAsXG4gIH0pLFxuICAuLi4oY29ycmVjdCA9PT0gdHJ1ZSAmJiB7XG4gICAgYm9yZGVyOiBgc29saWQgMnB4ICR7Y29sb3IuY29ycmVjdCgpfWAsXG4gIH0pLFxufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBDYXRlZ29yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksT0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUsscUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUVPLE1BQU1NLFlBQVksR0FBQUMsT0FBQSxDQUFBRCxZQUFBLEdBQUc7RUFDMUJFLEVBQUUsRUFBRUMsa0JBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxVQUFVO0VBQy9CQyxVQUFVLEVBQUVILGtCQUFTLENBQUNDO0FBQ3hCLENBQUM7QUFFTSxNQUFNRyxRQUFRLFNBQVNDLGNBQUssQ0FBQ0MsU0FBUyxDQUFDO0VBWTVDQyxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQ0pDLFNBQVM7TUFDVEMsT0FBTyxHQUFHLEVBQUU7TUFDWkMsUUFBUTtNQUNSQyxZQUFZO01BQ1pDLGNBQWM7TUFDZGIsRUFBRTtNQUNGYyxPQUFPO01BQ1BDO0lBQ0YsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUVkLG9CQUNFMUIsTUFBQSxDQUFBMkIsT0FBQSxDQUFBQyxhQUFBLENBQUNDLFNBQVM7TUFBQ1YsU0FBUyxFQUFF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
|