@kirill.konshin/utils 0.0.19 → 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 +21 -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 -15
  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 -4
  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 -9
  74. package/dist/bootstrap/error.d.ts.map +0 -1
  75. package/dist/bootstrap/error.js +0 -27
  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 -11
  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 -45
  88. package/dist/bootstrap/footer.js.map +0 -1
  89. package/dist/bootstrap/globalLoading.d.ts +0 -6
  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 -10
  97. package/dist/bootstrap/loading.d.ts.map +0 -1
  98. package/dist/bootstrap/loading.js +0 -19
  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 -8
  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 -22
  107. package/dist/bootstrap/screen.d.ts.map +0 -1
  108. package/dist/bootstrap/screen.js +0 -80
  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 -11
  113. package/dist/bootstrap/toaster.d.ts.map +0 -1
  114. package/dist/bootstrap/toaster.js +0 -34
  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 -23
  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 -4
  139. package/dist/core/files.d.ts.map +0 -1
  140. package/dist/core/files.js +0 -31
  141. package/dist/core/files.js.map +0 -1
  142. package/dist/core/index.js +0 -35
  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 -60
  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 -26
  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 -29
  225. package/dist/next/noSSR.d.ts.map +0 -1
  226. package/dist/next/noSSR.js +0 -13
  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 -59
  243. package/dist/react/form/form.d.ts.map +0 -1
  244. package/dist/react/form/form.js +0 -89
  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 -26
  249. package/dist/react/index.js.map +0 -1
  250. package/dist/react/keyboard.d.ts +0 -10
  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 -3
  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 -3
  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 -3
  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 -37
  291. package/src/bootstrap/field.stories.tsx +0 -42
  292. package/src/bootstrap/field.tsx +0 -37
  293. package/src/bootstrap/footer.tsx +0 -61
  294. package/src/bootstrap/globalLoading.stories.tsx +0 -25
  295. package/src/bootstrap/globalLoading.tsx +0 -19
  296. package/src/bootstrap/loading.stories.tsx +0 -35
  297. package/src/bootstrap/loading.tsx +0 -24
  298. package/src/bootstrap/main.scss +0 -86
  299. package/src/bootstrap/responsiveHelper.tsx +0 -55
  300. package/src/bootstrap/screen.stories.tsx +0 -160
  301. package/src/bootstrap/screen.tsx +0 -146
  302. package/src/bootstrap/toaster.stories.tsx +0 -32
  303. package/src/bootstrap/toaster.tsx +0 -40
  304. package/src/bootstrap/useModal.stories.tsx +0 -51
  305. package/src/bootstrap/useModal.tsx +0 -93
  306. package/src/bootstrap/useWrappedForm.ts +0 -42
  307. package/src/core/README.md +0 -91
  308. package/src/core/cache.test.ts +0 -121
  309. package/src/core/cache.ts +0 -246
  310. package/src/core/errors.ts +0 -17
  311. package/src/core/files.ts +0 -29
  312. package/src/core/ls.ts +0 -15
  313. package/src/core/measure.ts +0 -109
  314. package/src/core/mutex.ts +0 -22
  315. package/src/core/worker.test.ts +0 -197
  316. package/src/core/worker.ts +0 -347
  317. package/src/core/workerUtils.ts +0 -32
  318. package/src/core/wrpc.fixture.ts +0 -106
  319. package/src/core/wrpc.test.ts +0 -225
  320. package/src/core/wrpc.ts +0 -377
  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 -24
  334. package/src/next/noSSR.tsx +0 -36
  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 -73
  339. package/src/react/form/form.tsx +0 -178
  340. package/src/react/form/index.ts +0 -2
  341. package/src/react/keyboard.tsx +0 -54
  342. package/src/react/useFetch.ts +0 -29
  343. package/src/react/useFetcher.ts +0 -54
  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,130 +0,0 @@
