@kaspernj/api-maker 1.0.2054 → 1.0.2056

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 (386) hide show
  1. package/build/api.js +65 -213
  2. package/build/attribute-not-loaded-error.js +3 -26
  3. package/build/base-component.js +4 -27
  4. package/build/base-error.js +21 -46
  5. package/build/base-model/attribute.js +15 -22
  6. package/build/base-model/column.js +5 -9
  7. package/build/base-model/reflection.js +12 -52
  8. package/build/base-model/scope.js +9 -46
  9. package/build/base-model.js +584 -837
  10. package/build/bootstrap/attribute-row.js +88 -173
  11. package/build/bootstrap/attribute-rows.js +22 -51
  12. package/build/bootstrap/card.js +77 -160
  13. package/build/bootstrap/checkbox.js +54 -103
  14. package/build/bootstrap/checkboxes.js +117 -203
  15. package/build/bootstrap/index.js +1 -1
  16. package/build/bootstrap/input.js +81 -132
  17. package/build/bootstrap/invalid-feedback.js +19 -47
  18. package/build/bootstrap/paginate.js +100 -165
  19. package/build/bootstrap/radio-buttons.js +44 -81
  20. package/build/bootstrap/select.js +44 -91
  21. package/build/bootstrap/sort-link.js +69 -152
  22. package/build/cable-connection-pool.js +44 -66
  23. package/build/cable-subscription-pool.js +105 -162
  24. package/build/cable-subscription.js +10 -17
  25. package/build/cache-key-generator.js +28 -37
  26. package/build/can-can.js +81 -202
  27. package/build/channels-consumer.js +6 -11
  28. package/build/collection-loader.js +36 -54
  29. package/build/collection.d.ts.map +1 -1
  30. package/build/collection.js +160 -308
  31. package/build/command-submit-data.d.ts +1 -1
  32. package/build/command-submit-data.d.ts.map +1 -1
  33. package/build/command-submit-data.js +30 -39
  34. package/build/commands-pool.js +140 -216
  35. package/build/compose.js +4 -12
  36. package/build/config.js +21 -68
  37. package/build/custom-error.js +5 -30
  38. package/build/data-set-to-attributes.js +6 -42
  39. package/build/deserializer.js +27 -80
  40. package/build/destroy-error.js +5 -30
  41. package/build/devise.js +84 -188
  42. package/build/draggable-sort/controller.js +88 -111
  43. package/build/draggable-sort/index.js +68 -145
  44. package/build/draggable-sort/item.js +132 -198
  45. package/build/error-logger.js +79 -164
  46. package/build/error-messages.js +5 -8
  47. package/build/event-connection.js +24 -62
  48. package/build/event-emitter-listener.js +7 -24
  49. package/build/event-model-class.js +20 -47
  50. package/build/events.js +4 -9
  51. package/build/form.js +66 -154
  52. package/build/history-expo.js +13 -25
  53. package/build/history-react-native.js +15 -27
  54. package/build/history.js +3 -5
  55. package/build/index.js +3 -6
  56. package/build/inputs/attachment.js +72 -123
  57. package/build/inputs/auto-submit.js +16 -55
  58. package/build/inputs/checkbox.js +78 -167
  59. package/build/inputs/checkboxes.js +76 -159
  60. package/build/inputs/id-for-component.js +5 -41
  61. package/build/inputs/input-wrapper.js +8 -27
  62. package/build/inputs/input.js +159 -245
  63. package/build/inputs/money.js +124 -186
  64. package/build/inputs/name-for-component.js +5 -41
  65. package/build/inputs/select.js +69 -123
  66. package/build/instance-of-class-name.js +16 -21
  67. package/build/is-expo.js +9 -11
  68. package/build/key-value-store.js +52 -128
  69. package/build/link.js +52 -115
  70. package/build/logger.js +20 -26
  71. package/build/merge-styles.js +6 -10
  72. package/build/modal.js +15 -62
  73. package/build/model-class-require.js +9 -44
  74. package/build/model-events.js +25 -34
  75. package/build/model-name.js +16 -57
  76. package/build/model-prop-type.js +52 -63
  77. package/build/model-recipes-loader.js +17 -25
  78. package/build/model-recipes-model-loader.d.ts +1 -1
  79. package/build/model-recipes-model-loader.js +130 -208
  80. package/build/models-response-reader.js +25 -66
  81. package/build/models.js +6 -11
  82. package/build/money-formatter.d.ts +2 -2
  83. package/build/money-formatter.d.ts.map +1 -1
  84. package/build/money-formatter.js +46 -56
  85. package/build/not-loaded-error.js +3 -26
  86. package/build/params.js +32 -42
  87. package/build/preloaded.js +19 -59
  88. package/build/resize-observer.js +6 -12
  89. package/build/rest-props-validator.js +5 -7
  90. package/build/result.js +11 -15
  91. package/build/router/route.js +179 -312
  92. package/build/router/switch.js +56 -130
  93. package/build/router.js +34 -94
  94. package/build/routes-native.js +64 -148
  95. package/build/routes.js +26 -80
  96. package/build/run-last.js +20 -25
  97. package/build/serializer.js +29 -34
  98. package/build/services.js +10 -19
  99. package/build/session-status-updater.js +85 -184
  100. package/build/source-maps-loader.d.ts +37 -0
  101. package/build/source-maps-loader.d.ts.map +1 -0
  102. package/build/source-maps-loader.js +103 -225
  103. package/build/super-admin/config-reader.d.ts +2 -2
  104. package/build/super-admin/config-reader.js +42 -83
  105. package/build/super-admin/edit-page/edit-attribute-checkbox.js +53 -115
  106. package/build/super-admin/edit-page/edit-attribute-content.js +47 -77
  107. package/build/super-admin/edit-page/edit-attribute-input.js +57 -119
  108. package/build/super-admin/edit-page/edit-attribute.js +40 -104
  109. package/build/super-admin/edit-page.js +88 -201
  110. package/build/super-admin/has-edit-config.js +7 -13
  111. package/build/super-admin/index-page.js +17 -44
  112. package/build/super-admin/index.js +87 -210
  113. package/build/super-admin/layout/header/index.js +91 -152
  114. package/build/super-admin/layout/index.js +70 -153
  115. package/build/super-admin/layout/menu/index.js +85 -161
  116. package/build/super-admin/layout/menu/menu-content.js +25 -85
  117. package/build/super-admin/layout/menu/menu-item.js +52 -102
  118. package/build/super-admin/layout/no-access.js +19 -45
  119. package/build/super-admin/model-class-table.js +45 -129
  120. package/build/super-admin/models.js +6 -42
  121. package/build/super-admin/show-nav.js +27 -89
  122. package/build/super-admin/show-page/belongs-to-attribute-row.js +18 -76
  123. package/build/super-admin/show-page/index.js +101 -187
  124. package/build/super-admin/show-reflection-actions.js +39 -100
  125. package/build/super-admin/show-reflection-link.js +27 -99
  126. package/build/super-admin/show-reflection-page.js +34 -97
  127. package/build/table/column-content.js +77 -121
  128. package/build/table/column-identifier.js +7 -11
  129. package/build/table/column-visible.js +2 -5
  130. package/build/table/components/column.js +13 -60
  131. package/build/table/components/flat-list.js +13 -60
  132. package/build/table/components/header.js +15 -62
  133. package/build/table/components/row.js +16 -63
  134. package/build/table/filters/attribute-element.js +34 -62
  135. package/build/table/filters/filter-form.js +280 -483
  136. package/build/table/filters/filter.js +45 -73
  137. package/build/table/filters/index.js +95 -139
  138. package/build/table/filters/load-search-modal.js +64 -212
  139. package/build/table/filters/reflection-element.js +27 -55
  140. package/build/table/filters/save-search-modal.js +44 -140
  141. package/build/table/filters/scope-element.js +28 -56
  142. package/build/table/header-column-content.js +33 -71
  143. package/build/table/header-column.js +89 -218
  144. package/build/table/header-select.js +45 -77
  145. package/build/table/model-callback-args.js +5 -41
  146. package/build/table/model-column.js +59 -144
  147. package/build/table/model-row.js +75 -187
  148. package/build/table/select-calculator.js +27 -86
  149. package/build/table/settings/column-row.js +66 -186
  150. package/build/table/settings/download-action.js +38 -74
  151. package/build/table/settings/index.js +38 -102
  152. package/build/table/table-settings.js +185 -323
  153. package/build/table/table.js +583 -781
  154. package/build/table/use-sorting.js +16 -35
  155. package/build/table/widths.js +32 -38
  156. package/build/table/worker-plugins-check-all-checkbox.js +77 -225
  157. package/build/table/worker-plugins-checkbox.js +74 -185
  158. package/build/translated-attributes.js +6 -11
  159. package/build/translated-collections.js +11 -20
  160. package/build/updated-attribute.js +47 -120
  161. package/build/url-encode.js +6 -12
  162. package/build/use-breakpoint.js +43 -95
  163. package/build/use-can-can.js +30 -92
  164. package/build/use-collection.js +119 -229
  165. package/build/use-created-event.js +27 -44
  166. package/build/use-current-user-context.js +57 -151
  167. package/build/use-current-user.js +14 -32
  168. package/build/use-destroyed-event.js +22 -43
  169. package/build/use-event-emitter.d.ts +1 -2
  170. package/build/use-event-emitter.d.ts.map +1 -1
  171. package/build/use-event-emitter.js +10 -16
  172. package/build/use-event-listener.js +13 -22
  173. package/build/use-input.js +49 -69
  174. package/build/use-model-event.js +22 -43
  175. package/build/use-model.js +96 -199
  176. package/build/use-resize-observer.js +11 -21
  177. package/build/use-router.js +65 -107
  178. package/build/use-screen-layout.js +17 -19
  179. package/build/use-styles.js +24 -75
  180. package/build/use-updated-event.js +22 -44
  181. package/build/use-validation-errors.js +12 -18
  182. package/build/utils/button.js +86 -136
  183. package/build/utils/card.js +31 -106
  184. package/build/utils/checkbox.js +51 -112
  185. package/build/utils/checkboxes.js +109 -182
  186. package/build/utils/default-style.js +29 -103
  187. package/build/utils/header.js +8 -35
  188. package/build/utils/icon.js +36 -117
  189. package/build/utils/invalid-feedback.js +16 -43
  190. package/build/utils/modal.js +25 -108
  191. package/build/utils/text.js +10 -37
  192. package/build/validation-error.js +31 -89
  193. package/build/validation-errors.js +61 -111
  194. package/build/with-api-maker.js +15 -67
  195. package/build/with-collection.js +14 -64
  196. package/build/with-current-user.js +7 -23
  197. package/build/with-model.js +11 -27
  198. package/build/with-router.js +8 -35
  199. package/package.json +4 -3
  200. package/build/api.js.map +0 -1
  201. package/build/attribute-not-loaded-error.js.map +0 -1
  202. package/build/base-component.js.map +0 -1
  203. package/build/base-error.js.map +0 -1
  204. package/build/base-model/attribute.js.map +0 -1
  205. package/build/base-model/column.js.map +0 -1
  206. package/build/base-model/reflection.js.map +0 -1
  207. package/build/base-model/scope.js.map +0 -1
  208. package/build/base-model.js.map +0 -1
  209. package/build/bootstrap/attribute-row.js.map +0 -1
  210. package/build/bootstrap/attribute-rows.js.map +0 -1
  211. package/build/bootstrap/card.js.map +0 -1
  212. package/build/bootstrap/checkbox.js.map +0 -1
  213. package/build/bootstrap/checkboxes.js.map +0 -1
  214. package/build/bootstrap/index.js.map +0 -1
  215. package/build/bootstrap/input.js.map +0 -1
  216. package/build/bootstrap/invalid-feedback.js.map +0 -1
  217. package/build/bootstrap/paginate.js.map +0 -1
  218. package/build/bootstrap/radio-buttons.js.map +0 -1
  219. package/build/bootstrap/select.js.map +0 -1
  220. package/build/bootstrap/sort-link.js.map +0 -1
  221. package/build/cable-connection-pool.js.map +0 -1
  222. package/build/cable-subscription-pool.js.map +0 -1
  223. package/build/cable-subscription.js.map +0 -1
  224. package/build/cache-key-generator.js.map +0 -1
  225. package/build/can-can.js.map +0 -1
  226. package/build/channels-consumer.js.map +0 -1
  227. package/build/collection-loader.js.map +0 -1
  228. package/build/collection.js.map +0 -1
  229. package/build/command-submit-data.js.map +0 -1
  230. package/build/commands-pool.js.map +0 -1
  231. package/build/compose.js.map +0 -1
  232. package/build/config.js.map +0 -1
  233. package/build/custom-error.js.map +0 -1
  234. package/build/data-set-to-attributes.js.map +0 -1
  235. package/build/deserializer.js.map +0 -1
  236. package/build/destroy-error.js.map +0 -1
  237. package/build/devise.js.map +0 -1
  238. package/build/draggable-sort/controller.js.map +0 -1
  239. package/build/draggable-sort/index.js.map +0 -1
  240. package/build/draggable-sort/item.js.map +0 -1
  241. package/build/error-logger.js.map +0 -1
  242. package/build/error-messages.js.map +0 -1
  243. package/build/event-connection.js.map +0 -1
  244. package/build/event-emitter-listener.js.map +0 -1
  245. package/build/event-model-class.js.map +0 -1
  246. package/build/events.js.map +0 -1
  247. package/build/form.js.map +0 -1
  248. package/build/history-expo.js.map +0 -1
  249. package/build/history-react-native.js.map +0 -1
  250. package/build/history.js.map +0 -1
  251. package/build/index.js.map +0 -1
  252. package/build/inputs/attachment.js.map +0 -1
  253. package/build/inputs/auto-submit.js.map +0 -1
  254. package/build/inputs/checkbox.js.map +0 -1
  255. package/build/inputs/checkboxes.js.map +0 -1
  256. package/build/inputs/id-for-component.js.map +0 -1
  257. package/build/inputs/input-wrapper.js.map +0 -1
  258. package/build/inputs/input.js.map +0 -1
  259. package/build/inputs/money.js.map +0 -1
  260. package/build/inputs/name-for-component.js.map +0 -1
  261. package/build/inputs/select.js.map +0 -1
  262. package/build/instance-of-class-name.js.map +0 -1
  263. package/build/is-expo.js.map +0 -1
  264. package/build/key-value-store.js.map +0 -1
  265. package/build/link.js.map +0 -1
  266. package/build/logger.js.map +0 -1
  267. package/build/merge-styles.js.map +0 -1
  268. package/build/modal.js.map +0 -1
  269. package/build/model-class-require.js.map +0 -1
  270. package/build/model-events.js.map +0 -1
  271. package/build/model-name.js.map +0 -1
  272. package/build/model-prop-type.js.map +0 -1
  273. package/build/model-recipes-loader.js.map +0 -1
  274. package/build/model-recipes-model-loader.js.map +0 -1
  275. package/build/models-response-reader.js.map +0 -1
  276. package/build/models.js.map +0 -1
  277. package/build/money-formatter.js.map +0 -1
  278. package/build/not-loaded-error.js.map +0 -1
  279. package/build/params.js.map +0 -1
  280. package/build/preloaded.js.map +0 -1
  281. package/build/resize-observer.js.map +0 -1
  282. package/build/rest-props-validator.js.map +0 -1
  283. package/build/result.js.map +0 -1
  284. package/build/router/route.js.map +0 -1
  285. package/build/router/switch.js.map +0 -1
  286. package/build/router.js.map +0 -1
  287. package/build/routes-native.js.map +0 -1
  288. package/build/routes.js.map +0 -1
  289. package/build/run-last.js.map +0 -1
  290. package/build/serializer.js.map +0 -1
  291. package/build/services.js.map +0 -1
  292. package/build/session-status-updater.js.map +0 -1
  293. package/build/source-maps-loader.js.map +0 -1
  294. package/build/super-admin/config-reader.js.map +0 -1
  295. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  296. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  297. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  298. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  299. package/build/super-admin/edit-page.js.map +0 -1
  300. package/build/super-admin/has-edit-config.js.map +0 -1
  301. package/build/super-admin/index-page.js.map +0 -1
  302. package/build/super-admin/index.js.map +0 -1
  303. package/build/super-admin/layout/header/index.js.map +0 -1
  304. package/build/super-admin/layout/index.js.map +0 -1
  305. package/build/super-admin/layout/menu/index.js.map +0 -1
  306. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  307. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  308. package/build/super-admin/layout/no-access.js.map +0 -1
  309. package/build/super-admin/model-class-table.js.map +0 -1
  310. package/build/super-admin/models.js.map +0 -1
  311. package/build/super-admin/show-nav.js.map +0 -1
  312. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  313. package/build/super-admin/show-page/index.js.map +0 -1
  314. package/build/super-admin/show-reflection-actions.js.map +0 -1
  315. package/build/super-admin/show-reflection-link.js.map +0 -1
  316. package/build/super-admin/show-reflection-page.js.map +0 -1
  317. package/build/table/column-content.js.map +0 -1
  318. package/build/table/column-identifier.js.map +0 -1
  319. package/build/table/column-visible.js.map +0 -1
  320. package/build/table/components/column.js.map +0 -1
  321. package/build/table/components/flat-list.js.map +0 -1
  322. package/build/table/components/header.js.map +0 -1
  323. package/build/table/components/row.js.map +0 -1
  324. package/build/table/filters/attribute-element.js.map +0 -1
  325. package/build/table/filters/filter-form.js.map +0 -1
  326. package/build/table/filters/filter.js.map +0 -1
  327. package/build/table/filters/index.js.map +0 -1
  328. package/build/table/filters/load-search-modal.js.map +0 -1
  329. package/build/table/filters/reflection-element.js.map +0 -1
  330. package/build/table/filters/save-search-modal.js.map +0 -1
  331. package/build/table/filters/scope-element.js.map +0 -1
  332. package/build/table/header-column-content.js.map +0 -1
  333. package/build/table/header-column.js.map +0 -1
  334. package/build/table/header-select.js.map +0 -1
  335. package/build/table/model-callback-args.js.map +0 -1
  336. package/build/table/model-column.js.map +0 -1
  337. package/build/table/model-row.js.map +0 -1
  338. package/build/table/select-calculator.js.map +0 -1
  339. package/build/table/settings/column-row.js.map +0 -1
  340. package/build/table/settings/download-action.js.map +0 -1
  341. package/build/table/settings/index.js.map +0 -1
  342. package/build/table/table-settings.js.map +0 -1
  343. package/build/table/table.js.map +0 -1
  344. package/build/table/use-sorting.js.map +0 -1
  345. package/build/table/widths.js.map +0 -1
  346. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  347. package/build/table/worker-plugins-checkbox.js.map +0 -1
  348. package/build/translated-attributes.js.map +0 -1
  349. package/build/translated-collections.js.map +0 -1
  350. package/build/updated-attribute.js.map +0 -1
  351. package/build/url-encode.js.map +0 -1
  352. package/build/use-breakpoint.js.map +0 -1
  353. package/build/use-can-can.js.map +0 -1
  354. package/build/use-collection.js.map +0 -1
  355. package/build/use-created-event.js.map +0 -1
  356. package/build/use-current-user-context.js.map +0 -1
  357. package/build/use-current-user.js.map +0 -1
  358. package/build/use-destroyed-event.js.map +0 -1
  359. package/build/use-event-emitter.js.map +0 -1
  360. package/build/use-event-listener.js.map +0 -1
  361. package/build/use-input.js.map +0 -1
  362. package/build/use-model-event.js.map +0 -1
  363. package/build/use-model.js.map +0 -1
  364. package/build/use-resize-observer.js.map +0 -1
  365. package/build/use-router.js.map +0 -1
  366. package/build/use-screen-layout.js.map +0 -1
  367. package/build/use-styles.js.map +0 -1
  368. package/build/use-updated-event.js.map +0 -1
  369. package/build/use-validation-errors.js.map +0 -1
  370. package/build/utils/button.js.map +0 -1
  371. package/build/utils/card.js.map +0 -1
  372. package/build/utils/checkbox.js.map +0 -1
  373. package/build/utils/checkboxes.js.map +0 -1
  374. package/build/utils/default-style.js.map +0 -1
  375. package/build/utils/header.js.map +0 -1
  376. package/build/utils/icon.js.map +0 -1
  377. package/build/utils/invalid-feedback.js.map +0 -1
  378. package/build/utils/modal.js.map +0 -1
  379. package/build/utils/text.js.map +0 -1
  380. package/build/validation-error.js.map +0 -1
  381. package/build/validation-errors.js.map +0 -1
  382. package/build/with-api-maker.js.map +0 -1
  383. package/build/with-collection.js.map +0 -1
  384. package/build/with-current-user.js.map +0 -1
  385. package/build/with-model.js.map +0 -1
  386. package/build/with-router.js.map +0 -1
