@kirill.konshin/utils 0.0.17 → 0.0.19

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 (170) hide show
  1. package/.turbo/turbo-build.log +38 -38
  2. package/.turbo/turbo-test.log +37 -37
  3. package/CHANGELOG.md +12 -0
  4. package/dist/bootstrap/adaptiveContainer.d.ts +2 -1
  5. package/dist/bootstrap/adaptiveContainer.d.ts.map +1 -1
  6. package/dist/bootstrap/adaptiveContainer.js +2 -2
  7. package/dist/bootstrap/adaptiveContainer.js.map +1 -1
  8. package/dist/bootstrap/controls.d.ts +6 -6
  9. package/dist/bootstrap/controls.d.ts.map +1 -1
  10. package/dist/bootstrap/controls.js.map +1 -1
  11. package/dist/bootstrap/error.d.ts +4 -2
  12. package/dist/bootstrap/error.d.ts.map +1 -1
  13. package/dist/bootstrap/error.js +2 -7
  14. package/dist/bootstrap/error.js.map +1 -1
  15. package/dist/bootstrap/field.d.ts +4 -2
  16. package/dist/bootstrap/field.d.ts.map +1 -1
  17. package/dist/bootstrap/field.js +2 -2
  18. package/dist/bootstrap/field.js.map +1 -1
  19. package/dist/bootstrap/footer.d.ts +5 -5
  20. package/dist/bootstrap/footer.d.ts.map +1 -1
  21. package/dist/bootstrap/footer.js +9 -4
  22. package/dist/bootstrap/footer.js.map +1 -1
  23. package/dist/bootstrap/globalLoading.d.ts +4 -2
  24. package/dist/bootstrap/globalLoading.d.ts.map +1 -1
  25. package/dist/bootstrap/globalLoading.js +2 -2
  26. package/dist/bootstrap/globalLoading.js.map +1 -1
  27. package/dist/bootstrap/loading.d.ts +4 -2
  28. package/dist/bootstrap/loading.d.ts.map +1 -1
  29. package/dist/bootstrap/loading.js +3 -2
  30. package/dist/bootstrap/loading.js.map +1 -1
  31. package/dist/bootstrap/responsiveHelper.d.ts +2 -1
  32. package/dist/bootstrap/responsiveHelper.d.ts.map +1 -1
  33. package/dist/bootstrap/responsiveHelper.js +5 -5
  34. package/dist/bootstrap/responsiveHelper.js.map +1 -1
  35. package/dist/bootstrap/screen.d.ts +4 -2
  36. package/dist/bootstrap/screen.d.ts.map +1 -1
  37. package/dist/bootstrap/screen.js +3 -2
  38. package/dist/bootstrap/screen.js.map +1 -1
  39. package/dist/bootstrap/toaster.d.ts +4 -2
  40. package/dist/bootstrap/toaster.d.ts.map +1 -1
  41. package/dist/bootstrap/toaster.js +2 -5
  42. package/dist/bootstrap/toaster.js.map +1 -1
  43. package/dist/bootstrap/useModal.d.ts +2 -1
  44. package/dist/bootstrap/useModal.d.ts.map +1 -1
  45. package/dist/bootstrap/useModal.js +3 -3
  46. package/dist/bootstrap/useModal.js.map +1 -1
  47. package/dist/bootstrap/useWrappedForm.d.ts +1 -1
  48. package/dist/bootstrap/useWrappedForm.d.ts.map +1 -1
  49. package/dist/bootstrap/useWrappedForm.js.map +1 -1
  50. package/dist/core/cache.d.ts +2 -2
  51. package/dist/core/cache.d.ts.map +1 -1
  52. package/dist/core/cache.js.map +1 -1
  53. package/dist/core/errors.d.ts.map +1 -1
  54. package/dist/core/errors.js.map +1 -1
  55. package/dist/core/files.d.ts +2 -1
  56. package/dist/core/files.d.ts.map +1 -1
  57. package/dist/core/files.js +7 -3
  58. package/dist/core/files.js.map +1 -1
  59. package/dist/core/index.js +2 -1
  60. package/dist/core/ls.d.ts +1 -1
  61. package/dist/core/ls.d.ts.map +1 -1
  62. package/dist/core/ls.js.map +1 -1
  63. package/dist/core/measure.d.ts +4 -4
  64. package/dist/core/measure.d.ts.map +1 -1
  65. package/dist/core/measure.js +5 -1
  66. package/dist/core/measure.js.map +1 -1
  67. package/dist/core/worker.d.ts +3 -3
  68. package/dist/core/worker.d.ts.map +1 -1
  69. package/dist/core/worker.js.map +1 -1
  70. package/dist/core/wrpc.d.ts +4 -4
  71. package/dist/core/wrpc.d.ts.map +1 -1
  72. package/dist/core/wrpc.fixture.d.ts +1 -4
  73. package/dist/core/wrpc.fixture.d.ts.map +1 -1
  74. package/dist/core/wrpc.js.map +1 -1
  75. package/dist/electron/createWindow.d.ts.map +1 -1
  76. package/dist/electron/createWindow.js.map +1 -1
  77. package/dist/electron/updater.d.ts +1 -1
  78. package/dist/electron/updater.d.ts.map +1 -1
  79. package/dist/electron/updater.js +1 -1
  80. package/dist/electron/updater.js.map +1 -1
  81. package/dist/electron-builder/images.d.ts.map +1 -1
  82. package/dist/electron-builder/images.js.map +1 -1
  83. package/dist/mui/formControlFieldset.d.ts +2 -2
  84. package/dist/mui/formControlFieldset.d.ts.map +1 -1
  85. package/dist/mui/formControlFieldset.js.map +1 -1
  86. package/dist/mui/formLabelLegend.d.ts +2 -2
  87. package/dist/mui/formLabelLegend.d.ts.map +1 -1
  88. package/dist/mui/formLabelLegend.js.map +1 -1
  89. package/dist/mui/genericControl.d.ts +2 -2
  90. package/dist/mui/genericControl.d.ts.map +1 -1
  91. package/dist/mui/genericControl.js.map +1 -1
  92. package/dist/mui/readOnly.d.ts +2 -2
  93. package/dist/mui/readOnly.d.ts.map +1 -1
  94. package/dist/mui/readOnly.js.map +1 -1
  95. package/dist/next/measure.d.ts.map +1 -1
  96. package/dist/next/measure.js.map +1 -1
  97. package/dist/next/noSSR.d.ts +27 -3
  98. package/dist/next/noSSR.d.ts.map +1 -1
  99. package/dist/next/noSSR.js +2 -4
  100. package/dist/next/noSSR.js.map +1 -1
  101. package/dist/react/form/client.d.ts.map +1 -1
  102. package/dist/react/form/client.js.map +1 -1
  103. package/dist/react/form/form.d.ts +22 -8
  104. package/dist/react/form/form.d.ts.map +1 -1
  105. package/dist/react/form/form.js +27 -7
  106. package/dist/react/form/form.js.map +1 -1
  107. package/dist/react/index.js +2 -1
  108. package/dist/react/keyboard.d.ts +5 -6
  109. package/dist/react/keyboard.d.ts.map +1 -1
  110. package/dist/react/keyboard.js.map +1 -1
  111. package/dist/react/useFetcher.d.ts.map +1 -1
  112. package/dist/react/useFetcher.js.map +1 -1
  113. package/dist/react-native/share.d.ts +1 -1
  114. package/dist/react-native/share.d.ts.map +1 -1
  115. package/dist/react-native/share.js.map +1 -1
  116. package/dist/react-native/update.d.ts +2 -3
  117. package/dist/react-native/update.d.ts.map +1 -1
  118. package/dist/react-native/update.js +2 -2
  119. package/dist/react-native/update.js.map +1 -1
  120. package/dist/react-native/useAppState.d.ts +1 -1
  121. package/dist/react-native/useAppState.d.ts.map +1 -1
  122. package/dist/react-native/useAppState.js.map +1 -1
  123. package/dist/tailwind/fullpage.d.ts +2 -6
  124. package/dist/tailwind/fullpage.d.ts.map +1 -1
  125. package/dist/tailwind/fullpage.js.map +1 -1
  126. package/dist/tailwind/responsiveHelper.d.ts +2 -1
  127. package/dist/tailwind/responsiveHelper.d.ts.map +1 -1
  128. package/dist/tailwind/responsiveHelper.js +2 -2
  129. package/dist/tailwind/responsiveHelper.js.map +1 -1
  130. package/package.json +1 -1
  131. package/src/bootstrap/adaptiveContainer.tsx +3 -3
  132. package/src/bootstrap/controls.stories.tsx +1 -1
  133. package/src/bootstrap/controls.tsx +12 -12
  134. package/src/bootstrap/error.tsx +7 -10
  135. package/src/bootstrap/field.tsx +11 -9
  136. package/src/bootstrap/footer.tsx +17 -5
  137. package/src/bootstrap/globalLoading.tsx +5 -3
  138. package/src/bootstrap/loading.tsx +10 -8
  139. package/src/bootstrap/responsiveHelper.tsx +11 -6
  140. package/src/bootstrap/screen.tsx +24 -22
  141. package/src/bootstrap/toaster.tsx +8 -6
  142. package/src/bootstrap/useModal.tsx +12 -7
  143. package/src/bootstrap/useWrappedForm.ts +9 -7
  144. package/src/core/cache.ts +15 -8
  145. package/src/core/errors.ts +4 -1
  146. package/src/core/files.ts +8 -4
  147. package/src/core/ls.ts +8 -4
  148. package/src/core/measure.ts +55 -7
  149. package/src/core/worker.ts +18 -11
  150. package/src/core/wrpc.fixture.ts +40 -6
  151. package/src/core/wrpc.ts +23 -5
  152. package/src/electron/createWindow.ts +3 -3
  153. package/src/electron/updater.ts +1 -1
  154. package/src/electron-builder/images.ts +1 -1
  155. package/src/mui/formControlFieldset.tsx +2 -2
  156. package/src/mui/formLabelLegend.tsx +2 -2
  157. package/src/mui/genericControl.tsx +2 -2
  158. package/src/mui/readOnly.tsx +2 -2
  159. package/src/next/measure.ts +19 -2
  160. package/src/next/noSSR.tsx +26 -7
  161. package/src/react/form/client.tsx +13 -2
  162. package/src/react/form/form.tsx +67 -18
  163. package/src/react/keyboard.tsx +9 -4
  164. package/src/react/useFetcher.ts +8 -3
  165. package/src/react-native/share.ts +1 -1
  166. package/src/react-native/update.tsx +3 -3
  167. package/src/react-native/useAppState.ts +1 -1
  168. package/src/tailwind/fullpage.tsx +2 -2
  169. package/src/tailwind/responsiveHelper.tsx +3 -3
  170. package/tsconfig.json +1 -0
