@kirill.konshin/utils 0.0.18 → 0.0.20

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 (352) hide show
  1. package/.ctirc +19 -10
  2. package/.storybook/main.ts +1 -20
  3. package/.storybook/preview.ts +1 -16
  4. package/.turbo/turbo-build.log +9 -66
  5. package/CHANGELOG.md +27 -0
  6. package/README.md +6 -0
  7. package/dist/bootstrap/index.d.ts +1 -12
  8. package/dist/bootstrap/index.d.ts.map +1 -1
  9. package/dist/browser/index.d.ts +2 -0
  10. package/dist/browser/index.d.ts.map +1 -0
  11. package/dist/core/index.d.ts +1 -9
  12. package/dist/core/index.d.ts.map +1 -1
  13. package/dist/electron/index.d.ts +1 -2
  14. package/dist/electron/index.d.ts.map +1 -1
  15. package/dist/electron-builder/index.d.ts +1 -2
  16. package/dist/electron-builder/index.d.ts.map +1 -1
  17. package/dist/index.d.ts +13 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +27 -0
  20. package/dist/mui/index.d.ts +1 -4
  21. package/dist/mui/index.d.ts.map +1 -1
  22. package/dist/next/index.d.ts +1 -5
  23. package/dist/next/index.d.ts.map +1 -1
  24. package/dist/node/index.d.ts +2 -0
  25. package/dist/node/index.d.ts.map +1 -0
  26. package/dist/react/index.d.ts +1 -5
  27. package/dist/react/index.d.ts.map +1 -1
  28. package/dist/react-native/index.d.ts +1 -3
  29. package/dist/react-native/index.d.ts.map +1 -1
  30. package/dist/tailwind/index.d.ts +1 -2
  31. package/dist/tailwind/index.d.ts.map +1 -1
  32. package/dist/worker/index.d.ts +2 -0
  33. package/dist/worker/index.d.ts.map +1 -0
  34. package/package.json +41 -99
  35. package/src/bootstrap/index.ts +2 -12
  36. package/src/browser/index.ts +2 -0
  37. package/src/core/index.ts +2 -9
  38. package/src/electron/index.ts +2 -2
  39. package/src/electron-builder/index.ts +2 -2
  40. package/src/index.ts +12 -0
  41. package/src/mui/index.ts +2 -4
  42. package/src/next/index.ts +2 -5
  43. package/src/node/index.ts +2 -0
  44. package/src/react/index.ts +2 -5
  45. package/src/react-native/index.ts +2 -3
  46. package/src/tailwind/index.ts +2 -2
  47. package/src/worker/index.ts +2 -0
  48. package/tsconfig.json +2 -14
  49. package/vite.config.ts +2 -56
  50. package/.turbo/turbo-test.log +0 -171
  51. package/builders/.swcrc +0 -18
  52. package/builders/build.config.ts +0 -11
  53. package/builders/bun.build.js +0 -23
  54. package/builders/package.json +0 -209
  55. package/builders/perf.mjs +0 -63
  56. package/builders/rollup.config.mjs +0 -50
  57. package/builders/rslib.config.ts +0 -26
  58. package/builders/tsconfig.json +0 -21
  59. package/builders/tsup.config.ts +0 -20
  60. package/builders/turbo.json +0 -24
  61. package/builders/vite.config.ts +0 -37
  62. package/demo/worker-demo.ts +0 -73
  63. package/dist/bootstrap/adaptiveContainer.d.ts +0 -3
  64. package/dist/bootstrap/adaptiveContainer.d.ts.map +0 -1
  65. package/dist/bootstrap/adaptiveContainer.js +0 -11
  66. package/dist/bootstrap/adaptiveContainer.js.map +0 -1
  67. package/dist/bootstrap/controls.d.ts +0 -38
  68. package/dist/bootstrap/controls.d.ts.map +0 -1
  69. package/dist/bootstrap/controls.js +0 -78
  70. package/dist/bootstrap/controls.js.map +0 -1
  71. package/dist/bootstrap/controls.stories.d.ts +0 -9
  72. package/dist/bootstrap/controls.stories.d.ts.map +0 -1
  73. package/dist/bootstrap/error.d.ts +0 -7
  74. package/dist/bootstrap/error.d.ts.map +0 -1
  75. package/dist/bootstrap/error.js +0 -32
  76. package/dist/bootstrap/error.js.map +0 -1
  77. package/dist/bootstrap/error.stories.d.ts +0 -8
  78. package/dist/bootstrap/error.stories.d.ts.map +0 -1
  79. package/dist/bootstrap/field.d.ts +0 -9
  80. package/dist/bootstrap/field.d.ts.map +0 -1
  81. package/dist/bootstrap/field.js +0 -29
  82. package/dist/bootstrap/field.js.map +0 -1
  83. package/dist/bootstrap/field.stories.d.ts +0 -8
  84. package/dist/bootstrap/field.stories.d.ts.map +0 -1
  85. package/dist/bootstrap/footer.d.ts +0 -10
  86. package/dist/bootstrap/footer.d.ts.map +0 -1
  87. package/dist/bootstrap/footer.js +0 -40
  88. package/dist/bootstrap/footer.js.map +0 -1
  89. package/dist/bootstrap/globalLoading.d.ts +0 -4
  90. package/dist/bootstrap/globalLoading.d.ts.map +0 -1
  91. package/dist/bootstrap/globalLoading.js +0 -10
  92. package/dist/bootstrap/globalLoading.js.map +0 -1
  93. package/dist/bootstrap/globalLoading.stories.d.ts +0 -7
  94. package/dist/bootstrap/globalLoading.stories.d.ts.map +0 -1
  95. package/dist/bootstrap/index.js +0 -35
  96. package/dist/bootstrap/loading.d.ts +0 -8
  97. package/dist/bootstrap/loading.d.ts.map +0 -1
  98. package/dist/bootstrap/loading.js +0 -18
  99. package/dist/bootstrap/loading.js.map +0 -1
  100. package/dist/bootstrap/loading.stories.d.ts +0 -9
  101. package/dist/bootstrap/loading.stories.d.ts.map +0 -1
  102. package/dist/bootstrap/responsiveHelper.d.ts +0 -7
  103. package/dist/bootstrap/responsiveHelper.d.ts.map +0 -1
  104. package/dist/bootstrap/responsiveHelper.js +0 -46
  105. package/dist/bootstrap/responsiveHelper.js.map +0 -1
  106. package/dist/bootstrap/screen.d.ts +0 -20
  107. package/dist/bootstrap/screen.d.ts.map +0 -1
  108. package/dist/bootstrap/screen.js +0 -79
  109. package/dist/bootstrap/screen.js.map +0 -1
  110. package/dist/bootstrap/screen.stories.d.ts +0 -14
  111. package/dist/bootstrap/screen.stories.d.ts.map +0 -1
  112. package/dist/bootstrap/toaster.d.ts +0 -9
  113. package/dist/bootstrap/toaster.d.ts.map +0 -1
  114. package/dist/bootstrap/toaster.js +0 -37
  115. package/dist/bootstrap/toaster.js.map +0 -1
  116. package/dist/bootstrap/toaster.stories.d.ts +0 -8
  117. package/dist/bootstrap/toaster.stories.d.ts.map +0 -1
  118. package/dist/bootstrap/useModal.d.ts +0 -22
  119. package/dist/bootstrap/useModal.d.ts.map +0 -1
  120. package/dist/bootstrap/useModal.js +0 -50
  121. package/dist/bootstrap/useModal.js.map +0 -1
  122. package/dist/bootstrap/useModal.stories.d.ts +0 -9
  123. package/dist/bootstrap/useModal.stories.d.ts.map +0 -1
  124. package/dist/bootstrap/useWrappedForm.d.ts +0 -14
  125. package/dist/bootstrap/useWrappedForm.d.ts.map +0 -1
  126. package/dist/bootstrap/useWrappedForm.js +0 -32
  127. package/dist/bootstrap/useWrappedForm.js.map +0 -1
  128. package/dist/core/cache.d.ts +0 -120
  129. package/dist/core/cache.d.ts.map +0 -1
  130. package/dist/core/cache.js +0 -107
  131. package/dist/core/cache.js.map +0 -1
  132. package/dist/core/cache.test.d.ts +0 -2
  133. package/dist/core/cache.test.d.ts.map +0 -1
  134. package/dist/core/errors.d.ts +0 -2
  135. package/dist/core/errors.d.ts.map +0 -1
  136. package/dist/core/errors.js +0 -15
  137. package/dist/core/errors.js.map +0 -1
  138. package/dist/core/files.d.ts +0 -3
  139. package/dist/core/files.d.ts.map +0 -1
  140. package/dist/core/files.js +0 -27
  141. package/dist/core/files.js.map +0 -1
  142. package/dist/core/index.js +0 -34
  143. package/dist/core/index.js.map +0 -1
  144. package/dist/core/ls.d.ts +0 -6
  145. package/dist/core/ls.d.ts.map +0 -1
  146. package/dist/core/ls.js +0 -12
  147. package/dist/core/ls.js.map +0 -1
  148. package/dist/core/measure.d.ts +0 -35
  149. package/dist/core/measure.d.ts.map +0 -1
  150. package/dist/core/measure.js +0 -56
  151. package/dist/core/measure.js.map +0 -1
  152. package/dist/core/mutex.d.ts +0 -6
  153. package/dist/core/mutex.d.ts.map +0 -1
  154. package/dist/core/mutex.js +0 -26
  155. package/dist/core/mutex.js.map +0 -1
  156. package/dist/core/worker.d.ts +0 -98
  157. package/dist/core/worker.d.ts.map +0 -1
  158. package/dist/core/worker.js +0 -240
  159. package/dist/core/worker.js.map +0 -1
  160. package/dist/core/worker.test.d.ts +0 -2
  161. package/dist/core/worker.test.d.ts.map +0 -1
  162. package/dist/core/workerUtils.d.ts +0 -3
  163. package/dist/core/workerUtils.d.ts.map +0 -1
  164. package/dist/core/workerUtils.js +0 -31
  165. package/dist/core/workerUtils.js.map +0 -1
  166. package/dist/core/wrpc.d.ts +0 -45
  167. package/dist/core/wrpc.d.ts.map +0 -1
  168. package/dist/core/wrpc.fixture.d.ts +0 -29
  169. package/dist/core/wrpc.fixture.d.ts.map +0 -1
  170. package/dist/core/wrpc.js +0 -242
  171. package/dist/core/wrpc.js.map +0 -1
  172. package/dist/core/wrpc.test.d.ts +0 -1
  173. package/dist/core/wrpc.test.d.ts.map +0 -1
  174. package/dist/electron/createWindow.d.ts +0 -23
  175. package/dist/electron/createWindow.d.ts.map +0 -1
  176. package/dist/electron/createWindow.js +0 -160
  177. package/dist/electron/createWindow.js.map +0 -1
  178. package/dist/electron/index.js +0 -9
  179. package/dist/electron/index.js.map +0 -1
  180. package/dist/electron/updater.d.ts +0 -2
  181. package/dist/electron/updater.d.ts.map +0 -1
  182. package/dist/electron/updater.js +0 -47
  183. package/dist/electron/updater.js.map +0 -1
  184. package/dist/electron-builder/builder.d.ts +0 -8
  185. package/dist/electron-builder/builder.d.ts.map +0 -1
  186. package/dist/electron-builder/builder.js +0 -130
  187. package/dist/electron-builder/builder.js.map +0 -1
  188. package/dist/electron-builder/images.d.ts +0 -7
  189. package/dist/electron-builder/images.d.ts.map +0 -1
  190. package/dist/electron-builder/images.js +0 -25
  191. package/dist/electron-builder/images.js.map +0 -1
  192. package/dist/electron-builder/index.js +0 -7
  193. package/dist/electron-builder/index.js.map +0 -1
  194. package/dist/mui/formControlFieldset.d.ts +0 -5
  195. package/dist/mui/formControlFieldset.d.ts.map +0 -1
  196. package/dist/mui/formControlFieldset.js +0 -28
  197. package/dist/mui/formControlFieldset.js.map +0 -1
  198. package/dist/mui/formControlFieldset.stories.d.ts +0 -7
  199. package/dist/mui/formControlFieldset.stories.d.ts.map +0 -1
  200. package/dist/mui/formLabelLegend.d.ts +0 -4
  201. package/dist/mui/formLabelLegend.d.ts.map +0 -1
  202. package/dist/mui/formLabelLegend.js +0 -12
  203. package/dist/mui/formLabelLegend.js.map +0 -1
  204. package/dist/mui/genericControl.d.ts +0 -7
  205. package/dist/mui/genericControl.d.ts.map +0 -1
  206. package/dist/mui/genericControl.js +0 -21
  207. package/dist/mui/genericControl.js.map +0 -1
  208. package/dist/mui/index.js +0 -11
  209. package/dist/mui/index.js.map +0 -1
  210. package/dist/mui/readOnly.d.ts +0 -6
  211. package/dist/mui/readOnly.d.ts.map +0 -1
  212. package/dist/mui/readOnly.js +0 -7
  213. package/dist/mui/readOnly.js.map +0 -1
  214. package/dist/next/appLink.d.ts +0 -8
  215. package/dist/next/appLink.d.ts.map +0 -1
  216. package/dist/next/appLink.js +0 -34
  217. package/dist/next/appLink.js.map +0 -1
  218. package/dist/next/index.js +0 -15
  219. package/dist/next/index.js.map +0 -1
  220. package/dist/next/measure.d.ts +0 -15
  221. package/dist/next/measure.d.ts.map +0 -1
  222. package/dist/next/measure.js +0 -9
  223. package/dist/next/measure.js.map +0 -1
  224. package/dist/next/noSSR.d.ts +0 -5
  225. package/dist/next/noSSR.d.ts.map +0 -1
  226. package/dist/next/noSSR.js +0 -15
  227. package/dist/next/noSSR.js.map +0 -1
  228. package/dist/next/redirect.d.ts +0 -6
  229. package/dist/next/redirect.d.ts.map +0 -1
  230. package/dist/next/useIsInner.d.ts +0 -3
  231. package/dist/next/useIsInner.d.ts.map +0 -1
  232. package/dist/next/useIsInner.js +0 -15
  233. package/dist/next/useIsInner.js.map +0 -1
  234. package/dist/react/apiCall.d.ts +0 -6
  235. package/dist/react/apiCall.d.ts.map +0 -1
  236. package/dist/react/apiCall.js +0 -24
  237. package/dist/react/apiCall.js.map +0 -1
  238. package/dist/react/form/client.d.ts +0 -7
  239. package/dist/react/form/client.d.ts.map +0 -1
  240. package/dist/react/form/client.js +0 -46
  241. package/dist/react/form/client.js.map +0 -1
  242. package/dist/react/form/form.d.ts +0 -45
  243. package/dist/react/form/form.d.ts.map +0 -1
  244. package/dist/react/form/form.js +0 -69
  245. package/dist/react/form/form.js.map +0 -1
  246. package/dist/react/form/index.d.ts +0 -3
  247. package/dist/react/form/index.d.ts.map +0 -1
  248. package/dist/react/index.js +0 -25
  249. package/dist/react/index.js.map +0 -1
  250. package/dist/react/keyboard.d.ts +0 -11
  251. package/dist/react/keyboard.d.ts.map +0 -1
  252. package/dist/react/keyboard.js +0 -38
  253. package/dist/react/keyboard.js.map +0 -1
  254. package/dist/react/useFetch.d.ts +0 -2
  255. package/dist/react/useFetch.d.ts.map +0 -1
  256. package/dist/react/useFetch.js +0 -20
  257. package/dist/react/useFetch.js.map +0 -1
  258. package/dist/react/useFetcher.d.ts +0 -10
  259. package/dist/react/useFetcher.d.ts.map +0 -1
  260. package/dist/react/useFetcher.js +0 -43
  261. package/dist/react/useFetcher.js.map +0 -1
  262. package/dist/react-native/index.js +0 -9
  263. package/dist/react-native/index.js.map +0 -1
  264. package/dist/react-native/share.d.ts +0 -9
  265. package/dist/react-native/share.d.ts.map +0 -1
  266. package/dist/react-native/share.js +0 -23
  267. package/dist/react-native/share.js.map +0 -1
  268. package/dist/react-native/update.d.ts +0 -4
  269. package/dist/react-native/update.d.ts.map +0 -1
  270. package/dist/react-native/update.js +0 -40
  271. package/dist/react-native/update.js.map +0 -1
  272. package/dist/react-native/useAppState.d.ts +0 -2
  273. package/dist/react-native/useAppState.d.ts.map +0 -1
  274. package/dist/react-native/useAppState.js +0 -18
  275. package/dist/react-native/useAppState.js.map +0 -1
  276. package/dist/tailwind/fullpage.d.ts +0 -7
  277. package/dist/tailwind/fullpage.d.ts.map +0 -1
  278. package/dist/tailwind/fullpage.js +0 -14
  279. package/dist/tailwind/fullpage.js.map +0 -1
  280. package/dist/tailwind/index.js +0 -7
  281. package/dist/tailwind/index.js.map +0 -1
  282. package/dist/tailwind/responsiveHelper.d.ts +0 -2
  283. package/dist/tailwind/responsiveHelper.d.ts.map +0 -1
  284. package/dist/tailwind/responsiveHelper.js +0 -16
  285. package/dist/tailwind/responsiveHelper.js.map +0 -1
  286. package/src/bootstrap/adaptiveContainer.tsx +0 -12
  287. package/src/bootstrap/controls.stories.tsx +0 -62
  288. package/src/bootstrap/controls.tsx +0 -119
  289. package/src/bootstrap/error.stories.tsx +0 -34
  290. package/src/bootstrap/error.tsx +0 -40
  291. package/src/bootstrap/field.stories.tsx +0 -42
  292. package/src/bootstrap/field.tsx +0 -35
  293. package/src/bootstrap/footer.tsx +0 -49
  294. package/src/bootstrap/globalLoading.stories.tsx +0 -25
  295. package/src/bootstrap/globalLoading.tsx +0 -17
  296. package/src/bootstrap/loading.stories.tsx +0 -35
  297. package/src/bootstrap/loading.tsx +0 -22
  298. package/src/bootstrap/main.scss +0 -86
  299. package/src/bootstrap/responsiveHelper.tsx +0 -50
  300. package/src/bootstrap/screen.stories.tsx +0 -160
  301. package/src/bootstrap/screen.tsx +0 -144
  302. package/src/bootstrap/toaster.stories.tsx +0 -32
  303. package/src/bootstrap/toaster.tsx +0 -38
  304. package/src/bootstrap/useModal.stories.tsx +0 -51
  305. package/src/bootstrap/useModal.tsx +0 -88
  306. package/src/bootstrap/useWrappedForm.ts +0 -40
  307. package/src/core/README.md +0 -91
  308. package/src/core/cache.test.ts +0 -121
  309. package/src/core/cache.ts +0 -239
  310. package/src/core/errors.ts +0 -14
  311. package/src/core/files.ts +0 -25
  312. package/src/core/ls.ts +0 -11
  313. package/src/core/measure.ts +0 -61
  314. package/src/core/mutex.ts +0 -22
  315. package/src/core/worker.test.ts +0 -197
  316. package/src/core/worker.ts +0 -340
  317. package/src/core/workerUtils.ts +0 -32
  318. package/src/core/wrpc.fixture.ts +0 -72
  319. package/src/core/wrpc.test.ts +0 -225
  320. package/src/core/wrpc.ts +0 -359
  321. package/src/electron/README.md +0 -13
  322. package/src/electron/createWindow.ts +0 -234
  323. package/src/electron/updater.ts +0 -54
  324. package/src/electron-builder/builder.ts +0 -150
  325. package/src/electron-builder/images.ts +0 -33
  326. package/src/mui/README.md +0 -3
  327. package/src/mui/formControlFieldset.stories.tsx +0 -71
  328. package/src/mui/formControlFieldset.tsx +0 -26
  329. package/src/mui/formLabelLegend.tsx +0 -11
  330. package/src/mui/genericControl.tsx +0 -20
  331. package/src/mui/readOnly.tsx +0 -6
  332. package/src/next/appLink.tsx +0 -40
  333. package/src/next/measure.ts +0 -7
  334. package/src/next/noSSR.tsx +0 -17
  335. package/src/next/redirect.tsx +0 -13
  336. package/src/next/useIsInner.ts +0 -13
  337. package/src/react/apiCall.ts +0 -25
  338. package/src/react/form/client.tsx +0 -62
  339. package/src/react/form/form.tsx +0 -129
  340. package/src/react/form/index.ts +0 -2
  341. package/src/react/keyboard.tsx +0 -49
  342. package/src/react/useFetch.ts +0 -29
  343. package/src/react/useFetcher.ts +0 -49
  344. package/src/react-native/share.ts +0 -31
  345. package/src/react-native/update.tsx +0 -40
  346. package/src/react-native/useAppState.ts +0 -18
  347. package/src/tailwind/README.md +0 -8
  348. package/src/tailwind/fullpage.tsx +0 -11
  349. package/src/tailwind/responsiveHelper.tsx +0 -16
  350. package/src-todo/auth0.tsx +0 -177
  351. package/vite.exports.ts +0 -121
  352. /package/dist/{bootstrap/index.js.map → index.js.map} +0 -0
