@pie-element/categorize 13.1.8 → 13.1.9

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/configure/CHANGELOG.md +4 -0
  3. package/configure/lib/__tests__/main.test.js +100 -0
  4. package/configure/lib/__tests__/utils.js +39 -0
  5. package/configure/lib/design/__tests__/builder.test.js +34 -0
  6. package/configure/lib/design/__tests__/buttons.test.js +36 -0
  7. package/configure/lib/design/__tests__/header.test.js +37 -0
  8. package/configure/lib/design/__tests__/index.test.js +269 -0
  9. package/configure/lib/design/__tests__/input-header.test.js +41 -0
  10. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
  11. package/configure/lib/design/categories/__tests__/category.test.js +65 -0
  12. package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
  13. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
  14. package/configure/lib/design/categories/__tests__/index.test.js +91 -0
  15. package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
  16. package/configure/lib/design/choices/__tests__/config.test.js +66 -0
  17. package/configure/lib/design/choices/__tests__/index.test.js +70 -0
  18. package/configure/package.json +1 -1
  19. package/controller/CHANGELOG.md +4 -0
  20. package/controller/lib/__tests__/index.test.js +526 -0
  21. package/controller/package.json +1 -1
  22. package/docs/demo/.pie/.configure/package.json +10 -0
  23. package/docs/demo/.pie/.configure/yarn.lock +2122 -0
  24. package/docs/demo/.pie/.controllers/package.json +10 -0
  25. package/docs/demo/.pie/.controllers/yarn.lock +110 -0
  26. package/docs/demo/.pie/info.entry.js +89 -0
  27. package/docs/demo/.pie/info.webpack.config.js +119 -0
  28. package/docs/demo/.pie/package.json +10 -0
  29. package/docs/demo/.pie/yarn.lock +2137 -0
  30. package/docs/demo/pie.manifest.json +11 -0
  31. package/lib/__tests__/index.test.js +197 -0
  32. package/lib/categorize/__tests__/categories.test.js +138 -0
  33. package/lib/categorize/__tests__/category.test.js +137 -0
  34. package/lib/categorize/__tests__/choice.test.js +88 -0
  35. package/lib/categorize/__tests__/choices.test.js +118 -0
  36. package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
  37. package/lib/categorize/__tests__/grid-content.test.js +48 -0
  38. package/lib/categorize/__tests__/index.test.js +250 -0
  39. package/package.json +2 -2
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _choices = require("../choices");
8
+ jest.mock('../choice', () => ({
9
+ __esModule: true,
10
+ default: ({
11
+ label,
12
+ id
13
+ }) => /*#__PURE__*/_react.default.createElement("div", {
14
+ "data-testid": `choice-${id}`
15
+ }, label),
16
+ ChoiceType: {}
17
+ }));
18
+ jest.mock('@pie-lib/drag', () => ({
19
+ DraggableChoice: props => /*#__PURE__*/_react.default.createElement("div", props),
20
+ PlaceHolder: ({
21
+ children
22
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children),
23
+ uid: {
24
+ withUid: jest.fn(input => input),
25
+ generateUid: jest.fn().mockReturnValue('1')
26
+ }
27
+ }));
28
+ const theme = (0, _styles.createTheme)();
29
+ describe('Choices', () => {
30
+ const renderChoices = extras => {
31
+ const defaults = {
32
+ classes: {},
33
+ choices: [],
34
+ onDropChoice: jest.fn(),
35
+ onRemoveChoice: jest.fn(),
36
+ id: '1',
37
+ label: 'Category Label',
38
+ grid: {
39
+ columns: 1,
40
+ rows: 1
41
+ }
42
+ };
43
+ const props = {
44
+ ...defaults,
45
+ ...extras
46
+ };
47
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
48
+ theme: theme
49
+ }, /*#__PURE__*/_react.default.createElement(_choices.Choices, props)));
50
+ };
51
+ describe('rendering', () => {
52
+ it('renders without crashing', () => {
53
+ const {
54
+ container
55
+ } = renderChoices();
56
+ expect(container).toBeInTheDocument();
57
+ });
58
+ it('renders when disabled', () => {
59
+ const {
60
+ container
61
+ } = renderChoices({
62
+ disabled: true
63
+ });
64
+ expect(container).toBeInTheDocument();
65
+ });
66
+ it('renders choices with their labels', () => {
67
+ renderChoices({
68
+ choices: [{
69
+ id: '1',
70
+ label: 'Choice One'
71
+ }, {
72
+ id: '2',
73
+ label: 'Choice Two'
74
+ }]
75
+ });
76
+ expect(_react2.screen.getByTestId('choice-1')).toBeInTheDocument();
77
+ expect(_react2.screen.getByTestId('choice-2')).toBeInTheDocument();
78
+ expect(_react2.screen.getByText('Choice One')).toBeInTheDocument();
79
+ expect(_react2.screen.getByText('Choice Two')).toBeInTheDocument();
80
+ });
81
+ it('does not render empty choices as visible elements', () => {
82
+ const {
83
+ container
84
+ } = renderChoices({
85
+ choices: [{
86
+ empty: true
87
+ }, {
88
+ id: '1',
89
+ label: 'Visible Choice'
90
+ }]
91
+ });
92
+ expect(_react2.screen.getByText('Visible Choice')).toBeInTheDocument();
93
+ // Empty choice renders as empty div
94
+ expect(container.querySelectorAll('[data-testid^="choice-"]').length).toBe(1);
95
+ });
96
+ });
97
+ describe('choices label', () => {
98
+ it('displays choices label when provided', () => {
99
+ renderChoices({
100
+ model: {
101
+ choicesLabel: 'Available Choices',
102
+ categoriesPerRow: 1
103
+ }
104
+ });
105
+ expect(_react2.screen.getByText('Available Choices')).toBeInTheDocument();
106
+ });
107
+ it('does not display label when choicesLabel is empty', () => {
108
+ renderChoices({
109
+ model: {
110
+ choicesLabel: '',
111
+ categoriesPerRow: 1
112
+ }
113
+ });
114
+ expect(_react2.screen.queryByText('Available Choices')).not.toBeInTheDocument();
115
+ });
116
+ });
117
+ });
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2Nob2ljZXMiLCJqZXN0IiwibW9jayIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibGFiZWwiLCJpZCIsImNyZWF0ZUVsZW1lbnQiLCJDaG9pY2VUeXBlIiwiRHJhZ2dhYmxlQ2hvaWNlIiwicHJvcHMiLCJQbGFjZUhvbGRlciIsImNoaWxkcmVuIiwidWlkIiwid2l0aFVpZCIsImZuIiwiaW5wdXQiLCJnZW5lcmF0ZVVpZCIsIm1vY2tSZXR1cm5WYWx1ZSIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJkZXNjcmliZSIsInJlbmRlckNob2ljZXMiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjaG9pY2VzIiwib25Ecm9wQ2hvaWNlIiwib25SZW1vdmVDaG9pY2UiLCJncmlkIiwiY29sdW1ucyIsInJvd3MiLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiQ2hvaWNlcyIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJkaXNhYmxlZCIsInNjcmVlbiIsImdldEJ5VGVzdElkIiwiZ2V0QnlUZXh0IiwiZW1wdHkiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwidG9CZSIsIm1vZGVsIiwiY2hvaWNlc0xhYmVsIiwiY2F0ZWdvcmllc1BlclJvdyIsInF1ZXJ5QnlUZXh0Iiwibm90Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhdGVnb3JpemUvX190ZXN0c19fL2Nob2ljZXMudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IENob2ljZXMgfSBmcm9tICcuLi9jaG9pY2VzJztcblxuamVzdC5tb2NrKCcuLi9jaG9pY2UnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiAoeyBsYWJlbCwgaWQgfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD17YGNob2ljZS0ke2lkfWB9PntsYWJlbH08L2Rpdj4sXG4gIENob2ljZVR5cGU6IHt9LFxufSkpO1xuamVzdC5tb2NrKCdAcGllLWxpYi9kcmFnJywgKCkgPT4gKHtcbiAgRHJhZ2dhYmxlQ2hvaWNlOiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPixcbiAgUGxhY2VIb2xkZXI6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXY+e2NoaWxkcmVufTwvZGl2PixcbiAgdWlkOiB7XG4gICAgd2l0aFVpZDogamVzdC5mbigoaW5wdXQpID0+IGlucHV0KSxcbiAgICBnZW5lcmF0ZVVpZDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSgnMScpLFxuICB9LFxufSkpO1xuXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKCk7XG5cbmRlc2NyaWJlKCdDaG9pY2VzJywgKCkgPT4ge1xuICBjb25zdCByZW5kZXJDaG9pY2VzID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjaG9pY2VzOiBbXSxcbiAgICAgIG9uRHJvcENob2ljZTogamVzdC5mbigpLFxuICAgICAgb25SZW1vdmVDaG9pY2U6IGplc3QuZm4oKSxcbiAgICAgIGlkOiAnMScsXG4gICAgICBsYWJlbDogJ0NhdGVnb3J5IExhYmVsJyxcbiAgICAgIGdyaWQ6IHsgY29sdW1uczogMSwgcm93czogMSB9LFxuICAgIH07XG5cbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8Q2hvaWNlcyB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgKTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ2hvaWNlcygpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdoZW4gZGlzYWJsZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ2hvaWNlcyh7IGRpc2FibGVkOiB0cnVlIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGNob2ljZXMgd2l0aCB0aGVpciBsYWJlbHMnLCAoKSA9PiB7XG4gICAgICByZW5kZXJDaG9pY2VzKHtcbiAgICAgICAgY2hvaWNlczogW1xuICAgICAgICAgIHsgaWQ6ICcxJywgbGFiZWw6ICdDaG9pY2UgT25lJyB9LFxuICAgICAgICAgIHsgaWQ6ICcyJywgbGFiZWw6ICdDaG9pY2UgVHdvJyB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGVzdElkKCdjaG9pY2UtMScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgnY2hvaWNlLTInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdDaG9pY2UgT25lJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnQ2hvaWNlIFR3bycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IHJlbmRlciBlbXB0eSBjaG9pY2VzIGFzIHZpc2libGUgZWxlbWVudHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ2hvaWNlcyh7XG4gICAgICAgIGNob2ljZXM6IFt7IGVtcHR5OiB0cnVlIH0sIHsgaWQ6ICcxJywgbGFiZWw6ICdWaXNpYmxlIENob2ljZScgfV0sXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdWaXNpYmxlIENob2ljZScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgLy8gRW1wdHkgY2hvaWNlIHJlbmRlcnMgYXMgZW1wdHkgZGl2XG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRlc3RpZF49XCJjaG9pY2UtXCJdJykubGVuZ3RoKS50b0JlKDEpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY2hvaWNlcyBsYWJlbCcsICgpID0+IHtcbiAgICBpdCgnZGlzcGxheXMgY2hvaWNlcyBsYWJlbCB3aGVuIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgcmVuZGVyQ2hvaWNlcyh7XG4gICAgICAgIG1vZGVsOiB7IGNob2ljZXNMYWJlbDogJ0F2YWlsYWJsZSBDaG9pY2VzJywgY2F0ZWdvcmllc1BlclJvdzogMSB9LFxuICAgICAgfSk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnQXZhaWxhYmxlIENob2ljZXMnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdkb2VzIG5vdCBkaXNwbGF5IGxhYmVsIHdoZW4gY2hvaWNlc0xhYmVsIGlzIGVtcHR5JywgKCkgPT4ge1xuICAgICAgcmVuZGVyQ2hvaWNlcyh7XG4gICAgICAgIG1vZGVsOiB7IGNob2ljZXNMYWJlbDogJycsIGNhdGVnb3JpZXNQZXJSb3c6IDEgfSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnQXZhaWxhYmxlIENob2ljZXMnKSkubm90LnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUVBSSxJQUFJLENBQUNDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTztFQUM1QkMsVUFBVSxFQUFFLElBQUk7RUFDaEJDLE9BQU8sRUFBRUEsQ0FBQztJQUFFQyxLQUFLO0lBQUVDO0VBQUcsQ0FBQyxrQkFBS1gsTUFBQSxDQUFBUyxPQUFBLENBQUFHLGFBQUE7SUFBSyxlQUFhLFVBQVVELEVBQUU7RUFBRyxHQUFFRCxLQUFXLENBQUM7RUFDM0VHLFVBQVUsRUFBRSxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSFAsSUFBSSxDQUFDQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU87RUFDaENPLGVBQWUsRUFBR0MsS0FBSyxpQkFBS2YsTUFBQSxDQUFBUyxPQUFBLENBQUFHLGFBQUEsUUFBU0csS0FBUSxDQUFDO0VBQzlDQyxXQUFXLEVBQUVBLENBQUM7SUFBRUM7RUFBUyxDQUFDLGtCQUFLakIsTUFBQSxDQUFBUyxPQUFBLENBQUFHLGFBQUEsY0FBTUssUUFBYyxDQUFDO0VBQ3BEQyxHQUFHLEVBQUU7SUFDSEMsT0FBTyxFQUFFYixJQUFJLENBQUNjLEVBQUUsQ0FBRUMsS0FBSyxJQUFLQSxLQUFLLENBQUM7SUFDbENDLFdBQVcsRUFBRWhCLElBQUksQ0FBQ2MsRUFBRSxDQUFDLENBQUMsQ0FBQ0csZUFBZSxDQUFDLEdBQUc7RUFDNUM7QUFDRixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU1DLEtBQUssR0FBRyxJQUFBQyxtQkFBVyxFQUFDLENBQUM7QUFFM0JDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTTtFQUN4QixNQUFNQyxh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
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _droppablePlaceholder = _interopRequireDefault(require("../droppable-placeholder"));
8
+ jest.mock('../grid-content', () => ({
9
+ GridContent: props => /*#__PURE__*/_react.default.createElement("div", props)
10
+ }));
11
+ jest.mock('@dnd-kit/core', () => ({
12
+ useDroppable: () => ({
13
+ setNodeRef: jest.fn(),
14
+ isOver: false
15
+ })
16
+ }));
17
+ jest.mock('@pie-lib/drag', () => ({
18
+ PlaceHolder: ({
19
+ children,
20
+ isOver,
21
+ disabled
22
+ }) => /*#__PURE__*/_react.default.createElement("div", {
23
+ "data-testid": "placeholder",
24
+ "data-is-over": isOver,
25
+ "data-disabled": disabled
26
+ }, children)
27
+ }));
28
+ const theme = (0, _styles.createTheme)();
29
+ describe('DroppablePlaceholder', () => {
30
+ const renderPlaceholder = extras => {
31
+ const defaults = {
32
+ id: 'test-placeholder',
33
+ classes: {}
34
+ };
35
+ const props = {
36
+ ...defaults,
37
+ ...extras
38
+ };
39
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
40
+ theme: theme
41
+ }, /*#__PURE__*/_react.default.createElement(_droppablePlaceholder.default, props, /*#__PURE__*/_react.default.createElement("span", null, "Child Content"))));
42
+ };
43
+ describe('rendering', () => {
44
+ it('renders without crashing', () => {
45
+ const {
46
+ container
47
+ } = renderPlaceholder();
48
+ expect(container).toBeInTheDocument();
49
+ });
50
+ it('renders children content', () => {
51
+ renderPlaceholder();
52
+ expect(_react2.screen.getByText('Child Content')).toBeInTheDocument();
53
+ });
54
+ it('renders the placeholder wrapper', () => {
55
+ renderPlaceholder();
56
+ expect(_react2.screen.getByTestId('placeholder')).toBeInTheDocument();
57
+ });
58
+ });
59
+ describe('disabled state', () => {
60
+ it('passes disabled prop to placeholder', () => {
61
+ renderPlaceholder({
62
+ disabled: true
63
+ });
64
+ const placeholder = _react2.screen.getByTestId('placeholder');
65
+ expect(placeholder).toHaveAttribute('data-disabled', 'true');
66
+ });
67
+ it('passes disabled=false when not disabled', () => {
68
+ renderPlaceholder({
69
+ disabled: false
70
+ });
71
+ const placeholder = _react2.screen.getByTestId('placeholder');
72
+ expect(placeholder).toHaveAttribute('data-disabled', 'false');
73
+ });
74
+ });
75
+ describe('minRowHeight', () => {
76
+ it('renders with default min height', () => {
77
+ const {
78
+ container
79
+ } = renderPlaceholder();
80
+ expect(container.firstChild).toHaveStyle({
81
+ minHeight: '80px'
82
+ });
83
+ });
84
+ it('applies custom minRowHeight', () => {
85
+ const {
86
+ container
87
+ } = renderPlaceholder({
88
+ minRowHeight: '120px'
89
+ });
90
+ expect(container.firstChild).toHaveStyle({
91
+ minHeight: '120px'
92
+ });
93
+ });
94
+ });
95
+ });
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2Ryb3BwYWJsZVBsYWNlaG9sZGVyIiwiamVzdCIsIm1vY2siLCJHcmlkQ29udGVudCIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJ1c2VEcm9wcGFibGUiLCJzZXROb2RlUmVmIiwiZm4iLCJpc092ZXIiLCJQbGFjZUhvbGRlciIsImNoaWxkcmVuIiwiZGlzYWJsZWQiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwiZGVzY3JpYmUiLCJyZW5kZXJQbGFjZWhvbGRlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiaWQiLCJjbGFzc2VzIiwicmVuZGVyIiwiVGhlbWVQcm92aWRlciIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJzY3JlZW4iLCJnZXRCeVRleHQiLCJnZXRCeVRlc3RJZCIsInBsYWNlaG9sZGVyIiwidG9IYXZlQXR0cmlidXRlIiwiZmlyc3RDaGlsZCIsInRvSGF2ZVN0eWxlIiwibWluSGVpZ2h0IiwibWluUm93SGVpZ2h0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhdGVnb3JpemUvX190ZXN0c19fL2Ryb3BwYWJsZS1wbGFjZWhvbGRlci50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyLCBzY3JlZW4gfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIsIGNyZWF0ZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuXG5pbXBvcnQgRHJvcHBhYmxlUGxhY2Vob2xkZXIgZnJvbSAnLi4vZHJvcHBhYmxlLXBsYWNlaG9sZGVyJztcblxuamVzdC5tb2NrKCcuLi9ncmlkLWNvbnRlbnQnLCAoKSA9PiAoe1xuICBHcmlkQ29udGVudDogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG59KSk7XG5cbmplc3QubW9jaygnQGRuZC1raXQvY29yZScsICgpID0+ICh7XG4gIHVzZURyb3BwYWJsZTogKCkgPT4gKHtcbiAgICBzZXROb2RlUmVmOiBqZXN0LmZuKCksXG4gICAgaXNPdmVyOiBmYWxzZSxcbiAgfSksXG59KSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvZHJhZycsICgpID0+ICh7XG4gIFBsYWNlSG9sZGVyOiAoeyBjaGlsZHJlbiwgaXNPdmVyLCBkaXNhYmxlZCB9KSA9PiAoXG4gICAgPGRpdiBkYXRhLXRlc3RpZD1cInBsYWNlaG9sZGVyXCIgZGF0YS1pcy1vdmVyPXtpc092ZXJ9IGRhdGEtZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKSxcbn0pKTtcblxuY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSgpO1xuXG5kZXNjcmliZSgnRHJvcHBhYmxlUGxhY2Vob2xkZXInLCAoKSA9PiB7XG4gIGNvbnN0IHJlbmRlclBsYWNlaG9sZGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgaWQ6ICd0ZXN0LXBsYWNlaG9sZGVyJyxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKFxuICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgPERyb3BwYWJsZVBsYWNlaG9sZGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgPHNwYW4+Q2hpbGQgQ29udGVudDwvc3Bhbj5cbiAgICAgICAgPC9Ecm9wcGFibGVQbGFjZWhvbGRlcj5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICApO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJQbGFjZWhvbGRlcigpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGNoaWxkcmVuIGNvbnRlbnQnLCAoKSA9PiB7XG4gICAgICByZW5kZXJQbGFjZWhvbGRlcigpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0NoaWxkIENvbnRlbnQnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHRoZSBwbGFjZWhvbGRlciB3cmFwcGVyJywgKCkgPT4ge1xuICAgICAgcmVuZGVyUGxhY2Vob2xkZXIoKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ3BsYWNlaG9sZGVyJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkaXNhYmxlZCBzdGF0ZScsICgpID0+IHtcbiAgICBpdCgncGFzc2VzIGRpc2FibGVkIHByb3AgdG8gcGxhY2Vob2xkZXInLCAoKSA9PiB7XG4gICAgICByZW5kZXJQbGFjZWhvbGRlcih7IGRpc2FibGVkOiB0cnVlIH0pO1xuICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSBzY3JlZW4uZ2V0QnlUZXN0SWQoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICBleHBlY3QocGxhY2Vob2xkZXIpLnRvSGF2ZUF0dHJpYnV0ZSgnZGF0YS1kaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgncGFzc2VzIGRpc2FibGVkPWZhbHNlIHdoZW4gbm90IGRpc2FibGVkJywgKCkgPT4ge1xuICAgICAgcmVuZGVyUGxhY2Vob2xkZXIoeyBkaXNhYmxlZDogZmFsc2UgfSk7XG4gICAgICBjb25zdCBwbGFjZWhvbGRlciA9IHNjcmVlbi5nZXRCeVRlc3RJZCgncGxhY2Vob2xkZXInKTtcbiAgICAgIGV4cGVjdChwbGFjZWhvbGRlcikudG9IYXZlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgJ2ZhbHNlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtaW5Sb3dIZWlnaHQnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IG1pbiBoZWlnaHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyUGxhY2Vob2xkZXIoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9IYXZlU3R5bGUoeyBtaW5IZWlnaHQ6ICc4MHB4JyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdhcHBsaWVzIGN1c3RvbSBtaW5Sb3dIZWlnaHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyUGxhY2Vob2xkZXIoeyBtaW5Sb3dIZWlnaHQ6ICcxMjBweCcgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvSGF2ZVN0eWxlKHsgbWluSGVpZ2h0OiAnMTIwcHgnIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxxQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUFJLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU87RUFDbENDLFdBQVcsRUFBR0MsS0FBSyxpQkFBS1QsTUFBQSxDQUFBVSxPQUFBLENBQUFDLGFBQUEsUUFBU0YsS0FBUTtBQUMzQyxDQUFDLENBQUMsQ0FBQztBQUVISCxJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTztFQUNoQ0ssWUFBWSxFQUFFQSxDQUFBLE1BQU87SUFDbkJDLFVBQVUsRUFBRVAsSUFB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
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _styles = require("@mui/material/styles");
7
+ var _gridContent = require("../grid-content");
8
+ const theme = (0, _styles.createTheme)();
9
+ describe('grid-content', () => {
10
+ const renderGridContent = extras => {
11
+ const defaults = {
12
+ classes: {},
13
+ columns: 2
14
+ };
15
+ const props = {
16
+ ...defaults,
17
+ ...extras
18
+ };
19
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
20
+ theme: theme
21
+ }, /*#__PURE__*/_react.default.createElement(_gridContent.GridContent, props, "content")));
22
+ };
23
+ describe('renders', () => {
24
+ it('renders without crashing', () => {
25
+ const {
26
+ container
27
+ } = renderGridContent();
28
+ expect(container).toBeInTheDocument();
29
+ });
30
+ it('renders with different columns', () => {
31
+ const {
32
+ container
33
+ } = renderGridContent({
34
+ columns: 3
35
+ });
36
+ expect(container).toBeInTheDocument();
37
+ });
38
+ it('renders with className', () => {
39
+ const {
40
+ container
41
+ } = renderGridContent({
42
+ className: 'foo'
43
+ });
44
+ expect(container).toBeInTheDocument();
45
+ });
46
+ });
47
+ });
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2dyaWRDb250ZW50IiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsImRlc2NyaWJlIiwicmVuZGVyR3JpZENvbnRlbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjb2x1bW5zIiwicHJvcHMiLCJyZW5kZXIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlRoZW1lUHJvdmlkZXIiLCJHcmlkQ29udGVudCIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJjbGFzc05hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2F0ZWdvcml6ZS9fX3Rlc3RzX18vZ3JpZC1jb250ZW50LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIsIGNyZWF0ZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgR3JpZENvbnRlbnQgfSBmcm9tICcuLi9ncmlkLWNvbnRlbnQnO1xuXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKCk7XG5cbmRlc2NyaWJlKCdncmlkLWNvbnRlbnQnLCAoKSA9PiB7XG4gIGNvbnN0IHJlbmRlckdyaWRDb250ZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjb2x1bW5zOiAyLFxuICAgIH07XG5cbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoXG4gICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxuICAgICAgICA8R3JpZENvbnRlbnQgey4uLnByb3BzfT5jb250ZW50PC9HcmlkQ29udGVudD5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICApO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJzJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyR3JpZENvbnRlbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGRpZmZlcmVudCBjb2x1bW5zJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckdyaWRDb250ZW50KHsgY29sdW1uczogMyB9KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBjbGFzc05hbWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyR3JpZENvbnRlbnQoeyBjbGFzc05hbWU6ICdmb28nIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBRUEsTUFBTUksS0FBSyxHQUFHLElBQUFDLG1CQUFXLEVBQUMsQ0FBQztBQUUzQkMsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNO0VBQzdCLE1BQU1DLGlCQUFpQixHQUFJQyxNQUFNLElBQUs7SUFDcEMsTUFBTUMsUUFBUSxHQUFHO01BQ2ZDLE9BQU8sRUFBRSxDQUFDLENBQUM7TUFDWEMsT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUVELE1BQU1DLEtBQUssR0FBRztNQUFFLEdBQUdILFFBQVE7TUFBRSxHQUFHRDtJQUFPLENBQUM7SUFDeEMsT0FBTyxJQUFBSyxjQUFNLGVBQ1hmLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQUMsYUFBQSxDQUFDYixPQUFBLENBQUFjLGFBQWE7TUFBQ1osS0FBSyxFQUFFQTtJQUFNLGdCQUMxQk4sTUFBQSxDQUFBZ0IsT0FBQSxDQUFBQyxhQUFBLENBQUNaLFlBQUEsQ0FBQWMsV0FBVyxFQUFLTCxLQUFLLEVBQUUsU0FBb0IsQ0FDL0IsQ0FDakIsQ0FBQztFQUNILENBQUM7RUFFRE4sUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNO0lBQ3hCWSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsTUFBTTtNQUNuQyxNQUFNO1FBQUVDO01BQVUsQ0FBQyxHQUFHWixpQkFBaUIsQ0FBQyxDQUFDO01BQ3pDYSxNQUFNLENBQUNELFNBQVMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUVGSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsTUFBTTtNQUN6QyxNQUFNO1FBQUVDO01BQVUsQ0FBQyxHQUFHWixpQkFBaUIsQ0FBQztRQUFFSSxPQUFPLEVBQUU7TUFBRSxDQUFDLENBQUM7TUFDdkRTLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0lBQ0ZILEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxNQUFNO01BQ2pDLE1BQU07UUFBRUM7TUFBVSxDQUFDLEdBQUdaLGlCQUFpQixDQUFDO1FBQUVlLFNBQVMsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUM3REYsTUFBTSxDQUFDRCxTQUFTLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _react2 = require("@testing-library/react");
7
+ var _styles = require("@mui/material/styles");
8
+ var _index = _interopRequireWildcard(require("../index"));
9
+ 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); }
10
+ jest.mock('@pie-lib/drag', () => ({
11
+ uid: {
12
+ withUid: jest.fn(a => a),
13
+ Provider: ({
14
+ children
15
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children),
16
+ generateId: jest.fn().mockReturnValue('1')
17
+ },
18
+ withDragContext: jest.fn(n => n),
19
+ DragProvider: ({
20
+ children
21
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children)
22
+ }));
23
+ jest.mock('@dnd-kit/core', () => ({
24
+ DragOverlay: ({
25
+ children
26
+ }) => /*#__PURE__*/_react.default.createElement("div", null, children),
27
+ useSensor: jest.fn(),
28
+ useSensors: jest.fn(() => []),
29
+ PointerSensor: jest.fn()
30
+ }));
31
+ jest.mock('../categories', () => ({
32
+ __esModule: true,
33
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
34
+ }));
35
+ jest.mock('../choices', () => ({
36
+ __esModule: true,
37
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
38
+ }));
39
+ jest.mock('../choice', () => ({
40
+ __esModule: true,
41
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
42
+ }));
43
+ jest.mock('@pie-lib/correct-answer-toggle', () => ({
44
+ __esModule: true,
45
+ default: props => /*#__PURE__*/_react.default.createElement("div", props)
46
+ }));
47
+ jest.mock('@pie-lib/categorize', () => ({
48
+ buildState: jest.fn(() => ({})),
49
+ removeChoiceFromCategory: jest.fn(() => []),
50
+ moveChoiceToCategory: jest.fn(() => [])
51
+ }));
52
+ jest.mock('@pie-lib/config-ui', () => ({
53
+ AlertDialog: props => /*#__PURE__*/_react.default.createElement("div", props)
54
+ }));
55
+ jest.mock('@pie-lib/render-ui', () => {
56
+ const React = require('react');
57
+ const UiLayout = React.forwardRef((props, ref) => /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
58
+ ref: ref
59
+ }, props)));
60
+ UiLayout.displayName = 'UiLayout';
61
+ return {
62
+ Collapsible: ({
63
+ children
64
+ }) => /*#__PURE__*/React.createElement("div", null, children),
65
+ Feedback: props => /*#__PURE__*/React.createElement("div", props),
66
+ UiLayout,
67
+ hasText: jest.fn(() => false),
68
+ hasMedia: jest.fn(() => false),
69
+ PreviewPrompt: props => /*#__PURE__*/React.createElement("div", props),
70
+ color: {
71
+ text: () => '#000',
72
+ background: () => '#fff',
73
+ white: () => '#fff',
74
+ correct: () => '#00ff00',
75
+ incorrect: () => '#ff0000'
76
+ }
77
+ };
78
+ });
79
+ const theme = (0, _styles.createTheme)();
80
+ describe('categorize', () => {
81
+ const defaultProps = {
82
+ classes: {},
83
+ session: {
84
+ answers: []
85
+ },
86
+ model: {
87
+ choices: [],
88
+ categories: []
89
+ }
90
+ };
91
+ let onAnswersChange;
92
+ let onShowCorrectToggle;
93
+ beforeEach(() => {
94
+ onAnswersChange = jest.fn();
95
+ onShowCorrectToggle = jest.fn();
96
+ });
97
+ const renderCategorize = extras => {
98
+ const defaults = {
99
+ ...defaultProps,
100
+ onAnswersChange,
101
+ onShowCorrectToggle
102
+ };
103
+ const props = {
104
+ ...defaults,
105
+ ...extras
106
+ };
107
+ return (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
108
+ theme: theme
109
+ }, /*#__PURE__*/_react.default.createElement(_index.Categorize, props)));
110
+ };
111
+ describe('renders', () => {
112
+ it('renders without crashing', () => {
113
+ const {
114
+ container
115
+ } = renderCategorize();
116
+ expect(container).toBeInTheDocument();
117
+ });
118
+ it('renders with feedback', () => {
119
+ const {
120
+ container
121
+ } = renderCategorize({
122
+ model: {
123
+ ...defaultProps.model,
124
+ correctness: 'correct',
125
+ feedback: {
126
+ correct: {
127
+ type: 'default',
128
+ default: 'Correct'
129
+ },
130
+ incorrect: {
131
+ type: 'default',
132
+ default: 'Incorrect'
133
+ },
134
+ partial: {
135
+ type: 'default',
136
+ default: 'Nearly'
137
+ }
138
+ }
139
+ }
140
+ });
141
+ expect(container).toBeInTheDocument();
142
+ });
143
+ it('renders when incorrect', () => {
144
+ const {
145
+ container
146
+ } = renderCategorize({
147
+ incorrect: true
148
+ });
149
+ expect(container).toBeInTheDocument();
150
+ });
151
+ });
152
+ describe('provider onDragEnd', () => {
153
+ const createProvider = (extras = {}) => {
154
+ const instance = new _index.default({
155
+ ...defaultProps,
156
+ onAnswersChange: jest.fn(),
157
+ onShowCorrectToggle: jest.fn(),
158
+ resumeMathObserver: jest.fn(),
159
+ ...extras
160
+ });
161
+ instance.setState = jest.fn();
162
+ instance.categorizeRef = {
163
+ removeChoice: jest.fn(),
164
+ dropChoice: jest.fn()
165
+ };
166
+ return instance;
167
+ };
168
+ const dndEvent = ({
169
+ activeData,
170
+ overId,
171
+ overData
172
+ }) => ({
173
+ active: activeData ? {
174
+ data: {
175
+ current: activeData
176
+ }
177
+ } : null,
178
+ over: overId || overData ? {
179
+ id: overId,
180
+ data: {
181
+ current: overData
182
+ }
183
+ } : null
184
+ });
185
+ it('removes choice from source when dropped outside valid target', () => {
186
+ const provider = createProvider();
187
+ const event = dndEvent({
188
+ activeData: {
189
+ id: 'c1',
190
+ type: 'choice',
191
+ categoryId: 'cat-1',
192
+ choiceIndex: 0,
193
+ value: 'v1',
194
+ itemType: 'categorize'
195
+ }
196
+ });
197
+ provider.onDragEnd(event);
198
+ expect(provider.categorizeRef.removeChoice).toHaveBeenCalledWith(expect.objectContaining({
199
+ id: 'c1',
200
+ categoryId: 'cat-1',
201
+ choiceIndex: 0
202
+ }));
203
+ expect(provider.categorizeRef.dropChoice).not.toHaveBeenCalled();
204
+ });
205
+ it('removes choice from source when dropped on choices-board', () => {
206
+ const provider = createProvider();
207
+ const event = dndEvent({
208
+ overId: 'choices-board',
209
+ overData: {
210
+ itemType: 'categorize'
211
+ },
212
+ activeData: {
213
+ id: 'c2',
214
+ type: 'choice',
215
+ categoryId: 'cat-2',
216
+ choiceIndex: 1,
217
+ value: 'v2',
218
+ itemType: 'categorize'
219
+ }
220
+ });
221
+ provider.onDragEnd(event);
222
+ expect(provider.categorizeRef.removeChoice).toHaveBeenCalled();
223
+ expect(provider.categorizeRef.dropChoice).not.toHaveBeenCalled();
224
+ });
225
+ it('drops choice into category when valid category target exists', () => {
226
+ const provider = createProvider();
227
+ const event = dndEvent({
228
+ overId: 'cat-target',
229
+ overData: {
230
+ itemType: 'categorize'
231
+ },
232
+ activeData: {
233
+ id: 'c3',
234
+ type: 'choice',
235
+ categoryId: 'cat-source',
236
+ choiceIndex: 2,
237
+ value: 'v3',
238
+ itemType: 'categorize'
239
+ }
240
+ });
241
+ provider.onDragEnd(event);
242
+ expect(provider.categorizeRef.dropChoice).toHaveBeenCalledWith('cat-target', expect.objectContaining({
243
+ id: 'c3',
244
+ categoryId: 'cat-source',
245
+ choiceIndex: 2
246
+ }));
247
+ });
248
+ });
249
+ });
250
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX2luZGV4IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJqZXN0IiwibW9jayIsInVpZCIsIndpdGhVaWQiLCJmbiIsImEiLCJQcm92aWRlciIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsImdlbmVyYXRlSWQiLCJtb2NrUmV0dXJuVmFsdWUiLCJ3aXRoRHJhZ0NvbnRleHQiLCJEcmFnUHJvdmlkZXIiLCJEcmFnT3ZlcmxheSIsInVzZVNlbnNvciIsInVzZVNlbnNvcnMiLCJQb2ludGVyU2Vuc29yIiwicHJvcHMiLCJidWlsZFN0YXRlIiwicmVtb3ZlQ2hvaWNlRnJvbUNhdGVnb3J5IiwibW92ZUNob2ljZVRvQ2F0ZWdvcnkiLCJBbGVydERpYWxvZyIsIlJlYWN0IiwiVWlMYXlvdXQiLCJmb3J3YXJkUmVmIiwicmVmIiwiX2V4dGVuZHMyIiwiZGlzcGxheU5hbWUiLCJDb2xsYXBzaWJsZSIsIkZlZWRiYWNrIiwiaGFzVGV4dCIsImhhc01lZGlhIiwiUHJldmlld1Byb21wdCIsImNvbG9yIiwidGV4dCIsImJhY2tncm91bmQiLCJ3aGl0ZSIsImNvcnJlY3QiLCJpbmNvcnJlY3QiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwiZGVzY3JpYmUiLCJkZWZhdWx0UHJvcHMiLCJjbGFzc2VzIiwic2Vzc2lvbiIsImFuc3dlcnMiLCJtb2RlbCIsImNob2ljZXMiLCJjYXRlZ29yaWVzIiwib25BbnN3ZXJzQ2hhbmdlIiwib25TaG93Q29ycmVjdFRvZ2dsZSIsImJlZm9yZUVhY2giLCJyZW5kZXJDYXRlZ29yaXplIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiQ2F0ZWdvcml6ZSIsIml0IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJjb3JyZWN0bmVzcyIsImZlZWRiYWNrIiwidHlwZSIsInBhcnRpYWwiLCJjcmVhdGVQcm92aWRlciIsImluc3RhbmNlIiwiQ2F0ZWdvcml6ZVByb3ZpZGVyIiwicmVzdW1lTWF0aE9ic2VydmVyIiwic2V0U3RhdGUiLCJjYXRlZ29yaXplUmVmIiwicmVtb3ZlQ2hvaWNlIiwiZHJvcENob2ljZSIsImRuZEV2ZW50IiwiYWN0aXZlRGF0YSIsIm92ZXJJZCIsIm92ZXJEYXRhIiwiYWN0aXZlIiwiZGF0YSIsImN1cnJlbnQiLCJvdmVyIiwiaWQiLCJwcm92aWRlciIsImV2ZW50IiwiY2F0ZWdvcnlJZCIsImNob2ljZUluZGV4IiwidmFsdWUiLCJpdGVtVHlwZSIsIm9uRHJhZ0VuZCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwib2JqZWN0Q29udGFpbmluZyIsIm5vdCIsInRvSGF2ZUJlZW5DYWxsZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2F0ZWdvcml6ZS9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciwgY3JlYXRlVGhlbWUgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBDYXRlZ29yaXplIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IENhdGVnb3JpemVQcm92aWRlciBmcm9tICcuLi9pbmRleCc7XG5cbmplc3QubW9jaygnQHBpZS1saWIvZHJhZycsICgpID0+ICh7XG4gIHVpZDoge1xuICAgIHdpdGhVaWQ6IGplc3QuZm4oKGEpID0+IGEpLFxuICAgIFByb3ZpZGVyOiAoeyBjaGlsZHJlbiB9KSA9PiA8ZGl2PntjaGlsZHJlbn08L2Rpdj4sXG4gICAgZ2VuZXJhdGVJZDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSgnMScpLFxuICB9LFxuICB3aXRoRHJhZ0NvbnRleHQ6IGplc3QuZm4oKG4pID0+IG4pLFxuICBEcmFnUHJvdmlkZXI6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXY+e2NoaWxkcmVufTwvZGl2Pixcbn0pKTtcblxuamVzdC5tb2NrKCdAZG5kLWtpdC9jb3JlJywgKCkgPT4gKHtcbiAgRHJhZ092ZXJsYXk6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXY+e2NoaWxkcmVufTwvZGl2PixcbiAgdXNlU2Vuc29yOiBqZXN0LmZuKCksXG4gIHVzZVNlbnNvcnM6IGplc3QuZm4oKCkgPT4gW10pLFxuICBQb2ludGVyU2Vuc29yOiBqZXN0LmZuKCksXG59KSk7XG5cbmplc3QubW9jaygnLi4vY2F0ZWdvcmllcycsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuamVzdC5tb2NrKCcuLi9jaG9pY2VzJywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG59KSk7XG5qZXN0Lm1vY2soJy4uL2Nob2ljZScsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuamVzdC5tb2NrKCdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiAocHJvcHMpID0+IDxkaXYgey4uLnByb3BzfSAvPixcbn0pKTtcbmplc3QubW9jaygnQHBpZS1saWIvY2F0ZWdvcml6ZScsICgpID0+ICh7XG4gIGJ1aWxkU3RhdGU6IGplc3QuZm4oKCkgPT4gKHt9KSksXG4gIHJlbW92ZUNob2ljZUZyb21DYXRlZ29yeTogamVzdC5mbigoKSA9PiBbXSksXG4gIG1vdmVDaG9pY2VUb0NhdGVnb3J5OiBqZXN0LmZuKCgpID0+IFtdKSxcbn0pKTtcbmplc3QubW9jaygnQHBpZS1saWIvY29uZmlnLXVpJywgKCkgPT4gKHtcbiAgQWxlcnREaWFsb2c6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuamVzdC5tb2NrKCdAcGllLWxpYi9yZW5kZXItdWknLCAoKSA9PiB7XG4gIGNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbiAgY29uc3QgVWlMYXlvdXQgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiA8ZGl2IHJlZj17cmVmfSB7Li4ucHJvcHN9IC8+KTtcbiAgVWlMYXlvdXQuZGlzcGxheU5hbWUgPSAnVWlMYXlvdXQnO1xuXG4gIHJldHVybiB7XG4gICAgQ29sbGFwc2libGU6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXY+e2NoaWxkcmVufTwvZGl2PixcbiAgICBGZWVkYmFjazogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG4gICAgVWlMYXlvdXQsXG4gICAgaGFzVGV4dDogamVzdC5mbigoKSA9PiBmYWxzZSksXG4gICAgaGFzTWVkaWE6IGplc3QuZm4oKCkgPT4gZmFsc2UpLFxuICAgIFByZXZpZXdQcm9tcHQ6IChwcm9wcykgPT4gPGRpdiB7Li4ucHJvcHN9IC8+LFxuICAgIGNvbG9yOiB7XG4gICAgICB0ZXh0OiAoKSA9PiAnIzAwMCcsXG4gICAgICBiYWNrZ3JvdW5kOiAoKSA9PiAnI2ZmZicsXG4gICAgICB3aGl0ZTogKCkgPT4gJyNmZmYnLFxuICAgICAgY29ycmVjdDogKCkgPT4gJyMwMGZmMDAnLFxuICAgICAgaW5jb3JyZWN0OiAoKSA9PiAnI2ZmMDAwMCcsXG4gICAgfSxcbiAgfTtcbn0pO1xuXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKCk7XG5cbmRlc2NyaWJlKCdjYXRlZ29yaXplJywgKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2xhc3Nlczoge30sXG4gICAgc2Vzc2lvbjoge1xuICAgICAgYW5zd2VyczogW10sXG4gICAgfSxcbiAgICBtb2RlbDoge1xuICAgICAgY2hvaWNlczogW10sXG4gICAgICBjYXRlZ29yaWVzOiBbXSxcbiAgICB9LFxuICB9O1xuICBsZXQgb25BbnN3ZXJzQ2hhbmdlO1xuICBsZXQgb25TaG93Q29ycmVjdFRvZ2dsZTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkFuc3dlcnNDaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgb25TaG93Q29ycmVjdFRvZ2dsZSA9IGplc3QuZm4oKTtcbiAgfSk7XG5cbiAgY29uc3QgcmVuZGVyQ2F0ZWdvcml6ZSA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIC4uLmRlZmF1bHRQcm9wcyxcbiAgICAgIG9uQW5zd2Vyc0NoYW5nZSxcbiAgICAgIG9uU2hvd0NvcnJlY3RUb2dnbGUsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuXG4gICAgcmV0dXJuIHJlbmRlcihcbiAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICAgIDxDYXRlZ29yaXplIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvVGhlbWVQcm92aWRlcj4sXG4gICAgKTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVycycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNhdGVnb3JpemUoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGZlZWRiYWNrJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNhdGVnb3JpemUoe1xuICAgICAgICBtb2RlbDoge1xuICAgICAgICAgIC4uLmRlZmF1bHRQcm9wcy5tb2RlbCxcbiAgICAgICAgICBjb3JyZWN0bmVzczogJ2NvcnJlY3QnLFxuICAgICAgICAgIGZlZWRiYWNrOiB7XG4gICAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgZGVmYXVsdDogJ0NvcnJlY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGluY29ycmVjdDoge1xuICAgICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIGRlZmF1bHQ6ICdJbmNvcnJlY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhcnRpYWw6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICBkZWZhdWx0OiAnTmVhcmx5JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdoZW4gaW5jb3JyZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNhdGVnb3JpemUoeyBpbmNvcnJlY3Q6IHRydWUgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvdmlkZXIgb25EcmFnRW5kJywgKCkgPT4ge1xuICAgIGNvbnN0IGNyZWF0ZVByb3ZpZGVyID0gKGV4dHJhcyA9IHt9KSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDYXRlZ29yaXplUHJvdmlkZXIoe1xuICAgICAgICAuLi5kZWZhdWx0UHJvcHMsXG4gICAgICAgIG9uQW5zd2Vyc0NoYW5nZTogamVzdC5mbigpLFxuICAgICAgICBvblNob3dDb3JyZWN0VG9nZ2xlOiBqZXN0LmZuKCksXG4gICAgICAgIHJlc3VtZU1hdGhPYnNlcnZlcjogamVzdC5mbigpLFxuICAgICAgICAuLi5leHRyYXMsXG4gICAgICB9KTtcblxuICAgICAgaW5zdGFuY2Uuc2V0U3RhdGUgPSBqZXN0LmZuKCk7XG4gICAgICBpbnN0YW5jZS5jYXRlZ29yaXplUmVmID0ge1xuICAgICAgICByZW1vdmVDaG9pY2U6IGplc3QuZm4oKSxcbiAgICAgICAgZHJvcENob2ljZTogamVzdC5mbigpLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgIH07XG5cbiAgICBjb25zdCBkbmRFdmVudCA9ICh7IGFjdGl2ZURhdGEsIG92ZXJJZCwgb3ZlckRhdGEgfSkgPT4gKHtcbiAgICAgIGFjdGl2ZTogYWN0aXZlRGF0YSA/IHsgZGF0YTogeyBjdXJyZW50OiBhY3RpdmVEYXRhIH0gfSA6IG51bGwsXG4gICAgICBvdmVyOiBvdmVySWQgfHwgb3ZlckRhdGEgPyB7IGlkOiBvdmVySWQsIGRhdGE6IHsgY3VycmVudDogb3ZlckRhdGEgfSB9IDogbnVsbCxcbiAgICB9KTtcblxuICAgIGl0KCdyZW1vdmVzIGNob2ljZSBmcm9tIHNvdXJjZSB3aGVuIGRyb3BwZWQgb3V0c2lkZSB2YWxpZCB0YXJnZXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm92aWRlciA9IGNyZWF0ZVByb3ZpZGVyKCk7XG4gICAgICBjb25zdCBldmVudCA9IGRuZEV2ZW50KHtcbiAgICAgICAgYWN0aXZlRGF0YToge1xuICAgICAgICAgIGlkOiAnYzEnLFxuICAgICAgICAgIHR5cGU6ICdjaG9pY2UnLFxuICAgICAgICAgIGNhdGVnb3J5SWQ6ICdjYXQtMScsXG4gICAgICAgICAgY2hvaWNlSW5kZXg6IDAsXG4gICAgICAgICAgdmFsdWU6ICd2MScsXG4gICAgICAgICAgaXRlbVR5cGU6ICdjYXRlZ29yaXplJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBwcm92aWRlci5vbkRyYWdFbmQoZXZlbnQpO1xuXG4gICAgICBleHBlY3QocHJvdmlkZXIuY2F0ZWdvcml6ZVJlZi5yZW1vdmVDaG9pY2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgaWQ6ICdjMScsXG4gICAgICAgICAgY2F0ZWdvcnlJZDogJ2NhdC0xJyxcbiAgICAgICAgICBjaG9pY2VJbmRleDogMCxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgZXhwZWN0KHByb3ZpZGVyLmNhdGVnb3JpemVSZWYuZHJvcENob2ljZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW1vdmVzIGNob2ljZSBmcm9tIHNvdXJjZSB3aGVuIGRyb3BwZWQgb24gY2hvaWNlcy1ib2FyZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gY3JlYXRlUHJvdmlkZXIoKTtcbiAgICAgIGNvbnN0IGV2ZW50ID0gZG5kRXZlbnQoe1xuICAgICAgICBvdmVySWQ6ICdjaG9pY2VzLWJvYXJkJyxcbiAgICAgICAgb3ZlckRhdGE6IHsgaXRlbVR5cGU6ICdjYXRlZ29yaXplJyB9LFxuICAgICAgICBhY3RpdmVEYXRhOiB7XG4gICAgICAgICAgaWQ6ICdjMicsXG4gICAgICAgICAgdHlwZTogJ2Nob2ljZScsXG4gICAgICAgICAgY2F0ZWdvcnlJZDogJ2NhdC0yJyxcbiAgICAgICAgICBjaG9pY2VJbmRleDogMSxcbiAgICAgICAgICB2YWx1ZTogJ3YyJyxcbiAgICAgICAgICBpdGVtVHlwZTogJ2NhdGVnb3JpemUnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHByb3ZpZGVyLm9uRHJhZ0VuZChldmVudCk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5jYXRlZ29yaXplUmVmLnJlbW92ZUNob2ljZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgZXhwZWN0KHByb3ZpZGVyLmNhdGVnb3JpemVSZWYuZHJvcENob2ljZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdkcm9wcyBjaG9pY2UgaW50byBjYXRlZ29yeSB3aGVuIHZhbGlkIGNhdGVnb3J5IHRhcmdldCBleGlzdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm92aWRlciA9IGNyZWF0ZVByb3ZpZGVyKCk7XG4gICAgICBjb25zdCBldmVudCA9IGRuZEV2ZW50KHtcbiAgICAgICAgb3ZlcklkOiAnY2F0LXRhcmdldCcsXG4gICAgICAgIG92ZXJEYXRhOiB7IGl0ZW1UeXBlOiAnY2F0ZWdvcml6ZScgfSxcbiAgICAgICAgYWN0aXZlRGF0YToge1xuICAgICAgICAgIGlkOiAnYzMnLFxuICAgICAgICAgIHR5cGU6ICdjaG9pY2UnLFxuICAgICAgICAgIGNhdGVnb3J5SWQ6ICdjYXQtc291cmNlJyxcbiAgICAgICAgICBjaG9pY2VJbmRleDogMixcbiAgICAgICAgICB2YWx1ZTogJ3YzJyxcbiAgICAgICAgICBpdGVtVHlwZTogJ2NhdGVnb3JpemUnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHByb3ZpZGVyLm9uRHJhZ0VuZChldmVudCk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5jYXRlZ29yaXplUmVmLmRyb3BDaG9pY2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgICAgICAnY2F0LXRhcmdldCcsXG4gICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBpZDogJ2MzJyxcbiAgICAgICAgICBjYXRlZ29yeUlkOiAnY2F0LXNvdXJjZScsXG4gICAgICAgICAgY2hvaWNlSW5kZXg6IDIsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUFzQyxTQUFBSSx3QkFBQUMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUgsdUJBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFhLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxJQUFBRCxDQUFBLEdBQUFVLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQVAsQ0FBQSxFQUFBTSxDQUFBLElBQUFDLENBQUEsQ0FBQVAsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsV0FBQU8sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFHdENrQixJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTztFQUNoQ0MsR0FBRyxFQUFFO0lBQ0hDLE9BQU8sRUFBRUgsSUFBSSxDQUFDSSxFQUFFLENBQUVDLENBQUMsSUFBS0EsQ0FBQyxDQUFDO0lBQzFCQyxRQUFRLEVBQUVBLENBQUM7TUFBRUM7SUFBUyxDQUFDLGtCQUFLakMsTUFBQSxDQUFBaUIsT0FBQSxDQUFBaUIsYUFBQSxjQUFNRCxRQUFjLENBQUM7SUFDakRFLFVBQVUsRUFBRVQsSUFBSSxDQUFDSSxFQUFFLENBQUMsQ0FBQyxDQUFDTSxlQUFlLENBQUMsR0FBRztFQUMzQyxDQUFDO0VBQ0RDLGVBQWUsRUFBRVgsSUFBSSxDQUFDSSxFQUFFLENBQUVuQixDQUFDLElBQUtBLENBQUMsQ0FBQztFQUNsQzJCLFlBQVksRUFBRUEsQ0FBQztJQUFFTDtFQUFTLENBQUMsa0JBQUtqQyxNQUFBLENBQUFpQixPQUFBLENBQUFpQixhQUFBLGNBQU1ELFFBQWM7QUFDdEQsQ0FBQyxDQUFDLENBQUM7QUFFSFAsSUFBSSxDQUFDQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU87RUFDaENZLFdBQVcsRUFBRUEsQ0FBQztJQUFFTjtFQUFTLENBQUMsa0JBQUtqQyxNQUFBLENBQUFpQixPQUFBLENBQUFpQixhQUFBLGNBQU1ELFFBQWMsQ0FBQztFQUNwRE8sU0FBUyxFQUFFZCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxDQUFDO0VBQ3BCVyxVQUFVLEVBQUVmLElBQUksQ0FBQ0ksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQzdCWSxhQUFhLEVBQUVoQixJQUFJLENBQUNJLEVBQUUsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQztBQUVISixJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTztFQUNoQ2YsVUFBVSxFQUFFLElBQUk7RUFDaEJLLE9BQU8sRUFBRzBCLEtBQUssaUJBQUszQyxNQUFBLENBQUFpQixPQUFBLENBQUFpQixhQUFBLFFBQVNTLEtBQVE7QUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFDSGpCLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPO0VBQzdCZixVQUFVLEVBQUUsSUFBSTtFQUNoQkssT0FBTyxFQUFHMEIsS0FBSyxpQkFBSzNDLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQWlCLGFBQUEsUUFBU1MsS0FBUTtBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNIakIsSUFBSSxDQUFDQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU87RUFDNUJmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCSyxPQUFPLEVBQUcwQixLQUFLLGlCQUFLM0MsTUFBQSxDQUFBaUIsT0FBQSxDQUFBaUIsYUFBQSxRQUFTUyxLQUFRO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBQ0hqQixJQUFJLENBQUNDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxPQUFPO0VBQ2pEZixVQUFVLEVBQUUsSUFBSTtFQUNoQkssT0FBTyxFQUFHMEIsS0FBSyxpQkFBSzNDLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQWlCLGFBQUEsUUFBU1MsS0FBUTtBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNIakIsSUFBSSxDQUFDQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsT0FBTztFQUN0Q2lCLFVBQVUsRUFBRWxCLElBQUksQ0FBQ0ksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUMvQmUsd0JBQXdCLEVBQUVuQixJQUFJLENBQUNJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztFQUMzQ2dCLG9CQUFvQixFQUFFcEIsSUFBSSxDQUFDSSxFQUFFLENBQUMsTUFBTSxFQUFFO0FBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ0hKLElBQUksQ0FBQ0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU87RUFDckNvQixXQUFXLEVBQUdKLEtBQUssaUJBQUszQyxNQUFBLENBQUFpQixPQUFBLENBQUFpQixhQUFBLFFBQVNTLEtBQVE7QUFDM0MsQ0FBQyxDQUFDLENBQUM7QUFDSGpCLElBQUksQ0FBQ0MsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE1BQU07RUFDcEMsTUFBTXFCLEtBQUssR0FBRzlDLE9BQU8sQ0FBQyxPQUFPLENBQUM7RUFDOUIsTUFBTStDLFFBQVEsR0FBR0QsS0FBSyxDQUFDRSxVQUFVLENBQUMsQ0FBQ1AsS0FBSyxFQUFFUSxHQUFHLGtCQUFLSCxLQUFBLENBQUFkLGFBQUEsWUFBQWtCLFNBQUEsQ0FBQW5DLE9BQUE7SUFBS2tDLEdBQUcsRUFBRUE7RUFBSSxHQUFLUixLQUFLLENBQUcsQ0FBQyxDQUFDO0VBQy9FTSxRQUFRLENBQUNJLFdBQVcsR0FBRyxVQUFVO0VBRWpDLE9BQU87SUFDTEMsV0FBVyxFQUFFQSxDQUFDO01BQUVyQjtJQUFTLENBQUMsa0JBQUtlLEtBQUEsQ0FBQWQsYUFBQSxjQUFNRCxRQUFjLENBQUM7SUFDcERzQixRQUFRLEVBQUdaLEtBQUssaUJBQUtLLEtBQUEsQ0FBQWQsYUFBQSxRQUFTUyxLQUFRLENBQUM7SUFDdkNNLFFBQVE7SUFDUk8sT0FBTyxFQUFFOUIsSUFBSSxDQUFDSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUM7SUFDN0IyQixRQUFRLEVBQUUvQixJQUFJLENBQUNJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQztJQUM5QjRCLGFBQWEsRUFBR2YsS0FBSyxpQkFBS0ssS0FBQSxDQUFBZCxhQUFBLFFBQVNTLEtBQVEsQ0FBQztJQUM1Q2dCLEtBQUssRUFBRTtNQUNMQyxJQUFJLEVBQUVBLENBQUEsS0FBTSxNQUFNO01BQ2xCQyxVQUFVLEVBQUVBLENBQUEsS0FBTSxNQUFNO01BQ3hCQyxLQUFLLEVBQUVBLENBQUEsS0FBTSxNQUFNO01BQ25CQyxPQUFPLEVBQUVBLENBQUEsS0FBTSxTQUFTO01BQ3hCQyxTQUFTLEVBQUVBLENBQUEsS0FBTTtJQUNuQjtFQUNGLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNQyxLQUFLLEdBQUcsSUFBQUMsbUJBQVcsRUFBQyxDQUFDO0FBRTNCQyxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU07RUFDM0IsTUFBTUMsWUFBWSxHQUFHO0lBQ25CQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ1hDLE9BQU8sRUFBRTtNQUNQQyxPQUFPLEVBQUU7SUFDWCxDQUFDO0lBQ0RDLEtBQUssRUFBRTtNQUNMQyxPQUFPLEVBQUUsRUFBRTtNQUNYQyxVQUFVLEVBQUU7SUFDZDtFQUNGLENBQUM7RUFDRCxJQUFJQyxlQUFlO0VBQ25CLElBQUlDLG1CQUFtQjtFQUV2QkMsVUFBVSxDQUFDLE1BQU07SUFDZkYsZUFBZSxHQUFHakQsSUFBSSxDQUFDSSxFQUFFLENBQUMsQ0FBQztJQUMzQjhDLG1CQUFtQixHQUFHbEQsSUFBSSxDQUFDSSxFQUFFLENBQUMsQ0FBQztFQUNqQyxDQUFDLENBQUM7RUFFRixNQUFNZ0QsZ0JBQWdCLEdBQUlDLE1BQU0sSUFBSztJQUNuQyxNQUFNQyxRQUFRLEdBQUc7TUFDZixHQUFHWixZQUFZO01BQ2ZPLGVBQWU7TUFDZkM7SUFDRixDQUFDO0lBQ0QsTUFBTWpDLEtBQUssR0FBRztNQUFFLEdBQUdxQyxRQUFRO01BQUUsR0FBR0Q7SUFBTyxDQUFDO0lBRXhDLE9BQU8sSUFBQUUsY0FBTSxlQUNYakYsTUFBQSxDQUFBaUIsT0FBQSxDQUFBaUIsYUFBQSxDQUFDOUIsT0FBQSxDQUFBOEUsYUFBYTtNQUFDakIsS0FBSyxFQUFFQTtJQUFNLGdCQUMxQmpFLE1BQUEsQ0FBQWlCLE9BQUEsQ0FBQWlCLGFBQUEsQ0FBQzdCLE1BQUEsQ0FBQThFLFVBQVUsRUFBS3hDLEtBQVEsQ0FDWCxDQUNqQixDQUFDO0VBQ0gsQ0FBQztFQUVEd0IsUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNO0lBQ3hCaUIsRUFBRSxDQUFDLDBCQUEwQixFQUFFLE1BQU07TUFDbkMsTUFBTTtRQUFFQztNQUFVLENBQUMsR0FBR1AsZ0JBQWdCLENBQUMsQ0FBQztNQUN4Q1EsTUFBTSxDQUFDRCxTQUFTLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7SUFFRkgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLE1BQU07TUFDaEMsTUFBTTtRQUFFQztNQUFVLENBQUMsR0FBR1AsZ0JBQWdCLENBQUM7UUFDckNOLEtBQUssRUFBRTtVQUNMLEdBQUdKLFlBQVksQ0FBQ0ksS0FBSztVQUNyQmdCLFdBQVcsRUFBRSxTQUFTO1VBQ3RCQyxRQUFRLEVBQUU7WUFDUjFCLE9BQU8sRUFBRTtjQUNQMkIsSUFBSSxFQUFFLFNBQVM7Y0FDZnpFLE9BQU8sRUFBRTtZQUNYLENBQUM7WUFDRCtDLFNBQVMsRUFBRTtjQUNUMEIsSUFBSSxFQUFFLFNBQVM7Y0FDZnpFLE9BQU8sRUFBRTtZQUNYLENBQUM7WUFDRDBFLE9BQU8sRUFBRTtjQUNQRCxJQUFJLEVBQUUsU0FBUztjQUNmekUsT0FBTyxFQUFFO1lBQ1g7VUFDRjtRQUNGO01BQ0YsQ0FBQyxDQUFDO01BQ0ZxRSxNQUFNLENBQUNELFNBQVMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUVGSCxFQUFFLENBQUMsd0JBQXdCLEVBQUUsTUFBTTtNQUNqQyxNQUFNO1FBQUVDO01BQVUsQ0FBQyxHQUFHUCxnQkFBZ0IsQ0FBQztRQUFFZCxTQUFTLEVBQUU7TUFBSyxDQUFDLENBQUM7TUFDM0RzQixNQUFNLENBQUNELFNBQVMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGcEIsUUFBUSxDQUFDLG9CQUFvQixFQUFFLE1BQU07SUFDbkMsTUFBTXlCLGNBQWMsR0FBR0EsQ0FBQ2IsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLO01BQ3RDLE1BQU1jLFFBQVEsR0FBRyxJQUFJQyxjQUFrQixDQUFDO1FBQ3RDLEdBQUcxQixZQUFZO1FBQ2ZPLGVBQWUsRUFBRWpELElBQUksQ0FBQ0ksRUFBRSxDQUFDLENBQUM7UUFDMUI4QyxtQkFBbUIsRUFBRWxELElBQUksQ0FBQ0ksRUFBRSxDQUFDLENBQUM7UUFDOUJpRSxrQkFBa0IsRUFBRXJFLElBQUksQ0FBQ0ksRUFBRSxDQUFDLENBQUM7UUFDN0IsR0FBR2lEO01BQ0wsQ0FBQyxDQUFDO01BRUZjLFFBQVEsQ0FBQ0csUUFBUSxHQUFHdEUsSUFBSSxDQUFDSSxFQUFFLENBQUMsQ0FBQztNQUM3QitELFFBQVEsQ0FBQ0ksYUFBYSxHQUFHO1FBQ3ZCQyxZQUFZLEVBQUV4RSxJQUFJLENBQUNJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCcUUsVUFBVSxFQUFFekUsSUFBSSxDQUFDSSxFQUFFLENBQUM7TUFDdEIsQ0FBQztNQUVELE9BQU8rRCxRQUFRO0lBQ2pCLENBQUM7SUFFRCxNQUFNTyxRQUFRLEdBQUdBLENBQUM7TUFBRUMsVUFBVTtNQUFFQyxNQUFNO01BQUVDO0lBQVMsQ0FBQyxNQUFNO01BQ3REQyxNQUFNLEVBQUVILFVBQVUsR0FBRztRQUFFSSxJQUFJLEVBQUU7VUFBRUMsT0FBTyxFQUFFTDtRQUFXO01BQUUsQ0FBQyxHQUFHLElBQUk7TUFDN0RNLElBQUksRUFBRUwsTUFBTSxJQUFJQyxRQUFRLEdBQUc7UUFBRUssRUFBRSxFQUFFTixNQUFNO1FBQUVHLElBQUksRUFBRTtVQUFFQyxPQUFPLEVBQUVIO1FBQVM7TUFBRSxDQUFDLEdBQUc7SUFDM0UsQ0FBQyxDQUFDO0lBRUZuQixFQUFFLENBQUMsOERBQThELEVBQUUsTUFBTTtNQUN2RSxNQUFNeUIsUUFBUSxHQUFHakIsY0FBYyxDQUFDLENBQUM7TUFDakMsTUFBTWtCLEtBQUssR0FBR1YsUUFBUSxDQUFDO1FBQ3JCQyxVQUFVLEVBQUU7VUFDVk8sRUFBRSxFQUFFLElBQUk7VUFDUmxCLElBQUksRUFBRSxRQUFRO1VBQ2RxQixVQUFVLEVBQUUsT0FBTztVQUNuQkMsV0FBVyxFQUFFLENBQUM7VUFDZEMsS0FBSyxFQUFFLElBQUk7VUFDWEMsUUFBUSxFQUFFO1FBQ1o7TUFDRixDQUFDLENBQUM7TUFFRkwsUUFBUSxDQUFDTSxTQUFTLENBQUNMLEtBQUssQ0FBQztNQUV6QnhCLE1BQU0sQ0FBQ3VCLFFBQVEsQ0FBQ1osYUFBYSxDQUFDQyxZQUFZLENBQUMsQ0FBQ2tCLG9CQUFvQixDQUM5RDlCLE1BQU0sQ0FBQytCLGdCQUFnQixDQUFDO1FBQ3RCVCxFQUFFLEVBQUUsSUFBSTtRQUNSRyxVQUFVLEVBQUUsT0FBTztRQUNuQkMsV0FBVyxFQUFFO01BQ2YsQ0FBQyxDQUNILENBQUM7TUFDRDFCLE1BQU0sQ0FBQ3VCLFFBQVEsQ0FBQ1osYUFBYSxDQUFDRSxVQUFVLENBQUMsQ0FBQ21CLEdBQUcsQ0FBQ0MsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUM7SUFFRm5DLEVBQUUsQ0FBQywwREFBMEQsRUFBRSxNQUFNO01BQ25FLE1BQU15QixRQUFRLEdBQUdqQixjQUFjLENBQUMsQ0FBQztNQUNqQyxNQUFNa0IsS0FBSyxHQUFHVixRQUFRLENBQUM7UUFDckJFLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCQyxRQUFRLEVBQUU7VUFBRVcsUUFBUSxFQUFFO1FBQWEsQ0FBQztRQUNwQ2IsVUFBVSxFQUFFO1VBQ1ZPLEVBQUUsRUFBRSxJQUFJO1VBQ1JsQixJQUFJLEVBQUUsUUFBUTtVQUNkcUIsVUFBVSxFQUFFLE9BQU87VUFDbkJDLFdBQVcsRUFBRSxDQUFDO1VBQ2RDLEtBQUssRUFBRSxJQUFJO1VBQ1hDLFFBQVEsRUFBRTtRQUNaO01BQ0YsQ0FBQyxDQUFDO01BRUZMLFFBQVEsQ0FBQ00sU0FBUyxDQUFDTCxLQUFLLENBQUM7TUFFekJ4QixNQUFNLENBQUN1QixRQUFRLENBQUNaLGFBQWEsQ0FBQ0MsWUFBWSxDQUFDLENBQUNxQixnQkFBZ0IsQ0FBQyxDQUFDO01BQzlEakMsTUFBTSxDQUFDdUIsUUFBUSxDQUFDWixhQUFhLENBQUNFLFVBQVUsQ0FBQyxDQUFDbUIsR0FBRyxDQUFDQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztJQUVGbkMsRUFBRSxDQUFDLDhEQUE4RCxFQUFFLE1BQU07TUFDdkUsTUFBTXlCLFFBQVEsR0FBR2pCLGNBQWMsQ0FBQyxDQUFDO01BQ2pDLE1BQU1rQixLQUFLLEdBQUdWLFFBQVEsQ0FBQztRQUNyQkUsTUFBTSxFQUFFLFlBQVk7UUFDcEJDLFFBQVEsRUFBRTtVQUFFVyxRQUFRLEVBQUU7UUFBYSxDQUFDO1FBQ3BDYixVQUFVLEVBQUU7VUFDVk8sRUFBRSxFQUFFLElBQUk7VUFDUmxCLElBQUksRUFBRSxRQUFRO1VBQ2RxQixVQUFVLEVBQUUsWUFBWTtVQUN4QkMsV0FBVyxFQUFFLENBQUM7VUFDZEMsS0FBSyxFQUFFLElBQUk7VUFDWEMsUUFBUSxFQUFFO1FBQ1o7TUFDRixDQUFDLENBQUM7TUFFRkwsUUFBUSxDQUFDTSxTQUFTLENBQUNMLEtBQUssQ0FBQztNQUV6QnhCLE1BQU0sQ0FBQ3VCLFFBQVEsQ0FBQ1osYUFBYSxDQUFDRSxVQUFVLENBQUMsQ0FBQ2lCLG9CQUFvQixDQUM1RCxZQUFZLEVBQ1o5QixNQUFNLENBQUMrQixnQkFBZ0IsQ0FBQztRQUN0QlQsRUFBRSxFQUFFLElBQUk7UUFDUkcsVUFBVSxFQUFFLFlBQVk7UUFDeEJDLFdBQVcsRUFBRTtNQUNmLENBQUMsQ0FDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "13.1.8",
7
+ "version": "13.1.9",
8
8
  "description": "",
9
9
  "author": "pie framework developers",
10
10
  "license": "ISC",
@@ -28,7 +28,7 @@
28
28
  "react": "18.3.1",
29
29
  "react-dom": "18.3.1"
30
30
  },
31
- "gitHead": "2b221481f30b228062d17fd0c2d41a402a9ded26",
31
+ "gitHead": "3da9547e82ab80b9119ef5854e3593c3e040309d",
32
32
  "scripts": {
33
33
  "postpublish": "../../scripts/postpublish"
34
34
  },