@@ -19,54 +19,54 @@ rendering chunks...
19
19
  dist/electron/index.js 0.21 kB │ map: 0.09 kB
20
20
  dist/mui/readOnly.js 0.31 kB │ map: 0.55 kB
21
21
  dist/mui/index.js 0.33 kB │ map: 0.09 kB
22
+ dist/next/noSSR.js 0.33 kB │ map: 1.38 kB
22
23
  dist/next/index.js 0.34 kB │ map: 0.10 kB
23
- dist/core/errors.js 0.35 kB │ map: 0.86 kB
24
- dist/tailwind/fullpage.js 0.35 kB │ map: 0.61 kB
24
+ dist/core/errors.js 0.35 kB │ map: 0.90 kB
25
+ dist/tailwind/fullpage.js 0.35 kB │ map: 0.62 kB
25
26
  dist/next/useIsInner.js 0.37 kB │ map: 0.62 kB
26
- dist/next/measure.js 0.38 kB │ map: 0.55 kB
27
+ dist/next/measure.js 0.38 kB │ map: 1.04 kB
27
28
  dist/mui/formLabelLegend.js 0.38 kB │ map: 0.67 kB
28
- dist/bootstrap/adaptiveContainer.js 0.40 kB │ map: 0.66 kB
29
- dist/bootstrap/globalLoading.js 0.43 kB │ map: 0.82 kB
30
- dist/next/noSSR.js 0.45 kB │ map: 0.89 kB
31
- dist/react-native/useAppState.js 0.47 kB │ map: 0.84 kB
29
+ dist/bootstrap/adaptiveContainer.js 0.42 kB │ map: 0.73 kB
30
+ dist/bootstrap/globalLoading.js 0.45 kB │ map: 0.94 kB
31
+ dist/react-native/useAppState.js 0.47 kB │ map: 0.91 kB
32
32
  dist/mui/genericControl.js 0.50 kB │ map: 1.02 kB
33
- dist/core/ls.js 0.50 kB │ map: 0.90 kB
34
- dist/bootstrap/loading.js 0.54 kB │ map: 1.01 kB
33
+ dist/core/ls.js 0.50 kB │ map: 1.05 kB
35
34
  dist/react/useFetch.js 0.57 kB │ map: 1.70 kB
36
- dist/mui/formControlFieldset.js 0.64 kB │ map: 1.23 kB
37
- dist/react/index.js 0.65 kB │ map: 0.10 kB
35
+ dist/bootstrap/loading.js 0.59 kB │ map: 1.13 kB
36
+ dist/mui/formControlFieldset.js 0.64 kB │ map: 1.22 kB
37
+ dist/react/index.js 0.67 kB │ map: 0.10 kB
38
38
  dist/core/mutex.js 0.76 kB │ map: 1.19 kB
39
39
  dist/next/appLink.js 0.77 kB │ map: 1.58 kB
40
- dist/bootstrap/field.js 0.79 kB │ map: 1.56 kB
41
- dist/bootstrap/error.js 0.79 kB │ map: 1.66 kB
42
- dist/core/files.js 0.79 kB │ map: 1.64 kB
43
- dist/tailwind/responsiveHelper.js 0.84 kB │ map: 1.14 kB
44
- dist/react-native/share.js 0.85 kB │ map: 1.75 kB
40
+ dist/bootstrap/error.js 0.81 kB │ map: 1.72 kB
41
+ dist/bootstrap/field.js 0.81 kB │ map: 1.67 kB
42
+ dist/react-native/share.js 0.85 kB │ map: 1.78 kB
45
43
  dist/react/apiCall.js 0.85 kB │ map: 1.47 kB
46
- dist/bootstrap/useWrappedForm.js 0.90 kB │ map: 2.22 kB
47
- dist/core/index.js 0.90 kB │ map: 0.10 kB
44
+ dist/tailwind/responsiveHelper.js 0.87 kB │ map: 1.21 kB
45
+ dist/bootstrap/useWrappedForm.js 0.90 kB │ map: 2.28 kB
46
+ dist/core/files.js 0.91 kB │ map: 1.93 kB
47
+ dist/core/index.js 0.92 kB │ map: 0.10 kB
48
48
  dist/bootstrap/index.js 0.97 kB │ map: 0.10 kB
49
49
  dist/core/workerUtils.js 0.97 kB │ map: 1.83 kB
50
- dist/electron-builder/images.js 1.02 kB │ map: 1.95 kB
51
- dist/react-native/update.js 1.03 kB │ map: 1.97 kB
52
- dist/react/keyboard.js 1.19 kB │ map: 2.31 kB
53
- dist/react/useFetcher.js 1.20 kB │ map: 2.47 kB
54
- dist/bootstrap/toaster.js 1.25 kB │ map: 2.08 kB
55
- dist/core/measure.js 1.43 kB │ map: 2.88 kB
56
- dist/electron/updater.js 1.44 kB │ map: 2.61 kB
57
- dist/bootstrap/footer.js 1.53 kB │ map: 2.57 kB
58
- dist/react/form/client.js 1.58 kB │ map: 3.36 kB
59
- dist/bootstrap/responsiveHelper.js 1.78 kB │ map: 2.87 kB
60
- dist/bootstrap/useModal.js 2.09 kB │ map: 4.75 kB
61
- dist/react/form/form.js 2.34 kB │ map: 6.18 kB
62
- dist/bootstrap/controls.js 2.75 kB │ map: 5.83 kB
63
- dist/core/cache.js 3.08 kB │ map: 9.97 kB
50
+ dist/electron-builder/images.js 1.02 kB │ map: 1.96 kB
51
+ dist/react-native/update.js 1.05 kB │ map: 2.02 kB
52
+ dist/bootstrap/toaster.js 1.18 kB │ map: 2.13 kB
53
+ dist/react/keyboard.js 1.19 kB │ map: 2.48 kB
54
+ dist/react/useFetcher.js 1.20 kB │ map: 2.62 kB
55
+ dist/electron/updater.js 1.42 kB │ map: 2.59 kB
56
+ dist/core/measure.js 1.44 kB │ map: 4.09 kB
57
+ dist/react/form/client.js 1.58 kB │ map: 3.89 kB
58
+ dist/bootstrap/footer.js 1.58 kB │ map: 2.89 kB
59
+ dist/bootstrap/responsiveHelper.js 1.82 kB │ map: 3.02 kB
60
+ dist/bootstrap/useModal.js 2.10 kB │ map: 4.91 kB
61
+ dist/bootstrap/controls.js 2.75 kB │ map: 5.90 kB
62
+ dist/react/form/form.js 3.08 kB │ map: 7.95 kB
63
+ dist/core/cache.js 3.08 kB │ map: 10.20 kB
64
64
  dist/electron-builder/builder.js 3.09 kB │ map: 6.76 kB
65
- dist/bootstrap/screen.js 3.37 kB │ map: 7.04 kB
66
- dist/electron/createWindow.js 5.39 kB │ map: 10.88 kB
67
- dist/core/worker.js 7.95 kB │ map: 16.41 kB
68
- dist/core/wrpc.js 8.83 kB │ map: 20.60 kB
69
- [vite:dts] Declaration files built in 6117ms.
65
+ dist/bootstrap/screen.js 3.42 kB │ map: 7.18 kB
66
+ dist/electron/createWindow.js 5.39 kB │ map: 10.92 kB
67
+ dist/core/worker.js 7.95 kB │ map: 16.71 kB
68
+ dist/core/wrpc.js 8.83 kB │ map: 21.00 kB
69
+ [vite:dts] Declaration files built in 6151ms.
70
70
 
