@pie-lib/config-ui 13.1.0-beta.7 → 14.0.0-next.35

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 (233) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +11 -0
  2. package/dist/alert-dialog.d.ts +44 -0
  3. package/dist/alert-dialog.js +47 -0
  4. package/dist/checkbox.d.ts +34 -0
  5. package/dist/checkbox.js +57 -0
  6. package/dist/choice-configuration/feedback-menu.d.ts +32 -0
  7. package/dist/choice-configuration/feedback-menu.js +85 -0
  8. package/dist/choice-configuration/index.d.ts +62 -0
  9. package/dist/choice-configuration/index.js +240 -0
  10. package/dist/choice-utils.d.ts +21 -0
  11. package/dist/choice-utils.js +15 -0
  12. package/dist/feedback-config/feedback-selector.d.ts +33 -0
  13. package/dist/feedback-config/feedback-selector.js +92 -0
  14. package/dist/feedback-config/group.d.ts +21 -0
  15. package/dist/feedback-config/group.js +33 -0
  16. package/dist/feedback-config/index.d.ts +48 -0
  17. package/dist/feedback-config/index.js +96 -0
  18. package/dist/form-section.d.ts +25 -0
  19. package/dist/form-section.js +25 -0
  20. package/dist/fraction-to-number.d.ts +7 -0
  21. package/dist/fraction-to-number.js +9 -0
  22. package/dist/help.d.ts +41 -0
  23. package/dist/help.js +62 -0
  24. package/dist/index.d.ts +31 -0
  25. package/dist/index.js +34 -0
  26. package/dist/input.d.ts +29 -0
  27. package/dist/input.js +65 -0
  28. package/dist/inputs.d.ts +63 -0
  29. package/dist/inputs.js +70 -0
  30. package/dist/langs.d.ts +41 -0
  31. package/dist/langs.js +76 -0
  32. package/dist/layout/config-layout.d.ts +10 -0
  33. package/dist/layout/config-layout.js +75 -0
  34. package/dist/layout/index.d.ts +11 -0
  35. package/dist/layout/index.js +10 -0
  36. package/dist/layout/layout-contents.d.ts +21 -0
  37. package/dist/layout/layout-contents.js +70 -0
  38. package/dist/layout/settings-box.d.ts +19 -0
  39. package/dist/layout/settings-box.js +32 -0
  40. package/dist/mui-box/index.d.ts +21 -0
  41. package/dist/mui-box/index.js +47 -0
  42. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  43. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +7 -0
  44. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  45. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
  46. package/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js +122 -0
  47. package/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +276 -0
  48. package/dist/number-text-field-custom.d.ts +51 -0
  49. package/dist/number-text-field-custom.js +192 -0
  50. package/dist/number-text-field.d.ts +47 -0
  51. package/dist/number-text-field.js +122 -0
  52. package/dist/radio-with-label.d.ts +25 -0
  53. package/dist/radio-with-label.js +27 -0
  54. package/dist/settings/display-size.d.ts +26 -0
  55. package/dist/settings/display-size.js +45 -0
  56. package/dist/settings/index.d.ts +45 -0
  57. package/dist/settings/index.js +63 -0
  58. package/dist/settings/panel.d.ts +27 -0
  59. package/dist/settings/panel.js +201 -0
  60. package/dist/settings/settings-radio-label.d.ts +25 -0
  61. package/dist/settings/settings-radio-label.js +29 -0
  62. package/dist/settings/toggle.d.ts +25 -0
  63. package/dist/settings/toggle.js +33 -0
  64. package/dist/tabs/index.d.ts +22 -0
  65. package/dist/tabs/index.js +39 -0
  66. package/dist/tags-input/index.d.ts +21 -0
  67. package/dist/tags-input/index.js +83 -0
  68. package/dist/two-choice.d.ts +43 -0
  69. package/dist/two-choice.js +79 -0
  70. package/dist/with-stateful-model.d.ts +42 -0
  71. package/dist/with-stateful-model.js +32 -0
  72. package/package.json +31 -19
  73. package/CHANGELOG.json +0 -32
  74. package/CHANGELOG.md +0 -2419
  75. package/lib/__tests__/alert-dialog.test.js +0 -262
  76. package/lib/__tests__/alert-dialog.test.js.map +0 -1
  77. package/lib/__tests__/checkbox.test.js +0 -227
  78. package/lib/__tests__/checkbox.test.js.map +0 -1
  79. package/lib/__tests__/choice-utils.test.js +0 -14
  80. package/lib/__tests__/choice-utils.test.js.map +0 -1
  81. package/lib/__tests__/form-section.test.js +0 -252
  82. package/lib/__tests__/form-section.test.js.map +0 -1
  83. package/lib/__tests__/help.test.js +0 -270
  84. package/lib/__tests__/help.test.js.map +0 -1
  85. package/lib/__tests__/input.test.js +0 -268
  86. package/lib/__tests__/input.test.js.map +0 -1
  87. package/lib/__tests__/langs.test.js +0 -541
  88. package/lib/__tests__/langs.test.js.map +0 -1
  89. package/lib/__tests__/number-text-field-custom.test.js +0 -362
  90. package/lib/__tests__/number-text-field-custom.test.js.map +0 -1
  91. package/lib/__tests__/number-text-field.test.js +0 -421
  92. package/lib/__tests__/number-text-field.test.js.map +0 -1
  93. package/lib/__tests__/radio-with-label.test.js +0 -233
  94. package/lib/__tests__/radio-with-label.test.js.map +0 -1
  95. package/lib/__tests__/settings-panel.test.js +0 -184
  96. package/lib/__tests__/settings-panel.test.js.map +0 -1
  97. package/lib/__tests__/settings.test.js +0 -653
  98. package/lib/__tests__/settings.test.js.map +0 -1
  99. package/lib/__tests__/tabs.test.js +0 -211
  100. package/lib/__tests__/tabs.test.js.map +0 -1
  101. package/lib/__tests__/two-choice.test.js +0 -124
  102. package/lib/__tests__/two-choice.test.js.map +0 -1
  103. package/lib/__tests__/with-stateful-model.test.js +0 -221
  104. package/lib/__tests__/with-stateful-model.test.js.map +0 -1
  105. package/lib/alert-dialog.js +0 -68
  106. package/lib/alert-dialog.js.map +0 -1
  107. package/lib/checkbox.js +0 -84
  108. package/lib/checkbox.js.map +0 -1
  109. package/lib/choice-configuration/__tests__/feedback-menu.test.js +0 -287
  110. package/lib/choice-configuration/__tests__/feedback-menu.test.js.map +0 -1
  111. package/lib/choice-configuration/__tests__/index.test.js +0 -253
  112. package/lib/choice-configuration/__tests__/index.test.js.map +0 -1
  113. package/lib/choice-configuration/feedback-menu.js +0 -129
  114. package/lib/choice-configuration/feedback-menu.js.map +0 -1
  115. package/lib/choice-configuration/index.js +0 -381
  116. package/lib/choice-configuration/index.js.map +0 -1
  117. package/lib/choice-utils.js +0 -42
  118. package/lib/choice-utils.js.map +0 -1
  119. package/lib/feedback-config/__tests__/feedback-config.test.js +0 -201
  120. package/lib/feedback-config/__tests__/feedback-config.test.js.map +0 -1
  121. package/lib/feedback-config/__tests__/feedback-selector.test.js +0 -177
  122. package/lib/feedback-config/__tests__/feedback-selector.test.js.map +0 -1
  123. package/lib/feedback-config/feedback-selector.js +0 -155
  124. package/lib/feedback-config/feedback-selector.js.map +0 -1
  125. package/lib/feedback-config/group.js +0 -61
  126. package/lib/feedback-config/group.js.map +0 -1
  127. package/lib/feedback-config/index.js +0 -146
  128. package/lib/feedback-config/index.js.map +0 -1
  129. package/lib/form-section.js +0 -44
  130. package/lib/form-section.js.map +0 -1
  131. package/lib/help.js +0 -106
  132. package/lib/help.js.map +0 -1
  133. package/lib/index.js +0 -186
  134. package/lib/index.js.map +0 -1
  135. package/lib/input.js +0 -106
  136. package/lib/input.js.map +0 -1
  137. package/lib/inputs.js +0 -105
  138. package/lib/inputs.js.map +0 -1
  139. package/lib/langs.js +0 -136
  140. package/lib/langs.js.map +0 -1
  141. package/lib/layout/__tests__/config.layout.test.js +0 -70
  142. package/lib/layout/__tests__/config.layout.test.js.map +0 -1
  143. package/lib/layout/__tests__/layout-content.test.js +0 -6
  144. package/lib/layout/__tests__/layout-content.test.js.map +0 -1
  145. package/lib/layout/config-layout.js +0 -137
  146. package/lib/layout/config-layout.js.map +0 -1
  147. package/lib/layout/index.js +0 -21
  148. package/lib/layout/index.js.map +0 -1
  149. package/lib/layout/layout-contents.js +0 -160
  150. package/lib/layout/layout-contents.js.map +0 -1
  151. package/lib/layout/settings-box.js +0 -57
  152. package/lib/layout/settings-box.js.map +0 -1
  153. package/lib/mui-box/index.js +0 -63
  154. package/lib/mui-box/index.js.map +0 -1
  155. package/lib/number-text-field-custom.js +0 -376
  156. package/lib/number-text-field-custom.js.map +0 -1
  157. package/lib/number-text-field.js +0 -229
  158. package/lib/number-text-field.js.map +0 -1
  159. package/lib/radio-with-label.js +0 -48
  160. package/lib/radio-with-label.js.map +0 -1
  161. package/lib/settings/display-size.js +0 -61
  162. package/lib/settings/display-size.js.map +0 -1
  163. package/lib/settings/index.js +0 -110
  164. package/lib/settings/index.js.map +0 -1
  165. package/lib/settings/panel.js +0 -392
  166. package/lib/settings/panel.js.map +0 -1
  167. package/lib/settings/settings-radio-label.js +0 -51
  168. package/lib/settings/settings-radio-label.js.map +0 -1
  169. package/lib/settings/toggle.js +0 -63
  170. package/lib/settings/toggle.js.map +0 -1
  171. package/lib/tabs/index.js +0 -75
  172. package/lib/tabs/index.js.map +0 -1
  173. package/lib/tags-input/__tests__/index.test.js +0 -183
  174. package/lib/tags-input/__tests__/index.test.js.map +0 -1
  175. package/lib/tags-input/index.js +0 -149
  176. package/lib/tags-input/index.js.map +0 -1
  177. package/lib/two-choice.js +0 -136
  178. package/lib/two-choice.js.map +0 -1
  179. package/lib/with-stateful-model.js +0 -61
  180. package/lib/with-stateful-model.js.map +0 -1
  181. package/src/__tests__/alert-dialog.test.jsx +0 -183
  182. package/src/__tests__/checkbox.test.jsx +0 -152
  183. package/src/__tests__/choice-utils.test.js +0 -12
  184. package/src/__tests__/form-section.test.jsx +0 -328
  185. package/src/__tests__/help.test.jsx +0 -184
  186. package/src/__tests__/input.test.jsx +0 -156
  187. package/src/__tests__/langs.test.jsx +0 -376
  188. package/src/__tests__/number-text-field-custom.test.jsx +0 -255
  189. package/src/__tests__/number-text-field.test.jsx +0 -263
  190. package/src/__tests__/radio-with-label.test.jsx +0 -155
  191. package/src/__tests__/settings-panel.test.js +0 -187
  192. package/src/__tests__/settings.test.jsx +0 -452
  193. package/src/__tests__/tabs.test.jsx +0 -188
  194. package/src/__tests__/two-choice.test.js +0 -110
  195. package/src/__tests__/with-stateful-model.test.jsx +0 -139
  196. package/src/alert-dialog.jsx +0 -75
  197. package/src/checkbox.jsx +0 -61
  198. package/src/choice-configuration/__tests__/feedback-menu.test.jsx +0 -151
  199. package/src/choice-configuration/__tests__/index.test.jsx +0 -234
  200. package/src/choice-configuration/feedback-menu.jsx +0 -96
  201. package/src/choice-configuration/index.jsx +0 -357
  202. package/src/choice-utils.js +0 -30
  203. package/src/feedback-config/__tests__/feedback-config.test.jsx +0 -141
  204. package/src/feedback-config/__tests__/feedback-selector.test.jsx +0 -97
  205. package/src/feedback-config/feedback-selector.jsx +0 -112
  206. package/src/feedback-config/group.jsx +0 -51
  207. package/src/feedback-config/index.jsx +0 -111
  208. package/src/form-section.jsx +0 -31
  209. package/src/help.jsx +0 -79
  210. package/src/index.js +0 -55
  211. package/src/input.jsx +0 -72
  212. package/src/inputs.jsx +0 -69
  213. package/src/langs.jsx +0 -111
  214. package/src/layout/__tests__/config.layout.test.jsx +0 -59
  215. package/src/layout/__tests__/layout-content.test.jsx +0 -3
  216. package/src/layout/config-layout.jsx +0 -103
  217. package/src/layout/index.js +0 -4
  218. package/src/layout/layout-contents.jsx +0 -117
  219. package/src/layout/settings-box.jsx +0 -32
  220. package/src/mui-box/index.jsx +0 -56
  221. package/src/number-text-field-custom.jsx +0 -333
  222. package/src/number-text-field.jsx +0 -215
  223. package/src/radio-with-label.jsx +0 -30
  224. package/src/settings/display-size.jsx +0 -53
  225. package/src/settings/index.js +0 -83
  226. package/src/settings/panel.jsx +0 -333
  227. package/src/settings/settings-radio-label.jsx +0 -32
  228. package/src/settings/toggle.jsx +0 -46
  229. package/src/tabs/index.jsx +0 -47
  230. package/src/tags-input/__tests__/index.test.jsx +0 -113
  231. package/src/tags-input/index.jsx +0 -116
  232. package/src/two-choice.jsx +0 -90
  233. package/src/with-stateful-model.jsx +0 -36
