@sealcode/sealgen 0.11.8 → 0.12.0

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 (694) hide show
  1. package/.madgerc +7 -0
  2. package/@types/components/components.d.ts +2 -2
  3. package/@types/components/toggle-modal.d.ts +1 -1
  4. package/@types/example.test.d.ts +1 -0
  5. package/@types/forms/controls/array.d.ts +7 -7
  6. package/@types/forms/controls/autocomplete.d.ts +3 -3
  7. package/@types/forms/controls/big-radio-group.d.ts +3 -3
  8. package/@types/forms/controls/checkbox-group.d.ts +4 -4
  9. package/@types/forms/controls/checkbox.d.ts +3 -3
  10. package/@types/forms/controls/checkboxed-list-input.d.ts +4 -4
  11. package/@types/forms/controls/collapsible-checkbox-group.d.ts +3 -3
  12. package/@types/forms/controls/collapsible-field-group.d.ts +2 -2
  13. package/@types/forms/controls/controls.d.ts +29 -29
  14. package/@types/forms/controls/derived-frame.d.ts +6 -6
  15. package/@types/forms/controls/derived.d.ts +3 -3
  16. package/@types/forms/controls/dropdown.d.ts +4 -4
  17. package/@types/forms/controls/editable-collection-subset.d.ts +3 -3
  18. package/@types/forms/controls/field-group.d.ts +2 -2
  19. package/@types/forms/controls/file.d.ts +5 -5
  20. package/@types/forms/controls/form-control.d.ts +2 -2
  21. package/@types/forms/controls/form-field-control.d.ts +3 -3
  22. package/@types/forms/controls/form-header.d.ts +2 -2
  23. package/@types/forms/controls/form-paragraph.d.ts +1 -1
  24. package/@types/forms/controls/frame.d.ts +1 -1
  25. package/@types/forms/controls/hidden-input.d.ts +3 -3
  26. package/@types/forms/controls/html.d.ts +2 -2
  27. package/@types/forms/controls/multiple-files.d.ts +5 -5
  28. package/@types/forms/controls/multiple-photos.d.ts +5 -5
  29. package/@types/forms/controls/number.d.ts +3 -3
  30. package/@types/forms/controls/photo.d.ts +7 -7
  31. package/@types/forms/controls/radio.d.ts +3 -3
  32. package/@types/forms/controls/reverse-single-reference.d.ts +1 -0
  33. package/@types/forms/controls/simple-input.d.ts +4 -4
  34. package/@types/forms/controls/textarea.d.ts +4 -4
  35. package/@types/forms/controls/tickable.d.ts +4 -4
  36. package/@types/forms/fields/boolean.d.ts +2 -2
  37. package/@types/forms/fields/checkboxed-list.d.ts +2 -2
  38. package/@types/forms/fields/collection-field.d.ts +2 -2
  39. package/@types/forms/fields/email.d.ts +1 -1
  40. package/@types/forms/fields/enum-multiple.d.ts +2 -2
  41. package/@types/forms/fields/enum.d.ts +2 -2
  42. package/@types/forms/fields/existing-sealious-value.d.ts +1 -1
  43. package/@types/forms/fields/field.d.ts +16 -16
  44. package/@types/forms/fields/file.d.ts +2 -2
  45. package/@types/forms/fields/multiple-files.d.ts +1 -1
  46. package/@types/forms/fields/number.d.ts +2 -2
  47. package/@types/forms/fields/pick-from-list.d.ts +3 -3
  48. package/@types/forms/fields/proxy-field.d.ts +1 -1
  49. package/@types/forms/fields/regexp.d.ts +2 -2
  50. package/@types/forms/fields/reverse-single-reference.d.ts +1 -1
  51. package/@types/forms/fields/simple-form-field.d.ts +2 -2
  52. package/@types/forms/fields/structured-array.d.ts +2 -2
  53. package/@types/forms/form.d.ts +3 -3
  54. package/@types/forms/form.test.d.ts +1 -1
  55. package/@types/forms/multiform.d.ts +4 -4
  56. package/@types/index.d.ts +17 -17
  57. package/@types/make-hidden-inputs.d.ts +2 -2
  58. package/@types/mount.d.ts +2 -2
  59. package/@types/page/list.d.ts +4 -4
  60. package/@types/page/mountable-with-fields.d.ts +4 -4
  61. package/@types/page/mountable.d.ts +1 -1
  62. package/@types/page/page.d.ts +4 -4
  63. package/@types/page/props-parser.d.ts +2 -2
  64. package/@types/page/sealious-list.d.ts +1 -1
  65. package/@types/page/stateful-page.d.ts +3 -3
  66. package/@types/remove-named-imports.d.ts +4 -0
  67. package/@types/run.d.ts +1 -0
  68. package/@types/src/add-collection.d.ts +1 -0
  69. package/@types/src/add-jdd-component.d.ts +1 -0
  70. package/@types/src/add-route.d.ts +3 -0
  71. package/@types/src/add-route.test.d.ts +1 -0
  72. package/@types/src/build.d.ts +3 -0
  73. package/@types/src/cli.d.ts +2 -0
  74. package/@types/src/components/components.d.ts +2 -0
  75. package/@types/src/components/tabs.d.ts +2 -0
  76. package/@types/src/components/toggle-modal.d.ts +7 -0
  77. package/@types/src/example.test.d.ts +1 -0
  78. package/@types/src/find-css-includes.d.ts +1 -0
  79. package/@types/src/forms/controls/array.d.ts +35 -0
  80. package/@types/src/forms/controls/autocomplete.d.ts +22 -0
  81. package/@types/src/forms/controls/big-radio-group.d.ts +14 -0
  82. package/@types/src/forms/controls/checkbox-group.d.ts +22 -0
  83. package/@types/src/forms/controls/checkbox.d.ts +15 -0
  84. package/@types/src/forms/controls/checkboxed-list-input.d.ts +14 -0
  85. package/@types/src/forms/controls/collapsible-checkbox-group.d.ts +11 -0
  86. package/@types/src/forms/controls/collapsible-field-group.d.ts +21 -0
  87. package/@types/src/forms/controls/controls.d.ts +29 -0
  88. package/@types/src/forms/controls/derived-frame.d.ts +22 -0
  89. package/@types/src/forms/controls/derived.d.ts +13 -0
  90. package/@types/src/forms/controls/dropdown.d.ts +30 -0
  91. package/@types/src/forms/controls/editable-collection-subset.d.ts +20 -0
  92. package/@types/src/forms/controls/field-group.d.ts +23 -0
  93. package/@types/src/forms/controls/file.d.ts +16 -0
  94. package/@types/src/forms/controls/form-control.d.ts +19 -0
  95. package/@types/src/forms/controls/form-field-control.d.ts +13 -0
  96. package/@types/src/forms/controls/form-header.d.ts +8 -0
  97. package/@types/src/forms/controls/form-paragraph.d.ts +7 -0
  98. package/@types/src/forms/controls/frame.d.ts +17 -0
  99. package/@types/src/forms/controls/hidden-input.d.ts +9 -0
  100. package/@types/src/forms/controls/html.d.ts +11 -0
  101. package/@types/src/forms/controls/multiple-files.d.ts +40 -0
  102. package/@types/src/forms/controls/multiple-photos.d.ts +18 -0
  103. package/@types/src/forms/controls/number.d.ts +13 -0
  104. package/@types/src/forms/controls/photo.d.ts +22 -0
  105. package/@types/src/forms/controls/radio.d.ts +16 -0
  106. package/@types/src/forms/controls/reverse-single-reference.d.ts +1 -0
  107. package/@types/src/forms/controls/simple-input.d.ts +32 -0
  108. package/@types/src/forms/controls/textarea.d.ts +25 -0
  109. package/@types/src/forms/controls/tickable.d.ts +24 -0
  110. package/@types/src/forms/fields/boolean.d.ts +17 -0
  111. package/@types/src/forms/fields/boolean.test.d.ts +1 -0
  112. package/@types/src/forms/fields/checkboxed-list.d.ts +20 -0
  113. package/@types/src/forms/fields/collection-field.d.ts +15 -0
  114. package/@types/src/forms/fields/email.d.ts +7 -0
  115. package/@types/src/forms/fields/email.test.d.ts +1 -0
  116. package/@types/src/forms/fields/enum-multiple.d.ts +18 -0
  117. package/@types/src/forms/fields/enum-multiple.test.d.ts +1 -0
  118. package/@types/src/forms/fields/enum.d.ts +18 -0
  119. package/@types/src/forms/fields/enum.test.d.ts +1 -0
  120. package/@types/src/forms/fields/existing-sealious-value.d.ts +6 -0
  121. package/@types/src/forms/fields/field.d.ts +43 -0
  122. package/@types/src/forms/fields/fields.d.ts +15 -0
  123. package/@types/src/forms/fields/file.d.ts +16 -0
  124. package/@types/src/forms/fields/multiple-files.d.ts +14 -0
  125. package/@types/src/forms/fields/number.d.ts +23 -0
  126. package/@types/src/forms/fields/number.test.d.ts +1 -0
  127. package/@types/src/forms/fields/pick-from-list.d.ts +14 -0
  128. package/@types/src/forms/fields/pick-from-list.test.d.ts +1 -0
  129. package/@types/src/forms/fields/proxy-field.d.ts +13 -0
  130. package/@types/src/forms/fields/regexp.d.ts +16 -0
  131. package/@types/src/forms/fields/regexp.test.d.ts +1 -0
  132. package/@types/src/forms/fields/reverse-single-reference.d.ts +13 -0
  133. package/@types/src/forms/fields/simple-form-field.d.ts +9 -0
  134. package/@types/src/forms/fields/structured-array.d.ts +14 -0
  135. package/@types/src/forms/form-types.d.ts +26 -0
  136. package/@types/src/forms/form.d.ts +31 -0
  137. package/@types/src/forms/form.test.d.ts +6 -0
  138. package/@types/src/forms/multiform.d.ts +24 -0
  139. package/@types/src/forms/multiform.test.d.ts +1 -0
  140. package/@types/src/generate-collections.d.ts +2 -0
  141. package/@types/src/generate-components.d.ts +1 -0
  142. package/@types/src/generate-routes.d.ts +1 -0
  143. package/@types/src/hehe.test.d.ts +1 -0
  144. package/@types/src/index.d.ts +27 -0
  145. package/@types/src/make-env.d.ts +1 -0
  146. package/@types/src/make-hidden-inputs.d.ts +5 -0
  147. package/@types/src/mount.d.ts +6 -0
  148. package/@types/src/notifier.d.ts +1 -0
  149. package/@types/src/page/access-control.d.ts +6 -0
  150. package/@types/src/page/default-list-filters.d.ts +6 -0
  151. package/@types/src/page/list.d.ts +47 -0
  152. package/@types/src/page/mountable-with-fields.d.ts +36 -0
  153. package/@types/src/page/mountable.d.ts +11 -0
  154. package/@types/src/page/page.d.ts +19 -0
  155. package/@types/src/page/props-parser.d.ts +16 -0
  156. package/@types/src/page/sealious-list.d.ts +19 -0
  157. package/@types/src/page/stateful-page.d.ts +34 -0
  158. package/@types/src/run.d.ts +1 -0
  159. package/@types/src/sample-index.d.ts +1 -0
  160. package/@types/src/sample-lib.d.ts +3 -0
  161. package/@types/src/sanitize.d.ts +1 -0
  162. package/@types/src/templates/collection.d.ts +1 -0
  163. package/@types/src/templates/form.d.ts +1 -0
  164. package/@types/src/templates/jdd-component.d.ts +1 -0
  165. package/@types/src/templates/list.d.ts +1 -0
  166. package/@types/src/templates/long-running-process.d.ts +1 -0
  167. package/@types/src/templates/multiform.d.ts +1 -0
  168. package/@types/src/templates/page.d.ts +1 -0
  169. package/@types/src/templates/post.d.ts +1 -0
  170. package/@types/src/templates/redirect.d.ts +1 -0
  171. package/@types/src/templates/route-test.d.ts +1 -0
  172. package/@types/src/templates/stateful-page.d.ts +1 -0
  173. package/@types/src/templates/templates.d.ts +19 -0
  174. package/@types/src/test_utils/locator_is_visible.d.ts +2 -0
  175. package/@types/src/utils/assert-throws.d.ts +1 -0
  176. package/@types/src/utils/base64.d.ts +2 -0
  177. package/@types/src/utils/browser-creator.d.ts +1 -0
  178. package/@types/src/utils/escape-url-params.d.ts +2 -0
  179. package/@types/src/utils/exec.d.ts +5 -0
  180. package/@types/src/utils/extract-fields-from-collection.d.ts +4 -0
  181. package/@types/src/utils/format-external-url.d.ts +1 -0
  182. package/@types/src/utils/import-path.d.ts +2 -0
  183. package/@types/src/utils/input-wrapper.d.ts +5 -0
  184. package/@types/src/utils/list-collections.d.ts +1 -0
  185. package/@types/src/utils/make-slug.d.ts +1 -0
  186. package/@types/src/utils/natural-numbers.d.ts +1 -0
  187. package/@types/src/utils/prettier.d.ts +2 -0
  188. package/@types/src/utils/question.d.ts +1 -0
  189. package/@types/src/utils/render-attributes.d.ts +1 -0
  190. package/@types/src/utils/sleep.d.ts +1 -0
  191. package/@types/src/utils/translate.d.ts +3 -0
  192. package/@types/src/utils/url-with-new-params.d.ts +2 -0
  193. package/@types/src/utils/utils.d.ts +16 -0
  194. package/@types/src/utils/walk.d.ts +1 -0
  195. package/@types/src/vitest.config.d.ts +2 -0
  196. package/@types/templates/templates.d.ts +8 -8
  197. package/@types/utils/input-wrapper.d.ts +1 -1
  198. package/@types/utils/utils.d.ts +12 -12
  199. package/@types/vitest.config.d.ts +2 -0
  200. package/build.js +18 -0
  201. package/coverage/.tmp/coverage-15.json +1 -0
  202. package/coverage/.tmp/coverage-16.json +1 -0
  203. package/coverage/.tmp/coverage-17.json +1 -0
  204. package/coverage/.tmp/coverage-18.json +1 -0
  205. package/coverage/.tmp/coverage-19.json +1 -0
  206. package/coverage/.tmp/coverage-20.json +1 -0
  207. package/coverage/.tmp/coverage-21.json +1 -0
  208. package/coverage/.tmp/coverage-22.json +1 -0
  209. package/coverage/.tmp/coverage-23.json +1 -0
  210. package/coverage/.tmp/coverage-24.json +1 -0
  211. package/coverage/.tmp/coverage-25.json +1 -0
  212. package/coverage/.tmp/coverage-26.json +1 -0
  213. package/dist/add-collection.js +31 -0
  214. package/dist/add-jdd-component.js +42 -0
  215. package/dist/add-route.js +67 -0
  216. package/dist/add-route.test.js +90 -0
  217. package/dist/back/routes/sample.page.js +17 -0
  218. package/dist/back/routes/sample.test.js +39 -0
  219. package/dist/build.js +149 -0
  220. package/dist/cli.js +35 -0
  221. package/dist/components/components.js +3 -0
  222. package/dist/components/tabs.js +101 -0
  223. package/dist/components/toggle-modal.js +49 -0
  224. package/dist/example.test.js +5 -0
  225. package/dist/find-css-includes.js +27 -0
  226. package/dist/forms/controls/array.js +171 -0
  227. package/dist/forms/controls/autocomplete.js +34 -0
  228. package/dist/forms/controls/big-radio-group.js +38 -0
  229. package/dist/forms/controls/checkbox-group.js +46 -0
  230. package/dist/forms/controls/checkbox.js +28 -0
  231. package/dist/forms/controls/checkboxed-list-input.js +44 -0
  232. package/dist/forms/controls/collapsible-checkbox-group.js +16 -0
  233. package/dist/forms/controls/collapsible-field-group.js +87 -0
  234. package/dist/forms/controls/controls.js +44 -0
  235. package/dist/forms/controls/derived-frame.js +77 -0
  236. package/dist/forms/controls/derived.js +81 -0
  237. package/dist/forms/controls/dropdown.js +62 -0
  238. package/dist/forms/controls/editable-collection-subset.js +82 -0
  239. package/dist/forms/controls/field-group.js +52 -0
  240. package/dist/forms/controls/file.js +38 -0
  241. package/dist/forms/controls/form-control.js +19 -0
  242. package/dist/forms/controls/form-field-control.js +12 -0
  243. package/dist/forms/controls/form-header.js +17 -0
  244. package/dist/forms/controls/form-paragraph.js +15 -0
  245. package/dist/forms/controls/frame.js +22 -0
  246. package/dist/forms/controls/hidden-input.js +17 -0
  247. package/dist/forms/controls/html.js +23 -0
  248. package/dist/forms/controls/multiple-files.js +190 -0
  249. package/dist/forms/controls/multiple-photos.js +36 -0
  250. package/dist/forms/controls/number.js +24 -0
  251. package/dist/forms/controls/photo.js +56 -0
  252. package/dist/forms/controls/radio.js +28 -0
  253. package/dist/forms/controls/reverse-single-reference.js +1 -0
  254. package/dist/forms/controls/simple-input.js +85 -0
  255. package/dist/forms/controls/textarea.js +40 -0
  256. package/dist/forms/controls/tickable.js +72 -0
  257. package/dist/forms/fields/boolean.js +49 -0
  258. package/dist/forms/fields/boolean.test.js +33 -0
  259. package/dist/forms/fields/checkboxed-list.js +49 -0
  260. package/dist/forms/fields/collection-field.js +47 -0
  261. package/dist/forms/fields/email.js +19 -0
  262. package/dist/forms/fields/email.test.js +20 -0
  263. package/dist/forms/fields/enum-multiple.js +47 -0
  264. package/dist/forms/fields/enum-multiple.test.js +27 -0
  265. package/dist/forms/fields/enum.js +41 -0
  266. package/dist/forms/fields/enum.test.js +21 -0
  267. package/dist/forms/fields/existing-sealious-value.js +21 -0
  268. package/dist/forms/fields/field.js +82 -0
  269. package/dist/forms/fields/fields.js +16 -0
  270. package/dist/forms/fields/file.js +63 -0
  271. package/dist/forms/fields/multiple-files.js +18 -0
  272. package/dist/forms/fields/number.js +42 -0
  273. package/dist/forms/fields/number.test.js +31 -0
  274. package/dist/forms/fields/pick-from-list.js +34 -0
  275. package/dist/forms/fields/pick-from-list.test.js +17 -0
  276. package/dist/forms/fields/proxy-field.js +23 -0
  277. package/dist/forms/fields/regexp.js +42 -0
  278. package/dist/forms/fields/regexp.test.js +21 -0
  279. package/dist/forms/fields/reverse-single-reference.js +17 -0
  280. package/dist/forms/fields/simple-form-field.js +22 -0
  281. package/dist/forms/fields/structured-array.js +21 -0
  282. package/dist/forms/form-types.js +1 -0
  283. package/dist/forms/form.js +203 -0
  284. package/dist/forms/form.test.js +316 -0
  285. package/dist/forms/multiform.js +200 -0
  286. package/dist/forms/multiform.test.js +486 -0
  287. package/dist/generate-collections.js +65 -0
  288. package/dist/generate-components.js +41 -0
  289. package/dist/generate-routes.js +90 -0
  290. package/dist/hehe.test.js +7 -0
  291. package/dist/index.js +26 -0
  292. package/dist/make-env.js +17 -0
  293. package/dist/make-hidden-inputs.js +15 -0
  294. package/dist/mount.js +66 -0
  295. package/dist/notifier.js +21 -0
  296. package/dist/page/access-control.js +19 -0
  297. package/dist/page/default-list-filters.js +46 -0
  298. package/dist/page/list.js +199 -0
  299. package/dist/page/mountable-with-fields.js +106 -0
  300. package/dist/page/mountable.js +9 -0
  301. package/dist/page/page.js +31 -0
  302. package/dist/page/props-parser.js +24 -0
  303. package/dist/page/sealious-list.js +61 -0
  304. package/dist/page/stateful-page.js +123 -0
  305. package/dist/run.js +1 -0
  306. package/dist/sample-index.js +3 -0
  307. package/dist/sample-lib.js +9 -0
  308. package/dist/sanitize.js +10 -0
  309. package/dist/templates/collection.js +15 -0
  310. package/dist/templates/form.js +60 -0
  311. package/dist/templates/jdd-component.js +44 -0
  312. package/dist/templates/list.js +144 -0
  313. package/dist/templates/long-running-process.js +63 -0
  314. package/dist/templates/multiform.js +58 -0
  315. package/dist/templates/page.js +26 -0
  316. package/dist/templates/post.js +25 -0
  317. package/dist/templates/redirect.js +26 -0
  318. package/dist/templates/route-test.js +61 -0
  319. package/dist/templates/stateful-page.js +69 -0
  320. package/dist/templates/templates.js +24 -0
  321. package/dist/test_utils/locator_is_visible.js +14 -0
  322. package/dist/utils/assert-throws.js +18 -0
  323. package/dist/utils/base64.js +11 -0
  324. package/dist/utils/browser-creator.js +11 -0
  325. package/dist/utils/escape-url-params.js +11 -0
  326. package/dist/utils/exec.js +29 -0
  327. package/dist/utils/extract-fields-from-collection.js +33 -0
  328. package/dist/utils/format-external-url.js +11 -0
  329. package/dist/utils/import-path.js +23 -0
  330. package/dist/utils/input-wrapper.js +19 -0
  331. package/dist/utils/list-collections.js +13 -0
  332. package/dist/utils/make-slug.js +7 -0
  333. package/dist/utils/natural-numbers.js +9 -0
  334. package/dist/utils/prettier.js +15 -0
  335. package/dist/utils/question.js +20 -0
  336. package/dist/utils/render-attributes.js +18 -0
  337. package/dist/utils/sleep.js +7 -0
  338. package/dist/utils/translate.js +12 -0
  339. package/dist/utils/url-with-new-params.js +8 -0
  340. package/dist/utils/utils.js +28 -0
  341. package/dist/utils/walk.js +23 -0
  342. package/dist/vitest.config.js +23 -0
  343. package/lib/add-collection.js +14 -21
  344. package/lib/add-jdd-component.js +17 -24
  345. package/lib/add-route.js +18 -25
  346. package/lib/add-route.test.js +15 -21
  347. package/lib/build.js +30 -60
  348. package/lib/cli.js +20 -21
  349. package/lib/components/components.js +2 -18
  350. package/lib/components/tabs.js +4 -8
  351. package/lib/components/toggle-modal.js +5 -9
  352. package/lib/example.test.js +1 -0
  353. package/lib/find-css-includes.js +9 -16
  354. package/lib/forms/controls/array.js +16 -24
  355. package/lib/forms/controls/autocomplete.js +2 -6
  356. package/lib/forms/controls/big-radio-group.js +5 -9
  357. package/lib/forms/controls/checkbox-group.js +6 -10
  358. package/lib/forms/controls/checkbox.js +3 -8
  359. package/lib/forms/controls/checkboxed-list-input.js +8 -12
  360. package/lib/forms/controls/collapsible-checkbox-group.js +4 -8
  361. package/lib/forms/controls/collapsible-field-group.js +4 -8
  362. package/lib/forms/controls/controls.js +29 -58
  363. package/lib/forms/controls/derived-frame.js +13 -17
  364. package/lib/forms/controls/derived.js +6 -10
  365. package/lib/forms/controls/dropdown.js +7 -12
  366. package/lib/forms/controls/editable-collection-subset.js +7 -11
  367. package/lib/forms/controls/field-group.js +4 -8
  368. package/lib/forms/controls/file.js +4 -8
  369. package/lib/forms/controls/form-control.js +2 -7
  370. package/lib/forms/controls/form-field-control.js +2 -6
  371. package/lib/forms/controls/form-header.js +2 -6
  372. package/lib/forms/controls/form-paragraph.js +2 -6
  373. package/lib/forms/controls/frame.js +2 -6
  374. package/lib/forms/controls/hidden-input.js +5 -9
  375. package/lib/forms/controls/html.js +2 -6
  376. package/lib/forms/controls/multiple-files.js +13 -17
  377. package/lib/forms/controls/multiple-photos.js +4 -8
  378. package/lib/forms/controls/number.js +2 -6
  379. package/lib/forms/controls/photo.js +6 -10
  380. package/lib/forms/controls/radio.js +2 -6
  381. package/lib/forms/controls/reverse-single-reference.js +1 -0
  382. package/lib/forms/controls/simple-input.js +7 -11
  383. package/lib/forms/controls/textarea.js +2 -6
  384. package/lib/forms/controls/tickable.js +7 -11
  385. package/lib/forms/fields/boolean.js +7 -11
  386. package/lib/forms/fields/boolean.test.js +19 -24
  387. package/lib/forms/fields/checkboxed-list.js +7 -11
  388. package/lib/forms/fields/collection-field.js +4 -8
  389. package/lib/forms/fields/email.js +4 -8
  390. package/lib/forms/fields/email.test.js +10 -15
  391. package/lib/forms/fields/enum-multiple.js +7 -11
  392. package/lib/forms/fields/enum-multiple.test.js +15 -20
  393. package/lib/forms/fields/enum.js +6 -10
  394. package/lib/forms/fields/enum.test.js +11 -16
  395. package/lib/forms/fields/existing-sealious-value.js +2 -6
  396. package/lib/forms/fields/field.js +21 -40
  397. package/lib/forms/fields/file.js +15 -19
  398. package/lib/forms/fields/multiple-files.js +2 -6
  399. package/lib/forms/fields/number.js +9 -13
  400. package/lib/forms/fields/number.test.js +18 -23
  401. package/lib/forms/fields/pick-from-list.js +5 -9
  402. package/lib/forms/fields/pick-from-list.test.js +6 -11
  403. package/lib/forms/fields/proxy-field.js +2 -6
  404. package/lib/forms/fields/regexp.js +6 -10
  405. package/lib/forms/fields/regexp.test.js +11 -16
  406. package/lib/forms/fields/reverse-single-reference.js +2 -6
  407. package/lib/forms/fields/simple-form-field.js +5 -8
  408. package/lib/forms/fields/structured-array.js +2 -6
  409. package/lib/forms/form.js +16 -23
  410. package/lib/forms/form.test.js +1 -275
  411. package/lib/forms/multiform.js +10 -14
  412. package/lib/forms/multiform.test.js +65 -70
  413. package/lib/generate-collections.js +12 -43
  414. package/lib/generate-components.js +14 -44
  415. package/lib/generate-routes.js +22 -52
  416. package/lib/index.js +16 -45
  417. package/lib/make-env.js +7 -14
  418. package/lib/make-hidden-inputs.js +6 -10
  419. package/lib/mount.js +5 -9
  420. package/lib/notifier.js +3 -10
  421. package/lib/page/access-control.js +1 -5
  422. package/lib/page/default-list-filters.js +6 -11
  423. package/lib/page/list.js +24 -31
  424. package/lib/page/mountable-with-fields.js +7 -11
  425. package/lib/page/mountable.js +1 -5
  426. package/lib/page/page.js +6 -10
  427. package/lib/page/props-parser.js +4 -12
  428. package/lib/page/sealious-list.js +8 -15
  429. package/lib/page/stateful-page.js +18 -25
  430. package/lib/remove-named-imports.js +47 -0
  431. package/lib/run.js +1 -0
  432. package/lib/sanitize.js +1 -5
  433. package/lib/src/add-collection.js +24 -0
  434. package/lib/src/add-jdd-component.js +27 -0
  435. package/lib/src/add-route.js +65 -0
  436. package/lib/src/add-route.test.js +72 -0
  437. package/lib/src/build.js +142 -0
  438. package/lib/src/cli.js +37 -0
  439. package/lib/src/components/components.js +3 -0
  440. package/lib/src/components/tabs.js +88 -0
  441. package/lib/src/components/toggle-modal.js +46 -0
  442. package/lib/src/example.test.js +5 -0
  443. package/lib/src/find-css-includes.js +23 -0
  444. package/lib/src/forms/controls/array.js +141 -0
  445. package/lib/src/forms/controls/autocomplete.js +23 -0
  446. package/lib/src/forms/controls/big-radio-group.js +34 -0
  447. package/lib/src/forms/controls/checkbox-group.js +30 -0
  448. package/lib/src/forms/controls/checkbox.js +24 -0
  449. package/lib/src/forms/controls/checkboxed-list-input.js +35 -0
  450. package/lib/src/forms/controls/collapsible-checkbox-group.js +13 -0
  451. package/lib/src/forms/controls/collapsible-field-group.js +78 -0
  452. package/lib/src/forms/controls/controls.js +31 -0
  453. package/lib/src/forms/controls/derived-frame.js +52 -0
  454. package/lib/src/forms/controls/derived.js +77 -0
  455. package/lib/src/forms/controls/dropdown.js +55 -0
  456. package/lib/src/forms/controls/editable-collection-subset.js +68 -0
  457. package/lib/src/forms/controls/field-group.js +53 -0
  458. package/lib/src/forms/controls/file.js +35 -0
  459. package/lib/src/forms/controls/form-control.js +14 -0
  460. package/lib/src/forms/controls/form-field-control.js +9 -0
  461. package/lib/src/forms/controls/form-header.js +14 -0
  462. package/lib/src/forms/controls/form-paragraph.js +12 -0
  463. package/lib/src/forms/controls/frame.js +25 -0
  464. package/lib/src/forms/controls/hidden-input.js +14 -0
  465. package/lib/src/forms/controls/html.js +23 -0
  466. package/lib/src/forms/controls/multiple-files.js +160 -0
  467. package/lib/src/forms/controls/multiple-photos.js +33 -0
  468. package/lib/src/forms/controls/number.js +25 -0
  469. package/lib/src/forms/controls/photo.js +57 -0
  470. package/lib/src/forms/controls/radio.js +25 -0
  471. package/lib/src/forms/controls/reverse-single-reference.js +47 -0
  472. package/lib/src/forms/controls/simple-input.js +78 -0
  473. package/lib/src/forms/controls/textarea.js +33 -0
  474. package/lib/src/forms/controls/tickable.js +75 -0
  475. package/lib/src/forms/fields/boolean.js +51 -0
  476. package/lib/src/forms/fields/boolean.test.js +33 -0
  477. package/lib/src/forms/fields/checkboxed-list.js +40 -0
  478. package/lib/src/forms/fields/collection-field.js +29 -0
  479. package/lib/src/forms/fields/email.js +11 -0
  480. package/lib/src/forms/fields/email.test.js +20 -0
  481. package/lib/src/forms/fields/enum-multiple.js +47 -0
  482. package/lib/src/forms/fields/enum-multiple.test.js +27 -0
  483. package/lib/src/forms/fields/enum.js +39 -0
  484. package/lib/src/forms/fields/enum.test.js +21 -0
  485. package/lib/src/forms/fields/existing-sealious-value.js +16 -0
  486. package/lib/src/forms/fields/field.js +66 -0
  487. package/lib/src/forms/fields/fields.js +16 -0
  488. package/lib/src/forms/fields/file.js +53 -0
  489. package/lib/src/forms/fields/multiple-files.js +15 -0
  490. package/lib/src/forms/fields/number.js +45 -0
  491. package/lib/src/forms/fields/number.test.js +31 -0
  492. package/lib/src/forms/fields/pick-from-list.js +31 -0
  493. package/lib/src/forms/fields/pick-from-list.test.js +17 -0
  494. package/lib/src/forms/fields/proxy-field.js +20 -0
  495. package/lib/src/forms/fields/regexp.js +40 -0
  496. package/lib/src/forms/fields/regexp.test.js +21 -0
  497. package/lib/src/forms/fields/reverse-single-reference.js +14 -0
  498. package/lib/src/forms/fields/simple-form-field.js +19 -0
  499. package/lib/src/forms/fields/structured-array.js +18 -0
  500. package/lib/src/forms/form-types.js +2 -0
  501. package/lib/src/forms/form.js +176 -0
  502. package/lib/src/forms/form.test.js +271 -0
  503. package/lib/src/forms/multiform.js +174 -0
  504. package/lib/src/forms/multiform.test.js +430 -0
  505. package/lib/src/generate-collections.js +52 -0
  506. package/lib/src/generate-components.js +33 -0
  507. package/lib/src/generate-routes.js +75 -0
  508. package/lib/src/hehe.test.js +7 -0
  509. package/lib/src/index.js +19 -0
  510. package/lib/src/make-env.js +14 -0
  511. package/lib/src/make-hidden-inputs.js +14 -0
  512. package/lib/src/mount.js +70 -0
  513. package/lib/src/notifier.js +19 -0
  514. package/lib/src/page/access-control.js +16 -0
  515. package/lib/src/page/default-list-filters.js +40 -0
  516. package/lib/src/page/list.js +184 -0
  517. package/lib/src/page/mountable-with-fields.js +85 -0
  518. package/lib/src/page/mountable.js +5 -0
  519. package/lib/src/page/page.js +26 -0
  520. package/lib/src/page/props-parser.js +23 -0
  521. package/lib/src/page/sealious-list.js +59 -0
  522. package/lib/src/page/stateful-page.js +97 -0
  523. package/lib/src/run.js +2 -0
  524. package/lib/src/sample-index.js +3 -0
  525. package/lib/src/sample-lib.js +6 -0
  526. package/lib/src/sanitize.js +10 -0
  527. package/lib/src/templates/collection.js +12 -0
  528. package/lib/src/templates/form.js +57 -0
  529. package/lib/src/templates/jdd-component.js +39 -0
  530. package/lib/src/templates/list.js +139 -0
  531. package/lib/src/templates/long-running-process.js +60 -0
  532. package/lib/src/templates/multiform.js +55 -0
  533. package/lib/src/templates/page.js +23 -0
  534. package/lib/src/templates/post.js +22 -0
  535. package/lib/src/templates/redirect.js +23 -0
  536. package/lib/src/templates/route-test.js +54 -0
  537. package/lib/src/templates/stateful-page.js +66 -0
  538. package/lib/src/templates/templates.js +21 -0
  539. package/lib/src/test_utils/locator_is_visible.js +11 -0
  540. package/lib/src/utils/assert-throws.js +17 -0
  541. package/lib/src/utils/base64.js +7 -0
  542. package/lib/src/utils/browser-creator.js +10 -0
  543. package/lib/src/utils/escape-url-params.js +14 -0
  544. package/lib/src/utils/exec.js +22 -0
  545. package/lib/src/utils/extract-fields-from-collection.js +26 -0
  546. package/lib/src/utils/format-external-url.js +11 -0
  547. package/lib/src/utils/import-path.js +16 -0
  548. package/lib/src/utils/input-wrapper.js +15 -0
  549. package/lib/src/utils/list-collections.js +13 -0
  550. package/lib/src/utils/make-slug.js +6 -0
  551. package/lib/src/utils/natural-numbers.js +6 -0
  552. package/lib/src/utils/prettier.js +10 -0
  553. package/lib/src/utils/question.js +19 -0
  554. package/lib/src/utils/render-attributes.js +19 -0
  555. package/lib/src/utils/sleep.js +4 -0
  556. package/lib/src/utils/translate.js +6 -0
  557. package/lib/src/utils/url-with-new-params.js +5 -0
  558. package/lib/src/utils/utils.js +16 -0
  559. package/lib/src/utils/walk.js +23 -0
  560. package/lib/src/vitest.config.js +20 -0
  561. package/lib/templates/collection.js +1 -5
  562. package/lib/templates/form.js +3 -7
  563. package/lib/templates/jdd-component.js +5 -9
  564. package/lib/templates/list.js +14 -21
  565. package/lib/templates/long-running-process.js +3 -7
  566. package/lib/templates/multiform.js +3 -7
  567. package/lib/templates/page.js +3 -7
  568. package/lib/templates/post.js +1 -5
  569. package/lib/templates/redirect.js +1 -5
  570. package/lib/templates/route-test.js +3 -7
  571. package/lib/templates/stateful-page.js +3 -7
  572. package/lib/templates/templates.js +19 -22
  573. package/lib/test_utils/locator_is_visible.js +3 -7
  574. package/lib/utils/assert-throws.js +3 -10
  575. package/lib/utils/base64.js +2 -7
  576. package/lib/utils/browser-creator.js +3 -7
  577. package/lib/utils/escape-url-params.js +2 -7
  578. package/lib/utils/exec.js +3 -7
  579. package/lib/utils/extract-fields-from-collection.js +9 -15
  580. package/lib/utils/format-external-url.js +1 -5
  581. package/lib/utils/import-path.js +6 -14
  582. package/lib/utils/input-wrapper.js +4 -9
  583. package/lib/utils/list-collections.js +5 -12
  584. package/lib/utils/make-slug.js +1 -5
  585. package/lib/utils/natural-numbers.js +1 -5
  586. package/lib/utils/prettier.js +4 -34
  587. package/lib/utils/question.js +3 -7
  588. package/lib/utils/render-attributes.js +3 -7
  589. package/lib/utils/sleep.js +1 -5
  590. package/lib/utils/translate.js +1 -5
  591. package/lib/utils/url-with-new-params.js +3 -10
  592. package/lib/utils/utils.js +13 -40
  593. package/lib/utils/walk.js +6 -10
  594. package/lib/vitest.config.js +22 -0
  595. package/package.json +22 -21
  596. package/remove-named-imports.js +65 -0
  597. package/src/add-collection.ts +3 -3
  598. package/src/add-jdd-component.ts +3 -3
  599. package/src/add-route.test.ts +38 -10
  600. package/src/add-route.ts +5 -5
  601. package/src/build.ts +16 -90
  602. package/src/cli.ts +14 -13
  603. package/src/components/components.ts +2 -2
  604. package/src/components/toggle-modal.ts +1 -1
  605. package/src/find-css-includes.ts +1 -1
  606. package/src/forms/controls/array.ts +9 -8
  607. package/src/forms/controls/autocomplete.ts +4 -4
  608. package/src/forms/controls/big-radio-group.ts +3 -3
  609. package/src/forms/controls/checkbox-group.ts +7 -6
  610. package/src/forms/controls/checkbox.ts +3 -3
  611. package/src/forms/controls/checkboxed-list-input.ts +4 -6
  612. package/src/forms/controls/collapsible-checkbox-group.ts +4 -7
  613. package/src/forms/controls/collapsible-field-group.ts +2 -2
  614. package/src/forms/controls/controls.ts +29 -29
  615. package/src/forms/controls/derived-frame.ts +4 -4
  616. package/src/forms/controls/derived.ts +3 -3
  617. package/src/forms/controls/dropdown.ts +6 -5
  618. package/src/forms/controls/editable-collection-subset.ts +4 -4
  619. package/src/forms/controls/field-group.ts +2 -4
  620. package/src/forms/controls/file.ts +4 -4
  621. package/src/forms/controls/form-control.ts +1 -1
  622. package/src/forms/controls/form-field-control.ts +3 -4
  623. package/src/forms/controls/form-header.ts +1 -3
  624. package/src/forms/controls/form-paragraph.ts +1 -1
  625. package/src/forms/controls/frame.ts +2 -2
  626. package/src/forms/controls/hidden-input.ts +5 -5
  627. package/src/forms/controls/html.ts +1 -4
  628. package/src/forms/controls/multiple-files.ts +24 -26
  629. package/src/forms/controls/multiple-photos.ts +4 -4
  630. package/src/forms/controls/number.ts +3 -6
  631. package/src/forms/controls/photo.ts +9 -8
  632. package/src/forms/controls/radio.ts +3 -3
  633. package/src/forms/controls/simple-input.ts +6 -6
  634. package/src/forms/controls/textarea.ts +4 -4
  635. package/src/forms/controls/tickable.ts +6 -6
  636. package/src/forms/fields/boolean.test.ts +2 -1
  637. package/src/forms/fields/boolean.ts +2 -2
  638. package/src/forms/fields/checkboxed-list.ts +2 -2
  639. package/src/forms/fields/collection-field.ts +2 -2
  640. package/src/forms/fields/email.test.ts +1 -1
  641. package/src/forms/fields/email.ts +1 -1
  642. package/src/forms/fields/enum-multiple.test.ts +1 -1
  643. package/src/forms/fields/enum-multiple.ts +2 -2
  644. package/src/forms/fields/enum.test.ts +1 -1
  645. package/src/forms/fields/enum.ts +2 -2
  646. package/src/forms/fields/existing-sealious-value.ts +1 -1
  647. package/src/forms/fields/field.ts +2 -18
  648. package/src/forms/fields/fields.ts +15 -0
  649. package/src/forms/fields/file.ts +8 -9
  650. package/src/forms/fields/multiple-files.ts +1 -1
  651. package/src/forms/fields/number.test.ts +2 -1
  652. package/src/forms/fields/number.ts +2 -2
  653. package/src/forms/fields/pick-from-list.test.ts +1 -1
  654. package/src/forms/fields/pick-from-list.ts +3 -3
  655. package/src/forms/fields/proxy-field.ts +1 -1
  656. package/src/forms/fields/regexp.test.ts +1 -1
  657. package/src/forms/fields/regexp.ts +2 -2
  658. package/src/forms/fields/reverse-single-reference.ts +1 -1
  659. package/src/forms/fields/simple-form-field.ts +2 -2
  660. package/src/forms/fields/structured-array.ts +2 -2
  661. package/src/forms/form-types.ts +30 -0
  662. package/src/forms/form.test.ts +16 -13
  663. package/src/forms/form.ts +11 -31
  664. package/src/forms/multiform.test.ts +33 -28
  665. package/src/forms/multiform.ts +4 -3
  666. package/src/generate-collections.ts +1 -1
  667. package/src/generate-components.ts +3 -1
  668. package/src/generate-routes.ts +5 -5
  669. package/src/index.ts +19 -17
  670. package/src/make-hidden-inputs.ts +3 -3
  671. package/src/mount.ts +5 -5
  672. package/src/page/list.ts +8 -6
  673. package/src/page/mountable-with-fields.ts +8 -4
  674. package/src/page/page.ts +3 -4
  675. package/src/page/props-parser.ts +2 -2
  676. package/src/page/sealious-list.ts +2 -2
  677. package/src/page/stateful-page.ts +3 -3
  678. package/src/templates/form.ts +1 -1
  679. package/src/templates/list.ts +6 -6
  680. package/src/templates/long-running-process.ts +1 -1
  681. package/src/templates/multiform.ts +1 -1
  682. package/src/templates/page.ts +1 -1
  683. package/src/templates/route-test.ts +1 -1
  684. package/src/templates/stateful-page.ts +1 -1
  685. package/src/templates/templates.ts +9 -9
  686. package/src/test_utils/locator_is_visible.ts +1 -1
  687. package/src/utils/extract-fields-from-collection.ts +1 -1
  688. package/src/utils/list-collections.ts +1 -1
  689. package/src/utils/prettier.ts +2 -2
  690. package/src/utils/render-attributes.ts +1 -1
  691. package/src/utils/utils.ts +12 -12
  692. package/src/vitest.config.ts +21 -0
  693. package/tsconfig.json +12 -5
  694. package/lib/find-scss-includes.js +0 -30