@@ -1,56 +1,19 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- var diggerize_1 = require("diggerize");
37
- var inflection = __importStar(require("inflection"));
38
- var ApiMakerInputsAutoSubmit = /** @class */ (function () {
39
- function ApiMakerInputsAutoSubmit(_a) {
40
- var component = _a.component;
1
+ import { digg } from "diggerize";
2
+ import * as inflection from "inflection";
3
+ export default class ApiMakerInputsAutoSubmit {
4
+ constructor({ component }) {
41
5
  this.component = component;
42
6
  }
43
- ApiMakerInputsAutoSubmit.prototype.autoSubmit = function () {
44
- var _a = this.component.props, attribute = _a.attribute, model = _a.model;
45
- var updateAttributeName = inflection.underscore(attribute);
46
- var updateParams = {};
7
+ autoSubmit() {
8
+ const { attribute, model } = this.component.props;
9
+ const updateAttributeName = inflection.underscore(attribute);
10
+ const updateParams = {};
47
11
  updateParams[updateAttributeName] = this.value();
48
12
  model.update(updateParams);
49
- };
50
- ApiMakerInputsAutoSubmit.prototype.value = function () {
51
- var _a, _b;
52
- var inputRef = this.component.props.inputRef || ((_a = this.component.props.inputProps) === null || _a === void 0 ? void 0 : _a.ref) || ((_b = this.component.inputProps) === null || _b === void 0 ? void 0 : _b.ref) || this.component.inputRef;
53
- var input = (0, diggerize_1.digg)(inputRef, "current");
13
+ }
14
+ value() {
15
+ const inputRef = this.component.props.inputRef || this.component.props.inputProps?.ref || this.component.inputProps?.ref || this.component.inputRef;
16
+ const input = digg(inputRef, "current");
54
17
  if (input.type == "checkbox") {
55
18
  if (input.checked) {
56
19
  if (input.value !== undefined) {
@@ -64,9 +27,7 @@ var ApiMakerInputsAutoSubmit = /** @class */ (function () {
64
27
  return 0;
65
28
  }
66
29
  }
67
- return (0, diggerize_1.digg)(input, "value");
68
- };
69
- return ApiMakerInputsAutoSubmit;
70
- }());
71
- exports.default = ApiMakerInputsAutoSubmit;
72
- //# sourceMappingURL=auto-submit.js.map
30
+ return digg(input, "value");
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zdWJtaXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9hdXRvLXN1Ym1pdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBQzNDLFlBQWEsRUFBQyxTQUFTLEVBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFBO1FBQy9DLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM1RCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUE7UUFFdkIsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBRWhELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUE7UUFDbkosTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUV2QyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7WUFDN0IsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDOUIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFBO2dCQUNwQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLENBQUE7Z0JBQ1YsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsQ0FBQTtZQUNWLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJJbnB1dHNBdXRvU3VibWl0IHtcbiAgY29uc3RydWN0b3IgKHtjb21wb25lbnR9KSB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnRcbiAgfVxuXG4gIGF1dG9TdWJtaXQgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIG1vZGVsfSA9IHRoaXMuY29tcG9uZW50LnByb3BzXG4gICAgY29uc3QgdXBkYXRlQXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhdHRyaWJ1dGUpXG4gICAgY29uc3QgdXBkYXRlUGFyYW1zID0ge31cblxuICAgIHVwZGF0ZVBhcmFtc1t1cGRhdGVBdHRyaWJ1dGVOYW1lXSA9IHRoaXMudmFsdWUoKVxuXG4gICAgbW9kZWwudXBkYXRlKHVwZGF0ZVBhcmFtcylcbiAgfVxuXG4gIHZhbHVlICgpIHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuY29tcG9uZW50LnByb3BzLmlucHV0UmVmIHx8IHRoaXMuY29tcG9uZW50LnByb3BzLmlucHV0UHJvcHM/LnJlZiB8fCB0aGlzLmNvbXBvbmVudC5pbnB1dFByb3BzPy5yZWYgfHwgdGhpcy5jb21wb25lbnQuaW5wdXRSZWZcbiAgICBjb25zdCBpbnB1dCA9IGRpZ2coaW5wdXRSZWYsIFwiY3VycmVudFwiKVxuXG4gICAgaWYgKGlucHV0LnR5cGUgPT0gXCJjaGVja2JveFwiKSB7XG4gICAgICBpZiAoaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICBpZiAoaW5wdXQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBpbnB1dC52YWx1ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAxXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAwXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZ2coaW5wdXQsIFwidmFsdWVcIilcbiAgfVxufVxuIl19
@@ -1,173 +1,84 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useMemo } from "react";
3
+ import AutoSubmit from "./auto-submit.js";
4
+ import BaseComponent from "../base-component.js";
5
+ import { digg } from "diggerize";
6
+ import PropTypes from "prop-types";
7
+ import memo from "set-state-compare/build/memo.js";
8
+ import { shapeComponent } from "set-state-compare/build/shape-component.js";
9
+ import useInput from "../use-input.js";
10
+ import { useForm } from "../form";
11
+ import useUpdatedEvent from "../use-updated-event.js";
12
+ export default memo(shapeComponent(class ApiMakerInputsCheckbox extends BaseComponent {
13
+ static defaultProps = {
14
+ autoRefresh: false,
15
+ autoSubmit: false,
16
+ defaultValue: 1,
17
+ model: null,
18
+ zeroInput: true
15
19
  };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
20
+ static propTypes = {
21
+ attribute: PropTypes.string,
22
+ autoRefresh: PropTypes.bool.isRequired,
23
+ autoSubmit: PropTypes.bool.isRequired,
24
+ defaultChecked: PropTypes.bool,
25
+ defaultValue: PropTypes.any,
26
+ id: PropTypes.string,
27
+ inputRef: PropTypes.object,
28
+ model: PropTypes.object,
29
+ name: PropTypes.string,
30
+ onErrors: PropTypes.func,
31
+ onMatchValidationError: PropTypes.func,
32
+ zeroInput: PropTypes.bool
25
33
  };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
- if (k2 === undefined) k2 = k;
30
- var desc = Object.getOwnPropertyDescriptor(m, k);
31
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
- desc = { enumerable: true, get: function() { return m[k]; } };
34
+ setup() {
35
+ const { autoRefresh, model } = this.p;
36
+ const { inputProps, restProps: useInputRestProps } = useInput({ props: this.props, wrapperOptions: { type: "checkbox" } });
37
+ const { defaultValue, name } = inputProps;
38
+ this.setInstance({
39
+ form: useForm(),
40
+ inputProps,
41
+ useInputRestProps
42
+ });
43
+ useMemo(() => {
44
+ if (name) {
45
+ this.tt.form?.setValue(name, defaultValue);
46
+ }
47
+ }, []);
48
+ useUpdatedEvent(model, this.tt.onModelUpdated, { active: Boolean(autoRefresh && model) });
33
49
  }
34
- Object.defineProperty(o, k2, desc);
35
- }) : (function(o, m, k, k2) {
36
- if (k2 === undefined) k2 = k;
37
- o[k2] = m[k];
38
- }));
39
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
- Object.defineProperty(o, "default", { enumerable: true, value: v });
41
- }) : function(o, v) {
42
- o["default"] = v;
43
- });
44
- var __importStar = (this && this.__importStar) || (function () {
45
- var ownKeys = function(o) {
46
- ownKeys = Object.getOwnPropertyNames || function (o) {
47
- var ar = [];
48
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
49
- return ar;
50
- };
51
- return ownKeys(o);
52
- };
53
- return function (mod) {
54
- if (mod && mod.__esModule) return mod;
55
- var result = {};
56
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
57
- __setModuleDefault(result, mod);
58
- return result;
50
+ render() {
51
+ const { inputProps, useInputRestProps } = this.tt;
52
+ const { attribute, autoRefresh, autoSubmit, checked, defaultChecked, defaultValue, id, inputRef, model, name, onChange, zeroInput, ...restProps } = useInputRestProps;
53
+ return (_jsxs(_Fragment, { children: [zeroInput && inputProps.name &&
54
+ _jsx("input", { defaultValue: "0", name: inputProps.name, type: "hidden" }), _jsx("input", { ...inputProps, "data-auto-refresh": autoRefresh, "data-auto-submit": autoSubmit, defaultValue: defaultValue, onChange: this.tt.onChanged, type: "checkbox", ...restProps })] }));
55
+ }
56
+ onChanged = (...args) => {
57
+ const { form, inputProps } = this.tt;
58
+ const { attribute, autoSubmit, model, onChange } = this.props;
59
+ const { name } = inputProps;
60
+ if (attribute && autoSubmit && model)
61
+ new AutoSubmit({ component: this }).autoSubmit();
62
+ if (form && name) {
63
+ const checked = args[0].target.checked;
64
+ form.setValue(name, checked);
65
+ }
66
+ if (onChange)
67
+ onChange(...args);
59
68
  };
60
- })();
61
- var __rest = (this && this.__rest) || function (s, e) {
62
- var t = {};
63
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
64
- t[p] = s[p];
65
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
66
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
67
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
68
- t[p[i]] = s[p[i]];
69
+ onModelUpdated = (args) => {
70
+ const inputRef = digg(this.tt.inputProps, "ref");
71
+ if (!inputRef.current) {
72
+ // This can happen if the component is being unmounted
73
+ return;
69
74
  }
70
- return t;
71
- };
72
- var __importDefault = (this && this.__importDefault) || function (mod) {
73
- return (mod && mod.__esModule) ? mod : { "default": mod };
74
- };
75
- var _a;
76
- Object.defineProperty(exports, "__esModule", { value: true });
77
- var jsx_runtime_1 = require("react/jsx-runtime");
78
- var react_1 = __importStar(require("react"));
79
- var auto_submit_js_1 = __importDefault(require("./auto-submit.js"));
80
- var base_component_js_1 = __importDefault(require("../base-component.js"));
81
- var diggerize_1 = require("diggerize");
82
- var prop_types_1 = __importDefault(require("prop-types"));
83
- var memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
84
- var shape_component_js_1 = require("set-state-compare/build/shape-component.js");
85
- var use_input_js_1 = __importDefault(require("../use-input.js"));
86
- var form_1 = require("../form");
87
- var use_updated_event_js_1 = __importDefault(require("../use-updated-event.js"));
88
- exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)((_a = /** @class */ (function (_super) {
89
- __extends(ApiMakerInputsCheckbox, _super);
90
- function ApiMakerInputsCheckbox() {
91
- var _this = _super !== null && _super.apply(this, arguments) || this;
92
- _this.onChanged = function () {
93
- var args = [];
94
- for (var _i = 0; _i < arguments.length; _i++) {
95
- args[_i] = arguments[_i];
96
- }
97
- var _b = _this.tt, form = _b.form, inputProps = _b.inputProps;
98
- var _c = _this.props, attribute = _c.attribute, autoSubmit = _c.autoSubmit, model = _c.model, onChange = _c.onChange;
99
- var name = inputProps.name;
100
- if (attribute && autoSubmit && model)
101
- new auto_submit_js_1.default({ component: _this }).autoSubmit();
102
- if (form && name) {
103
- var checked = args[0].target.checked;
104
- form.setValue(name, checked);
105
- }
106
- if (onChange)
107
- onChange.apply(void 0, args);
108
- };
109
- _this.onModelUpdated = function (args) {
110
- var inputRef = (0, diggerize_1.digg)(_this.tt.inputProps, "ref");
111
- if (!inputRef.current) {
112
- // This can happen if the component is being unmounted
113
- return;
114
- }
115
- var attribute = _this.p.attribute;
116
- var newModel = (0, diggerize_1.digg)(args, "model");
117
- var currentChecked = (0, diggerize_1.digg)(inputRef, "current", "checked");
118
- var newValue = newModel.readAttribute(attribute);
119
- if (currentChecked != newValue) {
120
- inputRef.current.checked = newValue;
121
- }
122
- };
123
- return _this;
75
+ const { attribute } = this.p;
76
+ const newModel = digg(args, "model");
77
+ const currentChecked = digg(inputRef, "current", "checked");
78
+ const newValue = newModel.readAttribute(attribute);
79
+ if (currentChecked != newValue) {
80
+ inputRef.current.checked = newValue;
124
81
  }
125
- ApiMakerInputsCheckbox.prototype.setup = function () {
126
- var _this = this;
127
- var _b = this.p, autoRefresh = _b.autoRefresh, model = _b.model;
128
- var _c = (0, use_input_js_1.default)({ props: this.props, wrapperOptions: { type: "checkbox" } }), inputProps = _c.inputProps, useInputRestProps = _c.restProps;
129
- var defaultValue = inputProps.defaultValue, name = inputProps.name;
130
- this.setInstance({
131
- form: (0, form_1.useForm)(),
132
- inputProps: inputProps,
133
- useInputRestProps: useInputRestProps
134
- });
135
- (0, react_1.useMemo)(function () {
136
- var _b;
137
- if (name) {
138
- (_b = _this.tt.form) === null || _b === void 0 ? void 0 : _b.setValue(name, defaultValue);
139
- }
140
- }, []);
141
- (0, use_updated_event_js_1.default)(model, this.tt.onModelUpdated, { active: Boolean(autoRefresh && model) });
142
- };
143
- ApiMakerInputsCheckbox.prototype.render = function () {
144
- var _b = this.tt, inputProps = _b.inputProps, useInputRestProps = _b.useInputRestProps;
145
- var attribute = useInputRestProps.attribute, autoRefresh = useInputRestProps.autoRefresh, autoSubmit = useInputRestProps.autoSubmit, checked = useInputRestProps.checked, defaultChecked = useInputRestProps.defaultChecked, defaultValue = useInputRestProps.defaultValue, id = useInputRestProps.id, inputRef = useInputRestProps.inputRef, model = useInputRestProps.model, name = useInputRestProps.name, onChange = useInputRestProps.onChange, zeroInput = useInputRestProps.zeroInput, restProps = __rest(useInputRestProps, ["attribute", "autoRefresh", "autoSubmit", "checked", "defaultChecked", "defaultValue", "id", "inputRef", "model", "name", "onChange", "zeroInput"]);
146
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [zeroInput && inputProps.name &&
147
- (0, jsx_runtime_1.jsx)("input", { defaultValue: "0", name: inputProps.name, type: "hidden" }), (0, jsx_runtime_1.jsx)("input", __assign({}, inputProps, { "data-auto-refresh": autoRefresh, "data-auto-submit": autoSubmit, defaultValue: defaultValue, onChange: this.tt.onChanged, type: "checkbox" }, restProps))] }));
148
- };
149
- return ApiMakerInputsCheckbox;
150
- }(base_component_js_1.default)),
151
- _a.defaultProps = {
152
- autoRefresh: false,
153
- autoSubmit: false,
154
- defaultValue: 1,
155
- model: null,
156
- zeroInput: true
157
- },
158
- _a.propTypes = {
159
- attribute: prop_types_1.default.string,
160
- autoRefresh: prop_types_1.default.bool.isRequired,
161
- autoSubmit: prop_types_1.default.bool.isRequired,
162
- defaultChecked: prop_types_1.default.bool,
163
- defaultValue: prop_types_1.default.any,
164
- id: prop_types_1.default.string,
165
- inputRef: prop_types_1.default.object,
166
- model: prop_types_1.default.object,
167
- name: prop_types_1.default.string,
168
- onErrors: prop_types_1.default.func,
169
- onMatchValidationError: prop_types_1.default.func,
170
- zeroInput: prop_types_1.default.bool
171
- },
172
- _a)));
173
- //# sourceMappingURL=checkbox.js.map
82
+ };
83
+ }));
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9jaGVja2JveC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sZUFBZSxNQUFNLHlCQUF5QixDQUFBO0FBRXJELGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLHNCQUF1QixTQUFRLGFBQWE7SUFDbkYsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixXQUFXLEVBQUUsS0FBSztRQUNsQixVQUFVLEVBQUUsS0FBSztRQUNqQixZQUFZLEVBQUUsQ0FBQztRQUNmLEtBQUssRUFBRSxJQUFJO1FBQ1gsU0FBUyxFQUFFLElBQUk7S0FDaEIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLFdBQVcsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDdEMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNyQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDOUIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQzNCLEVBQUUsRUFBRSxTQUFTLENB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LENBQUMsT0FBTyxDQUFBO1lBRXRDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxJQUFJLFFBQVE7WUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNqQyxDQUFDLENBQUE7SUFFRCxjQUFjLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFFaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixzREFBc0Q7WUFDdEQsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFbEQsSUFBSSxjQUFjLElBQUksUUFBUSxFQUFFLENBQUM7WUFDL0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFBO1FBQ3JDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQXV0b1N1Ym1pdCBmcm9tIFwiLi9hdXRvLXN1Ym1pdC5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgdXNlSW5wdXQgZnJvbSBcIi4uL3VzZS1pbnB1dC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCB1c2VVcGRhdGVkRXZlbnQgZnJvbSBcIi4uL3VzZS11cGRhdGVkLWV2ZW50LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0NoZWNrYm94IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYXV0b1JlZnJlc2g6IGZhbHNlLFxuICAgIGF1dG9TdWJtaXQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBtb2RlbDogbnVsbCxcbiAgICB6ZXJvSW5wdXQ6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGF1dG9SZWZyZXNoOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGF1dG9TdWJtaXQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZGVmYXVsdENoZWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLmFueSxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpbnB1dFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uRXJyb3JzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbk1hdGNoVmFsaWRhdGlvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB6ZXJvSW5wdXQ6IFByb3BUeXBlcy5ib29sXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7YXV0b1JlZnJlc2gsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IHtpbnB1dFByb3BzLCByZXN0UHJvcHM6IHVzZUlucHV0UmVzdFByb3BzfSA9IHVzZUlucHV0KHtwcm9wczogdGhpcy5wcm9wcywgd3JhcHBlck9wdGlvbnM6IHt0eXBlOiBcImNoZWNrYm94XCJ9fSlcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlLCBuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe1xuICAgICAgZm9ybTogdXNlRm9ybSgpLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIHVzZUlucHV0UmVzdFByb3BzXG4gICAgfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgdGhpcy50dC5mb3JtPy5zZXRWYWx1ZShuYW1lLCBkZWZhdWx0VmFsdWUpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VVcGRhdGVkRXZlbnQobW9kZWwsIHRoaXMudHQub25Nb2RlbFVwZGF0ZWQsIHthY3RpdmU6IEJvb2xlYW4oYXV0b1JlZnJlc2ggJiYgbW9kZWwpfSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHVzZUlucHV0UmVzdFByb3BzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7XG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBhdXRvUmVmcmVzaCxcbiAgICAgIGF1dG9TdWJtaXQsXG4gICAgICBjaGVja2VkLFxuICAgICAgZGVmYXVsdENoZWNrZWQsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBpZCxcbiAgICAgIGlucHV0UmVmLFxuICAgICAgbW9kZWwsXG4gICAgICBuYW1lLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICB6ZXJvSW5wdXQsXG4gICAgICAuLi5yZXN0UHJvcHNcbiAgICB9ID0gdXNlSW5wdXRSZXN0UHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7emVyb0lucHV0ICYmIGlucHV0UHJvcHMubmFtZSAmJlxuICAgICAgICAgIDxpbnB1dCBkZWZhdWx0VmFsdWU9XCIwXCIgbmFtZT17aW5wdXRQcm9wcy5uYW1lfSB0eXBlPVwiaGlkZGVuXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICBkYXRhLWF1dG8tcmVmcmVzaD17YXV0b1JlZnJlc2h9XG4gICAgICAgICAgZGF0YS1hdXRvLXN1Ym1pdD17YXV0b1N1Ym1pdH1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vbkNoYW5nZWR9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG5cbiAgb25DaGFuZ2VkID0gKC4uLmFyZ3MpID0+IHtcbiAgICBjb25zdCB7Zm9ybSwgaW5wdXRQcm9wc30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIGF1dG9TdWJtaXQgJiYgbW9kZWwpIG5ldyBBdXRvU3VibWl0KHtjb21wb25lbnQ6IHRoaXN9KS5hdXRvU3VibWl0KClcblxuICAgIGlmIChmb3JtICYmIG5hbWUpIHtcbiAgICAgIGNvbnN0IGNoZWNrZWQgPSBhcmdzWzBdLnRhcmdldC5jaGVja2VkXG5cbiAgICAgIGZvcm0uc2V0VmFsdWUobmFtZSwgY2hlY2tlZClcbiAgICB9XG5cbiAgICBpZiAob25DaGFuZ2UpIG9uQ2hhbmdlKC4uLmFyZ3MpXG4gIH1cblxuICBvbk1vZGVsVXBkYXRlZCA9IChhcmdzKSA9PiB7XG4gICAgY29uc3QgaW5wdXRSZWYgPSBkaWdnKHRoaXMudHQuaW5wdXRQcm9wcywgXCJyZWZcIilcblxuICAgIGlmICghaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgdW5tb3VudGVkXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB7YXR0cmlidXRlfSA9IHRoaXMucFxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudENoZWNrZWQgPSBkaWdnKGlucHV0UmVmLCBcImN1cnJlbnRcIiwgXCJjaGVja2VkXCIpXG4gICAgY29uc3QgbmV3VmFsdWUgPSBuZXdNb2RlbC5yZWFkQXR0cmlidXRlKGF0dHJpYnV0ZSlcblxuICAgIGlmIChjdXJyZW50Q2hlY2tlZCAhPSBuZXdWYWx1ZSkge1xuICAgICAgaW5wdXRSZWYuY3VycmVudC5jaGVja2VkID0gbmV3VmFsdWVcbiAgICB9XG4gIH1cbn0pKVxuIl19
@@ -1,163 +1,80 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import BaseComponent from "../base-component.js";
3
+ import classNames from "classnames";
4
+ import { digs } from "diggerize";
5
+ import inputWrapper from "./input-wrapper";
6
+ import * as inflection from "inflection";
7
+ import InvalidFeedback from "../bootstrap/invalid-feedback.js";
8
+ import PropTypes from "prop-types";
9
+ import propTypesExact from "prop-types-exact";
10
+ import React from "react";
11
+ import memo from "set-state-compare/build/memo.js";
12
+ import { shapeComponent } from "set-state-compare/build/shape-component.js";
13
+ const ApiMakerInputsCheckboxes = memo(shapeComponent(class ApiMakerInputsCheckboxes extends BaseComponent {
14
+ static propTypes = propTypesExact({
15
+ attribute: PropTypes.string,
16
+ defaultValue: PropTypes.array,
17
+ id: PropTypes.string,
18
+ inputProps: PropTypes.object.isRequired,
19
+ label: PropTypes.any,
20
+ model: PropTypes.object,
21
+ name: PropTypes.string,
22
+ onChange: PropTypes.func,
23
+ options: PropTypes.array.isRequired,
24
+ wrapperOpts: PropTypes.object
25
+ });
26
+ render() {
27
+ const { className, inputProps, label, wrapperOpts, ...restProps } = this.props;
28
+ return (_jsxs("div", { className: classNames("component-bootstrap-check-boxes", className), ...restProps, children: [_jsx("input", { name: this.inputName(), ref: this.props.inputProps.ref, type: "hidden", value: "" }), this.props.options.map((option, index) => this.optionElement(option, index))] }));
29
+ }
30
+ inputDefaultValue() {
31
+ const { attribute, defaultValue, model } = this.props;
32
+ if (defaultValue) {
33
+ return defaultValue;
34
+ }
35
+ else if (attribute && model) {
36
+ if (!model[attribute])
37
+ throw `No such attribute: ${attribute}`;
38
+ return this.props.model[attribute]();
23
39
  }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
- if (k2 === undefined) k2 = k;
30
- var desc = Object.getOwnPropertyDescriptor(m, k);
31
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
- desc = { enumerable: true, get: function() { return m[k]; } };
33
40
  }
34
- Object.defineProperty(o, k2, desc);
35
- }) : (function(o, m, k, k2) {
36
- if (k2 === undefined) k2 = k;
37
- o[k2] = m[k];
38
- }));
39
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
- Object.defineProperty(o, "default", { enumerable: true, value: v });
41
- }) : function(o, v) {
42
- o["default"] = v;
43
- });
44
- var __importStar = (this && this.__importStar) || (function () {
45
- var ownKeys = function(o) {
46
- ownKeys = Object.getOwnPropertyNames || function (o) {
47
- var ar = [];
48
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
49
- return ar;
50
- };
51
- return ownKeys(o);
52
- };
53
- return function (mod) {
54
- if (mod && mod.__esModule) return mod;
55
- var result = {};
56
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
57
- __setModuleDefault(result, mod);
58
- return result;
59
- };
60
- })();
61
- var __rest = (this && this.__rest) || function (s, e) {
62
- var t = {};
63
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
64
- t[p] = s[p];
65
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
66
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
67
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
68
- t[p[i]] = s[p[i]];
41
+ inputCheckboxClassName() {
42
+ const classNames = [];
43
+ if (this.props.wrapperOpts.errors.length > 0)
44
+ classNames.push("is-invalid");
45
+ return classNames.join(" ");
46
+ }
47
+ inputName() {
48
+ if (this.props.name) {
49
+ return `${this.props.name}[]`;
50
+ }
51
+ else if (this.props.model) {
52
+ return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
69
53
  }
70
- return t;
71
- };
72
- var __importDefault = (this && this.__importDefault) || function (mod) {
73
- return (mod && mod.__esModule) ? mod : { "default": mod };
74
- };
75
- var _a;
76
- Object.defineProperty(exports, "__esModule", { value: true });
77
- var jsx_runtime_1 = require("react/jsx-runtime");
78
- var base_component_js_1 = __importDefault(require("../base-component.js"));
79
- var classnames_1 = __importDefault(require("classnames"));
80
- var diggerize_1 = require("diggerize");
81
- var input_wrapper_1 = __importDefault(require("./input-wrapper"));
82
- var inflection = __importStar(require("inflection"));
83
- var invalid_feedback_js_1 = __importDefault(require("../bootstrap/invalid-feedback.js"));
84
- var prop_types_1 = __importDefault(require("prop-types"));
85
- var prop_types_exact_1 = __importDefault(require("prop-types-exact"));
86
- var react_1 = __importDefault(require("react"));
87
- var memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
88
- var shape_component_js_1 = require("set-state-compare/build/shape-component.js");
89
- var ApiMakerInputsCheckboxes = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)((_a = /** @class */ (function (_super) {
90
- __extends(ApiMakerInputsCheckboxes, _super);
91
- function ApiMakerInputsCheckboxes() {
92
- return _super !== null && _super.apply(this, arguments) || this;
54
+ }
55
+ isDefaultSelected(option) {
56
+ let defaultValue = this.inputDefaultValue();
57
+ if (!defaultValue)
58
+ return false;
59
+ if (defaultValue.constructor === Array) {
60
+ return defaultValue.includes(option);
93
61
  }
94
- ApiMakerInputsCheckboxes.prototype.render = function () {
95
- var _this = this;
96
- var _b = this.props, className = _b.className, inputProps = _b.inputProps, label = _b.label, wrapperOpts = _b.wrapperOpts, restProps = __rest(_b, ["className", "inputProps", "label", "wrapperOpts"]);
97
- return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: (0, classnames_1.default)("component-bootstrap-check-boxes", className) }, restProps, { children: [(0, jsx_runtime_1.jsx)("input", { name: this.inputName(), ref: this.props.inputProps.ref, type: "hidden", value: "" }), this.props.options.map(function (option, index) { return _this.optionElement(option, index); })] })));
98
- };
99
- ApiMakerInputsCheckboxes.prototype.inputDefaultValue = function () {
100
- var _b = this.props, attribute = _b.attribute, defaultValue = _b.defaultValue, model = _b.model;
101
- if (defaultValue) {
102
- return defaultValue;
103
- }
104
- else if (attribute && model) {
105
- if (!model[attribute])
106
- throw "No such attribute: ".concat(attribute);
107
- return this.props.model[attribute]();
108
- }
109
- };
110
- ApiMakerInputsCheckboxes.prototype.inputCheckboxClassName = function () {
111
- var classNames = [];
112
- if (this.props.wrapperOpts.errors.length > 0)
113
- classNames.push("is-invalid");
114
- return classNames.join(" ");
115
- };
116
- ApiMakerInputsCheckboxes.prototype.inputName = function () {
117
- if (this.props.name) {
118
- return "".concat(this.props.name, "[]");
119
- }
120
- else if (this.props.model) {
121
- return "".concat(this.props.model.modelClassData().paramKey, "[").concat(inflection.underscore(this.props.attribute), "]");
122
- }
123
- };
124
- ApiMakerInputsCheckboxes.prototype.isDefaultSelected = function (option) {
125
- var defaultValue = this.inputDefaultValue();
126
- if (!defaultValue)
127
- return false;
128
- if (defaultValue.constructor === Array) {
129
- return defaultValue.includes(option);
130
- }
131
- else {
132
- return defaultValue == option;
133
- }
134
- };
135
- ApiMakerInputsCheckboxes.prototype.generatedId = function () {
136
- if (!this.generatedIdValue)
137
- this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
138
- return this.generatedIdValue;
139
- };
140
- ApiMakerInputsCheckboxes.prototype.optionElement = function (option, index) {
141
- var _b = this.props, onChange = _b.onChange, options = _b.options, wrapperOpts = _b.wrapperOpts;
142
- var errors = (0, diggerize_1.digs)(wrapperOpts, "errors").errors;
143
- var id = "".concat(this.generatedId(), "-").concat(index);
144
- return ((0, jsx_runtime_1.jsxs)("div", { className: "checkboxes-option", children: [(0, jsx_runtime_1.jsx)("input", { className: this.inputCheckboxClassName(), "data-option-value": option[1], defaultChecked: this.isDefaultSelected(option[1]), id: id, name: this.inputName(), onChange: onChange, type: "checkbox", value: option[1] }), (0, jsx_runtime_1.jsx)("label", { className: "ml-1", htmlFor: id, children: option[0] }), (index + 1) == options.length && errors.length > 0 &&
145
- (0, jsx_runtime_1.jsx)(invalid_feedback_js_1.default, { errors: errors })] }, "option-".concat(option[1])));
146
- };
147
- return ApiMakerInputsCheckboxes;
148
- }(base_component_js_1.default)),
149
- _a.propTypes = (0, prop_types_exact_1.default)({
150
- attribute: prop_types_1.default.string,
151
- defaultValue: prop_types_1.default.array,
152
- id: prop_types_1.default.string,
153
- inputProps: prop_types_1.default.object.isRequired,
154
- label: prop_types_1.default.any,
155
- model: prop_types_1.default.object,
156
- name: prop_types_1.default.string,
157
- onChange: prop_types_1.default.func,
158
- options: prop_types_1.default.array.isRequired,
159
- wrapperOpts: prop_types_1.default.object
160
- }),
161
- _a)));
162
- exports.default = (0, input_wrapper_1.default)(ApiMakerInputsCheckboxes);
163
- //# sourceMappingURL=checkboxes.js.map
62
+ else {
63
+ return defaultValue == option;
64
+ }
65
+ }
66
+ generatedId() {
67
+ if (!this.generatedIdValue)
68
+ this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
69
+ return this.generatedIdValue;
70
+ }
71
+ optionElement(option, index) {
72
+ const { onChange, options, wrapperOpts } = this.props;
73
+ const { errors } = digs(wrapperOpts, "errors");
74
+ const id = `${this.generatedId()}-${index}`;
75
+ return (_jsxs("div", { className: "checkboxes-option", children: [_jsx("input", { className: this.inputCheckboxClassName(), "data-option-value": option[1], defaultChecked: this.isDefaultSelected(option[1]), id: id, name: this.inputName(), onChange: onChange, type: "checkbox", value: option[1] }), _jsx("label", { className: "ml-1", htmlFor: id, children: option[0] }), (index + 1) == options.length && errors.length > 0 &&
76
+ _jsx(InvalidFeedback, { errors: errors })] }, `option-${option[1]}`));
77
+ }
78
+ }));
79
+ export default inputWrapper(ApiMakerInputsCheckboxes);
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiaW5wdXRzL2NoZWNrYm94ZXMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGVBQWUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUM5RCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV6RSxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSx3QkFBeUIsU0FBUSxhQUFhO0lBQ3ZHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixZQUFZLEVBQUUsU0FBUyxDQUFDLEtBQUs7UUFDN0IsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3BCLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdkMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3BCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDdEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3hCLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDbkMs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Q0FDUCxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsZUFBZSxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge2RpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IGlucHV0V3JhcHBlciBmcm9tIFwiLi9pbnB1dC13cmFwcGVyXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IEludmFsaWRGZWVkYmFjayBmcm9tIFwiLi4vYm9vdHN0cmFwL2ludmFsaWQtZmVlZGJhY2suanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcblxuY29uc3QgQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRQcm9wczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuYW55LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIHdyYXBwZXJPcHRzOiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBpbnB1dFByb3BzLCBsYWJlbCwgd3JhcHBlck9wdHMsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJjb21wb25lbnQtYm9vdHN0cmFwLWNoZWNrLWJveGVzXCIsIGNsYXNzTmFtZSl9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8aW5wdXQgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX0gcmVmPXt0aGlzLnByb3BzLmlucHV0UHJvcHMucmVmfSB0eXBlPVwiaGlkZGVuXCIgdmFsdWU9XCJcIiAvPlxuICAgICAgICB7dGhpcy5wcm9wcy5vcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT4gdGhpcy5vcHRpb25FbGVtZW50KG9wdGlvbiwgaW5kZXgpKX1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBkZWZhdWx0VmFsdWUsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkge1xuICAgICAgaWYgKCFtb2RlbFthdHRyaWJ1dGVdKVxuICAgICAgICB0aHJvdyBgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7YXR0cmlidXRlfWBcblxuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubW9kZWxbYXR0cmlidXRlXSgpXG4gICAgfVxuICB9XG5cbiAgaW5wdXRDaGVja2JveENsYXNzTmFtZSAoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtdXG5cbiAgICBpZiAodGhpcy5wcm9wcy53cmFwcGVyT3B0cy5lcnJvcnMubGVuZ3RoID4gMCkgY2xhc3NOYW1lcy5wdXNoKFwiaXMtaW52YWxpZFwiKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIGlucHV0TmFtZSAoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMubmFtZSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMucHJvcHMubmFtZX1bXWBcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMubW9kZWwpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1dYFxuICAgIH1cbiAgfVxuXG4gIGlzRGVmYXVsdFNlbGVjdGVkIChvcHRpb24pIHtcbiAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpXG5cbiAgICBpZiAoIWRlZmF1bHRWYWx1ZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlLmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZS5pbmNsdWRlcyhvcHRpb24pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUgPT0gb3B0aW9uXG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVkSWQgKCkge1xuICAgIGlmICghdGhpcy5nZW5lcmF0ZWRJZFZhbHVlKVxuICAgICAgdGhpcy5nZW5lcmF0ZWRJZFZhbHVlID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KSArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxNSlcblxuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlZElkVmFsdWVcbiAgfVxuXG4gIG9wdGlvbkVsZW1lbnQgKG9wdGlvbiwgaW5kZXgpIHtcbiAgICBjb25zdCB7b25DaGFuZ2UsIG9wdGlvbnMsIHdyYXBwZXJPcHRzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZXJyb3JzfSA9IGRpZ3Mod3JhcHBlck9wdHMsIFwiZXJyb3JzXCIpXG4gICAgY29uc3QgaWQgPSBgJHt0aGlzLmdlbmVyYXRlZElkKCl9LSR7aW5kZXh9YFxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2hlY2tib3hlcy1vcHRpb25cIiBrZXk9e2BvcHRpb24tJHtvcHRpb25bMV19YH0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5pbnB1dENoZWNrYm94Q2xhc3NOYW1lKCl9XG4gICAgICAgICAgZGF0YS1vcHRpb24tdmFsdWU9e29wdGlvblsxXX1cbiAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17dGhpcy5pc0RlZmF1bHRTZWxlY3RlZChvcHRpb25bMV0pfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cIm1sLTFcIiBodG1sRm9yPXtpZH0+XG4gICAgICAgICAge29wdGlvblswXX1cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICB7KGluZGV4ICsgMSkgPT0gb3B0aW9ucy5sZW5ndGggJiYgZXJyb3JzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICA8SW52YWxpZEZlZWRiYWNrIGVycm9ycz17ZXJyb3JzfSAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzKVxuIl19