@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,268 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
- var _react = _interopRequireDefault(require("react"));
7
- var _react2 = require("@testing-library/react");
8
- var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
- var _input = _interopRequireDefault(require("../input"));
10
- describe('Input Component', function () {
11
- var onChange = jest.fn();
12
- beforeEach(function () {
13
- onChange.mockClear();
14
- });
15
- describe('Rendering', function () {
16
- it('should render input without label', function () {
17
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
18
- type: "text",
19
- value: "test",
20
- onChange: onChange
21
- })),
22
- container = _render.container;
23
- var input = container.querySelector('input');
24
- expect(input).toBeInTheDocument();
25
- expect(input.value).toBe('test');
26
- });
27
- it('should render input with label', function () {
28
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
29
- type: "text",
30
- label: "Email",
31
- value: "test@example.com",
32
- onChange: onChange
33
- }));
34
- expect(_react2.screen.getByText('Email')).toBeInTheDocument();
35
- var input = _react2.screen.getByDisplayValue('test@example.com');
36
- expect(input).toBeInTheDocument();
37
- });
38
- it('should render input with different types', function () {
39
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
40
- type: "number",
41
- value: 123,
42
- onChange: onChange
43
- })),
44
- numberContainer = _render2.container;
45
- expect(numberContainer.querySelector('input[type="number"]')).toBeInTheDocument();
46
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
47
- type: "email",
48
- value: "test@example.com",
49
- onChange: onChange
50
- })),
51
- emailContainer = _render3.container;
52
- expect(emailContainer.querySelector('input[type="email"]')).toBeInTheDocument();
53
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
54
- type: "password",
55
- value: "secret",
56
- onChange: onChange
57
- })),
58
- passwordContainer = _render4.container;
59
- expect(passwordContainer.querySelector('input[type="password"]')).toBeInTheDocument();
60
- });
61
- });
62
- describe('Value handling', function () {
63
- it('should handle string values', function () {
64
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
65
- type: "text",
66
- value: "hello",
67
- onChange: onChange
68
- })),
69
- container = _render5.container;
70
- expect(container.querySelector('input').value).toBe('hello');
71
- });
72
- it('should handle number values', function () {
73
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
74
- type: "number",
75
- value: 42,
76
- onChange: onChange
77
- })),
78
- container = _render6.container;
79
- expect(container.querySelector('input').value).toBe('42');
80
- });
81
- it('should handle empty values', function () {
82
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
83
- type: "text",
84
- value: "",
85
- onChange: onChange
86
- })),
87
- container = _render7.container;
88
- expect(container.querySelector('input').value).toBe('');
89
- });
90
- it('should update when prop changes', function () {
91
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
92
- type: "text",
93
- value: "initial",
94
- onChange: onChange
95
- })),
96
- container = _render8.container,
97
- rerender = _render8.rerender;
98
- expect(container.querySelector('input').value).toBe('initial');
99
- rerender(/*#__PURE__*/_react["default"].createElement(_input["default"], {
100
- type: "text",
101
- value: "updated",
102
- onChange: onChange
103
- }));
104
- expect(container.querySelector('input').value).toBe('updated');
105
- });
106
- });
107
- describe('onChange behavior', function () {
108
- it('should call onChange on input change', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
109
- var user, _render9, container, input;
110
- return _regenerator["default"].wrap(function (_context) {
111
- while (1) switch (_context.prev = _context.next) {
112
- case 0:
113
- user = _userEvent["default"].setup();
114
- _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
115
- type: "text",
116
- value: "",
117
- onChange: onChange
118
- })), container = _render9.container;
119
- input = container.querySelector('input');
120
- _context.next = 1;
121
- return user.type(input, 'hello');
122
- case 1:
123
- expect(onChange).toHaveBeenCalled();
124
- case 2:
125
- case "end":
126
- return _context.stop();
127
- }
128
- }, _callee);
129
- })));
130
- it('should handle custom error function', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
131
- var user, customError, _render0, container, input;
132
- return _regenerator["default"].wrap(function (_context2) {
133
- while (1) switch (_context2.prev = _context2.next) {
134
- case 0:
135
- user = _userEvent["default"].setup();
136
- customError = jest.fn(function (value) {
137
- return value.length < 3;
138
- });
139
- _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
140
- type: "text",
141
- value: "",
142
- onChange: onChange,
143
- error: customError
144
- })), container = _render0.container;
145
- input = container.querySelector('input');
146
- _context2.next = 1;
147
- return user.type(input, 'ab');
148
- case 1:
149
- expect(customError).toHaveBeenCalled();
150
- case 2:
151
- case "end":
152
- return _context2.stop();
153
- }
154
- }, _callee2);
155
- })));
156
- });
157
- describe('Error state', function () {
158
- it('should display error state when validation fails', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
159
- var user, customError, _render1, container, input;
160
- return _regenerator["default"].wrap(function (_context3) {
161
- while (1) switch (_context3.prev = _context3.next) {
162
- case 0:
163
- user = _userEvent["default"].setup();
164
- customError = jest.fn(function () {
165
- return true;
166
- });
167
- _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
168
- type: "text",
169
- value: "",
170
- onChange: onChange,
171
- error: customError
172
- })), container = _render1.container;
173
- input = container.querySelector('input');
174
- _context3.next = 1;
175
- return user.type(input, 'test');
176
- case 1:
177
- expect(customError).toHaveBeenCalled();
178
- case 2:
179
- case "end":
180
- return _context3.stop();
181
- }
182
- }, _callee3);
183
- })));
184
- it('should clear error state when validation passes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
185
- var user, customError, _render10, container, input;
186
- return _regenerator["default"].wrap(function (_context4) {
187
- while (1) switch (_context4.prev = _context4.next) {
188
- case 0:
189
- user = _userEvent["default"].setup();
190
- customError = jest.fn(function (value) {
191
- return !value;
192
- });
193
- _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
194
- type: "text",
195
- value: "",
196
- onChange: onChange,
197
- error: customError
198
- })), container = _render10.container;
199
- input = container.querySelector('input');
200
- _context4.next = 1;
201
- return user.type(input, 'test');
202
- case 1:
203
- // After typing valid content, error should be false
204
- expect(customError).toHaveBeenCalled();
205
- case 2:
206
- case "end":
207
- return _context4.stop();
208
- }
209
- }, _callee4);
210
- })));
211
- });
212
- describe('Props spreading', function () {
213
- it('should handle disabled state', function () {
214
- var _render11 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
215
- type: "text",
216
- value: "",
217
- onChange: onChange,
218
- disabled: true
219
- })),
220
- container = _render11.container;
221
- var input = container.querySelector('input');
222
- expect(input).toBeDisabled();
223
- });
224
- it('should handle readonly state', function () {
225
- var _render12 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
226
- type: "text",
227
- value: "readonly",
228
- onChange: onChange,
229
- readOnly: true
230
- })),
231
- container = _render12.container;
232
- var input = container.querySelector('input');
233
- expect(input).toHaveAttribute('readonly');
234
- });
235
- });
236
- describe('Default props', function () {
237
- it('should use default type of text', function () {
238
- var _render13 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
239
- value: "",
240
- onChange: onChange
241
- })),
242
- container = _render13.container;
243
- var input = container.querySelector('input');
244
- expect(input.type).toBe('text');
245
- });
246
- it('should use default error function that validates number type', function () {
247
- var _render14 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
248
- type: "number",
249
- value: "",
250
- onChange: onChange
251
- })),
252
- container = _render14.container;
253
- var input = container.querySelector('input');
254
- expect(input).toBeInTheDocument();
255
- });
256
- it('should have noModelUpdateOnError default to false', function () {
257
- var _render15 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_input["default"], {
258
- type: "text",
259
- value: "",
260
- onChange: onChange
261
- })),
262
- container = _render15.container;
263
- var input = container.querySelector('input');
264
- expect(input).toBeInTheDocument();
265
- });
266
- });
267
- });
268
- //# sourceMappingURL=input.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.test.js","names":["_react","_interopRequireDefault","require","_react2","_userEvent","_input","describe","onChange","jest","fn","beforeEach","mockClear","it","_render","render","createElement","type","value","container","input","querySelector","expect","toBeInTheDocument","toBe","label","screen","getByText","getByDisplayValue","_render2","numberContainer","_render3","emailContainer","_render4","passwordContainer","_render5","_render6","_render7","_render8","rerender","_asyncToGenerator2","_regenerator","mark","_callee","user","_render9","wrap","_context","prev","next","userEvent","setup","toHaveBeenCalled","stop","_callee2","customError","_render0","_context2","length","error","_callee3","_render1","_context3","_callee4","_render10","_context4","_render11","disabled","toBeDisabled","_render12","readOnly","toHaveAttribute","_render13","_render14","_render15"],"sources":["../../src/__tests__/input.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport Input from '../input';\n\ndescribe('Input Component', () => {\n const onChange = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n });\n\n describe('Rendering', () => {\n it('should render input without label', () => {\n const { container } = render(<Input type=\"text\" value=\"test\" onChange={onChange} />);\n\n const input = container.querySelector('input');\n expect(input).toBeInTheDocument();\n expect(input.value).toBe('test');\n });\n\n it('should render input with label', () => {\n render(<Input type=\"text\" label=\"Email\" value=\"test@example.com\" onChange={onChange} />);\n\n expect(screen.getByText('Email')).toBeInTheDocument();\n const input = screen.getByDisplayValue('test@example.com');\n expect(input).toBeInTheDocument();\n });\n\n it('should render input with different types', () => {\n const { container: numberContainer } = render(<Input type=\"number\" value={123} onChange={onChange} />);\n expect(numberContainer.querySelector('input[type=\"number\"]')).toBeInTheDocument();\n\n const { container: emailContainer } = render(<Input type=\"email\" value=\"test@example.com\" onChange={onChange} />);\n expect(emailContainer.querySelector('input[type=\"email\"]')).toBeInTheDocument();\n\n const { container: passwordContainer } = render(<Input type=\"password\" value=\"secret\" onChange={onChange} />);\n expect(passwordContainer.querySelector('input[type=\"password\"]')).toBeInTheDocument();\n });\n });\n\n describe('Value handling', () => {\n it('should handle string values', () => {\n const { container } = render(<Input type=\"text\" value=\"hello\" onChange={onChange} />);\n expect(container.querySelector('input').value).toBe('hello');\n });\n\n it('should handle number values', () => {\n const { container } = render(<Input type=\"number\" value={42} onChange={onChange} />);\n expect(container.querySelector('input').value).toBe('42');\n });\n\n it('should handle empty values', () => {\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} />);\n expect(container.querySelector('input').value).toBe('');\n });\n\n it('should update when prop changes', () => {\n const { container, rerender } = render(<Input type=\"text\" value=\"initial\" onChange={onChange} />);\n expect(container.querySelector('input').value).toBe('initial');\n\n rerender(<Input type=\"text\" value=\"updated\" onChange={onChange} />);\n expect(container.querySelector('input').value).toBe('updated');\n });\n });\n\n describe('onChange behavior', () => {\n it('should call onChange on input change', async () => {\n const user = userEvent.setup();\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} />);\n\n const input = container.querySelector('input');\n await user.type(input, 'hello');\n\n expect(onChange).toHaveBeenCalled();\n });\n\n it('should handle custom error function', async () => {\n const user = userEvent.setup();\n const customError = jest.fn((value) => value.length < 3);\n\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} error={customError} />);\n\n const input = container.querySelector('input');\n await user.type(input, 'ab');\n\n expect(customError).toHaveBeenCalled();\n });\n });\n\n describe('Error state', () => {\n it('should display error state when validation fails', async () => {\n const user = userEvent.setup();\n const customError = jest.fn(() => true);\n\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} error={customError} />);\n\n const input = container.querySelector('input');\n await user.type(input, 'test');\n\n expect(customError).toHaveBeenCalled();\n });\n\n it('should clear error state when validation passes', async () => {\n const user = userEvent.setup();\n const customError = jest.fn((value) => !value);\n\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} error={customError} />);\n\n const input = container.querySelector('input');\n await user.type(input, 'test');\n\n // After typing valid content, error should be false\n expect(customError).toHaveBeenCalled();\n });\n });\n\n describe('Props spreading', () => {\n it('should handle disabled state', () => {\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} disabled />);\n\n const input = container.querySelector('input');\n expect(input).toBeDisabled();\n });\n\n it('should handle readonly state', () => {\n const { container } = render(<Input type=\"text\" value=\"readonly\" onChange={onChange} readOnly />);\n\n const input = container.querySelector('input');\n expect(input).toHaveAttribute('readonly');\n });\n });\n\n describe('Default props', () => {\n it('should use default type of text', () => {\n const { container } = render(<Input value=\"\" onChange={onChange} />);\n\n const input = container.querySelector('input');\n expect(input.type).toBe('text');\n });\n\n it('should use default error function that validates number type', () => {\n const { container } = render(<Input type=\"number\" value=\"\" onChange={onChange} />);\n\n const input = container.querySelector('input');\n expect(input).toBeInTheDocument();\n });\n\n it('should have noModelUpdateOnError default to false', () => {\n const { container } = render(<Input type=\"text\" value=\"\" onChange={onChange} />);\n\n const input = container.querySelector('input');\n expect(input).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}