1
- const {
2
- GITHUB_REF_TYPE,
3
- GITHUB_REF_NAME,
4
- GITHUB_RUN_ID,
5
- GITHUB_REF,
6
- AWS_URL,
7
- AWS_ACCESS_KEY_ID,
8
- AWS_SECRET_ACCESS_KEY,
9
- GH_TOKEN,
10
- CSC_IDENTITY_AUTO_DISCOVERY
11
- } = process.env;
12
- const isGithubTag = GITHUB_REF_TYPE === "tag";
13
- const isGithubMaster = GITHUB_REF_TYPE === "branch" && GITHUB_REF_NAME === "master";
14
- const isDevPublish = AWS_URL == null ? void 0 : AWS_URL.includes(":9000");
15
- const isNoAutoDiscovery = CSC_IDENTITY_AUTO_DISCOVERY === "false";
16
- const isSkipPublish = !isDevPublish && !isGithubMaster && !isGithubTag;
17
- const channel = isGithubTag ? "latest" : GITHUB_REF_NAME;
18
- function getVersion() {
19
- if (isGithubMaster) {
20
- return `0.0.${GITHUB_RUN_ID}`;
21
- }
22
- if (isGithubTag) {
23
- return GITHUB_REF.split("/").pop();
24
- }
25
- return `0.0.${Date.now()}`;
26
- }
27
- function getTarget() {
28
- const arch = ["arm64", isNoAutoDiscovery ? "" : "x64"].filter(Boolean);
29
- const target = [
30
- {
31
- target: "dmg",
32
- arch
33
- },
34
- {
35
- target: "zip",
36
- arch
37
- }
38
- ];
39
- if (isNoAutoDiscovery) {
40
- console.log("Skipping signing...");
41
- delete process.env.CSC_LINK;
42
- return [target[0]];
43
- }
44
- return target;
45
- }
46
- function builerConfig(options) {
47
- var _a;
48
- if (options.s3 && (!AWS_URL || !AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY)) {
49
- throw new Error("Missing AWS configuration");
50
- }
51
- if (options.githubReleases && !GH_TOKEN) {
52
- throw new Error("Missing AWS configuration");
53
- }
54
- const config = {
55
- files: [
56
- "**/*",
57
- "!electron-builder.js",
58
- "!electron-builder.yml",
59
- "!package.json",
60
- "assets",
61
- ...options.config.files
62
- ],
63
- directories: {
64
- buildResources: "assets"
65
- },
66
- mac: {
67
- category: ((_a = options.config.mac) == null ? void 0 : _a.category) ?? "public.app-category.utils",
68
- target: getTarget()
69
- },
70
- //TODO Windows target
71
- dmg: {
72
- contents: [
73
- {
74
- x: 130,
75
- y: 130
76
- },
77
- {
78
- x: 370,
79
- y: 130,
80
- type: "link",
81
- path: "/Applications"
82
- }
83
- ]
84
- },
85
- publish: [
86
- options.s3 && {
87
- provider: "s3",
88
- endpoint: AWS_URL,
89
- channel,
90
- ...options.s3
91
- // bucket
92
- },
93
- options.githubReleases && GH_TOKEN && (isGithubTag || isGithubMaster) && {
94
- provider: "github",
95
- private: true,
96
- token: GH_TOKEN,
97
- releaseType: isGithubTag ? "release" : "draft",
98
- channel,
99
- ...options.githubReleases
100
- // repo, owner
101
- }
102
- ].filter(Boolean),
103
- extraMetadata: {
104
- version: getVersion()
105
- }
106
- };
107
- if (isSkipPublish) {
108
- delete config.publish;
109
- delete config.extraMetadata;
110
- }
111
- console.log("Electron Builder context", {
112
- isDevPublish,
113
- isGithubMaster,
114
- isGithubTag,
115
- isSkipPublish,
116
- isNoAutoDiscovery,
117
- channel,
118
- GITHUB_RUN_ID,
119
- GITHUB_REF_TYPE,
120
- GITHUB_REF_NAME,
121
- CSC_IDENTITY_AUTO_DISCOVERY,
122
- AWS_URL
123
- });
124
- console.log("Electron Builder configuration", JSON.stringify(config, null, 2));
125
- return config;
126
- }
127
- export {
128
- builerConfig
129
- };
130
- //# sourceMappingURL=builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.js","sources":["../../src/electron-builder/builder.ts"],"sourcesContent":["import type { Configuration, MacConfiguration } from 'electron-builder';\nimport type { GithubOptions, S3Options } from 'builder-util-runtime';\n\nconst {\n GITHUB_REF_TYPE,\n GITHUB_REF_NAME,\n GITHUB_RUN_ID,\n GITHUB_REF,\n AWS_URL,\n AWS_ACCESS_KEY_ID,\n AWS_SECRET_ACCESS_KEY,\n GH_TOKEN,\n CSC_IDENTITY_AUTO_DISCOVERY,\n} = process.env;\n\nconst isGithubTag = GITHUB_REF_TYPE === 'tag';\nconst isGithubMaster = GITHUB_REF_TYPE === 'branch' && GITHUB_REF_NAME === 'master';\nconst isDevPublish = AWS_URL?.includes(':9000');\nconst isNoAutoDiscovery = CSC_IDENTITY_AUTO_DISCOVERY === 'false';\nconst isSkipPublish = !isDevPublish && !isGithubMaster && !isGithubTag;\n\n//FIXME Refine logic, tags should be versions, not channels, use branches? See how Changesets does it\nconst channel = isGithubTag ? 'latest' : GITHUB_REF_NAME; // https://www.electron.build/tutorials/release-using-channels.html\n\nfunction getVersion() {\n if (isGithubMaster) {\n return `0.0.${GITHUB_RUN_ID}`; //TODO Figure out last normal in master and bump it\n }\n if (isGithubTag) {\n return GITHUB_REF!.split('/').pop();\n }\n return `0.0.${Date.now()}`; //TODO Read from package.json?\n}\n\nfunction getTarget() {\n const arch = ['arm64', isNoAutoDiscovery ? '' : 'x64'].filter(Boolean) as any;\n\n const target: MacConfiguration['target'] = [\n {\n target: 'dmg',\n arch,\n },\n {\n target: 'zip',\n arch,\n },\n ];\n\n // Leave only DMG if no signing\n if (isNoAutoDiscovery) {\n console.log('Skipping signing...');\n delete process.env.CSC_LINK;\n return [target[0]]; // only keep DMG\n }\n\n return target;\n}\n\nexport function builerConfig(options: {\n config: Configuration;\n s3?: Pick<S3Options, 'bucket'> & Partial<S3Options>; //TODO Omit?\n githubReleases: Pick<GithubOptions, 'owner' | 'repo'> & Partial<GithubOptions>;\n}): Configuration {\n if (options.s3 && (!AWS_URL || !AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY)) {\n throw new Error('Missing AWS configuration');\n }\n\n if (options.githubReleases && !GH_TOKEN) {\n throw new Error('Missing AWS configuration');\n }\n\n const config: Configuration = {\n files: [\n '**/*',\n '!electron-builder.js',\n '!electron-builder.yml',\n '!package.json',\n 'assets',\n ...(options.config.files as never),\n ],\n directories: {\n buildResources: 'assets',\n },\n mac: {\n category: options.config.mac?.category ?? 'public.app-category.utils',\n target: getTarget(),\n },\n //TODO Windows target\n dmg: {\n contents: [\n {\n x: 130,\n y: 130,\n },\n {\n x: 370,\n y: 130,\n type: 'link',\n path: '/Applications',\n },\n ],\n },\n publish: [\n options.s3 &&\n ({\n provider: 's3',\n endpoint: AWS_URL,\n channel,\n ...options.s3, // bucket\n } as S3Options),\n options.githubReleases &&\n GH_TOKEN &&\n (isGithubTag || isGithubMaster) &&\n ({\n provider: 'github',\n private: true,\n token: GH_TOKEN,\n releaseType: isGithubTag ? 'release' : 'draft',\n channel,\n ...options.githubReleases, // repo, owner\n } as GithubOptions),\n ].filter(Boolean) as never,\n extraMetadata: {\n version: getVersion(),\n },\n };\n\n if (isSkipPublish) {\n delete config.publish;\n delete (config as never as any).extraMetadata;\n }\n\n console.log('Electron Builder context', {\n isDevPublish,\n isGithubMaster,\n isGithubTag,\n isSkipPublish,\n isNoAutoDiscovery,\n channel,\n GITHUB_RUN_ID: GITHUB_RUN_ID,\n GITHUB_REF_TYPE: GITHUB_REF_TYPE,\n GITHUB_REF_NAME: GITHUB_REF_NAME,\n CSC_IDENTITY_AUTO_DISCOVERY: CSC_IDENTITY_AUTO_DISCOVERY,\n AWS_URL: AWS_URL,\n });\n\n console.log('Electron Builder configuration', JSON.stringify(config, null, 2));\n\n return config;\n}\n"],"names":[],"mappings":"AAGA,MAAM;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,IAAI,QAAQ;AAEZ,MAAM,cAAc,oBAAoB;AACxC,MAAM,iBAAiB,oBAAoB,YAAY,oBAAoB;AAC3E,MAAM,eAAe,mCAAS,SAAS;AACvC,MAAM,oBAAoB,gCAAgC;AAC1D,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;AAG3D,MAAM,UAAU,cAAc,WAAW;AAEzC,SAAS,aAAa;AAClB,MAAI,gBAAgB;AAChB,WAAO,OAAO,aAAa;AAAA,EAAA;AAE/B,MAAI,aAAa;AACb,WAAO,WAAY,MAAM,GAAG,EAAE,IAAI;AAAA,EAAA;AAE/B,SAAA,OAAO,KAAK,IAAK,CAAA;AAC5B;AAEA,SAAS,YAAY;AACX,QAAA,OAAO,CAAC,SAAS,oBAAoB,KAAK,KAAK,EAAE,OAAO,OAAO;AAErE,QAAM,SAAqC;AAAA,IACvC;AAAA,MACI,QAAQ;AAAA,MACR;AAAA,IACJ;AAAA,IACA;AAAA,MACI,QAAQ;AAAA,MACR;AAAA,IAAA;AAAA,EAER;AAGA,MAAI,mBAAmB;AACnB,YAAQ,IAAI,qBAAqB;AACjC,WAAO,QAAQ,IAAI;AACZ,WAAA,CAAC,OAAO,CAAC,CAAC;AAAA,EAAA;AAGd,SAAA;AACX;AAEO,SAAS,aAAa,SAIX;AA3DlB;AA4DI,MAAI,QAAQ,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,wBAAwB;AACpE,UAAA,IAAI,MAAM,2BAA2B;AAAA,EAAA;AAG3C,MAAA,QAAQ,kBAAkB,CAAC,UAAU;AAC/B,UAAA,IAAI,MAAM,2BAA2B;AAAA,EAAA;AAG/C,QAAM,SAAwB;AAAA,IAC1B,OAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAI,QAAQ,OAAO;AAAA,IACvB;AAAA,IACA,aAAa;AAAA,MACT,gBAAgB;AAAA,IACpB;AAAA,IACA,KAAK;AAAA,MACD,YAAU,aAAQ,OAAO,QAAf,mBAAoB,aAAY;AAAA,MAC1C,QAAQ,UAAU;AAAA,IACtB;AAAA;AAAA,IAEA,KAAK;AAAA,MACD,UAAU;AAAA,QACN;AAAA,UACI,GAAG;AAAA,UACH,GAAG;AAAA,QACP;AAAA,QACA;AAAA,UACI,GAAG;AAAA,UACH,GAAG;AAAA,UACH,MAAM;AAAA,UACN,MAAM;AAAA,QAAA;AAAA,MACV;AAAA,IAER;AAAA,IACA,SAAS;AAAA,MACL,QAAQ,MACH;AAAA,QACG,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA,GAAG,QAAQ;AAAA;AAAA,MACf;AAAA,MACJ,QAAQ,kBACJ,aACC,eAAe,mBACf;AAAA,QACG,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,aAAa,cAAc,YAAY;AAAA,QACvC;AAAA,QACA,GAAG,QAAQ;AAAA;AAAA,MAAA;AAAA,IACf,EACN,OAAO,OAAO;AAAA,IAChB,eAAe;AAAA,MACX,SAAS,WAAW;AAAA,IAAA;AAAA,EAE5B;AAEA,MAAI,eAAe;AACf,WAAO,OAAO;AACd,WAAQ,OAAwB;AAAA,EAAA;AAGpC,UAAQ,IAAI,4BAA4B;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACH;AAED,UAAQ,IAAI,kCAAkC,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAEtE,SAAA;AACX;"}
@@ -1,7 +0,0 @@
1
- export declare function generateImages({ iconPsdPath, dmgBackgroundPsdPath, electronAssetsPath, webPublicPath, }: {
2
- iconPsdPath: string;
3
- dmgBackgroundPsdPath: string;
4
- electronAssetsPath: string;
5
- webPublicPath: string;
6
- }): Promise<void>;
7
- //# sourceMappingURL=images.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/electron-builder/images.ts"],"names":[],"mappings":"AAIA,wBAAsB,cAAc,CAAC,EACjC,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GAChB,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB"}
@@ -1,25 +0,0 @@
1
- import psd from "psd";
2
- import sharp from "sharp";
3
- import path from "node:path";
4
- async function generateImages({
5
- iconPsdPath,
6
- dmgBackgroundPsdPath,
7
- electronAssetsPath,
8
- webPublicPath
9
- }) {
10
- const iconPsd = await psd.open(iconPsdPath);
11
- await iconPsd.image.saveAsPng(path.join(electronAssetsPath, "icon.png"));
12
- const bgPsd = await psd.open(dmgBackgroundPsdPath);
13
- await bgPsd.image.saveAsPng(path.join(electronAssetsPath, "background@2x.png"));
14
- const iconPng = sharp(path.join(electronAssetsPath, "icon.png"));
15
- const bgPng = sharp(path.join(electronAssetsPath, "background@2x.png"));
16
- await bgPng.resize(500).toFile(path.join(electronAssetsPath, "background.png"));
17
- await iconPng.toFile(path.join(electronAssetsPath, "splash.webp"));
18
- await iconPng.toFile(path.join(electronAssetsPath, "icon.icns"));
19
- await iconPng.toFile(path.join(webPublicPath, "icon.png"));
20
- await iconPng.resize(32).toFile(path.join(webPublicPath, "favicon.ico"));
21
- }
22
- export {
23
- generateImages
24
- };
25
- //# sourceMappingURL=images.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.js","sources":["../../src/electron-builder/images.ts"],"sourcesContent":["import psd from 'psd';\nimport sharp from 'sharp';\nimport path from 'node:path';\n\nexport async function generateImages({\n iconPsdPath,\n dmgBackgroundPsdPath,\n electronAssetsPath,\n webPublicPath,\n}: {\n iconPsdPath: string;\n dmgBackgroundPsdPath: string;\n electronAssetsPath: string;\n webPublicPath: string;\n}): Promise<void> {\n const iconPsd = await psd.open(iconPsdPath);\n await iconPsd.image!.saveAsPng(path.join(electronAssetsPath, 'icon.png'));\n\n const bgPsd = await psd.open(dmgBackgroundPsdPath);\n await bgPsd.image!.saveAsPng(path.join(electronAssetsPath, 'background@2x.png'));\n\n const iconPng = sharp(path.join(electronAssetsPath, 'icon.png'));\n const bgPng = sharp(path.join(electronAssetsPath, 'background@2x.png'));\n\n await bgPng.resize(500).toFile(path.join(electronAssetsPath, 'background.png'));\n\n await iconPng.toFile(path.join(electronAssetsPath, 'splash.webp'));\n await iconPng.toFile(path.join(electronAssetsPath, 'icon.icns'));\n\n //TODO Crop without icon BG\n await iconPng.toFile(path.join(webPublicPath, 'icon.png'));\n await iconPng.resize(32).toFile(path.join(webPublicPath, 'favicon.ico'));\n}\n"],"names":[],"mappings":";;;AAIA,eAAsB,eAAe;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAKkB;AACd,QAAM,UAAU,MAAM,IAAI,KAAK,WAAW;AAC1C,QAAM,QAAQ,MAAO,UAAU,KAAK,KAAK,oBAAoB,UAAU,CAAC;AAExE,QAAM,QAAQ,MAAM,IAAI,KAAK,oBAAoB;AACjD,QAAM,MAAM,MAAO,UAAU,KAAK,KAAK,oBAAoB,mBAAmB,CAAC;AAE/E,QAAM,UAAU,MAAM,KAAK,KAAK,oBAAoB,UAAU,CAAC;AAC/D,QAAM,QAAQ,MAAM,KAAK,KAAK,oBAAoB,mBAAmB,CAAC;AAEhE,QAAA,MAAM,OAAO,GAAG,EAAE,OAAO,KAAK,KAAK,oBAAoB,gBAAgB,CAAC;AAE9E,QAAM,QAAQ,OAAO,KAAK,KAAK,oBAAoB,aAAa,CAAC;AACjE,QAAM,QAAQ,OAAO,KAAK,KAAK,oBAAoB,WAAW,CAAC;AAG/D,QAAM,QAAQ,OAAO,KAAK,KAAK,eAAe,UAAU,CAAC;AACnD,QAAA,QAAQ,OAAO,EAAE,EAAE,OAAO,KAAK,KAAK,eAAe,aAAa,CAAC;AAC3E;"}
@@ -1,7 +0,0 @@
1
- import { builerConfig } from "./builder.js";
2
- import { generateImages } from "./images.js";
3
- export {
4
- builerConfig,
5
- generateImages
6
- };
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,5 +0,0 @@
1
- import { FC } from 'react';
2
- import { GenericControlProps } from './genericControl';
3
- export type FormControlFieldsetProps = GenericControlProps;
4
- export declare const FormControlFieldset: FC<FormControlFieldsetProps>;
5
- //# sourceMappingURL=formControlFieldset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formControlFieldset.d.ts","sourceRoot":"","sources":["../../src/mui/formControlFieldset.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAkB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAmB5D,CAAC"}
@@ -1,28 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { GenericControl } from "./genericControl.js";
3
- import { inputClasses } from "@mui/material/Input";
4
- const FormControlFieldset = function FormControlFieldset2({
5
- children,
6
- sx,
7
- ...props
8
- }) {
9
- return /* @__PURE__ */ jsx(
10
- GenericControl,
11
- {
12
- ...props,
13
- component: "fieldset",
14
- sx: {
15
- ...sx,
16
- [`legend + .${inputClasses.root}`]: {
17
- marginTop: 2
18
- //FIXME 16px, hardcoded from @mui/material/Input/Input.js @ 59
19
- }
20
- },
21
- children
22
- }
23
- );
24
- };
25
- export {
26
- FormControlFieldset
27
- };
28
- //# sourceMappingURL=formControlFieldset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formControlFieldset.js","sources":["../../src/mui/formControlFieldset.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { GenericControl, GenericControlProps } from './genericControl';\nimport { inputClasses } from '@mui/material/Input';\n\nexport type FormControlFieldsetProps = GenericControlProps;\n\nexport const FormControlFieldset: FC<FormControlFieldsetProps> = function FormControlFieldset({\n children,\n sx,\n ...props\n}) {\n return (\n <GenericControl\n {...props}\n component=\"fieldset\"\n sx={{\n ...sx,\n [`legend + .${inputClasses.root}`]: {\n marginTop: 2, //FIXME 16px, hardcoded from @mui/material/Input/Input.js @ 59\n },\n }}\n >\n {children}\n </GenericControl>\n );\n};\n"],"names":["FormControlFieldset"],"mappings":";;;AAMa,MAAA,sBAAoD,SAASA,qBAAoB;AAAA,EAC1F;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAAG;AAEK,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ,WAAU;AAAA,MACV,IAAI;AAAA,QACA,GAAG;AAAA,QACH,CAAC,aAAa,aAAa,IAAI,EAAE,GAAG;AAAA,UAChC,WAAW;AAAA;AAAA,QAAA;AAAA,MAEnB;AAAA,MAEC;AAAA,IAAA;AAAA,EACL;AAER;"}
@@ -1,7 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { GenericControl } from './genericControl';
3
- declare const meta: Meta<typeof GenericControl>;
4
- export default meta;
5
- type Story = StoryObj<typeof meta>;
6
- export declare const Default: Story;
7
- //# sourceMappingURL=formControlFieldset.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formControlFieldset.stories.d.ts","sourceRoot":"","sources":["../../src/mui/formControlFieldset.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CA6CC,CAAC;AAExC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAQnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { FC } from 'react';
2
- import { InputLabelProps } from '@mui/material/InputLabel';
3
- export declare const FormLabelLegend: FC<InputLabelProps>;
4
- //# sourceMappingURL=formLabelLegend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formLabelLegend.d.ts","sourceRoot":"","sources":["../../src/mui/formLabelLegend.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAyB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAElF,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,eAAe,CAO/C,CAAC"}
@@ -1,12 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import InputLabel from "@mui/material/InputLabel";
3
- const FormLabelLegend = ({ children, ...props }) => {
4
- return (
5
- // sx={(theme) => theme.typography.caption}
6
- /* @__PURE__ */ jsx(InputLabel, { ...props, shrink: true, component: "legend", children })
7
- );
8
- };
9
- export {
10
- FormLabelLegend
11
- };
12
- //# sourceMappingURL=formLabelLegend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formLabelLegend.js","sources":["../../src/mui/formLabelLegend.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { default as InputLabel, InputLabelProps } from '@mui/material/InputLabel';\n\nexport const FormLabelLegend: FC<InputLabelProps> = ({ children, ...props }) => {\n return (\n // sx={(theme) => theme.typography.caption}\n <InputLabel {...props} shrink={true} component={'legend' as any}>\n {children}\n </InputLabel>\n );\n};\n"],"names":[],"mappings":";;AAGO,MAAM,kBAAuC,CAAC,EAAE,UAAU,GAAG,YAAY;AAC5E;AAAA;AAAA,IAEI,oBAAC,cAAY,GAAG,OAAO,QAAQ,MAAM,WAAW,UAC3C,SACL,CAAA;AAAA;AAER;"}
@@ -1,7 +0,0 @@
1
- import { FC } from 'react';
2
- import { FormControlProps } from '@mui/material/FormControl';
3
- export type GenericControlProps = FormControlProps & {
4
- children: any;
5
- };
6
- export declare const GenericControl: FC<GenericControlProps>;
7
- //# sourceMappingURL=genericControl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genericControl.d.ts","sourceRoot":"","sources":["../../src/mui/genericControl.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,2BAA2B,CAAC;AAGrF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAalD,CAAC"}
@@ -1,21 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import FormControl from "@mui/material/FormControl";
3
- import { inputClasses } from "@mui/material/Input";
4
- const GenericControl = ({ children, sx, ...props }) => /* @__PURE__ */ jsx(
5
- FormControl,
6
- {
7
- variant: "standard",
8
- sx: {
9
- ...sx,
10
- [`& .${inputClasses.root}`]: {
11
- "&:before, &:after": { display: "none" }
12
- }
13
- },
14
- ...props,
15
- children
16
- }
17
- );
18
- export {
19
- GenericControl
20
- };
21
- //# sourceMappingURL=genericControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genericControl.js","sources":["../../src/mui/genericControl.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { FormControlProps, default as FormControl } from '@mui/material/FormControl';\nimport { inputClasses } from '@mui/material/Input';\n\nexport type GenericControlProps = FormControlProps & { children: any };\n\nexport const GenericControl: FC<GenericControlProps> = ({ children, sx, ...props }) => (\n <FormControl\n variant=\"standard\"\n sx={{\n ...sx,\n [`& .${inputClasses.root}`]: {\n '&:before, &:after': { display: 'none' },\n },\n }}\n {...props}\n >\n {children}\n </FormControl>\n);\n"],"names":[],"mappings":";;;AAMO,MAAM,iBAA0C,CAAC,EAAE,UAAU,IAAI,GAAG,MACvE,MAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,SAAQ;AAAA,IACR,IAAI;AAAA,MACA,GAAG;AAAA,MACH,CAAC,MAAM,aAAa,IAAI,EAAE,GAAG;AAAA,QACzB,qBAAqB,EAAE,SAAS,OAAO;AAAA,MAAA;AAAA,IAE/C;AAAA,IACC,GAAG;AAAA,IAEH;AAAA,EAAA;AACL;"}
package/dist/mui/index.js DELETED
@@ -1,11 +0,0 @@
1
- import { FormControlFieldset } from "./formControlFieldset.js";
2
- import { FormLabelLegend } from "./formLabelLegend.js";
3
- import { GenericControl } from "./genericControl.js";
4
- import { ReadOnly } from "./readOnly.js";
5
- export {
6
- FormControlFieldset,
7
- FormLabelLegend,
8
- GenericControl,
9
- ReadOnly
10
- };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,6 +0,0 @@
1
- import { FC } from 'react';
2
- import { InputProps } from '@mui/material/Input';
3
- export declare const ReadOnly: FC<InputProps & {
4
- children: any;
5
- }>;
6
- //# sourceMappingURL=readOnly.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readOnly.d.ts","sourceRoot":"","sources":["../../src/mui/readOnly.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,UAAU,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,CAEvD,CAAC"}
@@ -1,7 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import Input from "@mui/material/Input";
3
- const ReadOnly = ({ children, inputProps, ...props }) => /* @__PURE__ */ jsx(Input, { ...props, inputComponent: "div", inputProps: { ...inputProps, children } });
4
- export {
5
- ReadOnly
6
- };
7
- //# sourceMappingURL=readOnly.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readOnly.js","sources":["../../src/mui/readOnly.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { default as Input, InputProps } from '@mui/material/Input';\n\nexport const ReadOnly: FC<InputProps & { children: any }> = ({ children, inputProps, ...props }) => (\n <Input {...props} inputComponent={'div' as any} inputProps={{ ...inputProps, children }}></Input>\n);\n"],"names":[],"mappings":";;AAGO,MAAM,WAA+C,CAAC,EAAE,UAAU,YAAY,GAAG,YACpF,oBAAC,SAAO,GAAG,OAAO,gBAAgB,OAAc,YAAY,EAAE,GAAG,YAAY,WAAY,CAAA;"}
@@ -1,8 +0,0 @@
1
- import { ComponentProps, FC } from 'react';
2
- import { default as Link, LinkProps } from 'next/link';
3
- export declare const AppLink: FC<{
4
- children: any;
5
- exact?: boolean;
6
- activeClassName?: any;
7
- } & LinkProps & ComponentProps<typeof Link>>;
8
- //# sourceMappingURL=appLink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appLink.d.ts","sourceRoot":"","sources":["../../src/next/appLink.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAI5C,eAAO,MAAM,OAAO,EAAE,EAAE,CACpB;IACI,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,GAAG,CAAC;CACzB,GAAG,SAAS,GACT,cAAc,CAAC,OAAO,IAAI,CAAC,CAyBlC,CAAC"}
@@ -1,34 +0,0 @@
1
- "use client";
2
- import { jsx } from "react/jsx-runtime";
3
- import { usePathname } from "next/navigation";
4
- import Link from "next/link";
5
- import clsx from "clsx";
6
- const AppLink = function AppLink2({
7
- href,
8
- children,
9
- className = "",
10
- activeClassName = "",
11
- prefetch = false,
12
- // set explicit default
13
- exact = false,
14
- ...props
15
- }) {
16
- const pathname = usePathname();
17
- const hrefPath = typeof href === "string" ? href : href.pathname || "/";
18
- return /* @__PURE__ */ jsx(
19
- Link,
20
- {
21
- ...props,
22
- href,
23
- className: clsx(className, {
24
- [activeClassName]: !exact && pathname.startsWith(hrefPath) || exact && pathname === hrefPath
25
- }),
26
- prefetch,
27
- children
28
- }
29
- );
30
- };
31
- export {
32
- AppLink
33
- };
34
- //# sourceMappingURL=appLink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appLink.js","sources":["../../src/next/appLink.tsx"],"sourcesContent":["'use client';\n\nimport React, { ComponentProps, FC } from 'react';\nimport { usePathname } from 'next/navigation';\nimport Link, { LinkProps } from 'next/link';\nimport clsx from 'clsx';\n\n//TODO Test this\nexport const AppLink: FC<\n {\n children: any;\n exact?: boolean;\n activeClassName?: any;\n } & LinkProps &\n ComponentProps<typeof Link>\n> = function AppLink({\n href,\n children,\n className = '',\n activeClassName = '',\n prefetch = false, // set explicit default\n exact = false,\n ...props\n}) {\n const pathname = usePathname();\n const hrefPath = typeof href === 'string' ? href : href.pathname || '/';\n\n return (\n <Link\n {...props}\n href={href}\n className={clsx(className, {\n [activeClassName]: (!exact && pathname.startsWith(hrefPath)) || (exact && pathname === hrefPath),\n })}\n prefetch={prefetch}\n >\n {children}\n </Link>\n );\n};\n"],"names":["AppLink"],"mappings":";;;;;AAQa,MAAA,UAOT,SAASA,SAAQ;AAAA,EACjB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,WAAW;AAAA;AAAA,EACX,QAAQ;AAAA,EACR,GAAG;AACP,GAAG;AACC,QAAM,WAAW,YAAY;AAC7B,QAAM,WAAW,OAAO,SAAS,WAAW,OAAO,KAAK,YAAY;AAGhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,WAAW;AAAA,QACvB,CAAC,eAAe,GAAI,CAAC,SAAS,SAAS,WAAW,QAAQ,KAAO,SAAS,aAAa;AAAA,MAAA,CAC1F;AAAA,MACD;AAAA,MAEC;AAAA,IAAA;AAAA,EACL;AAER;"}
@@ -1,15 +0,0 @@
1
- import { AppLink } from "./appLink.js";
2
- import { isProd, measurer } from "./measure.js";
3
- import { NoSSR } from "./noSSR.js";
4
- import "next/navigation";
5
- import "react";
6
- import { useIsIndex, useIsInner } from "./useIsInner.js";
7
- export {
8
- AppLink,
9
- NoSSR,
10
- isProd,
11
- measurer,
12
- useIsIndex,
13
- useIsInner
14
- };
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,15 +0,0 @@
1
- export declare const isProd: boolean;
2
- export declare const measurer: {
3
- measure: (what: string, step: string, supplemental?: string, ...args: any[]) => {
4
- done: (result?: string, ...args2: any[]) => void;
5
- fail: (result?: string, ...args2: any[]) => void;
6
- log: (...args2: any[]) => void;
7
- };
8
- important: (str: any) => any;
9
- subject: (str: any) => any;
10
- arg: (str: any) => any;
11
- sup: (str: any) => any;
12
- ok: (str: any) => any;
13
- err: (str: any) => any;
14
- };
15
- //# sourceMappingURL=measure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../src/next/measure.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,EAAE,OACsF,CAAC;AAE5G,eAAO,MAAM,QAAQ,EAAE;IACnB,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,GAAG,IAAI,EAAE,GAAG,EAAE,KACb;QACD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACjD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACjD,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACvB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IACtB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CACW,CAAC"}
@@ -1,9 +0,0 @@
1
- import { createMeasurer } from "../core/measure.js";
2
- import { PHASE_PRODUCTION_BUILD, PHASE_PRODUCTION_SERVER } from "next/constants";
3
- const isProd = process.env.NEXT_PHASE === PHASE_PRODUCTION_BUILD || process.env.NEXT_PHASE === PHASE_PRODUCTION_SERVER;
4
- const measurer = createMeasurer({ colors: isProd });
5
- export {
6
- isProd,
7
- measurer
8
- };
9
- //# sourceMappingURL=measure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measure.js","sources":["../../src/next/measure.ts"],"sourcesContent":["import { createMeasurer } from '../core/measure';\nimport { PHASE_PRODUCTION_BUILD, PHASE_PRODUCTION_SERVER } from 'next/constants';\n\nexport const isProd: boolean =\n process.env.NEXT_PHASE === PHASE_PRODUCTION_BUILD || process.env.NEXT_PHASE === PHASE_PRODUCTION_SERVER;\n\nexport const measurer: {\n measure: (\n what: string,\n step: string,\n supplemental?: string,\n ...args: any[]\n ) => {\n done: (result?: string, ...args2: any[]) => void;\n fail: (result?: string, ...args2: any[]) => void;\n log: (...args2: any[]) => void;\n };\n important: (str: any) => any;\n subject: (str: any) => any;\n arg: (str: any) => any;\n sup: (str: any) => any;\n ok: (str: any) => any;\n err: (str: any) => any;\n} = createMeasurer({ colors: isProd });\n"],"names":[],"mappings":";;AAGO,MAAM,SACT,QAAQ,IAAI,eAAe,0BAA0B,QAAQ,IAAI,eAAe;AAE7E,MAAM,WAiBT,eAAe,EAAE,QAAQ,OAAQ,CAAA;"}
@@ -1,29 +0,0 @@
1
- import { FC, JSX } from 'react';
2
- /**
3
- * Prefer using Next.js `dynamic()` import with `ssr: false` because this will also remove import from server bundle.
4
- *
5
- * ```tsx
6
- * 'use client';
7
- *
8
- * import React from 'react';
9
- * import dynamic from 'next/dynamic';
10
- *
11
- * const PageClient = dynamic(() => import('./pageClient'), { ssr: false });
12
- *
13
- * export default function Page() {
14
- * return (
15
- * <PageClient />
16
- * );
17
- * }
18
- * ```
19
- *
20
- * In other cases this component can be used to just prevent server rendering.
21
- *
22
- * @see https://github.com/kadirahq/react-no-ssr/blob/master/src/index.js
23
- * @see https://nextjs.org/docs/messages/react-hydration-error#solution-1-using-useeffect-to-run-on-the-client-only
24
- */
25
- export declare const NoSSR: FC<{
26
- children: any;
27
- onSSR?: JSX.Element;
28
- }>;
29
- //# sourceMappingURL=noSSR.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noSSR.d.ts","sourceRoot":"","sources":["../../src/next/noSSR.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAE,GAAG,EAA6B,MAAM,OAAO,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,CAQ5D,CAAC"}
@@ -1,13 +0,0 @@
1
- "use client";
2
- import { useState, useLayoutEffect } from "react";
3
- const NoSSR = function NoSSR2({ children, onSSR = null }) {
4
- const [canRender, setCanRender] = useState(false);
5
- useLayoutEffect(() => {
6
- setCanRender(true);
7
- }, []);
8
- return canRender ? children : onSSR;
9
- };
10
- export {
11
- NoSSR
12
- };
13
- //# sourceMappingURL=noSSR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noSSR.js","sources":["../../src/next/noSSR.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, JSX, useLayoutEffect, useState } from 'react';\n\n/**\n * Prefer using Next.js `dynamic()` import with `ssr: false` because this will also remove import from server bundle.\n *\n * ```tsx\n * 'use client';\n *\n * import React from 'react';\n * import dynamic from 'next/dynamic';\n *\n * const PageClient = dynamic(() => import('./pageClient'), { ssr: false });\n *\n * export default function Page() {\n * return (\n * <PageClient />\n * );\n * }\n * ```\n *\n * In other cases this component can be used to just prevent server rendering.\n *\n * @see https://github.com/kadirahq/react-no-ssr/blob/master/src/index.js\n * @see https://nextjs.org/docs/messages/react-hydration-error#solution-1-using-useeffect-to-run-on-the-client-only\n */\nexport const NoSSR: FC<{ children: any; onSSR?: JSX.Element }> = function NoSSR({ children, onSSR = null }): any {\n const [canRender, setCanRender] = useState(false);\n\n useLayoutEffect(() => {\n setCanRender(true);\n }, []);\n\n return canRender ? children : onSSR;\n};\n"],"names":["NoSSR"],"mappings":";;AA2BO,MAAM,QAAoD,SAASA,OAAM,EAAE,UAAU,QAAQ,QAAa;AAC7G,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,kBAAgB,MAAM;AAClB,iBAAa,IAAI;AAAA,EACrB,GAAG,EAAE;AAEL,SAAO,YAAY,WAAW;AAClC;"}
@@ -1,6 +0,0 @@
1
- import { LinkProps } from 'next/link';
2
- export default function Redirect({ to, replace }: {
3
- to: LinkProps['href'];
4
- replace?: LinkProps['replace'];
5
- }): null;
6
- //# sourceMappingURL=redirect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../src/next/redirect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAAE,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAAE,QAM1G"}
@@ -1,3 +0,0 @@
1
- export declare const useIsInner: () => boolean;
2
- export declare const useIsIndex: () => boolean;
3
- //# sourceMappingURL=useIsInner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsInner.d.ts","sourceRoot":"","sources":["../../src/next/useIsInner.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,QAAO,OAG7B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,OAG7B,CAAC"}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import { useSelectedLayoutSegments } from "next/navigation";
3
- const useIsInner = () => {
4
- const pathname = useSelectedLayoutSegments();
5
- return pathname.length > 0;
6
- };
7
- const useIsIndex = () => {
8
- const pathname = useSelectedLayoutSegments();
9
- return pathname.length === 0;
10
- };
11
- export {
12
- useIsIndex,
13
- useIsInner
14
- };
15
- //# sourceMappingURL=useIsInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsInner.js","sources":["../../src/next/useIsInner.ts"],"sourcesContent":["'use client';\n\nimport { useSelectedLayoutSegments } from 'next/navigation';\n\nexport const useIsInner = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length > 0;\n};\n\nexport const useIsIndex = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length === 0;\n};\n"],"names":[],"mappings":";;AAIO,MAAM,aAAa,MAAe;AACrC,QAAM,WAAW,0BAA0B;AAC3C,SAAO,SAAS,SAAS;AAC7B;AAEO,MAAM,aAAa,MAAe;AACrC,QAAM,WAAW,0BAA0B;AAC3C,SAAO,SAAS,WAAW;AAC/B;"}
@@ -1,6 +0,0 @@
1
- export declare const jsonContentType = "application/json";
2
- export type DataResponse<R> = Response & {
3
- data?: R;
4
- };
5
- export declare function apiCall<R>(url: string, init?: RequestInit): Promise<DataResponse<R>>;
6
- //# sourceMappingURL=apiCall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiCall.d.ts","sourceRoot":"","sources":["../../src/react/apiCall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAoB1F"}
@@ -1,24 +0,0 @@
1
- const jsonContentType = "application/json";
2
- async function apiCall(url, init) {
3
- var _a;
4
- const useBodyAsIs = !(init == null ? void 0 : init.body) || (init == null ? void 0 : init.body) instanceof FormData || typeof (init == null ? void 0 : init.body) === "string";
5
- const res = await fetch(url, {
6
- method: "POST",
7
- ...init,
8
- body: useBodyAsIs ? init == null ? void 0 : init.body : JSON.stringify(init.body),
9
- headers: {
10
- ...init == null ? void 0 : init.headers,
11
- ...useBodyAsIs ? {} : { "Content-Type": jsonContentType }
12
- }
13
- });
14
- if ((_a = res.headers.get("Content-Type")) == null ? void 0 : _a.includes(jsonContentType)) {
15
- res.data = await res.json();
16
- }
17
- if (!res.ok) throw new Error(res.statusText, { cause: res });
18
- return res;
19
- }
20
- export {
21
- apiCall,
22
- jsonContentType
23
- };
24
- //# sourceMappingURL=apiCall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiCall.js","sources":["../../src/react/apiCall.ts"],"sourcesContent":["export const jsonContentType = 'application/json';\n\nexport type DataResponse<R> = Response & { data?: R };\n\nexport async function apiCall<R>(url: string, init?: RequestInit): Promise<DataResponse<R>> {\n const useBodyAsIs = !init?.body || init?.body instanceof FormData || typeof init?.body === 'string';\n\n const res: DataResponse<R> = await fetch(url, {\n method: 'POST',\n ...init,\n body: useBodyAsIs ? init?.body : JSON.stringify(init.body),\n headers: {\n ...init?.headers,\n ...(useBodyAsIs ? {} : { 'Content-Type': jsonContentType }),\n },\n });\n\n if (res.headers.get('Content-Type')?.includes(jsonContentType)) {\n res.data = await res.json();\n }\n\n if (!res.ok) throw new Error(res.statusText, { cause: res });\n\n return res;\n}\n"],"names":[],"mappings":"AAAO,MAAM,kBAAkB;AAIT,eAAA,QAAW,KAAa,MAA8C;AAJrF;AAKG,QAAA,cAAc,EAAC,6BAAM,UAAQ,6BAAM,iBAAgB,YAAY,QAAO,6BAAM,UAAS;AAErF,QAAA,MAAuB,MAAM,MAAM,KAAK;AAAA,IAC1C,QAAQ;AAAA,IACR,GAAG;AAAA,IACH,MAAM,cAAc,6BAAM,OAAO,KAAK,UAAU,KAAK,IAAI;AAAA,IACzD,SAAS;AAAA,MACL,GAAG,6BAAM;AAAA,MACT,GAAI,cAAc,CAAA,IAAK,EAAE,gBAAgB,gBAAgB;AAAA,IAAA;AAAA,EAC7D,CACH;AAED,OAAI,SAAI,QAAQ,IAAI,cAAc,MAA9B,mBAAiC,SAAS,kBAAkB;AACxD,QAAA,OAAO,MAAM,IAAI,KAAK;AAAA,EAAA;AAG1B,MAAA,CAAC,IAAI,GAAU,OAAA,IAAI,MAAM,IAAI,YAAY,EAAE,OAAO,KAAK;AAEpD,SAAA;AACX;"}