@@ -1,24 +1,18 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generate_css_includes = void 0;
7
- const fs_1 = require("fs");
8
- const locreq_1 = __importDefault(require("locreq"));
9
- const path_1 = require("path");
10
- const walk_1 = require("./utils/walk");
11
- const target_locreq = (0, locreq_1.default)(process.cwd());
12
- async function generate_css_includes() {
13
- const files = await Promise.all((await (0, walk_1.walkDir)(target_locreq.resolve("src/")))
1
+ import { promises as fs } from "fs";
2
+ import _locreq from "locreq";
3
+ import { relative } from "path";
4
+ import { walkDir } from "./utils/walk.js";
5
+ const target_locreq = _locreq(process.cwd());
6
+ export async function generate_css_includes() {
7
+ const files = await Promise.all((await walkDir(target_locreq.resolve("src/")))
14
8
  .filter((f) => f.endsWith(".css") &&
15
9
  !f.endsWith("/main.css") &&
16
10
  !f.endsWith("\\main.css") &&
17
11
  !f.endsWith("/includes.css") &&
18
12
  !f.endsWith("\\includes.css") &&
19
13
  !f.includes(".#"))
20
- .map((fullpath) => (0, path_1.relative)(target_locreq.resolve("src/"), fullpath)));
21
- await fs_1.promises.writeFile(target_locreq.resolve("src/includes.css"), `/* DO NOT EDIT! This file is generated automaticaly with npx sealgen generate-css-includes */
14
+ .map((fullpath) => relative(target_locreq.resolve("src/"), fullpath)));
15
+ await fs.writeFile(target_locreq.resolve("src/includes.css"), `/* DO NOT EDIT! This file is generated automaticaly with npx sealgen generate-css-includes */
22
16
 
23
17
  @import "../node_modules/@sealcode/sealgen/src/forms/forms.css";
24
18
  ${files.map((path) => `@import "${path.replaceAll("\\", "/")}";`).join("\n")}
@@ -26,5 +20,4 @@ ${files.map((path) => `@import "${path.replaceAll("\\", "/")}";`).join("\n")}
26
20
  // eslint-disable-next-line no-console
27
21
  console.log("Successfuly generated new src/includes.css file");
28
22
  }
29
- exports.generate_css_includes = generate_css_includes;
30
23
  //# sourceMappingURL=find-css-includes.js.map
@@ -1,19 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StructuredArray = exports.UnboundControl = void 0;
7
- const ts_predicates_1 = require("@sealcode/ts-predicates");
8
- const qs_1 = __importDefault(require("qs"));
9
- const tempstream_1 = require("tempstream");
10
- const __1 = require("../..");
11
- const form_field_control_1 = require("./form-field-control");
12
- function UnboundControl(controlClass, arbitrary_field_name, params) {
1
+ import { hasShape, predicates } from "@sealcode/ts-predicates";
2
+ import qs from "qs";
3
+ import { tempstream } from "tempstream";
4
+ import { Controls, Fields } from "../../index.js";
5
+ import { FormFieldControl } from "./form-field-control.js";
6
+ export function UnboundControl(controlClass, arbitrary_field_name, params) {
13
7
  return [controlClass, arbitrary_field_name, params];
14
8
  }
15
- exports.UnboundControl = UnboundControl;
16
- class StructuredArray extends form_field_control_1.FormFieldControl {
9
+ export class StructuredArray extends FormFieldControl {
17
10
  constructor(field, item_controls) {
18
11
  super([field]);
19
12
  this.field = field;
@@ -26,14 +19,14 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
26
19
  return this.getFrameID() + "-form";
27
20
  }
28
21
  getActionURL(form_id, action) {
29
- return `${this.getFrameID()}${form_id || action ? "?" : ""}${qs_1.default.stringify({ form_id, action })}`;
22
+ return `${this.getFrameID()}${form_id || action ? "?" : ""}${qs.stringify({ form_id, action })}`;
30
23
  }
31
24
  async getDefaultItemBody() {
32
25
  return {};
33
26
  }
34
27
  makeSubfield(_field_name) {
35
28
  const fields = this;
36
- return new __1.Fields.SimpleFormField(false);
29
+ return new Fields.SimpleFormField(false);
37
30
  }
38
31
  async renderItemControl(ctx, form_id, control, item, index) {
39
32
  const fctx = {
@@ -52,7 +45,7 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
52
45
  return "";
53
46
  }
54
47
  await field.init(`${this.field.name}[data][${index}][${field_name}]`);
55
- const hidden_shadow = new __1.Controls.Derived([field], async (values, { inner_form_id, field_name }) => /* HTML */ `<input
48
+ const hidden_shadow = new Controls.Derived([field], async (values, { inner_form_id, field_name }) => /* HTML */ `<input
56
49
  name="${field_name}"
57
50
  type="hidden"
58
51
  value="${values[field_name] || ""}"
@@ -61,7 +54,7 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
61
54
  inner_form_id: this.getInnerFormID(),
62
55
  field_name: field.name,
63
56
  }));
64
- return (0, tempstream_1.tempstream) `${new constructor(field, params).render({
57
+ return tempstream `${new constructor(field, params).render({
65
58
  ...fctx,
66
59
  data: { [field.name]: item[field_name] },
67
60
  })}${hidden_shadow.render({
@@ -75,7 +68,7 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
75
68
  }
76
69
  }
77
70
  async renderItem(ctx, form_id, item, index) {
78
- return (0, tempstream_1.tempstream /* HTML */) `<div>
71
+ return tempstream /* HTML */ `<div>
79
72
  ${this.item_controls.map((control) => this.renderItemControl(ctx, form_id, control, item, index))}
80
73
  <input
81
74
  type="submit"
@@ -92,7 +85,7 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
92
85
  }
93
86
  async _render(ctx, form_id, raw_values) {
94
87
  const items = await this.getItems(ctx, raw_values);
95
- return (0, tempstream_1.tempstream /* HTML */) `<turbo-frame id="${this.getFrameID()}">
88
+ return tempstream /* HTML */ `<turbo-frame id="${this.getFrameID()}">
96
89
  Reverse Single Reference
97
90
  ${items.map((item, index) => this.renderItem(ctx, form_id, item, index))}
98
91
  <form id="${this.getInnerFormID()}" method="POST"></form>
@@ -120,13 +113,13 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
120
113
  throw new Error("Missing form_id query param");
121
114
  }
122
115
  const item = await this.field.sealious_field.collection.getByID(ctx.$context, await this.getTargetItemID(ctx));
123
- if (!(0, ts_predicates_1.hasShape)({ action: ts_predicates_1.predicates.object }, ctx.$body)) {
116
+ if (!hasShape({ action: predicates.object }, ctx.$body)) {
124
117
  throw new Error("Missing action param");
125
118
  }
126
119
  const field_data = ctx.$body[this.field.name] || { data: [] };
127
120
  console.log({ action: field_data });
128
- if (!(0, ts_predicates_1.hasShape)({
129
- data: ts_predicates_1.predicates.array(this.field.sealious_field.value_predicate),
121
+ if (!hasShape({
122
+ data: predicates.array(this.field.sealious_field.value_predicate),
130
123
  }, field_data)) {
131
124
  throw new Error("missing data atribute in action description");
132
125
  }
@@ -144,5 +137,4 @@ class StructuredArray extends form_field_control_1.FormFieldControl {
144
137
  });
145
138
  }
146
139
  }
147
- exports.StructuredArray = StructuredArray;
148
140
  //# sourceMappingURL=array.js.map
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Autocomplete = void 0;
4
- const simple_input_1 = require("./simple-input");
5
- class Autocomplete extends simple_input_1.SimpleInput {
1
+ import { SimpleInput } from "./simple-input.js";
2
+ export class Autocomplete extends SimpleInput {
6
3
  constructor(field, options) {
7
4
  super(field);
8
5
  this.field = field;
@@ -23,5 +20,4 @@ class Autocomplete extends simple_input_1.SimpleInput {
23
20
  </datalist>`;
24
21
  }
25
22
  }
26
- exports.Autocomplete = Autocomplete;
27
23
  //# sourceMappingURL=autocomplete.js.map
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BigRadioGroup = void 0;
4
- const tempstream_1 = require("tempstream");
5
- const form_field_control_1 = require("./form-field-control");
6
- class BigRadioGroup extends form_field_control_1.FormFieldControl {
1
+ import { tempstream } from "tempstream";
2
+ import { FormFieldControl } from "./form-field-control.js";
3
+ export class BigRadioGroup extends FormFieldControl {
7
4
  constructor(field, options) {
8
5
  super([field]);
9
6
  this.field = field;
@@ -11,10 +8,10 @@ class BigRadioGroup extends form_field_control_1.FormFieldControl {
11
8
  }
12
9
  async render(fctx) {
13
10
  const { raw: current_value } = await this.field.getValue(fctx.ctx, fctx.data);
14
- return (0, tempstream_1.tempstream /* HTML */) `<div class="bigradios">
11
+ return tempstream /* HTML */ `<div class="bigradios">
15
12
  ${Object.entries(this.options).map(([key, { description }]) => {
16
13
  const id = `${this.field.name}-radio-${key}`;
17
- return (0, tempstream_1.tempstream /* HTML */) `<input
14
+ return tempstream /* HTML */ `<input
18
15
  type="radio"
19
16
  name="${this.field.name}"
20
17
  value="${key}"
@@ -34,5 +31,4 @@ class BigRadioGroup extends form_field_control_1.FormFieldControl {
34
31
  </div>`;
35
32
  }
36
33
  }
37
- exports.BigRadioGroup = BigRadioGroup;
38
34
  //# sourceMappingURL=big-radio-group.js.map
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckboxGroup = void 0;
4
- const proxy_field_1 = require("../fields/proxy-field");
5
- const checkbox_1 = require("./checkbox");
6
- const controls_1 = require("./controls");
7
- class CheckboxGroup extends controls_1.FormFieldControl {
1
+ import { ProxyFormField } from "../fields/proxy-field.js";
2
+ import { CheckboxWithValue } from "./checkbox.js";
3
+ import { FieldGroup, FormFieldControl } from "./controls.js";
4
+ export class CheckboxGroup extends FormFieldControl {
8
5
  constructor(field, options = {}) {
9
6
  super([field]);
10
7
  this.field = field;
11
8
  this.options = options;
12
9
  }
13
10
  wrapGroup(fctx, checkboxes) {
14
- return new controls_1.FieldGroup(checkboxes, {
11
+ return new FieldGroup(checkboxes, {
15
12
  label: this.options.label,
16
13
  classes: [
17
14
  ...(this.options.classes || []),
@@ -21,7 +18,7 @@ class CheckboxGroup extends controls_1.FormFieldControl {
21
18
  }
22
19
  async render(fctx) {
23
20
  const { parsed: values } = await this.field.getValue(fctx.ctx, fctx.data);
24
- const checkboxes = this.field.options.map((option) => new checkbox_1.CheckboxWithValue(new proxy_field_1.ProxyFormField(false, this.field.name, false, values.includes(option)), {
21
+ const checkboxes = this.field.options.map((option) => new CheckboxWithValue(new ProxyFormField(false, this.field.name, false, values.includes(option)), {
25
22
  id: this.field.name + "__" + option,
26
23
  label: (this.options.checkboxNameToLabel ||
27
24
  ((s) => s))(option),
@@ -29,5 +26,4 @@ class CheckboxGroup extends controls_1.FormFieldControl {
29
26
  return this.wrapGroup(fctx, checkboxes);
30
27
  }
31
28
  }
32
- exports.CheckboxGroup = CheckboxGroup;
33
29
  //# sourceMappingURL=checkbox-group.js.map
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckboxWithValue = exports.Checkbox = void 0;
4
- const tickable_1 = require("./tickable");
5
- class Checkbox extends tickable_1.Tickable {
1
+ import { Tickable } from "./tickable.js";
2
+ export class Checkbox extends Tickable {
6
3
  constructor() {
7
4
  super(...arguments);
8
5
  this.type = "checkbox";
@@ -14,8 +11,7 @@ class Checkbox extends tickable_1.Tickable {
14
11
  return "";
15
12
  }
16
13
  }
17
- exports.Checkbox = Checkbox;
18
- class CheckboxWithValue extends Checkbox {
14
+ export class CheckboxWithValue extends Checkbox {
19
15
  constructor(field, options, value) {
20
16
  super(field, options);
21
17
  this.field = field;
@@ -25,5 +21,4 @@ class CheckboxWithValue extends Checkbox {
25
21
  return this.value;
26
22
  }
27
23
  }
28
- exports.CheckboxWithValue = CheckboxWithValue;
29
24
  //# sourceMappingURL=checkbox.js.map
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckboxedListInput = void 0;
4
- const ts_predicates_1 = require("@sealcode/ts-predicates");
5
- const tempstream_1 = require("tempstream");
6
- const input_wrapper_1 = require("../../utils/input-wrapper");
7
- const controls_1 = require("./controls");
8
- class CheckboxedListInput extends controls_1.FormFieldControl {
1
+ import { is, predicates } from "@sealcode/ts-predicates";
2
+ import { tempstream } from "tempstream";
3
+ import { getRequiredClass, inputWrapper } from "../../utils/input-wrapper.js";
4
+ import { FormFieldControl } from "./controls.js";
5
+ export class CheckboxedListInput extends FormFieldControl {
9
6
  constructor(field, options = { label: field.name }) {
10
7
  super([field]);
11
8
  this.field = field;
@@ -13,7 +10,7 @@ class CheckboxedListInput extends controls_1.FormFieldControl {
13
10
  }
14
11
  async render(fctx) {
15
12
  const { parsed: pickedValues } = await this.field.getValue(fctx.ctx, fctx.data);
16
- if (!(0, ts_predicates_1.is)(pickedValues, ts_predicates_1.predicates.array(ts_predicates_1.predicates.string))) {
13
+ if (!is(pickedValues, predicates.array(predicates.string))) {
17
14
  throw new Error("picked values is not an array of strings");
18
15
  }
19
16
  const [options, isVisible] = await Promise.all([
@@ -21,8 +18,8 @@ class CheckboxedListInput extends controls_1.FormFieldControl {
21
18
  this.field.isVisible(fctx.ctx),
22
19
  ]);
23
20
  const { name, required } = this.field;
24
- return (0, tempstream_1.tempstream /* HTML */) `${isVisible
25
- ? Object.entries(options).map(([value, text]) => (0, input_wrapper_1.inputWrapper)([name, (0, input_wrapper_1.getRequiredClass)(required)],
21
+ return tempstream /* HTML */ `${isVisible
22
+ ? Object.entries(options).map(([value, text]) => inputWrapper([name, getRequiredClass(required)],
26
23
  /* HTML */ `
27
24
  <input
28
25
  type="checkbox"
@@ -35,5 +32,4 @@ class CheckboxedListInput extends controls_1.FormFieldControl {
35
32
  : ""}`;
36
33
  }
37
34
  }
38
- exports.CheckboxedListInput = CheckboxedListInput;
39
35
  //# sourceMappingURL=checkboxed-list-input.js.map
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollapsibleCheckboxGroup = void 0;
4
- const checkbox_group_1 = require("./checkbox-group");
5
- const collapsible_field_group_1 = require("./collapsible-field-group");
6
- class CollapsibleCheckboxGroup extends checkbox_group_1.CheckboxGroup {
1
+ import { CheckboxGroup } from "./checkbox-group.js";
2
+ import { CollapsibleFieldGroup } from "./collapsible-field-group.js";
3
+ export class CollapsibleCheckboxGroup extends CheckboxGroup {
7
4
  wrapGroup(fctx, checkboxes) {
8
- return new collapsible_field_group_1.CollapsibleFieldGroup(checkboxes, {
5
+ return new CollapsibleFieldGroup(checkboxes, {
9
6
  label: this.options.label,
10
7
  textWhenOpen: this.options.textWhenOpen,
11
8
  textWhenClosed: this.options.textWhenClosed,
@@ -13,5 +10,4 @@ class CollapsibleCheckboxGroup extends checkbox_group_1.CheckboxGroup {
13
10
  }).render(fctx);
14
11
  }
15
12
  }
16
- exports.CollapsibleCheckboxGroup = CollapsibleCheckboxGroup;
17
13
  //# sourceMappingURL=collapsible-checkbox-group.js.map
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollapsibleFieldGroup = void 0;
4
- const field_group_1 = require("./field-group");
5
- const crypto_1 = require("crypto");
6
- class CollapsibleFieldGroup extends field_group_1.FieldGroup {
1
+ import { FieldGroup } from "./field-group.js";
2
+ import { randomUUID } from "crypto";
3
+ export class CollapsibleFieldGroup extends FieldGroup {
7
4
  constructor(controls, options = {}) {
8
5
  super([]);
9
6
  this.controls = controls;
10
7
  this.options = options;
11
8
  if (this.options.groupID == undefined) {
12
- this.options.groupID = "A" + (0, crypto_1.randomUUID)(); // "A" is needed as ids always have to start with a letter
9
+ this.options.groupID = "A" + randomUUID(); // "A" is needed as ids always have to start with a letter
13
10
  }
14
11
  this.collapseID = this.options.groupID + "collapse";
15
12
  }
@@ -78,5 +75,4 @@ class CollapsibleFieldGroup extends field_group_1.FieldGroup {
78
75
  </label>`;
79
76
  }
80
77
  }
81
- exports.CollapsibleFieldGroup = CollapsibleFieldGroup;
82
78
  //# sourceMappingURL=collapsible-field-group.js.map
@@ -1,60 +1,31 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.FieldGroup = exports.Textarea = exports.HiddenInput = exports.HTML = exports.FormParagraph = exports.FormHeader = exports.SimpleInput = exports.CheckboxedListInput = exports.Frame = exports.EditableCollectionSubset = exports.FormFieldControl = exports.FormControl = void 0;
18
- var form_control_1 = require("./form-control");
19
- Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return form_control_1.FormControl; } });
20
- var form_field_control_1 = require("./form-field-control");
21
- Object.defineProperty(exports, "FormFieldControl", { enumerable: true, get: function () { return form_field_control_1.FormFieldControl; } });
22
- var editable_collection_subset_1 = require("./editable-collection-subset");
23
- Object.defineProperty(exports, "EditableCollectionSubset", { enumerable: true, get: function () { return editable_collection_subset_1.EditableCollectionSubset; } });
24
- var frame_1 = require("./frame");
25
- Object.defineProperty(exports, "Frame", { enumerable: true, get: function () { return frame_1.Frame; } });
26
- var checkboxed_list_input_1 = require("./checkboxed-list-input");
27
- Object.defineProperty(exports, "CheckboxedListInput", { enumerable: true, get: function () { return checkboxed_list_input_1.CheckboxedListInput; } });
28
- __exportStar(require("./dropdown"), exports);
29
- var simple_input_1 = require("./simple-input");
30
- Object.defineProperty(exports, "SimpleInput", { enumerable: true, get: function () { return simple_input_1.SimpleInput; } });
31
- var form_header_1 = require("./form-header");
32
- Object.defineProperty(exports, "FormHeader", { enumerable: true, get: function () { return form_header_1.FormHeader; } });
33
- var form_paragraph_1 = require("./form-paragraph");
34
- Object.defineProperty(exports, "FormParagraph", { enumerable: true, get: function () { return form_paragraph_1.FormParagraph; } });
35
- var html_1 = require("./html");
36
- Object.defineProperty(exports, "HTML", { enumerable: true, get: function () { return html_1.HTML; } });
37
- var hidden_input_1 = require("./hidden-input");
38
- Object.defineProperty(exports, "HiddenInput", { enumerable: true, get: function () { return hidden_input_1.HiddenInput; } });
39
- var textarea_1 = require("./textarea");
40
- Object.defineProperty(exports, "Textarea", { enumerable: true, get: function () { return textarea_1.Textarea; } });
41
- var field_group_1 = require("./field-group");
42
- Object.defineProperty(exports, "FieldGroup", { enumerable: true, get: function () { return field_group_1.FieldGroup; } });
43
- __exportStar(require("./derived"), exports);
44
- __exportStar(require("./derived-frame"), exports);
45
- __exportStar(require("./tickable"), exports);
46
- __exportStar(require("./checkbox"), exports);
47
- __exportStar(require("./radio"), exports);
48
- __exportStar(require("./big-radio-group"), exports);
49
- __exportStar(require("./checkbox-group"), exports);
50
- __exportStar(require("./collapsible-field-group"), exports);
51
- __exportStar(require("./collapsible-checkbox-group"), exports);
52
- __exportStar(require("./autocomplete"), exports);
53
- __exportStar(require("./file"), exports);
54
- __exportStar(require("./photo"), exports);
55
- __exportStar(require("./multiple-files"), exports);
56
- __exportStar(require("./number"), exports);
57
- __exportStar(require("./multiple-photos"), exports);
1
+ export { FormControl } from "./form-control.js";
2
+ export { FormFieldControl } from "./form-field-control.js";
3
+ export { EditableCollectionSubset } from "./editable-collection-subset.js";
4
+ export { Frame } from "./frame.js";
5
+ export { CheckboxedListInput } from "./checkboxed-list-input.js";
6
+ export * from "./dropdown.js";
7
+ export { SimpleInput } from "./simple-input.js";
8
+ export { FormHeader } from "./form-header.js";
9
+ export { FormParagraph } from "./form-paragraph.js";
10
+ export { HTML } from "./html.js";
11
+ export { HiddenInput } from "./hidden-input.js";
12
+ export { Textarea } from "./textarea.js";
13
+ export { FieldGroup } from "./field-group.js";
14
+ export * from "./derived.js";
15
+ export * from "./derived-frame.js";
16
+ export * from "./tickable.js";
17
+ export * from "./checkbox.js";
18
+ export * from "./radio.js";
19
+ export * from "./big-radio-group.js";
20
+ export * from "./checkbox-group.js";
21
+ export * from "./collapsible-field-group.js";
22
+ export * from "./collapsible-checkbox-group.js";
23
+ export * from "./autocomplete.js";
24
+ export * from "./file.js";
25
+ export * from "./photo.js";
26
+ export * from "./multiple-files.js";
27
+ export * from "./number.js";
28
+ export * from "./multiple-photos.js";
58
29
  // export * from "./reverse-single-reference";
59
- __exportStar(require("./array"), exports);
30
+ export * from "./array.js";
60
31
  //# sourceMappingURL=controls.js.map
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DerivedFrame = void 0;
4
- const ts_predicates_1 = require("@sealcode/ts-predicates");
5
- const tempstream_1 = require("tempstream");
6
- const make_slug_1 = require("../../utils/make-slug");
7
- const derived_1 = require("./derived");
8
- const form_control_1 = require("./form-control");
9
- class DerivedFrame extends derived_1.Derived {
1
+ import { hasShape, predicates } from "@sealcode/ts-predicates";
2
+ import { tempstream } from "tempstream";
3
+ import { makeSlug } from "../../utils/make-slug.js";
4
+ import { Derived } from "./derived.js";
5
+ import { FormControlContext } from "./form-control.js";
6
+ export class DerivedFrame extends Derived {
10
7
  constructor(frame_name, fields, generateFrameContent,
11
8
  // "a" is to make it a valid DOM id
12
- frame_id = "a" + (0, make_slug_1.makeSlug)(frame_name)) {
9
+ frame_id = "a" + makeSlug(frame_name)) {
13
10
  super(fields, async (values, consts) => /* HTML */ `<turbo-frame
14
11
  id="${consts.frame_id}"
15
12
  src="./${consts.frame_id}?${Object.entries({
@@ -29,7 +26,7 @@ class DerivedFrame extends derived_1.Derived {
29
26
  this.frame_id = frame_id;
30
27
  }
31
28
  renderBackendResponseFrame(_ctx, content) {
32
- return (0, tempstream_1.tempstream /* HTML */) `<turbo-frame
29
+ return tempstream /* HTML */ `<turbo-frame
33
30
  id="${this.frame_id}"
34
31
  target="_top"
35
32
  >
@@ -39,18 +36,17 @@ class DerivedFrame extends derived_1.Derived {
39
36
  mount(router) {
40
37
  router.get(this.frame_id, async (ctx) => {
41
38
  const query = ctx.query;
42
- if (!(0, ts_predicates_1.hasShape)({
43
- field_name_prefix: ts_predicates_1.predicates.string,
44
- form_id: ts_predicates_1.predicates.string,
45
- validate: ts_predicates_1.predicates.string,
39
+ if (!hasShape({
40
+ field_name_prefix: predicates.string,
41
+ form_id: predicates.string,
42
+ validate: predicates.string,
46
43
  }, query)) {
47
44
  ctx.body = this.renderBackendResponseFrame(ctx, "Missing query params");
48
45
  return;
49
46
  }
50
- ctx.body = this.renderBackendResponseFrame(ctx, await this.generateFrameContent(new form_control_1.FormControlContext(ctx, ctx.query, [], query.field_name_prefix, query.form_id, query.validate === "true" ? true : false), ctx.query));
47
+ ctx.body = this.renderBackendResponseFrame(ctx, await this.generateFrameContent(new FormControlContext(ctx, ctx.query, [], query.field_name_prefix, query.form_id, query.validate === "true" ? true : false), ctx.query));
51
48
  });
52
49
  return;
53
50
  }
54
51
  }
55
- exports.DerivedFrame = DerivedFrame;
56
52
  //# sourceMappingURL=derived-frame.js.map
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Derived = void 0;
4
- const crypto_1 = require("crypto");
5
- const tempstream_1 = require("tempstream");
6
- const form_control_1 = require("./form-control");
7
- class Derived extends form_control_1.FormControl {
1
+ import { randomUUID } from "crypto";
2
+ import { tempstream } from "tempstream";
3
+ import { FormControl } from "./form-control.js";
4
+ export class Derived extends FormControl {
8
5
  constructor(fields, _render, getConsts = async () => ({})) {
9
6
  super();
10
7
  this.fields = fields;
@@ -19,11 +16,11 @@ class Derived extends form_control_1.FormControl {
19
16
  }
20
17
  async render(fctx) {
21
18
  // the A makes it always a valid id, as it cannot start with a number
22
- const id = "A" + (0, crypto_1.randomUUID)();
19
+ const id = "A" + randomUUID();
23
20
  const consts = this.getConsts(fctx);
24
21
  const frontend_side_refresh_code = (values_code = "getValues()") => `render(${values_code}, consts)
25
22
  .then(result=>document.querySelector("#${id}").innerHTML=result)`;
26
- return (0, tempstream_1.tempstream /* HTML */) `<div>
23
+ return tempstream /* HTML */ `<div>
27
24
  <script>
28
25
  (function () {
29
26
  const consts = ${"{" +
@@ -77,5 +74,4 @@ class Derived extends form_control_1.FormControl {
77
74
  </div>`;
78
75
  }
79
76
  }
80
- exports.Derived = Derived;
81
77
  //# sourceMappingURL=derived.js.map
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dropdown = exports.FreeformDropdown = void 0;
4
- const tempstream_1 = require("tempstream");
5
- const sanitize_1 = require("../../sanitize");
6
- const simple_input_1 = require("./simple-input");
7
- class FreeformDropdown extends simple_input_1.SimpleInput {
1
+ import { tempstream } from "tempstream";
2
+ import { attribute } from "../../sanitize.js";
3
+ import { SimpleInput } from "./simple-input.js";
4
+ export class FreeformDropdown extends SimpleInput {
8
5
  constructor(field, _generateOptions, options = {
9
6
  label: field.name,
10
7
  autosubmit: false,
@@ -37,15 +34,14 @@ class FreeformDropdown extends simple_input_1.SimpleInput {
37
34
  }
38
35
  async renderInput(ctx, attributes_str, data) {
39
36
  const { parsed: picked_value } = await this.field.getValue(ctx, data);
40
- return /* HTML */ (0, tempstream_1.tempstream) `<select ${attributes_str}>
37
+ return /* HTML */ tempstream `<select ${attributes_str}>
41
38
  ${
42
39
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
43
- Promise.resolve(this.generateOptions(ctx)).then((options) => options.map(({ value, label }) => `<option value="${(0, sanitize_1.attribute)(value)}" ${(value || "") == picked_value ? "selected" : ""}>${label}</option>`))}
40
+ Promise.resolve(this.generateOptions(ctx)).then((options) => options.map(({ value, label }) => `<option value="${attribute(value)}" ${(value || "") == picked_value ? "selected" : ""}>${label}</option>`))}
44
41
  </select>`;
45
42
  }
46
43
  }
47
- exports.FreeformDropdown = FreeformDropdown;
48
- class Dropdown extends FreeformDropdown {
44
+ export class Dropdown extends FreeformDropdown {
49
45
  constructor(field, options = {
50
46
  label: field.name,
51
47
  autosubmit: false,
@@ -56,5 +52,4 @@ class Dropdown extends FreeformDropdown {
56
52
  this.options = options;
57
53
  }
58
54
  }
59
- exports.Dropdown = Dropdown;
60
55
  //# sourceMappingURL=dropdown.js.map
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EditableCollectionSubset = void 0;
4
- const tempstream_1 = require("tempstream");
5
- const sanitize_1 = require("../../sanitize");
6
- const controls_1 = require("./controls");
1
+ import { tempstream } from "tempstream";
2
+ import { attribute } from "../../sanitize.js";
3
+ import { FormFieldControl } from "./controls.js";
7
4
  /**
8
5
  * This control has own forms in it so if you want to use it you
9
6
  * probably shouldn't use `await super.render(ctx, data, path)` in
@@ -11,7 +8,7 @@ const controls_1 = require("./controls");
11
8
  * your own implementation of this method. See forms that uses
12
9
  * this control for reference.
13
10
  */
14
- class EditableCollectionSubset extends controls_1.FormFieldControl {
11
+ export class EditableCollectionSubset extends FormFieldControl {
15
12
  constructor(field, actionname, listLabel, selectLabel) {
16
13
  super([field]);
17
14
  this.field = field;
@@ -22,7 +19,7 @@ class EditableCollectionSubset extends controls_1.FormFieldControl {
22
19
  }
23
20
  async render(fctx) {
24
21
  const { parsed: values } = await this.field.getValue(fctx.ctx, fctx.data);
25
- return (0, tempstream_1.tempstream /* HTML */) `<div>
22
+ return tempstream /* HTML */ `<div>
26
23
  <ul>
27
24
  ${Promise.resolve(this.field.generateOptions(fctx.ctx)).then((options) => Object.entries(options)
28
25
  .filter(([value]) => (values || []).includes(value))
@@ -36,7 +33,7 @@ class EditableCollectionSubset extends controls_1.FormFieldControl {
36
33
  <input
37
34
  type="hidden"
38
35
  name="${this.field.name}"
39
- value="${(0, sanitize_1.attribute)(value)}"
36
+ value="${attribute(value)}"
40
37
  />
41
38
  <input
42
39
  type="hidden"
@@ -57,7 +54,7 @@ class EditableCollectionSubset extends controls_1.FormFieldControl {
57
54
  <select name="${this.field.name}">
58
55
  ${Promise.resolve(this.field.generateOptions(fctx.ctx)).then((options) => Object.entries(options)
59
56
  .filter(([value]) => !(values || []).includes(value))
60
- .map(([value, text]) => `<option value="${(0, sanitize_1.attribute)(value)}">${text}</option>`))}
57
+ .map(([value, text]) => `<option value="${attribute(value)}">${text}</option>`))}
61
58
  </select>
62
59
  <input type="hidden" name="${this.actionname}" value="select" />
63
60
  <input
@@ -68,5 +65,4 @@ class EditableCollectionSubset extends controls_1.FormFieldControl {
68
65
  </div>`;
69
66
  }
70
67
  }
71
- exports.EditableCollectionSubset = EditableCollectionSubset;
72
68
  //# sourceMappingURL=editable-collection-subset.js.map