@@ -1,50 +0,0 @@
1
- import { globSync } from 'glob';
2
- import dts from 'vite-plugin-dts';
3
- import resolve from '@rollup/plugin-node-resolve';
4
- import swc from '@rollup/plugin-swc';
5
- import commonjs from '@rollup/plugin-commonjs';
6
- import del from 'rollup-plugin-delete';
7
- import multi from '@rollup/plugin-multi-entry';
8
- import { fixExports, excludeGlob, includeGlob, entryGlob, entry, external } from './exports.mjs';
9
-
10
- //FIXME https://github.com/rollup/rollup/issues/4629 watch spits all files
11
- //FIXME https://github.com/rollup/rollup/issues/3150 watch spits all files
12
- //FIXME Multi produces virtual files
13
-
14
- const dir = 'dist-rollpup';
15
-
16
- /** @type {import('rollup').RollupOptions} */
17
- const config = {
18
- // input: includeGlob, // multi
19
- // input: entryGlob, // multi
20
- input: entry, // glob array, seems to be a bit faster
21
- // ignore: excludeGlob,
22
- output: {
23
- dir,
24
- preserveModules: true,
25
- preserveModulesRoot: 'src',
26
- sourcemap: true,
27
- format: 'es',
28
- },
29
- external,
30
- onwarn(warning, warn) {
31
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') return;
32
- warn(warning);
33
- },
34
- plugins: [
35
- del({ targets: dir, runOnce: true }),
36
- swc(),
37
- commonjs(),
38
- resolve({ extensions: ['.ts', '.tsx'] }),
39
- dts({ outDir: dir }), // exclude: excludeGlob,
40
- // multi({ preserveModules: true }),
41
- {
42
- name: 'Generate Exports',
43
- async buildEnd() {
44
- // await fixExports();
45
- },
46
- },
47
- ],
48
- };
49
-
50
- export default config;
@@ -1,26 +0,0 @@
1
- import { defineConfig } from '@rslib/core';
2
- import type { RsbuildPlugin } from '@rsbuild/core';
3
- import { fixExports, generateIndex, includeGlob } from './vite.exports';
4
-
5
- //FIXME https://github.com/egoist/tsup/issues/945 dts is slow
6
- //TODO https://api-extractor.com/pages/setup/invoking/ instead of dts
7
- //TODO https://github.com/egoist/tsup/issues/615 incremental
8
-
9
- export default defineConfig({
10
- lib: [{ bundle: false, format: 'esm', dts: { bundle: false } }],
11
- source: { entry: { index: includeGlob } },
12
- output: { sourceMap: true, cleanDistPath: true, distPath: { root: 'dist-rslib' } },
13
- plugins: [
14
- // {
15
- // name: 'Generate Index & Exports',
16
- // setup(api) {
17
- // api.onBeforeBuild(async () => {
18
- // await generateIndex();
19
- // });
20
- // api.onAfterBuild(async () => {
21
- // await fixExports();
22
- // });
23
- // },
24
- // } satisfies RsbuildPlugin,
25
- ],
26
- });
@@ -1,21 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": "src",
5
- "outDir": "dist",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "declarationDir": "dist",
9
- "incremental": false,
10
- "allowJs": true,
11
- /* Build-specific options */
12
- "moduleResolution": "bundler",
13
- "allowImportingTsExtensions": true,
14
- "isolatedModules": true,
15
- "moduleDetection": "force",
16
- "noEmit": true,
17
- "jsx": "react-jsx"
18
- },
19
- "include": ["src"],
20
- "exclude": ["**/*.test.ts", "**/*.stories.ts", "**/*.stories.tsx"]
21
- }
@@ -1,20 +0,0 @@
1
- import { defineConfig } from 'tsup';
2
- import { fixExports, formats, includeGlob } from './exports.mjs';
3
-
4
- //FIXME https://github.com/egoist/tsup/issues/945 dts is slow
5
- //TODO https://api-extractor.com/pages/setup/invoking/ instead of dts
6
- //TODO https://github.com/egoist/tsup/issues/615 incremental
7
-
8
- export default defineConfig({
9
- outDir: 'dist-tsup',
10
- entry: [includeGlob],
11
- format: Object.keys(formats) as any,
12
- bundle: false,
13
- splitting: false,
14
- sourcemap: true,
15
- clean: true,
16
- dts: true,
17
- async onSuccess() {
18
- // await fixExports();
19
- },
20
- });
@@ -1,24 +0,0 @@
1
- {
2
- "$schema": "https://turbo.build/schema.json",
3
- "extends": ["//"],
4
- "tasks": {
5
- "build": {
6
- "dependsOn": ["^build", "build:vite", "build:exports"]
7
- },
8
- "build:exports": {
9
- "outputs": ["package.json"]
10
- },
11
- "build:index": {
12
- "outputs": ["src/**/*/index.ts"]
13
- },
14
- "build:vite": {
15
- "outputs": ["dist/**/*"],
16
- "dependsOn": ["build:index"]
17
- },
18
- "start": {
19
- "persistent": true,
20
- "cache": false,
21
- "dependsOn": ["build:index", "build:exports"]
22
- }
23
- }
24
- }
@@ -1,37 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
- import react from '@vitejs/plugin-react';
3
- import dts from 'vite-plugin-dts';
4
- import { fixExports, formats, entry, external, distDir } from './exports.mjs';
5
-
6
- // https://rbardini.com/how-to-build-ts-library-with-vite/
7
-
8
- export default defineConfig({
9
- build: {
10
- ssr: true,
11
- sourcemap: true,
12
- outDir: distDir,
13
- emptyOutDir: true,
14
- // target: 'esnext',
15
- lib: {
16
- entry,
17
- formats: Object.keys(formats) as any,
18
- },
19
- rollupOptions: {
20
- external,
21
- output: {
22
- preserveModules: true,
23
- preserveModulesRoot: 'src',
24
- },
25
- },
26
- },
27
- plugins: [
28
- react(),
29
- dts(),
30
- {
31
- name: 'Generate Exports',
32
- async buildEnd() {
33
- // await fixExports();
34
- },
35
- },
36
- ],
37
- });
@@ -1,73 +0,0 @@
1
- import { RespondersBase, WorkerDialog } from '../src/core';
2
-
3
- class Responders extends RespondersBase<Responders> {
4
- encode = this.create(
5
- 'encode',
6
- async (
7
- { file, abort = false }: { file: File; abort: boolean }, // should have all possible combinations for strong typing
8
- encodeContext,
9
- ) => {
10
- // send within same message
11
- encodeContext.send({ progress: 0 }); // ✅ Valid
12
- encodeContext.send({ junk: 'xxx' }); // ❌ Bad & should be red
13
-
14
- // listen same message
15
- encodeContext.listen(({ abort }) => {
16
- if (abort) alert('Aborted'); // ✅ Valid
17
- });
18
-
19
- // send same message as received
20
- encodeContext.send({ junk: 'xxx' }); // ❌ Bad & should be red
21
- encodeContext.send({ progress: 0.5 }); // ✅ Valid
22
-
23
- // send or listen different message
24
- encodeContext.withMessage('decode').listen(() => {}); // ✅ Valid
25
- encodeContext.withMessage('decode').send({ file: null }); // ✅ Valid
26
- encodeContext.withMessage('decode').send({ junk: 'xxx' }); // ❌ Bad & should be red
27
- encodeContext.withMessage('junk'); // ❌ Bad & should be red
28
-
29
- return { bitmap: await createImageBitmap(file), progress: 1.0 }; // should have all possible combinations for strong typing
30
- },
31
- );
32
-
33
- // another responder for demo purposes
34
- decode = this.create('decode', async ({ bitmap }) => {
35
- return { file: new File([], 'test') };
36
- });
37
- }
38
-
39
- export const workerDialog = new WorkerDialog(self, new Responders(), 'Worker');
40
-
41
- /////
42
-
43
- // import type { workerDialog } from './worker';
44
-
45
- const mainDialog = new WorkerDialog(self, {} as typeof workerDialog.responders, 'Main');
46
-
47
- mainDialog
48
- .withMessage('encode')
49
- .fetch(
50
- {
51
- file: new File([], 'test'), // ✅ Valid
52
- junk: 'xxx', // ❌ Bad & should be red
53
- },
54
- (encodeContext) => {
55
- // Listen same message, partial data update
56
- encodeContext.listen((data) => {
57
- console.log(data.progress); // ✅ Valid
58
- console.log(data.junk); // ❌ Bad & should be red
59
- });
60
-
61
- // Listen or send other message
62
- encodeContext.withMessage('decode').listen((data, decodeContext) => {});
63
- encodeContext.withMessage('decode').send({ bitmap: null }); // ✅ Valid
64
- encodeContext.withMessage('decode').send({ junk: 'xxx' }); // ❌❌❌ Bad & should be red, broken
65
-
66
- // Send abort
67
- encodeContext.send({ abort: true }); // ✅ Valid
68
- },
69
- )
70
- .then((result) => {
71
- console.log(result.bitmap); // ✅ Valid
72
- console.log(result.junk); // ❌ Bad & should be red
73
- });
@@ -1,3 +0,0 @@
1
- import { ContainerProps } from 'react-bootstrap';
2
- export declare function AdaptiveContainer({ children, ...props }: ContainerProps): import("react/jsx-runtime").JSX.Element;
3
- //# sourceMappingURL=adaptiveContainer.d.ts.map
@@ -1 +0,0 @@
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,11 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { Container } from "react-bootstrap";
3
- import { useBreakpoint } from "./responsiveHelper.js";
4
- function AdaptiveContainer({ children, ...props }) {
5
- const { isMobile } = useBreakpoint();
6
- return /* @__PURE__ */ jsx(Container, { fluid: isMobile, ...props, children });
7
- }
8
- export {
9
- AdaptiveContainer
10
- };
11
- //# sourceMappingURL=adaptiveContainer.js.map
@@ -1 +0,0 @@
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,38 +0,0 @@
1
- import { default as React, HTMLInputTypeAttribute } from 'react';
2
- export interface ControlProps {
3
- value?: any;
4
- setValue?: (v: any) => void;
5
- defaultValue?: any;
6
- options?: {
7
- [key: string]: any;
8
- };
9
- setOptions?: (v: {
10
- [key: string]: any;
11
- }) => void;
12
- defaultOptions?: {
13
- [key: string]: any;
14
- };
15
- name: string;
16
- children?: React.ReactNode;
17
- inputProps?: {
18
- type: HTMLInputTypeAttribute;
19
- property?: string;
20
- valueExtractor?: (e: any) => any;
21
- className?: string;
22
- } & any;
23
- hideValue?: boolean;
24
- }
25
- export type LabelProps = Pick<ControlProps, 'name' | 'value' | 'defaultValue'> & {
26
- reset: () => void;
27
- };
28
- export declare const Label: React.NamedExoticComponent<LabelProps>;
29
- export declare const Control: React.NamedExoticComponent<ControlProps>;
30
- export interface RangeProps extends ControlProps {
31
- min: number;
32
- max: number;
33
- step?: number;
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>;
38
- //# sourceMappingURL=controls.d.ts.map
@@ -1 +0,0 @@
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,78 +0,0 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { memo } from "react";
3
- const lcFirst = (str) => str[0].toLowerCase() + str.substring(1, str.length);
4
- const toProperty = (str) => lcFirst(str).split(" ").join("");
5
- const Label = memo(function Label2({ name, reset, value, defaultValue }) {
6
- return /* @__PURE__ */ jsxs("label", { className: "flex-grow-1 mb-0 d-flex align-items-center justify-content-start gap-2", children: [
7
- name,
8
- value !== defaultValue && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("a", { href: "javascript: void(0)", onClick: reset, children: /* @__PURE__ */ jsx("small", { children: "reset" }) }) })
9
- ] });
10
- });
11
- const Control = memo(function Control2({
12
- value = null,
13
- setValue,
14
- defaultValue = null,
15
- options = {},
16
- setOptions,
17
- defaultOptions = {},
18
- name,
19
- inputProps: { Tag = "input", property = "value", valueExtractor = (e) => e.target.value, ...inputProps } = {},
20
- hideValue = false,
21
- children
22
- }) {
23
- const prop = toProperty(name);
24
- defaultValue = defaultValue || defaultOptions[prop];
25
- value = value || (options == null ? void 0 : options[prop]);
26
- setValue = setValue || ((v) => setOptions == null ? void 0 : setOptions({ [prop]: v }));
27
- const reset = () => setValue(defaultValue);
28
- return /* @__PURE__ */ jsxs("div", { className: "d-flex align-items-center gap-2", children: [
29
- /* @__PURE__ */ jsx(Label, { name, reset, value, defaultValue }),
30
- /* @__PURE__ */ jsx(
31
- Tag,
32
- {
33
- ...inputProps,
34
- ...{ [property]: value || "" },
35
- className: `${value === defaultValue ? "opacity-75" : ""} ${inputProps.className}`,
36
- onChange: (e) => setValue(valueExtractor(e)),
37
- children
38
- }
39
- ),
40
- !hideValue && /* @__PURE__ */ jsx("span", { onDoubleClick: reset, className: "text-start", style: { width: "20px" }, children: value })
41
- ] });
42
- });
43
- const Range = memo(function Range2({ min, max, step = 0.1, ...props }) {
44
- return /* @__PURE__ */ jsx(
45
- Control,
46
- {
47
- inputProps: {
48
- type: "range",
49
- min,
50
- max,
51
- step,
52
- className: "form-control-range",
53
- valueExtractor: (e) => parseFloat(e.target.value)
54
- },
55
- ...props
56
- }
57
- );
58
- });
59
- const Checkbox = memo(function Checkbox2(props) {
60
- return /* @__PURE__ */ jsx(
61
- Control,
62
- {
63
- inputProps: { type: "checkbox", property: "checked", valueExtractor: (e) => e.target.checked },
64
- ...props
65
- }
66
- );
67
- });
68
- const Select = memo(function Select2({ children, ...props }) {
69
- return /* @__PURE__ */ jsx(Control, { inputProps: { Tag: "select", className: "form-select" }, ...props, hideValue: true, children });
70
- });
71
- export {
72
- Checkbox,
73
- Control,
74
- Label,
75
- Range,
76
- Select
77
- };
78
- //# sourceMappingURL=controls.js.map
@@ -1 +0,0 @@
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,9 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { Control } from './controls';
3
- declare const meta: Meta<typeof Control>;
4
- export default meta;
5
- type Story = StoryObj<typeof meta>;
6
- export declare const RangeControl: Story;
7
- export declare const CheckboxControl: Story;
8
- export declare const SelectControl: Story;
9
- //# sourceMappingURL=controls.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controls.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/controls.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAU,OAAO,EAAmB,MAAM,YAAY,CAAC;AAK9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAyB9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAI7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ButtonProps } from 'react-bootstrap';
2
- export declare function ErrorAlert({ onRetry, children, buttonProps, ...props }: {
3
- children?: Error | string | any;
4
- onRetry?: () => any;
5
- buttonProps?: ButtonProps;
6
- }): import("react/jsx-runtime").JSX.Element | null;
7
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
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,32 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
3
- import { Alert, Button } from "react-bootstrap";
4
- function ErrorAlert({
5
- onRetry,
6
- children,
7
- buttonProps,
8
- ...props
9
- }) {
10
- if (!children) return null;
11
- return /* @__PURE__ */ jsxs(Alert, { variant: "danger", ...props, children: [
12
- /* @__PURE__ */ jsx("div", { children: children.message || children.toString() }),
13
- onRetry && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
14
- Button,
15
- {
16
- variant: "link",
17
- className: "alert-link",
18
- ...buttonProps,
19
- onClick: (e) => {
20
- e.preventDefault();
21
- e.stopPropagation();
22
- onRetry();
23
- },
24
- children: "Retry"
25
- }
26
- ) })
27
- ] });
28
- }
29
- export {
30
- ErrorAlert
31
- };
32
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
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,8 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { ErrorAlert } from './error';
3
- declare const meta: Meta<typeof ErrorAlert>;
4
- export default meta;
5
- type Story = StoryObj<typeof meta>;
6
- export declare const String: Story;
7
- export declare const ErrorObject: Story;
8
- //# sourceMappingURL=error.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/error.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAYjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC"}
@@ -1,9 +0,0 @@
1
- import { FormGroupProps, FormLabelProps, FormTextProps } from 'react-bootstrap';
2
- export declare function FieldGroup({ label, labelProps, text, textProps, horizontal, children, ...props }: FormGroupProps & {
3
- label?: any;
4
- labelProps?: FormLabelProps;
5
- text?: any;
6
- textProps?: FormTextProps;
7
- horizontal?: boolean;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- //# sourceMappingURL=field.d.ts.map
@@ -1 +0,0 @@
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,29 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Form } from "react-bootstrap";
3
- function FieldGroup({
4
- label,
5
- labelProps = {},
6
- text,
7
- textProps = {},
8
- horizontal,
9
- children,
10
- ...props
11
- }) {
12
- if (horizontal) {
13
- props.className = "hstack gap-3 " + (props.className || "");
14
- labelProps.className = "m-0 " + (labelProps.className || "");
15
- }
16
- if (text && horizontal) {
17
- throw new Error("Cannot use text and horizontal together");
18
- }
19
- return /* @__PURE__ */ jsxs(Form.Group, { ...props, children: [
20
- label && /* @__PURE__ */ jsx(Form.Label, { ...labelProps, children: label }),
21
- children,
22
- text && !horizontal && /* @__PURE__ */ jsx(Form.Text, { ...textProps, children: text }),
23
- " "
24
- ] });
25
- }
26
- export {
27
- FieldGroup
28
- };
29
- //# sourceMappingURL=field.js.map
@@ -1 +0,0 @@
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,8 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { FieldGroup } from './field';
3
- declare const meta: Meta<typeof FieldGroup>;
4
- export default meta;
5
- type Story = StoryObj<typeof meta>;
6
- export declare const Vertical: Story;
7
- export declare const Horizontal: Story;
8
- //# sourceMappingURL=field.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/field.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAajC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC"}
@@ -1,10 +0,0 @@
1
- export declare function FooterNavItem({ href, icon, active, children }: {
2
- href: any;
3
- icon: any;
4
- active?: boolean | undefined;
5
- 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;
10
- //# sourceMappingURL=footer.d.ts.map
@@ -1 +0,0 @@
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,40 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Nav, Navbar } from "react-bootstrap";
3
- import { useBreakpoint } from "./responsiveHelper.js";
4
- import { AdaptiveContainer } from "./adaptiveContainer.js";
5
- function FooterNavItem({ href, icon, active = false, children = "" }) {
6
- const isFilepath = icon.includes(".");
7
- let iconElement;
8
- if (isFilepath) {
9
- iconElement = /* @__PURE__ */ jsx("img", { src: icon, alt: "icon", className: "me-lg-2" });
10
- } else {
11
- iconElement = /* @__PURE__ */ jsx("span", { className: `lead me-lg-2 ${icon}` });
12
- }
13
- const link = /* @__PURE__ */ jsxs(
14
- Nav.Link,
15
- {
16
- href,
17
- className: `px-0 px-lg-3 d-flex align-items-center flex-column flex-lg-row ${active ? "text-primary" : ""}`,
18
- children: [
19
- iconElement,
20
- children
21
- ]
22
- }
23
- );
24
- return /* @__PURE__ */ jsx(Nav.Item, { style: { flex: 1 }, children: link });
25
- }
26
- function Footer({ children }) {
27
- const { isDesktop } = useBreakpoint();
28
- return (
29
- // border-bottom
30
- /* @__PURE__ */ jsx("div", { className: isDesktop ? "" : "border-top", children: /* @__PURE__ */ jsx(Navbar, { className: isDesktop ? "" : "py-0", children: /* @__PURE__ */ jsxs(AdaptiveContainer, { children: [
31
- isDesktop && /* @__PURE__ */ jsx(Navbar.Brand, { href: "/", children: "Le Brand" }),
32
- /* @__PURE__ */ jsx(Nav, { className: isDesktop ? "me-auto" : "justify-content-center flex-nowrap w-100", children })
33
- ] }) }) })
34
- );
35
- }
36
- export {
37
- Footer,
38
- FooterNavItem
39
- };
40
- //# sourceMappingURL=footer.js.map
@@ -1 +0,0 @@
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,4 +0,0 @@
1
- export declare function GlobalLoading({ loading }: {
2
- loading: boolean;
3
- }): import("react/jsx-runtime").JSX.Element | null;
4
- //# sourceMappingURL=globalLoading.d.ts.map
@@ -1 +0,0 @@
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"}