@rolder-kit/ui 0.1.0-beta.0 → 0.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,418 @@
1
+ import * as __rspack_external__testing_library_react_f5b64048 from "@testing-library/react";
2
+ import * as __rspack_external_react_jsx_runtime_225474f2 from "react/jsx-runtime";
3
+ import * as __rspack_external_vitest from "vitest";
4
+ var __webpack_modules__ = {
5
+ "./src/__tests__/saveInput.test.tsx" (module, __webpack_exports__, __webpack_require__) {
6
+ __webpack_require__.a(module, async function(__rspack_load_async_deps, __rspack_async_done) {
7
+ try {
8
+ __webpack_require__.r(__webpack_exports__);
9
+ var react_jsx_runtime__rspack_import_0 = __webpack_require__("react/jsx-runtime");
10
+ var _testing_library_react__rspack_import_1 = __webpack_require__("@testing-library/react");
11
+ var vitest__rspack_import_2 = __webpack_require__("vitest");
12
+ vitest__rspack_import_2.vi.mock('@mantine/hooks', ()=>({
13
+ useDebouncedCallback: (fn, delay)=>{
14
+ const wrapper = (...args)=>fn(...args);
15
+ return wrapper;
16
+ }
17
+ }));
18
+ vitest__rspack_import_2.vi.mock('@mantine/core', ()=>({
19
+ TextInput: ({ value, onChange, rightSection, flex, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsxs)("div", {
20
+ children: [
21
+ /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("input", {
22
+ "data-testid": "text-input",
23
+ value: value,
24
+ onChange: onChange,
25
+ "data-flex": flex,
26
+ ...props
27
+ }),
28
+ rightSection && /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("span", {
29
+ "data-testid": "right-section",
30
+ children: rightSection
31
+ })
32
+ ]
33
+ }),
34
+ NumberInput: ({ value, onChange, rightSection, flex, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsxs)("div", {
35
+ children: [
36
+ /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("input", {
37
+ "data-testid": "number-input",
38
+ value: value,
39
+ onChange: ()=>onChange(42),
40
+ "data-flex": flex,
41
+ ...props
42
+ }),
43
+ rightSection && /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("span", {
44
+ "data-testid": "right-section",
45
+ children: rightSection
46
+ })
47
+ ]
48
+ }),
49
+ Textarea: ({ value, onChange, rightSection, flex, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsxs)("div", {
50
+ children: [
51
+ /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("textarea", {
52
+ "data-testid": "textarea",
53
+ value: value,
54
+ onChange: onChange,
55
+ "data-flex": flex,
56
+ ...props
57
+ }),
58
+ rightSection && /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("span", {
59
+ "data-testid": "right-section",
60
+ children: rightSection
61
+ })
62
+ ]
63
+ }),
64
+ Switch: ({ checked, onChange, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("input", {
65
+ "data-testid": "switch",
66
+ type: "checkbox",
67
+ checked: checked,
68
+ onChange: onChange,
69
+ ...props
70
+ }),
71
+ Select: ({ value, onChange, disabled, rightSection, flex, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsxs)("div", {
72
+ children: [
73
+ /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("select", {
74
+ "data-testid": "select",
75
+ value: value || '',
76
+ onChange: ()=>onChange('opt'),
77
+ disabled: disabled,
78
+ "data-flex": flex,
79
+ ...props
80
+ }),
81
+ rightSection && /*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("span", {
82
+ "data-testid": "right-section",
83
+ children: rightSection
84
+ })
85
+ ]
86
+ }),
87
+ Loader: ({ size, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("span", {
88
+ "data-testid": "loader",
89
+ "data-size": size,
90
+ ...props
91
+ }),
92
+ Box: ({ children, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("div", {
93
+ "data-testid": "box",
94
+ ...props,
95
+ children: children
96
+ })
97
+ }));
98
+ vitest__rspack_import_2.vi.mock('../JsonInput', ()=>({
99
+ JsonInput: ({ value, onChange, onBlur, ...props })=>/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)("textarea", {
100
+ "data-testid": "json-cm",
101
+ value: value,
102
+ onChange: (e)=>onChange(e.target.value),
103
+ ...props
104
+ })
105
+ }));
106
+ vitest__rspack_import_2.vi.mock('@uiw/react-codemirror', ()=>({}));
107
+ const { TextInput } = await import("../saveInput/TextInput.js");
108
+ const { NumberInput } = await import("../saveInput/NumberInput.js");
109
+ const { Textarea } = await import("../saveInput/Textarea.js");
110
+ const { Switch } = await import("../saveInput/Switch.js");
111
+ const { Select } = await import("../saveInput/Select.js");
112
+ const { JsonInput } = await import("../saveInput/JsonInput.js");
113
+ const { SaveInput } = await import("../saveInput/SaveInput.js");
114
+ (0, vitest__rspack_import_2.describe)('SaveInput.TextInput', ()=>{
115
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
116
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
117
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(TextInput, {
118
+ initialValue: "hello",
119
+ onChange: vitest__rspack_import_2.vi.fn()
120
+ }));
121
+ const input = _testing_library_react__rspack_import_1.screen.getByTestId('text-input');
122
+ (0, vitest__rspack_import_2.expect)(input.value).toBe('hello');
123
+ });
124
+ (0, vitest__rspack_import_2.it)('defaults to empty string', ()=>{
125
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(TextInput, {
126
+ onChange: vitest__rspack_import_2.vi.fn()
127
+ }));
128
+ const input = _testing_library_react__rspack_import_1.screen.getByTestId('text-input');
129
+ (0, vitest__rspack_import_2.expect)(input.value).toBe('');
130
+ });
131
+ (0, vitest__rspack_import_2.it)('updates value on change', ()=>{
132
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(TextInput, {
133
+ initialValue: "",
134
+ onChange: vitest__rspack_import_2.vi.fn()
135
+ }));
136
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('text-input'), {
137
+ target: {
138
+ value: 'new'
139
+ }
140
+ });
141
+ (0, vitest__rspack_import_2.expect)(_testing_library_react__rspack_import_1.screen.getByTestId('text-input').value).toBe('new');
142
+ });
143
+ (0, vitest__rspack_import_2.it)('calls debounced onChange', async ()=>{
144
+ const onChange = vitest__rspack_import_2.vi.fn().mockResolvedValue(void 0);
145
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(TextInput, {
146
+ initialValue: "",
147
+ onChange: onChange
148
+ }));
149
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('text-input'), {
150
+ target: {
151
+ value: 'test'
152
+ }
153
+ });
154
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{});
155
+ (0, vitest__rspack_import_2.expect)(onChange).toHaveBeenCalledWith('test');
156
+ });
157
+ (0, vitest__rspack_import_2.it)('has flex 1 when no width prop', ()=>{
158
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(TextInput, {
159
+ initialValue: "",
160
+ onChange: vitest__rspack_import_2.vi.fn()
161
+ }));
162
+ (0, vitest__rspack_import_2.expect)(_testing_library_react__rspack_import_1.screen.getByTestId('text-input').getAttribute('data-flex')).toBe('1');
163
+ });
164
+ });
165
+ (0, vitest__rspack_import_2.describe)('SaveInput.NumberInput', ()=>{
166
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
167
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
168
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(NumberInput, {
169
+ initialValue: 10,
170
+ onChange: vitest__rspack_import_2.vi.fn()
171
+ }));
172
+ (0, vitest__rspack_import_2.expect)(_testing_library_react__rspack_import_1.screen.getByTestId('number-input')).toBeDefined();
173
+ });
174
+ (0, vitest__rspack_import_2.it)('calls debounced onChange on value change', async ()=>{
175
+ const onChange = vitest__rspack_import_2.vi.fn().mockResolvedValue(void 0);
176
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(NumberInput, {
177
+ initialValue: 0,
178
+ onChange: onChange
179
+ }));
180
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{
181
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('number-input'), {
182
+ target: {
183
+ value: '42'
184
+ }
185
+ });
186
+ });
187
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{});
188
+ (0, vitest__rspack_import_2.expect)(onChange).toHaveBeenCalledWith(42);
189
+ });
190
+ });
191
+ (0, vitest__rspack_import_2.describe)('SaveInput.Textarea', ()=>{
192
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
193
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
194
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Textarea, {
195
+ initialValue: "text",
196
+ onChange: vitest__rspack_import_2.vi.fn()
197
+ }));
198
+ const ta = _testing_library_react__rspack_import_1.screen.getByTestId('textarea');
199
+ (0, vitest__rspack_import_2.expect)(ta.value).toBe('text');
200
+ });
201
+ (0, vitest__rspack_import_2.it)('calls debounced onChange', async ()=>{
202
+ const onChange = vitest__rspack_import_2.vi.fn().mockResolvedValue(void 0);
203
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Textarea, {
204
+ initialValue: "",
205
+ onChange: onChange
206
+ }));
207
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('textarea'), {
208
+ target: {
209
+ value: 'new'
210
+ }
211
+ });
212
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{});
213
+ (0, vitest__rspack_import_2.expect)(onChange).toHaveBeenCalledWith('new');
214
+ });
215
+ });
216
+ (0, vitest__rspack_import_2.describe)('SaveInput.Switch', ()=>{
217
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
218
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
219
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Switch, {
220
+ initialValue: true,
221
+ onChange: vitest__rspack_import_2.vi.fn()
222
+ }));
223
+ const sw = _testing_library_react__rspack_import_1.screen.getByTestId('switch');
224
+ (0, vitest__rspack_import_2.expect)(sw.checked).toBe(true);
225
+ });
226
+ (0, vitest__rspack_import_2.it)('toggles value on change', ()=>{
227
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Switch, {
228
+ initialValue: false,
229
+ onChange: vitest__rspack_import_2.vi.fn()
230
+ }));
231
+ _testing_library_react__rspack_import_1.fireEvent.click(_testing_library_react__rspack_import_1.screen.getByTestId('switch'));
232
+ });
233
+ });
234
+ (0, vitest__rspack_import_2.describe)('SaveInput.Select', ()=>{
235
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
236
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
237
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Select, {
238
+ initialValue: "opt1",
239
+ onChange: vitest__rspack_import_2.vi.fn()
240
+ }));
241
+ (0, vitest__rspack_import_2.expect)(_testing_library_react__rspack_import_1.screen.getByTestId('select')).toBeDefined();
242
+ });
243
+ (0, vitest__rspack_import_2.it)('calls debounced onChange on select', async ()=>{
244
+ const onChange = vitest__rspack_import_2.vi.fn().mockResolvedValue(void 0);
245
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(Select, {
246
+ initialValue: null,
247
+ onChange: onChange
248
+ }));
249
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('select'));
250
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{});
251
+ (0, vitest__rspack_import_2.expect)(onChange).toHaveBeenCalledWith('opt');
252
+ });
253
+ });
254
+ (0, vitest__rspack_import_2.describe)('SaveInput.JsonInput', ()=>{
255
+ (0, vitest__rspack_import_2.afterEach)(()=>(0, _testing_library_react__rspack_import_1.cleanup)());
256
+ (0, vitest__rspack_import_2.it)('renders with initial value', ()=>{
257
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(JsonInput, {
258
+ initialValue: "{}",
259
+ onChange: vitest__rspack_import_2.vi.fn()
260
+ }));
261
+ const ta = _testing_library_react__rspack_import_1.screen.getByTestId('json-cm');
262
+ (0, vitest__rspack_import_2.expect)(ta.value).toBe('{}');
263
+ });
264
+ (0, vitest__rspack_import_2.it)('calls debounced onChange', async ()=>{
265
+ const onChange = vitest__rspack_import_2.vi.fn().mockResolvedValue(void 0);
266
+ (0, _testing_library_react__rspack_import_1.render)(/*#__PURE__*/ (0, react_jsx_runtime__rspack_import_0.jsx)(JsonInput, {
267
+ initialValue: "",
268
+ onChange: onChange
269
+ }));
270
+ _testing_library_react__rspack_import_1.fireEvent.change(_testing_library_react__rspack_import_1.screen.getByTestId('json-cm'), {
271
+ target: {
272
+ value: '{"a":1}'
273
+ }
274
+ });
275
+ await (0, _testing_library_react__rspack_import_1.act)(async ()=>{});
276
+ (0, vitest__rspack_import_2.expect)(onChange).toHaveBeenCalledWith('{"a":1}');
277
+ });
278
+ });
279
+ (0, vitest__rspack_import_2.describe)('SaveInput namespace', ()=>{
280
+ (0, vitest__rspack_import_2.it)('has all variants', ()=>{
281
+ (0, vitest__rspack_import_2.expect)(SaveInput.TextInput).toBeDefined();
282
+ (0, vitest__rspack_import_2.expect)(SaveInput.NumberInput).toBeDefined();
283
+ (0, vitest__rspack_import_2.expect)(SaveInput.Textarea).toBeDefined();
284
+ (0, vitest__rspack_import_2.expect)(SaveInput.Switch).toBeDefined();
285
+ (0, vitest__rspack_import_2.expect)(SaveInput.JsonInput).toBeDefined();
286
+ (0, vitest__rspack_import_2.expect)(SaveInput.Select).toBeDefined();
287
+ });
288
+ (0, vitest__rspack_import_2.it)('default is TextInput', ()=>{
289
+ (0, vitest__rspack_import_2.expect)(SaveInput).toBe(SaveInput.TextInput);
290
+ });
291
+ });
292
+ __rspack_async_done();
293
+ } catch (e) {
294
+ __rspack_async_done(e);
295
+ }
296
+ }, 1);
297
+ },
298
+ "@testing-library/react" (module) {
299
+ module.exports = __rspack_external__testing_library_react_f5b64048;
300
+ },
301
+ "react/jsx-runtime" (module) {
302
+ module.exports = __rspack_external_react_jsx_runtime_225474f2;
303
+ },
304
+ vitest (module) {
305
+ module.exports = __rspack_external_vitest;
306
+ }
307
+ };
308
+ var __webpack_module_cache__ = {};
309
+ function __webpack_require__(moduleId) {
310
+ var cachedModule = __webpack_module_cache__[moduleId];
311
+ if (void 0 !== cachedModule) return cachedModule.exports;
312
+ var module = __webpack_module_cache__[moduleId] = {
313
+ exports: {}
314
+ };
315
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
316
+ return module.exports;
317
+ }
318
+ (()=>{
319
+ var hasSymbol = "function" == typeof Symbol;
320
+ var rspackQueues = hasSymbol ? Symbol("rspack queues") : "__rspack_queues";
321
+ var rspackExports = __webpack_require__.aE = hasSymbol ? Symbol("rspack exports") : "__webpack_exports__";
322
+ var rspackError = hasSymbol ? Symbol("rspack error") : "__rspack_error";
323
+ var rspackDone = hasSymbol ? Symbol("rspack done") : "__rspack_done";
324
+ var rspackDefer = __webpack_require__.zS = hasSymbol ? Symbol("rspack defer") : "__rspack_defer";
325
+ var resolveQueue = (queue)=>{
326
+ if (queue && queue.d < 1) {
327
+ queue.d = 1;
328
+ queue.forEach((fn)=>fn.r--);
329
+ queue.forEach((fn)=>fn.r-- ? fn.r++ : fn());
330
+ }
331
+ };
332
+ var wrapDeps = (deps)=>deps.map((dep)=>{
333
+ if (null !== dep && "object" == typeof dep) {
334
+ if (!dep[rspackQueues] && dep[rspackDefer]) {
335
+ var asyncDeps = dep[rspackDefer];
336
+ var hasUnresolvedAsyncSubgraph = asyncDeps.some((id)=>{
337
+ var cache = __webpack_module_cache__[id];
338
+ return !cache || false === cache[rspackDone];
339
+ });
340
+ if (!hasUnresolvedAsyncSubgraph) return dep;
341
+ var d = dep;
342
+ dep = {
343
+ then (callback) {
344
+ Promise.all(asyncDeps.map(__webpack_require__)).then(()=>callback(d));
345
+ }
346
+ };
347
+ }
348
+ if (dep[rspackQueues]) return dep;
349
+ if (dep.then) {
350
+ var queue = [];
351
+ queue.d = 0;
352
+ dep.then((r)=>{
353
+ obj[rspackExports] = r;
354
+ resolveQueue(queue);
355
+ }, (e)=>{
356
+ obj[rspackError] = e;
357
+ resolveQueue(queue);
358
+ });
359
+ var obj = {};
360
+ obj[rspackDefer] = false;
361
+ obj[rspackQueues] = (fn)=>fn(queue);
362
+ return obj;
363
+ }
364
+ }
365
+ var ret = {};
366
+ ret[rspackQueues] = ()=>{};
367
+ ret[rspackExports] = dep;
368
+ return ret;
369
+ });
370
+ __webpack_require__.a = (module, body, hasAwait)=>{
371
+ var queue;
372
+ hasAwait && ((queue = []).d = -1);
373
+ var depQueues = new Set();
374
+ var exports = module.exports;
375
+ var currentDeps;
376
+ var outerResolve;
377
+ var reject;
378
+ var promise = new Promise((resolve, rej)=>{
379
+ reject = rej;
380
+ outerResolve = resolve;
381
+ });
382
+ promise[rspackExports] = exports;
383
+ promise[rspackQueues] = (fn)=>{
384
+ queue && fn(queue), depQueues.forEach(fn), promise["catch"](()=>{});
385
+ };
386
+ module.exports = promise;
387
+ var handle = (deps)=>{
388
+ currentDeps = wrapDeps(deps);
389
+ var fn;
390
+ var getResult = ()=>currentDeps.map((d)=>{
391
+ if (d[rspackDefer]) return d;
392
+ if (d[rspackError]) throw d[rspackError];
393
+ return d[rspackExports];
394
+ });
395
+ var promise = new Promise((resolve)=>{
396
+ fn = ()=>resolve(getResult);
397
+ fn.r = 0;
398
+ var fnQueue = (q)=>q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn)));
399
+ currentDeps.map((dep)=>dep[rspackDefer] || dep[rspackQueues](fnQueue));
400
+ });
401
+ return fn.r ? promise : getResult();
402
+ };
403
+ var done = (err)=>(err ? reject(promise[rspackError] = err) : outerResolve(exports), resolveQueue(queue), promise[rspackDone] = true);
404
+ body(handle, done);
405
+ queue && queue.d < 0 && (queue.d = 0);
406
+ };
407
+ })();
408
+ (()=>{
409
+ __webpack_require__.r = (exports)=>{
410
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports, Symbol.toStringTag, {
411
+ value: 'Module'
412
+ });
413
+ Object.defineProperty(exports, '__esModule', {
414
+ value: true
415
+ });
416
+ };
417
+ })();
418
+ __webpack_require__("./src/__tests__/saveInput.test.tsx");