71
- ✓ built in 6.45s
71
+ ✓ built in 6.48s
72
72
  Updated package.json with exports
@@ -1,24 +1,24 @@
1
1
  [?25lcreate succeeded: /home/runner/work/utils/utils/packages/utils/src/bootstrap
2
- create succeeded: /home/runner/work/utils/utils/packages/utils/src/core
3
- create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron-builder
4
2
  create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron
3
+ create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron-builder
4
+ create succeeded: /home/runner/work/utils/utils/packages/utils/src/next
5
+ create succeeded: /home/runner/work/utils/utils/packages/utils/src/core
5
6
  create succeeded: /home/runner/work/utils/utils/packages/utils/src/mui
6
7
  create succeeded: /home/runner/work/utils/utils/packages/utils/src/react-native
7
8
  create succeeded: /home/runner/work/utils/utils/packages/utils/src/tailwind
8
- create succeeded: /home/runner/work/utils/utils/packages/utils/src/next
9
9
  create succeeded: /home/runner/work/utils/utils/packages/utils/src/react
10
10
 
11
11
   RUN  v3.0.4 /home/runner/work/utils/utils/packages/utils
12
12
  Coverage enabled with v8
13
13
 
14
- stderr | src/core/wrpc.test.ts
15
- Using an object as a third argument is deprecated. Vitest 4 will throw an error if the third argument is not a timeout number. Please use the second argument for options. See more at https://vitest.dev/guide/migration
16
-
17
14
  stdout | src/core/cache.test.ts > TransformerMap > key transform
18
15
  CLEAR cache test
19
16
 
20
- ✓ src/core/cache.test.ts (4 tests) 28ms
21
- ✓ src/core/worker.test.ts (8 tests) 15ms
17
+ ✓ src/core/worker.test.ts (8 tests) 16ms
18
+ ✓ src/core/cache.test.ts (4 tests) 14ms
19
+ stderr | src/core/wrpc.test.ts
20
+ Using an object as a third argument is deprecated. Vitest 4 will throw an error if the third argument is not a timeout number. Please use the second argument for options. See more at https://vitest.dev/guide/migration
21
+
22
22
  stdout | src/core/wrpc.test.ts > WRPC > for await ... of return yield
23
23
  DATA 1
24
24
 
@@ -67,19 +67,19 @@ create succeeded: /home/runner/work/utils/utils/packages/utils/src/react
67
67
  stdout | src/core/wrpc.test.ts > WRPC > abort
68
68
  DATA { progress: 0 }
69
69
 
70
- ✓ src/core/wrpc.test.ts (13 tests | 1 skipped) 724ms
70
+ ✓ src/core/wrpc.test.ts (13 tests | 1 skipped) 706ms
71
71
  ✓ WRPC > stop 503ms
72
72
 
73
73
   Test Files  3 passed (3)
74
74
   Tests  24 passed | 1 skipped (25)
75
-  Start at  21:13:35
76
-  Duration  1.76s (transform 223ms, setup 0ms, collect 348ms, tests 767ms, environment 1ms, prepare 356ms)
75
+  Start at  01:00:13
76
+  Duration  1.80s (transform 220ms, setup 0ms, collect 318ms, tests 736ms, environment 1ms, prepare 344ms)
77
77
 
78
78
   % Coverage report from v8
79
79
  -------------------|---------|----------|---------|---------|-------------------
80
80
  File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
81
81
  -------------------|---------|----------|---------|---------|-------------------
82
- All files | 22.23 | 81.64 | 66.44 | 22.23 |
82
+ All files | 22.28 | 81.26 | 65.13 | 22.28 |
83
83
  utils | 0 | 0 | 0 | 0 |
84
84
  vite.exports.ts | 0 | 0 | 0 | 0 | 1-121
85
85
  utils/builders | 0 | 0 | 0 | 0 |
@@ -90,40 +90,40 @@ All files | 22.23 | 81.64 | 66.44 | 22.23 |
90
90
  worker-demo.ts | 0 | 0 | 0 | 0 | 1-73
91
91
  utils/src-todo | 0 | 0 | 0 | 0 |
92
92
  auth0.tsx | 0 | 0 | 0 | 0 |
93
- .../src/bootstrap | 0 | 71.42 | 71.42 | 0 |
93
+ .../src/bootstrap | 0 | 66.66 | 66.66 | 0 |
94
94
  ...Container.tsx | 0 | 100 | 100 | 0 | 2-12
95
95
  ...s.stories.tsx | 0 | 0 | 0 | 0 | 1-62
96
96
  controls.tsx | 0 | 0 | 0 | 0 | 1-119
97
97
  ...r.stories.tsx | 0 | 100 | 100 | 0 | 2-34
98
- error.tsx | 0 | 100 | 100 | 0 | 4-40
98
+ error.tsx | 0 | 100 | 100 | 0 | 4-37
99
99
  ...d.stories.tsx | 0 | 100 | 100 | 0 | 3-42
100
- field.tsx | 0 | 100 | 100 | 0 | 2-35
101
- footer.tsx | 0 | 100 | 100 | 0 | 2-49
100
+ field.tsx | 0 | 100 | 100 | 0 | 2-37
101
+ footer.tsx | 0 | 100 | 100 | 0 | 2-61
102
102
  ...g.stories.tsx | 0 | 100 | 100 | 0 | 3-25
103
- ...alLoading.tsx | 0 | 100 | 100 | 0 | 3-17
103
+ ...alLoading.tsx | 0 | 100 | 100 | 0 | 3-19
104
104
  index.ts | 0 | 0 | 0 | 0 | 1-12
105
105
  ...g.stories.tsx | 0 | 100 | 100 | 0 | 3-35
106
- loading.tsx | 0 | 0 | 0 | 0 | 1-22
107
- ...iveHelper.tsx | 0 | 100 | 100 | 0 | 3-50
106
+ loading.tsx | 0 | 0 | 0 | 0 | 1-24
107
+ ...iveHelper.tsx | 0 | 100 | 100 | 0 | 3-55
108
108
  ...n.stories.tsx | 0 | 100 | 100 | 0 | 3-160
109
- screen.tsx | 0 | 100 | 100 | 0 | 2-144
109
+ screen.tsx | 0 | 0 | 0 | 0 | 1-146
110
110
  ...r.stories.tsx | 0 | 100 | 100 | 0 | 2-32
111
- toaster.tsx | 0 | 100 | 100 | 0 | 3-38
111
+ toaster.tsx | 0 | 100 | 100 | 0 | 3-40
112
112
  ...l.stories.tsx | 0 | 100 | 100 | 0 | 3-51
113
- useModal.tsx | 0 | 0 | 0 | 0 | 1-88
114
- ...rappedForm.ts | 0 | 0 | 0 | 0 | 1-40
115
- utils/src/core | 78.75 | 88.28 | 75 | 78.75 |
116
- cache.ts | 81.25 | 89.65 | 56.25 | 81.25 | ...94-195,218-219
117
- errors.ts | 0 | 100 | 100 | 0 | 2-14
118
- files.ts | 0 | 0 | 0 | 0 | 1-25
113
+ useModal.tsx | 0 | 0 | 0 | 0 | 1-93
114
+ ...rappedForm.ts | 0 | 0 | 0 | 0 | 1-42
115
+ utils/src/core | 77 | 88.23 | 73.91 | 77 |
116
+ cache.ts | 81.25 | 89.65 | 56.25 | 81.25 | ...01-202,225-226
117
+ errors.ts | 0 | 100 | 100 | 0 | 2-17
118
+ files.ts | 0 | 0 | 0 | 0 | 1-29
119
119
  index.ts | 0 | 0 | 0 | 0 | 1-9
120
- ls.ts | 0 | 0 | 0 | 0 | 1-11
121
- measure.ts | 0 | 0 | 0 | 0 | 1-61
120
+ ls.ts | 0 | 0 | 0 | 0 | 1-15
121
+ measure.ts | 0 | 0 | 0 | 0 | 1-109
122
122
  mutex.ts | 0 | 100 | 100 | 0 | 3-22
123
123
  worker.ts | 100 | 98.71 | 100 | 100 | 57
124
124
  workerUtils.ts | 100 | 83.33 | 100 | 100 | 26-27
125
- wrpc.fixture.ts | 78.84 | 77.77 | 66.66 | 78.84 | 28,62-63,65-72
126
- wrpc.ts | 97.11 | 85.24 | 69.69 | 97.11 | ...79-180,225-226
125
+ wrpc.fixture.ts | 80 | 77.77 | 66.66 | 80 | 60,96-97,99-106
126
+ wrpc.ts | 97.17 | 85.12 | 66.66 | 97.17 | ...97-198,243-244
127
127
  ...s/src/electron | 0 | 33.33 | 33.33 | 0 |
128
128
  createWindow.ts | 0 | 0 | 0 | 0 | 1-234
129
129
  index.ts | 0 | 0 | 0 | 0 | 1-2
@@ -142,24 +142,24 @@ All files | 22.23 | 81.64 | 66.44 | 22.23 |
142
142
  utils/src/next | 0 | 66.66 | 66.66 | 0 |
143
143
  appLink.tsx | 0 | 100 | 100 | 0 | 4-40
144
144
  index.ts | 0 | 0 | 0 | 0 | 1-5
145
- measure.ts | 0 | 0 | 0 | 0 | 1-7
146
- noSSR.tsx | 0 | 100 | 100 | 0 | 3-17
145
+ measure.ts | 0 | 0 | 0 | 0 | 1-24
146
+ noSSR.tsx | 0 | 100 | 100 | 0 | 3-36
147
147
  redirect.tsx | 0 | 100 | 100 | 0 | 3-13
148
148
  useIsInner.ts | 0 | 100 | 100 | 0 | 3-13
149
149
  utils/src/react | 0 | 40 | 40 | 0 |
150
150
  apiCall.ts | 0 | 0 | 0 | 0 | 1-25
151
151
  index.ts | 0 | 0 | 0 | 0 | 1-5
152
- keyboard.tsx | 0 | 100 | 100 | 0 | 3-49
152
+ keyboard.tsx | 0 | 100 | 100 | 0 | 3-54
153
153
  useFetch.ts | 0 | 100 | 100 | 0 | 3-29
154
- useFetcher.ts | 0 | 0 | 0 | 0 | 1-49
154
+ useFetcher.ts | 0 | 0 | 0 | 0 | 1-54
155
155
  ...c/react-native | 0 | 0 | 0 | 0 |
156
156
  index.ts | 0 | 0 | 0 | 0 | 1-3
157
157
  share.ts | 0 | 0 | 0 | 0 | 1-31
158
158
  update.tsx | 0 | 0 | 0 | 0 | 1-40
159
159
  useAppState.ts | 0 | 0 | 0 | 0 | 1-18
160
160
  ...src/react/form | 0 | 33.33 | 33.33 | 0 |
161
- client.tsx | 0 | 100 | 100 | 0 | 3-62
162
- form.tsx | 0 | 0 | 0 | 0 | 1-129
161
+ client.tsx | 0 | 100 | 100 | 0 | 3-73
162
+ form.tsx | 0 | 0 | 0 | 0 | 1-178
163
163
  index.ts | 0 | 0 | 0 | 0 | 1-2
164
164
  ...s/src/tailwind | 0 | 66.66 | 66.66 | 0 |
165
165
  fullpage.tsx | 0 | 100 | 100 | 0 | 3-10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @kirill.konshin/utils
2
2
 
3
+ ## 0.0.19
4
+
5
+ ### Patch Changes
6
+
7
+ - Strong types
8
+
9
+ ## 0.0.18
10
+
11
+ ### Patch Changes
12
+
13
+ - File Saver fix
14
+
3
15
  ## 0.0.17
4
16
 
5
17
  ### Patch Changes
@@ -1,3 +1,4 @@
1
+ import { FC } from 'react';
1
2
  import { ContainerProps } from 'react-bootstrap';
2
- export declare function AdaptiveContainer({ children, ...props }: ContainerProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare const AdaptiveContainer: FC<ContainerProps>;
3
4
  //# sourceMappingURL=adaptiveContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adaptiveContainer.d.ts","sourceRoot":"","sources":["../../src/bootstrap/adaptiveContainer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG5D,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAOvE"}
1
+ {"version":3,"file":"adaptiveContainer.d.ts","sourceRoot":"","sources":["../../src/bootstrap/adaptiveContainer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAa,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,cAAc,CAOhD,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Container } from "react-bootstrap";
3
3
  import { useBreakpoint } from "./responsiveHelper.js";
4
- function AdaptiveContainer({ children, ...props }) {
4
+ const AdaptiveContainer = function AdaptiveContainer2({ children, ...props }) {
5
5
  const { isMobile } = useBreakpoint();
6
6
  return /* @__PURE__ */ jsx(Container, { fluid: isMobile, ...props, children });
7
- }
7
+ };
8
8
  export {
9
9
  AdaptiveContainer
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adaptiveContainer.js","sources":["../../src/bootstrap/adaptiveContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { Container, ContainerProps } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\n\nexport function AdaptiveContainer({ children, ...props }: ContainerProps) {\n const { isMobile } = useBreakpoint();\n return (\n <Container fluid={isMobile} {...props}>\n {children}\n </Container>\n );\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,kBAAkB,EAAE,UAAU,GAAG,SAAyB;AAChE,QAAA,EAAE,SAAS,IAAI,cAAc;AACnC,6BACK,WAAU,EAAA,OAAO,UAAW,GAAG,OAC3B,UACL;AAER;"}
1
+ {"version":3,"file":"adaptiveContainer.js","sources":["../../src/bootstrap/adaptiveContainer.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Container, ContainerProps } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\n\nexport const AdaptiveContainer: FC<ContainerProps> = function AdaptiveContainer({ children, ...props }) {\n const { isMobile } = useBreakpoint();\n return (\n <Container fluid={isMobile} {...props}>\n {children}\n </Container>\n );\n};\n"],"names":["AdaptiveContainer"],"mappings":";;;AAIO,MAAM,oBAAwC,SAASA,mBAAkB,EAAE,UAAU,GAAG,SAAS;AAC9F,QAAA,EAAE,SAAS,IAAI,cAAc;AACnC,6BACK,WAAU,EAAA,OAAO,UAAW,GAAG,OAC3B,UACL;AAER;"}
@@ -1,4 +1,4 @@
1
- import { default as React, HTMLInputTypeAttribute } from 'react';
1
+ import { default as React, HTMLInputTypeAttribute, FC } from 'react';
2
2
  export interface ControlProps {
3
3
  value?: any;
4
4
  setValue?: (v: any) => void;
@@ -25,14 +25,14 @@ export interface ControlProps {
25
25
  export type LabelProps = Pick<ControlProps, 'name' | 'value' | 'defaultValue'> & {
26
26
  reset: () => void;
27
27
  };
28
- export declare const Label: React.NamedExoticComponent<LabelProps>;
29
- export declare const Control: React.NamedExoticComponent<ControlProps>;
28
+ export declare const Label: FC<LabelProps>;
29
+ export declare const Control: FC<ControlProps>;
30
30
  export interface RangeProps extends ControlProps {
31
31
  min: number;
32
32
  max: number;
33
33
  step?: number;
34
34
  }
35
- export declare const Range: React.NamedExoticComponent<RangeProps>;
36
- export declare const Checkbox: React.NamedExoticComponent<ControlProps>;
37
- export declare const Select: React.NamedExoticComponent<ControlProps>;
35
+ export declare const Range: FC<RangeProps>;
36
+ export declare const Checkbox: FC<ControlProps>;
37
+ export declare const Select: FC<ControlProps>;
38
38
  //# sourceMappingURL=controls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/bootstrap/controls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,sBAAsB,EAAQ,MAAM,OAAO,CAAC;AAM5D,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE;QACT,IAAI,EAAE,sBAAsB,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEvG,eAAO,MAAM,KAAK,wCAahB,CAAC;AAEH,eAAO,MAAM,OAAO,0CAsClB,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,KAAK,wCAchB,CAAC;AAEH,eAAO,MAAM,QAAQ,0CAOnB,CAAC;AAEH,eAAO,MAAM,MAAM,0CAMjB,CAAC"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/bootstrap/controls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,sBAAsB,EAAQ,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhE,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE;QACT,IAAI,EAAE,sBAAsB,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEvG,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAa/B,CAAC;AAEH,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAsCnC,CAAC;AAEH,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAc/B,CAAC;AAEH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,CAOpC,CAAC;AAEH,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAMlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sources":["../../src/bootstrap/controls.tsx"],"sourcesContent":["import React, { HTMLInputTypeAttribute, memo } from 'react';\n\nconst lcFirst = (str) => str[0].toLowerCase() + str.substring(1, str.length);\n\nconst toProperty = (str) => lcFirst(str).split(' ').join('');\n\nexport interface ControlProps {\n value?: any;\n setValue?: (v: any) => void;\n defaultValue?: any;\n options?: { [key: string]: any };\n setOptions?: (v: { [key: string]: any }) => void;\n defaultOptions?: { [key: string]: any };\n name: string;\n children?: React.ReactNode;\n inputProps?: {\n type: HTMLInputTypeAttribute;\n property?: string;\n valueExtractor?: (e: any) => any;\n className?: string;\n } & any;\n hideValue?: boolean;\n}\n\nexport type LabelProps = Pick<ControlProps, 'name' | 'value' | 'defaultValue'> & { reset: () => void };\n\nexport const Label = memo<LabelProps>(function Label({ name, reset, value, defaultValue }) {\n return (\n <label className=\"flex-grow-1 mb-0 d-flex align-items-center justify-content-start gap-2\">\n {name}\n {value !== defaultValue && (\n <>\n <a href=\"javascript: void(0)\" onClick={reset}>\n <small>reset</small>\n </a>\n </>\n )}\n </label>\n );\n});\n\nexport const Control = memo<ControlProps>(function Control({\n value = null,\n setValue,\n defaultValue = null,\n options = {},\n setOptions,\n defaultOptions = {},\n name,\n inputProps: { Tag = 'input', property = 'value', valueExtractor = (e) => e.target.value, ...inputProps } = {},\n hideValue = false,\n children,\n}) {\n const prop = toProperty(name);\n\n defaultValue = defaultValue || defaultOptions[prop];\n value = value || options?.[prop];\n setValue = setValue || ((v) => setOptions?.({ [prop]: v }));\n\n const reset = () => setValue(defaultValue);\n\n return (\n <div className=\"d-flex align-items-center gap-2\">\n <Label name={name} reset={reset} value={value} defaultValue={defaultValue} />\n <Tag\n {...inputProps}\n {...{ [property]: value || '' }} // null is needed to make it always controlled\n className={`${value === defaultValue ? 'opacity-75' : ''} ${inputProps.className}`}\n onChange={(e) => setValue(valueExtractor(e))}\n >\n {children}\n </Tag>\n {!hideValue && (\n <span onDoubleClick={reset} className=\"text-start\" style={{ width: '20px' }}>\n {value}\n </span>\n )}\n </div>\n );\n});\n\nexport interface RangeProps extends ControlProps {\n min: number;\n max: number;\n step?: number;\n}\n\nexport const Range = memo<RangeProps>(function Range({ min, max, step = 0.1, ...props }) {\n return (\n <Control\n inputProps={{\n type: 'range',\n min,\n max,\n step,\n className: 'form-control-range',\n valueExtractor: (e) => parseFloat(e.target.value),\n }}\n {...props}\n />\n );\n});\n\nexport const Checkbox = memo<ControlProps>(function Checkbox(props) {\n return (\n <Control\n inputProps={{ type: 'checkbox', property: 'checked', valueExtractor: (e) => e.target.checked }}\n {...props}\n />\n );\n});\n\nexport const Select = memo<ControlProps>(function Select({ children, ...props }) {\n return (\n <Control inputProps={{ Tag: 'select', className: 'form-select' }} {...props} hideValue={true}>\n {children}\n </Control>\n );\n});\n"],"names":["Label","Control","Range","Checkbox","Select"],"mappings":";;AAEA,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,gBAAgB,IAAI,UAAU,GAAG,IAAI,MAAM;AAE3E,MAAM,aAAa,CAAC,QAAQ,QAAQ,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE;AAsB9C,MAAA,QAAQ,KAAiB,SAASA,OAAM,EAAE,MAAM,OAAO,OAAO,gBAAgB;AAEnF,SAAA,qBAAC,SAAM,EAAA,WAAU,0EACZ,UAAA;AAAA,IAAA;AAAA,IACA,UAAU,gBAEH,oBAAA,UAAA,EAAA,UAAA,oBAAC,KAAE,EAAA,MAAK,uBAAsB,SAAS,OACnC,UAAA,oBAAC,SAAM,EAAA,UAAA,SAAK,GAChB,EACJ,CAAA;AAAA,EAAA,GAER;AAER,CAAC;AAEY,MAAA,UAAU,KAAmB,SAASC,SAAQ;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,UAAU,CAAC;AAAA,EACX;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB;AAAA,EACA,YAAY,EAAE,MAAM,SAAS,WAAW,SAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,OAAO,GAAG,eAAe,CAAC;AAAA,EAC5G,YAAY;AAAA,EACZ;AACJ,GAAG;AACO,QAAA,OAAO,WAAW,IAAI;AAEb,iBAAA,gBAAgB,eAAe,IAAI;AAC1C,UAAA,UAAS,mCAAU;AAChB,aAAA,aAAa,CAAC,MAAM,yCAAa,EAAE,CAAC,IAAI,GAAG,EAAA;AAEhD,QAAA,QAAQ,MAAM,SAAS,YAAY;AAGrC,SAAA,qBAAC,OAAI,EAAA,WAAU,mCACX,UAAA;AAAA,IAAA,oBAAC,OAAM,EAAA,MAAY,OAAc,OAAc,cAA4B;AAAA,IAC3E;AAAA,MAAC;AAAA,MAAA;AAAA,QACI,GAAG;AAAA,QACH,GAAG,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG;AAAA,QAC9B,WAAW,GAAG,UAAU,eAAe,eAAe,EAAE,IAAI,WAAW,SAAS;AAAA,QAChF,UAAU,CAAC,MAAM,SAAS,eAAe,CAAC,CAAC;AAAA,QAE1C;AAAA,MAAA;AAAA,IACL;AAAA,IACC,CAAC,aACG,oBAAA,QAAA,EAAK,eAAe,OAAO,WAAU,cAAa,OAAO,EAAE,OAAO,OAAA,GAC9D,UACL,MAAA,CAAA;AAAA,EAAA,GAER;AAER,CAAC;AAQY,MAAA,QAAQ,KAAiB,SAASC,OAAM,EAAE,KAAK,KAAK,OAAO,KAAK,GAAG,SAAS;AAEjF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,YAAY;AAAA,QACR,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,gBAAgB,CAAC,MAAM,WAAW,EAAE,OAAO,KAAK;AAAA,MACpD;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACR;AAER,CAAC;AAEM,MAAM,WAAW,KAAmB,SAASC,UAAS,OAAO;AAE5D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,YAAY,EAAE,MAAM,YAAY,UAAU,WAAW,gBAAgB,CAAC,MAAM,EAAE,OAAO,QAAQ;AAAA,MAC5F,GAAG;AAAA,IAAA;AAAA,EACR;AAER,CAAC;AAEY,MAAA,SAAS,KAAmB,SAASC,QAAO,EAAE,UAAU,GAAG,SAAS;AAC7E,SACK,oBAAA,SAAA,EAAQ,YAAY,EAAE,KAAK,UAAU,WAAW,cAAA,GAAkB,GAAG,OAAO,WAAW,MACnF,SACL,CAAA;AAER,CAAC;"}
1
+ {"version":3,"file":"controls.js","sources":["../../src/bootstrap/controls.tsx"],"sourcesContent":["import React, { HTMLInputTypeAttribute, memo, FC } from 'react';\n\nconst lcFirst = (str: string) => str[0].toLowerCase() + str.substring(1, str.length);\n\nconst toProperty = (str: string) => lcFirst(str).split(' ').join('');\n\nexport interface ControlProps {\n value?: any;\n setValue?: (v: any) => void;\n defaultValue?: any;\n options?: { [key: string]: any };\n setOptions?: (v: { [key: string]: any }) => void;\n defaultOptions?: { [key: string]: any };\n name: string;\n children?: React.ReactNode;\n inputProps?: {\n type: HTMLInputTypeAttribute;\n property?: string;\n valueExtractor?: (e: any) => any;\n className?: string;\n } & any;\n hideValue?: boolean;\n}\n\nexport type LabelProps = Pick<ControlProps, 'name' | 'value' | 'defaultValue'> & { reset: () => void };\n\nexport const Label: FC<LabelProps> = memo(function Label({ name, reset, value, defaultValue }) {\n return (\n <label className=\"flex-grow-1 mb-0 d-flex align-items-center justify-content-start gap-2\">\n {name}\n {value !== defaultValue && (\n <>\n <a href=\"javascript: void(0)\" onClick={reset}>\n <small>reset</small>\n </a>\n </>\n )}\n </label>\n );\n});\n\nexport const Control: FC<ControlProps> = memo(function Control({\n value = null,\n setValue,\n defaultValue = null,\n options = {},\n setOptions,\n defaultOptions = {},\n name,\n inputProps: { Tag = 'input', property = 'value', valueExtractor = (e: any) => e.target.value, ...inputProps } = {},\n hideValue = false,\n children,\n}) {\n const prop = toProperty(name);\n\n defaultValue = defaultValue || defaultOptions[prop];\n value = value || options?.[prop];\n setValue = setValue || ((v) => setOptions?.({ [prop]: v }));\n\n const reset = () => setValue(defaultValue);\n\n return (\n <div className=\"d-flex align-items-center gap-2\">\n <Label name={name} reset={reset} value={value} defaultValue={defaultValue} />\n <Tag\n {...inputProps}\n {...{ [property]: value || '' }} // null is needed to make it always controlled\n className={`${value === defaultValue ? 'opacity-75' : ''} ${inputProps.className}`}\n onChange={(e: Event) => setValue(valueExtractor(e))}\n >\n {children}\n </Tag>\n {!hideValue && (\n <span onDoubleClick={reset} className=\"text-start\" style={{ width: '20px' }}>\n {value}\n </span>\n )}\n </div>\n );\n});\n\nexport interface RangeProps extends ControlProps {\n min: number;\n max: number;\n step?: number;\n}\n\nexport const Range: FC<RangeProps> = memo(function Range({ min, max, step = 0.1, ...props }) {\n return (\n <Control\n inputProps={{\n type: 'range',\n min,\n max,\n step,\n className: 'form-control-range',\n valueExtractor: (e: any) => parseFloat(e.target.value),\n }}\n {...props}\n />\n );\n});\n\nexport const Checkbox: FC<ControlProps> = memo(function Checkbox(props) {\n return (\n <Control\n inputProps={{ type: 'checkbox', property: 'checked', valueExtractor: (e: any) => e.target.checked }}\n {...props}\n />\n );\n});\n\nexport const Select: FC<ControlProps> = memo(function Select({ children, ...props }) {\n return (\n <Control inputProps={{ Tag: 'select', className: 'form-select' }} {...props} hideValue={true}>\n {children}\n </Control>\n );\n});\n"],"names":["Label","Control","Range","Checkbox","Select"],"mappings":";;AAEA,MAAM,UAAU,CAAC,QAAgB,IAAI,CAAC,EAAE,gBAAgB,IAAI,UAAU,GAAG,IAAI,MAAM;AAEnF,MAAM,aAAa,CAAC,QAAgB,QAAQ,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE;AAsBtD,MAAA,QAAwB,KAAK,SAASA,OAAM,EAAE,MAAM,OAAO,OAAO,gBAAgB;AAEvF,SAAA,qBAAC,SAAM,EAAA,WAAU,0EACZ,UAAA;AAAA,IAAA;AAAA,IACA,UAAU,gBAEH,oBAAA,UAAA,EAAA,UAAA,oBAAC,KAAE,EAAA,MAAK,uBAAsB,SAAS,OACnC,UAAA,oBAAC,SAAM,EAAA,UAAA,SAAK,GAChB,EACJ,CAAA;AAAA,EAAA,GAER;AAER,CAAC;AAEY,MAAA,UAA4B,KAAK,SAASC,SAAQ;AAAA,EAC3D,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,UAAU,CAAC;AAAA,EACX;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB;AAAA,EACA,YAAY,EAAE,MAAM,SAAS,WAAW,SAAS,iBAAiB,CAAC,MAAW,EAAE,OAAO,OAAO,GAAG,eAAe,CAAC;AAAA,EACjH,YAAY;AAAA,EACZ;AACJ,GAAG;AACO,QAAA,OAAO,WAAW,IAAI;AAEb,iBAAA,gBAAgB,eAAe,IAAI;AAC1C,UAAA,UAAS,mCAAU;AAChB,aAAA,aAAa,CAAC,MAAM,yCAAa,EAAE,CAAC,IAAI,GAAG,EAAA;AAEhD,QAAA,QAAQ,MAAM,SAAS,YAAY;AAGrC,SAAA,qBAAC,OAAI,EAAA,WAAU,mCACX,UAAA;AAAA,IAAA,oBAAC,OAAM,EAAA,MAAY,OAAc,OAAc,cAA4B;AAAA,IAC3E;AAAA,MAAC;AAAA,MAAA;AAAA,QACI,GAAG;AAAA,QACH,GAAG,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG;AAAA,QAC9B,WAAW,GAAG,UAAU,eAAe,eAAe,EAAE,IAAI,WAAW,SAAS;AAAA,QAChF,UAAU,CAAC,MAAa,SAAS,eAAe,CAAC,CAAC;AAAA,QAEjD;AAAA,MAAA;AAAA,IACL;AAAA,IACC,CAAC,aACG,oBAAA,QAAA,EAAK,eAAe,OAAO,WAAU,cAAa,OAAO,EAAE,OAAO,OAAA,GAC9D,UACL,MAAA,CAAA;AAAA,EAAA,GAER;AAER,CAAC;AAQY,MAAA,QAAwB,KAAK,SAASC,OAAM,EAAE,KAAK,KAAK,OAAO,KAAK,GAAG,SAAS;AAErF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,YAAY;AAAA,QACR,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX,gBAAgB,CAAC,MAAW,WAAW,EAAE,OAAO,KAAK;AAAA,MACzD;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACR;AAER,CAAC;AAEM,MAAM,WAA6B,KAAK,SAASC,UAAS,OAAO;AAEhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,YAAY,EAAE,MAAM,YAAY,UAAU,WAAW,gBAAgB,CAAC,MAAW,EAAE,OAAO,QAAQ;AAAA,MACjG,GAAG;AAAA,IAAA;AAAA,EACR;AAER,CAAC;AAEY,MAAA,SAA2B,KAAK,SAASC,QAAO,EAAE,UAAU,GAAG,SAAS;AACjF,SACK,oBAAA,SAAA,EAAQ,YAAY,EAAE,KAAK,UAAU,WAAW,cAAA,GAAkB,GAAG,OAAO,WAAW,MACnF,SACL,CAAA;AAER,CAAC;"}
@@ -1,7 +1,9 @@
1
+ import { FC } from 'react';
1
2
  import { ButtonProps } from 'react-bootstrap';
2
- export declare function ErrorAlert({ onRetry, children, buttonProps, ...props }: {
3
+ export type ErrorAlertProps = {
3
4
  children?: Error | string | any;
4
5
  onRetry?: () => any;
5
6
  buttonProps?: ButtonProps;
6
- }): import("react/jsx-runtime").JSX.Element | null;
7
+ };
8
+ export declare const ErrorAlert: FC<ErrorAlertProps>;
7
9
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/bootstrap/error.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA6B,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGzE,wBAAgB,UAAU,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,GAAG,KAAK,EACX,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,kDAwBA"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/bootstrap/error.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAA6B,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAwB1C,CAAC"}
@@ -1,12 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { Alert, Button } from "react-bootstrap";
4
- function ErrorAlert({
5
- onRetry,
6
- children,
7
- buttonProps,
8
- ...props
9
- }) {
4
+ const ErrorAlert = function ErrorAlert2({ onRetry, children, buttonProps, ...props }) {
10
5
  if (!children) return null;
11
6
  return /* @__PURE__ */ jsxs(Alert, { variant: "danger", ...props, children: [
12
7
  /* @__PURE__ */ jsx("div", { children: children.message || children.toString() }),
@@ -25,7 +20,7 @@ function ErrorAlert({
25
20
  }
26
21
  ) })
27
22
  ] });
28
- }
23
+ };
29
24
  export {
30
25
  ErrorAlert
31
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../src/bootstrap/error.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from 'react-bootstrap';\n\n//TODO Create MUI-specific?\nexport function ErrorAlert({\n onRetry,\n children,\n buttonProps,\n ...props\n}: {\n children?: Error | string | any;\n onRetry?: () => any;\n buttonProps?: ButtonProps;\n}) {\n if (!children) return null;\n\n return (\n <Alert variant=\"danger\" {...props}>\n <div>{children.message || children.toString()}</div>\n {onRetry && (\n <div>\n <Button\n variant=\"link\"\n className=\"alert-link\"\n {...buttonProps}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onRetry();\n }}\n >\n Retry\n </Button>\n </div>\n )}\n </Alert>\n );\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAIG;AACK,MAAA,CAAC,SAAiB,QAAA;AAEtB,SACK,qBAAA,OAAA,EAAM,SAAQ,UAAU,GAAG,OACxB,UAAA;AAAA,IAAA,oBAAC,OAAK,EAAA,UAAA,SAAS,WAAW,SAAS,YAAW;AAAA,IAC7C,+BACI,OACG,EAAA,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,SAAQ;AAAA,QACR,WAAU;AAAA,QACT,GAAG;AAAA,QACJ,SAAS,CAAC,MAAM;AACZ,YAAE,eAAe;AACjB,YAAE,gBAAgB;AACV,kBAAA;AAAA,QACZ;AAAA,QACH,UAAA;AAAA,MAAA;AAAA,IAAA,EAGL,CAAA;AAAA,EAAA,GAER;AAER;"}
1
+ {"version":3,"file":"error.js","sources":["../../src/bootstrap/error.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC } from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from 'react-bootstrap';\n\nexport type ErrorAlertProps = {\n children?: Error | string | any;\n onRetry?: () => any;\n buttonProps?: ButtonProps;\n};\n\n//TODO Create MUI-specific?\nexport const ErrorAlert: FC<ErrorAlertProps> = function ErrorAlert({ onRetry, children, buttonProps, ...props }) {\n if (!children) return null;\n\n return (\n <Alert variant=\"danger\" {...props}>\n <div>{children.message || children.toString()}</div>\n {onRetry && (\n <div>\n <Button\n variant=\"link\"\n className=\"alert-link\"\n {...buttonProps}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onRetry();\n }}\n >\n Retry\n </Button>\n </div>\n )}\n </Alert>\n );\n};\n"],"names":["ErrorAlert"],"mappings":";;;AAYa,MAAA,aAAkC,SAASA,YAAW,EAAE,SAAS,UAAU,aAAa,GAAG,SAAS;AACzG,MAAA,CAAC,SAAiB,QAAA;AAEtB,SACK,qBAAA,OAAA,EAAM,SAAQ,UAAU,GAAG,OACxB,UAAA;AAAA,IAAA,oBAAC,OAAK,EAAA,UAAA,SAAS,WAAW,SAAS,YAAW;AAAA,IAC7C,+BACI,OACG,EAAA,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,SAAQ;AAAA,QACR,WAAU;AAAA,QACT,GAAG;AAAA,QACJ,SAAS,CAAC,MAAM;AACZ,YAAE,eAAe;AACjB,YAAE,gBAAgB;AACV,kBAAA;AAAA,QACZ;AAAA,QACH,UAAA;AAAA,MAAA;AAAA,IAAA,EAGL,CAAA;AAAA,EAAA,GAER;AAER;"}
@@ -1,9 +1,11 @@
1
+ import { FC } from 'react';
1
2
  import { FormGroupProps, FormLabelProps, FormTextProps } from 'react-bootstrap';
2
- export declare function FieldGroup({ label, labelProps, text, textProps, horizontal, children, ...props }: FormGroupProps & {
3
+ export type FieldGroupProps = FormGroupProps & {
3
4
  label?: any;
4
5
  labelProps?: FormLabelProps;
5
6
  text?: any;
6
7
  textProps?: FormTextProps;
7
8
  horizontal?: boolean;
8
- }): import("react/jsx-runtime").JSX.Element;
9
+ };
10
+ export declare const FieldGroup: FC<FieldGroupProps>;
9
11
  //# sourceMappingURL=field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/bootstrap/field.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtF,wBAAgB,UAAU,CAAC,EACvB,KAAK,EACL,UAAe,EACf,IAAI,EACJ,SAAc,EACd,UAAU,EACV,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,cAAc,GAAG;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,2CAiBA"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/bootstrap/field.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC3C,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAyB1C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { Form } from "react-bootstrap";
3
- function FieldGroup({
3
+ const FieldGroup = function FieldGroup2({
4
4
  label,
5
5
  labelProps = {},
6
6
  text,
@@ -22,7 +22,7 @@ function FieldGroup({
22
22
  text && !horizontal && /* @__PURE__ */ jsx(Form.Text, { ...textProps, children: text }),
23
23
  " "
24
24
  ] });
25
- }
25
+ };
26
26
  export {
27
27
  FieldGroup
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sources":["../../src/bootstrap/field.tsx"],"sourcesContent":["import React from 'react';\nimport { Form, FormGroupProps, FormLabelProps, FormTextProps } from 'react-bootstrap';\n\nexport function FieldGroup({\n label,\n labelProps = {},\n text,\n textProps = {},\n horizontal,\n children,\n ...props\n}: FormGroupProps & {\n label?: any;\n labelProps?: FormLabelProps;\n text?: any;\n textProps?: FormTextProps;\n horizontal?: boolean;\n}) {\n if (horizontal) {\n props.className = 'hstack gap-3 ' + (props.className || '');\n labelProps.className = 'm-0 ' + (labelProps.className || '');\n }\n\n if (text && horizontal) {\n throw new Error('Cannot use text and horizontal together');\n }\n\n return (\n <Form.Group {...props}>\n {label && <Form.Label {...labelProps}>{label}</Form.Label>}\n {children}\n {text && !horizontal && <Form.Text {...textProps}>{text}</Form.Text>}{' '}\n </Form.Group>\n );\n}\n"],"names":[],"mappings":";;AAGO,SAAS,WAAW;AAAA,EACvB;AAAA,EACA,aAAa,CAAC;AAAA,EACd;AAAA,EACA,YAAY,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAMG;AACC,MAAI,YAAY;AACN,UAAA,YAAY,mBAAmB,MAAM,aAAa;AAC7C,eAAA,YAAY,UAAU,WAAW,aAAa;AAAA,EAAA;AAG7D,MAAI,QAAQ,YAAY;AACd,UAAA,IAAI,MAAM,yCAAyC;AAAA,EAAA;AAG7D,SACK,qBAAA,KAAK,OAAL,EAAY,GAAG,OACX,UAAA;AAAA,IAAA,6BAAU,KAAK,OAAL,EAAY,GAAG,YAAa,UAAM,OAAA;AAAA,IAC5C;AAAA,IACA,QAAQ,CAAC,cAAc,oBAAC,KAAK,MAAL,EAAW,GAAG,WAAY,UAAK,MAAA;AAAA,IAAc;AAAA,EAAA,GAC1E;AAER;"}
1
+ {"version":3,"file":"field.js","sources":["../../src/bootstrap/field.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Form, FormGroupProps, FormLabelProps, FormTextProps } from 'react-bootstrap';\n\nexport type FieldGroupProps = FormGroupProps & {\n label?: any;\n labelProps?: FormLabelProps;\n text?: any;\n textProps?: FormTextProps;\n horizontal?: boolean;\n};\n\nexport const FieldGroup: FC<FieldGroupProps> = function FieldGroup({\n label,\n labelProps = {},\n text,\n textProps = {},\n horizontal,\n children,\n ...props\n}) {\n if (horizontal) {\n props.className = 'hstack gap-3 ' + (props.className || '');\n labelProps.className = 'm-0 ' + (labelProps.className || '');\n }\n\n if (text && horizontal) {\n throw new Error('Cannot use text and horizontal together');\n }\n\n return (\n <Form.Group {...props}>\n {label && <Form.Label {...labelProps}>{label}</Form.Label>}\n {children}\n {text && !horizontal && <Form.Text {...textProps}>{text}</Form.Text>}{' '}\n </Form.Group>\n );\n};\n"],"names":["FieldGroup"],"mappings":";;AAWa,MAAA,aAAkC,SAASA,YAAW;AAAA,EAC/D;AAAA,EACA,aAAa,CAAC;AAAA,EACd;AAAA,EACA,YAAY,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAAG;AACC,MAAI,YAAY;AACN,UAAA,YAAY,mBAAmB,MAAM,aAAa;AAC7C,eAAA,YAAY,UAAU,WAAW,aAAa;AAAA,EAAA;AAG7D,MAAI,QAAQ,YAAY;AACd,UAAA,IAAI,MAAM,yCAAyC;AAAA,EAAA;AAG7D,SACK,qBAAA,KAAK,OAAL,EAAY,GAAG,OACX,UAAA;AAAA,IAAA,6BAAU,KAAK,OAAL,EAAY,GAAG,YAAa,UAAM,OAAA;AAAA,IAC5C;AAAA,IACA,QAAQ,CAAC,cAAc,oBAAC,KAAK,MAAL,EAAW,GAAG,WAAY,UAAK,MAAA;AAAA,IAAc;AAAA,EAAA,GAC1E;AAER;"}
@@ -1,10 +1,10 @@
1
- export declare function FooterNavItem({ href, icon, active, children }: {
1
+ import { FC } from 'react';
2
+ export type FooterNavItemProps = {
2
3
  href: any;
3
4
  icon: any;
4
5
  active?: boolean | undefined;
5
6
  children?: string | undefined;
6
- }): import("react/jsx-runtime").JSX.Element;
7
- export declare function Footer({ children }: {
8
- children: any;
9
- }): import("react/jsx-runtime").JSX.Element;
7
+ };
8
+ export declare const FooterNavItem: FC<FooterNavItemProps>;
9
+ export declare const Footer: FC<any>;
10
10
  //# sourceMappingURL=footer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/bootstrap/footer.tsx"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAc,EAAE,QAAa,EAAE;;;;;CAAA,2CA2B1E;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE;;CAAA,2CAclC"}
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/bootstrap/footer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAgChD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,GAAG,CAc1B,CAAC"}
@@ -2,7 +2,12 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { Nav, Navbar } from "react-bootstrap";
3
3
  import { useBreakpoint } from "./responsiveHelper.js";
4
4
  import { AdaptiveContainer } from "./adaptiveContainer.js";
5
- function FooterNavItem({ href, icon, active = false, children = "" }) {
5
+ const FooterNavItem = function FooterNavItem2({
6
+ href,
7
+ icon,
8
+ active = false,
9
+ children = ""
10
+ }) {
6
11
  const isFilepath = icon.includes(".");
7
12
  let iconElement;
8
13
  if (isFilepath) {
@@ -22,8 +27,8 @@ function FooterNavItem({ href, icon, active = false, children = "" }) {
22
27
  }
23
28
  );
24
29
  return /* @__PURE__ */ jsx(Nav.Item, { style: { flex: 1 }, children: link });
25
- }
26
- function Footer({ children }) {
30
+ };
31
+ const Footer = function Footer2({ children }) {
27
32
  const { isDesktop } = useBreakpoint();
28
33
  return (
29
34
  // border-bottom
@@ -32,7 +37,7 @@ function Footer({ children }) {
32
37
  /* @__PURE__ */ jsx(Nav, { className: isDesktop ? "me-auto" : "justify-content-center flex-nowrap w-100", children })
33
38
  ] }) }) })
34
39
  );
35
- }
40
+ };
36
41
  export {
37
42
  Footer,
38
43
  FooterNavItem
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sources":["../../src/bootstrap/footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Nav, Navbar } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\nimport { AdaptiveContainer } from './adaptiveContainer';\n\nexport function FooterNavItem({ href, icon, active = false, children = '' }) {\n // const pathname = usePathname();\n\n const isFilepath = icon.includes('.');\n let iconElement;\n\n if (isFilepath) {\n iconElement = <img src={icon} alt=\"icon\" className=\"me-lg-2\" />;\n } else {\n iconElement = <span className={`lead me-lg-2 ${icon}`} />;\n }\n\n // const active = isActivePath(href, pathname);\n\n const link = (\n <Nav.Link\n // as={Link}\n href={href}\n // active={active} // has no effect when not pills or tabs\n className={`px-0 px-lg-3 d-flex align-items-center flex-column flex-lg-row ${active ? 'text-primary' : ''}`}\n >\n {iconElement}\n {children}\n </Nav.Link>\n );\n\n return <Nav.Item style={{ flex: 1 }}>{link}</Nav.Item>;\n}\n\nexport function Footer({ children }) {\n const { isDesktop } = useBreakpoint();\n\n return (\n // border-bottom\n <div className={isDesktop ? '' : 'border-top'}>\n <Navbar className={isDesktop ? '' : 'py-0'}>\n <AdaptiveContainer>\n {isDesktop && <Navbar.Brand href=\"/\">Le Brand</Navbar.Brand>}\n <Nav className={isDesktop ? 'me-auto' : 'justify-content-center flex-nowrap w-100'}>{children}</Nav>\n </AdaptiveContainer>\n </Navbar>\n </div>\n );\n}\n"],"names":[],"mappings":";;;;AAKgB,SAAA,cAAc,EAAE,MAAM,MAAM,SAAS,OAAO,WAAW,MAAM;AAGnE,QAAA,aAAa,KAAK,SAAS,GAAG;AAChC,MAAA;AAEJ,MAAI,YAAY;AACZ,sCAAe,OAAI,EAAA,KAAK,MAAM,KAAI,QAAO,WAAU,WAAU;AAAA,EAAA,OAC1D;AACH,kBAAe,oBAAA,QAAA,EAAK,WAAW,gBAAgB,IAAI,IAAI;AAAA,EAAA;AAK3D,QAAM,OACF;AAAA,IAAC,IAAI;AAAA,IAAJ;AAAA,MAEG;AAAA,MAEA,WAAW,kEAAkE,SAAS,iBAAiB,EAAE;AAAA,MAExG,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,EACL;AAGG,SAAA,oBAAC,IAAI,MAAJ,EAAS,OAAO,EAAE,MAAM,EAAE,GAAI,UAAK,MAAA;AAC/C;AAEgB,SAAA,OAAO,EAAE,YAAY;AAC3B,QAAA,EAAE,UAAU,IAAI,cAAc;AAEpC;AAAA;AAAA,IAEK,oBAAA,OAAA,EAAI,WAAW,YAAY,KAAK,cAC7B,UAAC,oBAAA,QAAA,EAAO,WAAW,YAAY,KAAK,QAChC,+BAAC,mBACI,EAAA,UAAA;AAAA,MAAA,iCAAc,OAAO,OAAP,EAAa,MAAK,KAAI,UAAQ,YAAA;AAAA,0BAC5C,KAAI,EAAA,WAAW,YAAY,YAAY,4CAA6C,SAAS,CAAA;AAAA,IAAA,EAClG,CAAA,EACJ,CAAA,EACJ,CAAA;AAAA;AAER;"}
1
+ {"version":3,"file":"footer.js","sources":["../../src/bootstrap/footer.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Nav, Navbar } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\nimport { AdaptiveContainer } from './adaptiveContainer';\n\nexport type FooterNavItemProps = {\n href: any;\n icon: any;\n active?: boolean | undefined;\n children?: string | undefined;\n};\n\nexport const FooterNavItem: FC<FooterNavItemProps> = function FooterNavItem({\n href,\n icon,\n active = false,\n children = '',\n}) {\n // const pathname = usePathname();\n\n const isFilepath = icon.includes('.');\n let iconElement;\n\n if (isFilepath) {\n iconElement = <img src={icon} alt=\"icon\" className=\"me-lg-2\" />;\n } else {\n iconElement = <span className={`lead me-lg-2 ${icon}`} />;\n }\n\n // const active = isActivePath(href, pathname);\n\n const link = (\n <Nav.Link\n // as={Link}\n href={href}\n // active={active} // has no effect when not pills or tabs\n className={`px-0 px-lg-3 d-flex align-items-center flex-column flex-lg-row ${active ? 'text-primary' : ''}`}\n >\n {iconElement}\n {children}\n </Nav.Link>\n );\n\n return <Nav.Item style={{ flex: 1 }}>{link}</Nav.Item>;\n};\n\nexport const Footer: FC<any> = function Footer({ children }) {\n const { isDesktop } = useBreakpoint();\n\n return (\n // border-bottom\n <div className={isDesktop ? '' : 'border-top'}>\n <Navbar className={isDesktop ? '' : 'py-0'}>\n <AdaptiveContainer>\n {isDesktop && <Navbar.Brand href=\"/\">Le Brand</Navbar.Brand>}\n <Nav className={isDesktop ? 'me-auto' : 'justify-content-center flex-nowrap w-100'}>{children}</Nav>\n </AdaptiveContainer>\n </Navbar>\n </div>\n );\n};\n"],"names":["FooterNavItem","Footer"],"mappings":";;;;AAYa,MAAA,gBAAwC,SAASA,eAAc;AAAA,EACxE;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AACf,GAAG;AAGO,QAAA,aAAa,KAAK,SAAS,GAAG;AAChC,MAAA;AAEJ,MAAI,YAAY;AACZ,sCAAe,OAAI,EAAA,KAAK,MAAM,KAAI,QAAO,WAAU,WAAU;AAAA,EAAA,OAC1D;AACH,kBAAe,oBAAA,QAAA,EAAK,WAAW,gBAAgB,IAAI,IAAI;AAAA,EAAA;AAK3D,QAAM,OACF;AAAA,IAAC,IAAI;AAAA,IAAJ;AAAA,MAEG;AAAA,MAEA,WAAW,kEAAkE,SAAS,iBAAiB,EAAE;AAAA,MAExG,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,EACL;AAGG,SAAA,oBAAC,IAAI,MAAJ,EAAS,OAAO,EAAE,MAAM,EAAE,GAAI,UAAK,MAAA;AAC/C;AAEO,MAAM,SAAkB,SAASC,QAAO,EAAE,YAAY;AACnD,QAAA,EAAE,UAAU,IAAI,cAAc;AAEpC;AAAA;AAAA,IAEK,oBAAA,OAAA,EAAI,WAAW,YAAY,KAAK,cAC7B,UAAC,oBAAA,QAAA,EAAO,WAAW,YAAY,KAAK,QAChC,+BAAC,mBACI,EAAA,UAAA;AAAA,MAAA,iCAAc,OAAO,OAAP,EAAa,MAAK,KAAI,UAAQ,YAAA;AAAA,0BAC5C,KAAI,EAAA,WAAW,YAAY,YAAY,4CAA6C,SAAS,CAAA;AAAA,IAAA,EAClG,CAAA,EACJ,CAAA,EACJ,CAAA;AAAA;AAER;"}
@@ -1,4 +1,6 @@
1
- export declare function GlobalLoading({ loading }: {
1
+ import { FC } from 'react';
2
+ export type GlobalLoadingProps = {
2
3
  loading: boolean;
3
- }): import("react/jsx-runtime").JSX.Element | null;
4
+ };
5
+ export declare const GlobalLoading: FC<GlobalLoadingProps>;
4
6
  //# sourceMappingURL=globalLoading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalLoading.d.ts","sourceRoot":"","sources":["../../src/bootstrap/globalLoading.tsx"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,kDAY9D"}
1
+ {"version":3,"file":"globalLoading.d.ts","sourceRoot":"","sources":["../../src/bootstrap/globalLoading.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAYhD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Loading } from "./loading.js";
3
- function GlobalLoading({ loading }) {
3
+ const GlobalLoading = function GlobalLoading2({ loading }) {
4
4
  if (!loading) return null;
5
5
  return /* @__PURE__ */ jsx("div", { className: "bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center", children: /* @__PURE__ */ jsx(Loading, {}) });
6
- }
6
+ };
7
7
  export {
8
8
  GlobalLoading
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"globalLoading.js","sources":["../../src/bootstrap/globalLoading.tsx"],"sourcesContent":["import React from 'react';\n// import { useLoading, useLoadingTimeout } from '../redux/loadingSlice';\nimport { Loading } from './loading';\n\nexport function GlobalLoading({ loading }: { loading: boolean }) {\n // const { loading } = useLoading();\n\n // useLoadingTimeout(15000); // escape latch if something is stuck\n\n if (!loading) return null;\n\n return (\n <div className=\"bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center\">\n <Loading />\n </div>\n );\n}\n"],"names":[],"mappings":";;AAIgB,SAAA,cAAc,EAAE,WAAiC;AAKzD,MAAA,CAAC,QAAgB,QAAA;AAErB,6BACK,OAAI,EAAA,WAAU,6GACX,UAAA,oBAAC,UAAQ,CAAA,GACb;AAER;"}
1
+ {"version":3,"file":"globalLoading.js","sources":["../../src/bootstrap/globalLoading.tsx"],"sourcesContent":["import React, { FC } from 'react';\n// import { useLoading, useLoadingTimeout } from '../redux/loadingSlice';\nimport { Loading } from './loading';\n\nexport type GlobalLoadingProps = { loading: boolean };\n\nexport const GlobalLoading: FC<GlobalLoadingProps> = function GlobalLoading({ loading }) {\n // const { loading } = useLoading();\n\n // useLoadingTimeout(15000); // escape latch if something is stuck\n\n if (!loading) return null;\n\n return (\n <div className=\"bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center\">\n <Loading />\n </div>\n );\n};\n"],"names":["GlobalLoading"],"mappings":";;AAMO,MAAM,gBAAwC,SAASA,eAAc,EAAE,WAAW;AAKjF,MAAA,CAAC,QAAgB,QAAA;AAErB,6BACK,OAAI,EAAA,WAAU,6GACX,UAAA,oBAAC,UAAQ,CAAA,GACb;AAER;"}