@@ -1,653 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
- var _react = _interopRequireDefault(require("react"));
8
- var _react2 = require("@testing-library/react");
9
- var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
- var _toggle = _interopRequireDefault(require("../settings/toggle"));
11
- var _displaySize = _interopRequireDefault(require("../settings/display-size"));
12
- var _settingsRadioLabel = _interopRequireDefault(require("../settings/settings-radio-label"));
13
- var _panel = require("../settings/panel");
14
- describe('Settings Components', function () {
15
- describe('Toggle', function () {
16
- it('renders toggle with label', function () {
17
- var toggle = jest.fn();
18
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toggle["default"], {
19
- label: "Enable Feature",
20
- checked: false,
21
- toggle: toggle
22
- }));
23
- expect(_react2.screen.getByText('Enable Feature')).toBeInTheDocument();
24
- });
25
- });
26
- describe('DisplaySize', function () {
27
- var defaultProps = {
28
- size: {
29
- width: 500,
30
- height: 400
31
- },
32
- label: 'Display Size',
33
- onChange: jest.fn()
34
- };
35
- beforeEach(function () {
36
- jest.clearAllMocks();
37
- });
38
- it('renders label and input fields', function () {
39
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], defaultProps));
40
- expect(_react2.screen.getByText('Display Size')).toBeInTheDocument();
41
- expect(_react2.screen.getByLabelText('Width')).toBeInTheDocument();
42
- expect(_react2.screen.getByLabelText('Height')).toBeInTheDocument();
43
- });
44
- it('displays width and height values', function () {
45
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], defaultProps));
46
- var widthInput = _react2.screen.getByLabelText('Width');
47
- var heightInput = _react2.screen.getByLabelText('Height');
48
- expect(widthInput).toHaveValue(500);
49
- expect(heightInput).toHaveValue(400);
50
- });
51
- it('calls onChange when width changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
52
- var user, onChange, widthInput;
53
- return _regenerator["default"].wrap(function (_context) {
54
- while (1) switch (_context.prev = _context.next) {
55
- case 0:
56
- user = _userEvent["default"].setup();
57
- onChange = jest.fn();
58
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
59
- onChange: onChange
60
- })));
61
- widthInput = _react2.screen.getByLabelText('Width');
62
- _context.next = 1;
63
- return user.clear(widthInput);
64
- case 1:
65
- _context.next = 2;
66
- return user.type(widthInput, '600');
67
- case 2:
68
- _react2.fireEvent.blur(widthInput);
69
- expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
70
- width: 600
71
- }));
72
- case 3:
73
- case "end":
74
- return _context.stop();
75
- }
76
- }, _callee);
77
- })));
78
- it('calls onChange when height changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
79
- var user, onChange, heightInput;
80
- return _regenerator["default"].wrap(function (_context2) {
81
- while (1) switch (_context2.prev = _context2.next) {
82
- case 0:
83
- user = _userEvent["default"].setup();
84
- onChange = jest.fn();
85
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
86
- onChange: onChange
87
- })));
88
- heightInput = _react2.screen.getByLabelText('Height');
89
- _context2.next = 1;
90
- return user.clear(heightInput);
91
- case 1:
92
- _context2.next = 2;
93
- return user.type(heightInput, '500');
94
- case 2:
95
- _react2.fireEvent.blur(heightInput);
96
- expect(onChange).toHaveBeenCalledWith(expect.objectContaining({
97
- height: 500
98
- }));
99
- case 3:
100
- case "end":
101
- return _context2.stop();
102
- }
103
- }, _callee2);
104
- })));
105
- it('maintains other dimension when one changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
106
- var user, onChange, widthInput;
107
- return _regenerator["default"].wrap(function (_context3) {
108
- while (1) switch (_context3.prev = _context3.next) {
109
- case 0:
110
- user = _userEvent["default"].setup();
111
- onChange = jest.fn();
112
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
113
- onChange: onChange
114
- })));
115
- widthInput = _react2.screen.getByLabelText('Width');
116
- _context3.next = 1;
117
- return user.clear(widthInput);
118
- case 1:
119
- _context3.next = 2;
120
- return user.type(widthInput, '700');
121
- case 2:
122
- _react2.fireEvent.blur(widthInput);
123
- expect(onChange).toHaveBeenCalledWith({
124
- width: 700,
125
- height: 400
126
- });
127
- case 3:
128
- case "end":
129
- return _context3.stop();
130
- }
131
- }, _callee3);
132
- })));
133
- it('enforces min value constraint', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
134
- var user, onChange, widthInput;
135
- return _regenerator["default"].wrap(function (_context4) {
136
- while (1) switch (_context4.prev = _context4.next) {
137
- case 0:
138
- user = _userEvent["default"].setup();
139
- onChange = jest.fn();
140
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
141
- onChange: onChange
142
- })));
143
- widthInput = _react2.screen.getByLabelText('Width');
144
- _context4.next = 1;
145
- return user.clear(widthInput);
146
- case 1:
147
- _context4.next = 2;
148
- return user.type(widthInput, '100');
149
- case 2:
150
- _react2.fireEvent.blur(widthInput);
151
-
152
- // Should clamp to minimum 150
153
- expect(widthInput).toHaveValue(150);
154
- case 3:
155
- case "end":
156
- return _context4.stop();
157
- }
158
- }, _callee4);
159
- })));
160
- it('enforces max value constraint', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
161
- var user, onChange, widthInput;
162
- return _regenerator["default"].wrap(function (_context5) {
163
- while (1) switch (_context5.prev = _context5.next) {
164
- case 0:
165
- user = _userEvent["default"].setup();
166
- onChange = jest.fn();
167
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
168
- onChange: onChange
169
- })));
170
- widthInput = _react2.screen.getByLabelText('Width');
171
- _context5.next = 1;
172
- return user.clear(widthInput);
173
- case 1:
174
- _context5.next = 2;
175
- return user.type(widthInput, '2000');
176
- case 2:
177
- _react2.fireEvent.blur(widthInput);
178
-
179
- // Should clamp to maximum 1000
180
- expect(widthInput).toHaveValue(1000);
181
- case 3:
182
- case "end":
183
- return _context5.stop();
184
- }
185
- }, _callee5);
186
- })));
187
- it('updates when size prop changes', function () {
188
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], defaultProps)),
189
- rerender = _render.rerender;
190
- var widthInput = _react2.screen.getByLabelText('Width');
191
- expect(widthInput).toHaveValue(500);
192
- rerender(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
193
- size: {
194
- width: 800,
195
- height: 600
196
- }
197
- })));
198
- widthInput = _react2.screen.getByLabelText('Width');
199
- expect(widthInput).toHaveValue(800);
200
- });
201
- it('handles boundary values at minimum', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
202
- var user, onChange, widthInput, heightInput;
203
- return _regenerator["default"].wrap(function (_context6) {
204
- while (1) switch (_context6.prev = _context6.next) {
205
- case 0:
206
- user = _userEvent["default"].setup();
207
- onChange = jest.fn();
208
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
209
- onChange: onChange
210
- })));
211
- widthInput = _react2.screen.getByLabelText('Width');
212
- heightInput = _react2.screen.getByLabelText('Height');
213
- _context6.next = 1;
214
- return user.clear(widthInput);
215
- case 1:
216
- _context6.next = 2;
217
- return user.type(widthInput, '150');
218
- case 2:
219
- _react2.fireEvent.blur(widthInput);
220
- _context6.next = 3;
221
- return user.clear(heightInput);
222
- case 3:
223
- _context6.next = 4;
224
- return user.type(heightInput, '150');
225
- case 4:
226
- _react2.fireEvent.blur(heightInput);
227
- expect(widthInput).toHaveValue(150);
228
- expect(heightInput).toHaveValue(150);
229
- case 5:
230
- case "end":
231
- return _context6.stop();
232
- }
233
- }, _callee6);
234
- })));
235
- it('handles boundary values at maximum', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
236
- var user, onChange, widthInput, heightInput;
237
- return _regenerator["default"].wrap(function (_context7) {
238
- while (1) switch (_context7.prev = _context7.next) {
239
- case 0:
240
- user = _userEvent["default"].setup();
241
- onChange = jest.fn();
242
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
243
- onChange: onChange
244
- })));
245
- widthInput = _react2.screen.getByLabelText('Width');
246
- heightInput = _react2.screen.getByLabelText('Height');
247
- _context7.next = 1;
248
- return user.clear(widthInput);
249
- case 1:
250
- _context7.next = 2;
251
- return user.type(widthInput, '1000');
252
- case 2:
253
- _react2.fireEvent.blur(widthInput);
254
- _context7.next = 3;
255
- return user.clear(heightInput);
256
- case 3:
257
- _context7.next = 4;
258
- return user.type(heightInput, '1000');
259
- case 4:
260
- _react2.fireEvent.blur(heightInput);
261
- expect(widthInput).toHaveValue(1000);
262
- expect(heightInput).toHaveValue(1000);
263
- case 5:
264
- case "end":
265
- return _context7.stop();
266
- }
267
- }, _callee7);
268
- })));
269
- it('handles decimal input values', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
270
- var user, onChange, widthInput;
271
- return _regenerator["default"].wrap(function (_context8) {
272
- while (1) switch (_context8.prev = _context8.next) {
273
- case 0:
274
- user = _userEvent["default"].setup();
275
- onChange = jest.fn();
276
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
277
- onChange: onChange
278
- })));
279
- widthInput = _react2.screen.getByLabelText('Width');
280
- _context8.next = 1;
281
- return user.clear(widthInput);
282
- case 1:
283
- _context8.next = 2;
284
- return user.type(widthInput, '500.5');
285
- case 2:
286
- _react2.fireEvent.blur(widthInput);
287
- expect(widthInput).toBeInTheDocument();
288
- case 3:
289
- case "end":
290
- return _context8.stop();
291
- }
292
- }, _callee8);
293
- })));
294
- it('handles empty input and resets to min', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
295
- var user, onChange, widthInput;
296
- return _regenerator["default"].wrap(function (_context9) {
297
- while (1) switch (_context9.prev = _context9.next) {
298
- case 0:
299
- user = _userEvent["default"].setup();
300
- onChange = jest.fn();
301
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
302
- onChange: onChange
303
- })));
304
- widthInput = _react2.screen.getByLabelText('Width');
305
- _context9.next = 1;
306
- return user.clear(widthInput);
307
- case 1:
308
- _react2.fireEvent.blur(widthInput);
309
-
310
- // Should reset to minimum value
311
- expect(widthInput).toHaveValue(150);
312
- case 2:
313
- case "end":
314
- return _context9.stop();
315
- }
316
- }, _callee9);
317
- })));
318
- it('handles rapid width and height changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
319
- var user, onChange, widthInput;
320
- return _regenerator["default"].wrap(function (_context0) {
321
- while (1) switch (_context0.prev = _context0.next) {
322
- case 0:
323
- user = _userEvent["default"].setup();
324
- onChange = jest.fn();
325
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
326
- onChange: onChange
327
- })));
328
- widthInput = _react2.screen.getByLabelText('Width');
329
- _context0.next = 1;
330
- return user.clear(widthInput);
331
- case 1:
332
- _context0.next = 2;
333
- return user.type(widthInput, '6');
334
- case 2:
335
- _context0.next = 3;
336
- return user.type(widthInput, '0');
337
- case 3:
338
- _context0.next = 4;
339
- return user.type(widthInput, '0');
340
- case 4:
341
- _react2.fireEvent.blur(widthInput);
342
- expect(onChange).toHaveBeenCalled();
343
- case 5:
344
- case "end":
345
- return _context0.stop();
346
- }
347
- }, _callee0);
348
- })));
349
- it('clamps height at both boundaries', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
350
- var user, onChange, heightInput;
351
- return _regenerator["default"].wrap(function (_context1) {
352
- while (1) switch (_context1.prev = _context1.next) {
353
- case 0:
354
- user = _userEvent["default"].setup();
355
- onChange = jest.fn();
356
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], (0, _extends2["default"])({}, defaultProps, {
357
- onChange: onChange
358
- })));
359
- heightInput = _react2.screen.getByLabelText('Height'); // Test below min
360
- _context1.next = 1;
361
- return user.clear(heightInput);
362
- case 1:
363
- _context1.next = 2;
364
- return user.type(heightInput, '50');
365
- case 2:
366
- _react2.fireEvent.blur(heightInput);
367
- expect(heightInput).toHaveValue(150);
368
-
369
- // Test above max
370
- _context1.next = 3;
371
- return user.clear(heightInput);
372
- case 3:
373
- _context1.next = 4;
374
- return user.type(heightInput, '2500');
375
- case 4:
376
- _react2.fireEvent.blur(heightInput);
377
- expect(heightInput).toHaveValue(1000);
378
- case 5:
379
- case "end":
380
- return _context1.stop();
381
- }
382
- }, _callee1);
383
- })));
384
- it('displays custom label text', function () {
385
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], {
386
- size: {
387
- width: 500,
388
- height: 400
389
- },
390
- label: "Custom Size Settings",
391
- onChange: jest.fn()
392
- }));
393
- expect(_react2.screen.getByText('Custom Size Settings')).toBeInTheDocument();
394
- });
395
- it('renders with variant outlined', function () {
396
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_displaySize["default"], defaultProps)),
397
- container = _render2.container;
398
- var inputs = container.querySelectorAll('input');
399
- expect(inputs.length).toBe(2);
400
- });
401
- });
402
- describe('SettingsRadioLabel', function () {
403
- it('renders radio label', function () {
404
- var onChange = jest.fn();
405
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_settingsRadioLabel["default"], {
406
- label: "Option 1",
407
- value: "option1",
408
- checked: false,
409
- onChange: onChange
410
- }));
411
- expect(_react2.screen.getByText('Option 1')).toBeInTheDocument();
412
- expect(_react2.screen.getByRole('radio')).toBeInTheDocument();
413
- });
414
- it('renders checked state', function () {
415
- var onChange = jest.fn();
416
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_settingsRadioLabel["default"], {
417
- label: "Option 1",
418
- value: "option1",
419
- checked: true,
420
- onChange: onChange
421
- }));
422
- var radio = _react2.screen.getByRole('radio');
423
- expect(radio).toBeChecked();
424
- });
425
- it('renders unchecked state', function () {
426
- var onChange = jest.fn();
427
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_settingsRadioLabel["default"], {
428
- label: "Option 1",
429
- value: "option1",
430
- checked: false,
431
- onChange: onChange
432
- }));
433
- var radio = _react2.screen.getByRole('radio');
434
- expect(radio).not.toBeChecked();
435
- });
436
- it('calls onChange when radio is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
437
- var user, onChange, radio;
438
- return _regenerator["default"].wrap(function (_context10) {
439
- while (1) switch (_context10.prev = _context10.next) {
440
- case 0:
441
- user = _userEvent["default"].setup();
442
- onChange = jest.fn();
443
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_settingsRadioLabel["default"], {
444
- label: "Option 1",
445
- value: "option1",
446
- checked: false,
447
- onChange: onChange
448
- }));
449
- radio = _react2.screen.getByRole('radio');
450
- _context10.next = 1;
451
- return user.click(radio);
452
- case 1:
453
- expect(onChange).toHaveBeenCalled();
454
- case 2:
455
- case "end":
456
- return _context10.stop();
457
- }
458
- }, _callee10);
459
- })));
460
- it('displays label text correctly', function () {
461
- var onChange = jest.fn();
462
- var labelText = 'Custom Option Label';
463
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_settingsRadioLabel["default"], {
464
- label: labelText,
465
- value: "custom",
466
- checked: false,
467
- onChange: onChange
468
- }));
469
- expect(_react2.screen.getByText(labelText)).toBeInTheDocument();
470
- });
471
- });
472
- describe('Panel', function () {
473
- var defaultProps = {
474
- model: {
475
- toggleSetting: true,
476
- numberValue: 5
477
- },
478
- configuration: {
479
- configValue: 'test'
480
- },
481
- groups: {
482
- 'General Settings': {
483
- toggleSetting: {
484
- type: 'toggle',
485
- label: 'Enable Feature'
486
- }
487
- }
488
- },
489
- onChangeModel: jest.fn(),
490
- onChangeConfiguration: jest.fn()
491
- };
492
- beforeEach(function () {
493
- jest.clearAllMocks();
494
- });
495
- it('renders panel with group label', function () {
496
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, defaultProps));
497
- expect(_react2.screen.getByText('General Settings')).toBeInTheDocument();
498
- });
499
- it('renders empty when groups is undefined', function () {
500
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
501
- groups: undefined
502
- }))),
503
- container = _render3.container;
504
- expect(container.firstChild.children.length).toBe(0);
505
- });
506
- it('renders empty when groups is empty', function () {
507
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
508
- groups: {}
509
- }))),
510
- container = _render4.container;
511
- expect(container.firstChild.children.length).toBe(0);
512
- });
513
- it('calls onChangeModel when model changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
514
- var user, onChangeModel, _render5, container, switchElement;
515
- return _regenerator["default"].wrap(function (_context11) {
516
- while (1) switch (_context11.prev = _context11.next) {
517
- case 0:
518
- user = _userEvent["default"].setup();
519
- onChangeModel = jest.fn();
520
- _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
521
- onChangeModel: onChangeModel
522
- }))), container = _render5.container;
523
- switchElement = container.querySelector('input[type="checkbox"]');
524
- _context11.next = 1;
525
- return user.click(switchElement);
526
- case 1:
527
- expect(onChangeModel).toHaveBeenCalled();
528
- case 2:
529
- case "end":
530
- return _context11.stop();
531
- }
532
- }, _callee11);
533
- })));
534
- it('calls onChangeConfiguration when configuration changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
535
- var user, onChangeConfiguration, _render6, container, switchElement;
536
- return _regenerator["default"].wrap(function (_context12) {
537
- while (1) switch (_context12.prev = _context12.next) {
538
- case 0:
539
- user = _userEvent["default"].setup();
540
- onChangeConfiguration = jest.fn();
541
- _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
542
- groups: {
543
- 'Config Group': {
544
- configValue: {
545
- type: 'toggle',
546
- label: 'Config Toggle',
547
- isConfigProperty: true
548
- }
549
- }
550
- },
551
- onChangeConfiguration: onChangeConfiguration
552
- }))), container = _render6.container;
553
- switchElement = container.querySelector('input[type="checkbox"]');
554
- _context12.next = 1;
555
- return user.click(switchElement);
556
- case 1:
557
- expect(onChangeConfiguration).toHaveBeenCalled();
558
- case 2:
559
- case "end":
560
- return _context12.stop();
561
- }
562
- }, _callee12);
563
- })));
564
- it('renders with modal when provided', function () {
565
- var modal = /*#__PURE__*/_react["default"].createElement("div", {
566
- "data-testid": "test-modal"
567
- }, "Modal Content");
568
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
569
- modal: modal
570
- })));
571
- expect(_react2.screen.getByTestId('test-modal')).toBeInTheDocument();
572
- expect(_react2.screen.getByText('Modal Content')).toBeInTheDocument();
573
- });
574
- it('renders multiple groups', function () {
575
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
576
- groups: {
577
- 'Group One': {
578
- setting1: {
579
- type: 'toggle',
580
- label: 'Setting One'
581
- }
582
- },
583
- 'Group Two': {
584
- setting2: {
585
- type: 'toggle',
586
- label: 'Setting Two'
587
- }
588
- }
589
- },
590
- model: {
591
- setting1: true,
592
- setting2: false
593
- }
594
- })));
595
- expect(_react2.screen.getByText('Group One')).toBeInTheDocument();
596
- expect(_react2.screen.getByText('Group Two')).toBeInTheDocument();
597
- });
598
- it('uses default callbacks when not provided', function () {
599
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, {
600
- model: {
601
- test: true
602
- },
603
- groups: {
604
- 'Test Group': {
605
- test: {
606
- type: 'toggle',
607
- label: 'Test'
608
- }
609
- }
610
- }
611
- })),
612
- container = _render7.container;
613
- expect(container.firstChild).toBeInTheDocument();
614
- });
615
- it('filters out empty groups', function () {
616
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, (0, _extends2["default"])({}, defaultProps, {
617
- groups: {
618
- 'Empty Group': {},
619
- 'General Settings': {
620
- toggleSetting: {
621
- type: 'toggle',
622
- label: 'Enable Feature'
623
- }
624
- }
625
- },
626
- model: {
627
- toggleSetting: true
628
- }
629
- }))),
630
- container = _render8.container;
631
- expect(_react2.screen.getByText('General Settings')).toBeInTheDocument();
632
- expect(_react2.screen.queryByText('Empty Group')).not.toBeInTheDocument();
633
- });
634
- it('renders with null model', function () {
635
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_panel.Panel, {
636
- model: null,
637
- configuration: {},
638
- groups: {
639
- 'General Settings': {
640
- toggleSetting: {
641
- type: 'toggle',
642
- label: 'Enable Feature'
643
- }
644
- }
645
- },
646
- onChangeModel: jest.fn()
647
- })),
648
- container = _render9.container;
649
- expect(_react2.screen.getByText('General Settings')).toBeInTheDocument();
650
- });
651
- });
652
- });
653
- //# sourceMappingURL=settings.test.js.map