@kaspernj/api-maker 1.0.445 → 1.0.447

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 (361) hide show
  1. package/{.eslintrc.cjs → .eslintrc.js} +4 -0
  2. package/README.md +35 -0
  3. package/android/build.gradle +43 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/expo/modules/api_maker/ApiMakerModule.kt +50 -0
  6. package/android/src/main/java/expo/modules/api_maker/ApiMakerView.kt +30 -0
  7. package/build/api.js +120 -0
  8. package/build/attribute-not-loaded-error.js +2 -0
  9. package/build/base-component.js +5 -0
  10. package/build/base-error.js +33 -0
  11. package/build/base-model/attribute.js +25 -0
  12. package/build/base-model/column.js +11 -0
  13. package/build/base-model/reflection.js +14 -0
  14. package/build/base-model/scope.js +11 -0
  15. package/build/base-model.js +828 -0
  16. package/build/bootstrap/attribute-row/index.js +105 -0
  17. package/build/bootstrap/attribute-rows.js +31 -0
  18. package/build/bootstrap/card.js +138 -0
  19. package/build/bootstrap/checkbox.js +97 -0
  20. package/build/bootstrap/checkboxes.js +183 -0
  21. package/build/bootstrap/index.js +2 -0
  22. package/build/bootstrap/input.js +128 -0
  23. package/build/bootstrap/invalid-feedback.js +27 -0
  24. package/build/bootstrap/paginate.js +150 -0
  25. package/build/bootstrap/radio-buttons.js +72 -0
  26. package/build/bootstrap/select.js +88 -0
  27. package/build/bootstrap/sort-link.js +130 -0
  28. package/build/cable-connection-pool.js +128 -0
  29. package/build/cable-subscription-pool.js +207 -0
  30. package/build/cable-subscription.js +21 -0
  31. package/build/cache-key-generator.js +81 -0
  32. package/build/can-can.js +134 -0
  33. package/build/channels-consumer.js +3 -0
  34. package/build/collection-loader.js +48 -0
  35. package/build/collection.js +279 -0
  36. package/build/command-submit-data.js +81 -0
  37. package/build/commands-pool.js +195 -0
  38. package/build/compose.js +9 -0
  39. package/build/config.js +53 -0
  40. package/build/custom-error.js +5 -0
  41. package/build/data-set-to-attributes.js +10 -0
  42. package/build/deserializer.js +56 -0
  43. package/build/destroy-error.js +5 -0
  44. package/build/devise.js +109 -0
  45. package/build/draggable-sort/controller.js +136 -0
  46. package/build/draggable-sort/index.js +114 -0
  47. package/build/draggable-sort/item.js +188 -0
  48. package/build/error-logger.js +101 -0
  49. package/build/error-messages.js +13 -0
  50. package/build/event-connection.js +32 -0
  51. package/build/event-model-class.js +24 -0
  52. package/build/events.js +5 -0
  53. package/build/form.js +83 -0
  54. package/build/index.js +3 -0
  55. package/build/inputs/attachment.js +121 -0
  56. package/build/inputs/auto-submit.js +36 -0
  57. package/build/inputs/checkbox.js +145 -0
  58. package/build/inputs/checkboxes.js +111 -0
  59. package/build/inputs/id-for-component.js +15 -0
  60. package/build/inputs/input-wrapper.js +18 -0
  61. package/build/inputs/input.js +230 -0
  62. package/build/inputs/money.js +179 -0
  63. package/build/inputs/name-for-component.js +13 -0
  64. package/build/inputs/select.js +92 -0
  65. package/build/instance-of-class-name.js +23 -0
  66. package/build/key-value-store.js +53 -0
  67. package/build/link.js +68 -0
  68. package/build/logger.js +30 -0
  69. package/build/modal.js +37 -0
  70. package/build/model-class-require.js +13 -0
  71. package/build/model-events.js +30 -0
  72. package/build/model-name.js +28 -0
  73. package/build/model-prop-type.js +101 -0
  74. package/build/model-recipes-loader.js +32 -0
  75. package/build/model-recipes-model-loader.js +357 -0
  76. package/build/models-response-reader.js +40 -0
  77. package/build/models.js +8 -0
  78. package/build/money-formatter.js +77 -0
  79. package/build/not-loaded-error.js +2 -0
  80. package/build/params.js +60 -0
  81. package/build/preloaded.js +38 -0
  82. package/build/resize-observer.js +11 -0
  83. package/build/result.js +13 -0
  84. package/build/router/route.js +262 -0
  85. package/build/router/switch.js +72 -0
  86. package/build/router.js +57 -0
  87. package/build/routes-native.js +202 -0
  88. package/build/routes.js +50 -0
  89. package/build/run-last.js +35 -0
  90. package/build/serializer.js +63 -0
  91. package/build/services.js +20 -0
  92. package/build/session-status-updater.js +126 -0
  93. package/build/source-maps-loader.js +171 -0
  94. package/build/super-admin/config-reader.js +84 -0
  95. package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
  96. package/build/super-admin/edit-page/edit-attribute-content.js +54 -0
  97. package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
  98. package/build/super-admin/edit-page/edit-attribute.js +76 -0
  99. package/build/super-admin/edit-page.js +120 -0
  100. package/build/super-admin/has-edit-config.js +12 -0
  101. package/build/super-admin/index-page.js +24 -0
  102. package/build/super-admin/index.js +180 -0
  103. package/build/super-admin/layout/header/index.js +151 -0
  104. package/build/super-admin/layout/index.js +109 -0
  105. package/build/super-admin/layout/menu/index.js +93 -0
  106. package/build/super-admin/layout/menu/menu-content.js +40 -0
  107. package/build/super-admin/layout/menu/menu-item.js +83 -0
  108. package/build/super-admin/layout/no-access.js +25 -0
  109. package/build/super-admin/model-class-table.js +61 -0
  110. package/build/super-admin/models.js +8 -0
  111. package/build/super-admin/show-nav.js +49 -0
  112. package/build/super-admin/show-page/belongs-to-attribute-row.js +28 -0
  113. package/build/super-admin/show-page/index.js +141 -0
  114. package/build/super-admin/show-reflection-actions.js +47 -0
  115. package/build/super-admin/show-reflection-link.js +46 -0
  116. package/build/super-admin/show-reflection-page.js +47 -0
  117. package/build/table/column-content.js +112 -0
  118. package/build/table/column-identifier.js +18 -0
  119. package/build/table/column-visible.js +7 -0
  120. package/build/table/components/column.js +20 -0
  121. package/build/table/components/flat-list.js +20 -0
  122. package/build/table/components/header.js +25 -0
  123. package/build/table/components/row.js +25 -0
  124. package/build/table/filters/attribute-element.js +43 -0
  125. package/build/table/filters/filter-form.js +392 -0
  126. package/build/table/filters/filter.js +89 -0
  127. package/build/table/filters/index.js +182 -0
  128. package/build/table/filters/load-search-modal.js +174 -0
  129. package/build/table/filters/reflection-element.js +36 -0
  130. package/build/table/filters/save-search-modal.js +86 -0
  131. package/build/table/filters/scope-element.js +41 -0
  132. package/build/table/header-column-content.js +67 -0
  133. package/build/table/header-column.js +144 -0
  134. package/build/table/header-select.js +104 -0
  135. package/build/table/model-callback-args.js +10 -0
  136. package/build/table/model-column.js +87 -0
  137. package/build/table/model-row.js +179 -0
  138. package/build/table/select-calculator.js +63 -0
  139. package/build/table/settings/column-row.js +97 -0
  140. package/build/table/settings/download-action.js +78 -0
  141. package/build/table/settings/index.js +92 -0
  142. package/build/table/table-settings.js +219 -0
  143. package/build/table/table.js +972 -0
  144. package/build/table/use-sorting.js +34 -0
  145. package/build/table/widths.js +75 -0
  146. package/build/table/worker-plugins-check-all-checkbox.js +125 -0
  147. package/build/table/worker-plugins-checkbox.js +115 -0
  148. package/build/translated-attributes.js +10 -0
  149. package/build/translated-collections.js +11 -0
  150. package/build/updated-attribute.js +76 -0
  151. package/build/url-encode.js +15 -0
  152. package/build/use-breakpoint.js +44 -0
  153. package/build/use-can-can.js +55 -0
  154. package/build/use-collection.js +225 -0
  155. package/build/use-created-event.js +52 -0
  156. package/build/use-current-user.js +73 -0
  157. package/build/use-destroyed-event.js +60 -0
  158. package/build/use-event-emitter.js +13 -0
  159. package/build/use-event-listener.js +16 -0
  160. package/build/use-input.js +140 -0
  161. package/build/use-model-event.js +60 -0
  162. package/build/use-model.js +169 -0
  163. package/build/use-resize-observer.js +23 -0
  164. package/build/use-router.js +102 -0
  165. package/build/use-screen-layout.js +39 -0
  166. package/build/use-updated-event.js +60 -0
  167. package/build/use-validation-errors.js +30 -0
  168. package/build/utils/card.js +51 -0
  169. package/build/utils/checkbox.js +48 -0
  170. package/build/utils/default-style.js +18 -0
  171. package/build/utils/modal.js +61 -0
  172. package/build/utils/text.js +18 -0
  173. package/build/validation-error.js +28 -0
  174. package/build/validation-errors.js +98 -0
  175. package/build/with-collection.js +13 -0
  176. package/build/with-current-user.js +9 -0
  177. package/build/with-model.js +14 -0
  178. package/build/with-router.js +21 -0
  179. package/expo-module.config.json +17 -0
  180. package/ios/ApiMaker.podspec +29 -0
  181. package/ios/ApiMakerModule.swift +48 -0
  182. package/ios/ApiMakerView.swift +38 -0
  183. package/package.json +35 -14
  184. package/src/{api.mjs → api.js} +5 -5
  185. package/src/{base-error.mjs → base-error.js} +1 -1
  186. package/src/base-model/{attribute.mjs → attribute.js} +1 -1
  187. package/src/base-model/{reflection.mjs → reflection.js} +1 -1
  188. package/src/{base-model.mjs → base-model.js} +14 -14
  189. package/src/bootstrap/attribute-row/index.jsx +2 -2
  190. package/src/bootstrap/attribute-rows.jsx +1 -1
  191. package/src/bootstrap/card.jsx +1 -1
  192. package/src/bootstrap/checkbox.jsx +1 -1
  193. package/src/bootstrap/checkboxes.jsx +1 -1
  194. package/src/bootstrap/input.jsx +1 -1
  195. package/src/bootstrap/paginate.jsx +2 -2
  196. package/src/bootstrap/sort-link.jsx +3 -3
  197. package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +3 -3
  198. package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +4 -4
  199. package/src/{cable-subscription.mjs → cable-subscription.js} +1 -1
  200. package/src/{can-can.mjs → can-can.js} +1 -1
  201. package/src/collection-loader.jsx +2 -2
  202. package/src/{collection.mjs → collection.js} +3 -3
  203. package/src/{commands-pool.mjs → commands-pool.js} +11 -11
  204. package/src/{custom-error.mjs → custom-error.js} +1 -1
  205. package/src/{deserializer.mjs → deserializer.js} +2 -2
  206. package/src/{destroy-error.mjs → destroy-error.js} +1 -1
  207. package/src/{devise.mjs → devise.js} +5 -9
  208. package/src/draggable-sort/controller.js +137 -0
  209. package/src/draggable-sort/index.jsx +108 -0
  210. package/src/draggable-sort/item.jsx +174 -0
  211. package/src/{error-logger.mjs → error-logger.js} +1 -1
  212. package/src/event-connection.jsx +1 -1
  213. package/src/event-model-class.jsx +1 -1
  214. package/src/form.jsx +1 -1
  215. package/src/index.js +3 -0
  216. package/src/inputs/attachment.jsx +2 -2
  217. package/src/inputs/checkbox.jsx +7 -6
  218. package/src/inputs/checkboxes.jsx +1 -1
  219. package/src/inputs/input-wrapper.jsx +1 -1
  220. package/src/inputs/input.jsx +8 -7
  221. package/src/inputs/money.jsx +3 -3
  222. package/src/inputs/select.jsx +1 -1
  223. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  224. package/src/link.jsx +2 -2
  225. package/src/modal.jsx +1 -1
  226. package/src/{model-class-require.mjs → model-class-require.js} +4 -2
  227. package/src/{model-events.mjs → model-events.js} +1 -1
  228. package/src/{model-name.mjs → model-name.js} +1 -1
  229. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  230. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +2 -2
  231. package/src/{models-response-reader.mjs → models-response-reader.js} +2 -2
  232. package/src/models.js +7 -0
  233. package/src/{models.mjs.erb → models.js.erb} +1 -1
  234. package/src/{params.mjs → params.js} +2 -2
  235. package/src/{preloaded.mjs → preloaded.js} +1 -1
  236. package/src/resize-observer.jsx +1 -1
  237. package/src/router/route.jsx +1 -1
  238. package/src/router/switch.jsx +1 -1
  239. package/src/router.jsx +1 -1
  240. package/src/{routes-native.mjs → routes-native.js} +1 -1
  241. package/src/{services.mjs → services.js} +1 -1
  242. package/src/{session-status-updater.mjs → session-status-updater.js} +3 -3
  243. package/src/{source-maps-loader.mjs → source-maps-loader.js} +1 -1
  244. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +1 -1
  245. package/src/super-admin/edit-page/edit-attribute-content.jsx +1 -1
  246. package/src/super-admin/edit-page/edit-attribute-input.jsx +1 -1
  247. package/src/super-admin/edit-page/edit-attribute.jsx +1 -1
  248. package/src/super-admin/edit-page.jsx +2 -2
  249. package/src/super-admin/has-edit-config.js +1 -1
  250. package/src/super-admin/index-page.jsx +1 -1
  251. package/src/super-admin/index.jsx +7 -7
  252. package/src/super-admin/layout/header/index.jsx +2 -2
  253. package/src/super-admin/layout/index.jsx +3 -3
  254. package/src/super-admin/layout/menu/index.jsx +3 -3
  255. package/src/super-admin/layout/menu/menu-content.jsx +2 -2
  256. package/src/super-admin/layout/menu/{menu-item/index.jsx → menu-item.jsx} +5 -6
  257. package/src/super-admin/layout/no-access.jsx +2 -2
  258. package/src/super-admin/model-class-table.jsx +3 -3
  259. package/src/super-admin/models.js +1 -1
  260. package/src/super-admin/show-nav.jsx +2 -2
  261. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +1 -1
  262. package/src/super-admin/show-page/index.jsx +2 -2
  263. package/src/super-admin/show-reflection-actions.jsx +1 -1
  264. package/src/super-admin/show-reflection-link.jsx +1 -1
  265. package/src/super-admin/show-reflection-page.jsx +1 -1
  266. package/src/table/column-content.jsx +1 -1
  267. package/src/table/components/column.jsx +8 -2
  268. package/src/table/components/header.jsx +2 -2
  269. package/src/table/filters/filter-form.jsx +1 -1
  270. package/src/table/filters/index.jsx +5 -3
  271. package/src/table/filters/load-search-modal.jsx +6 -4
  272. package/src/table/filters/save-search-modal.jsx +4 -4
  273. package/src/table/header-column.jsx +59 -79
  274. package/src/table/header-select.jsx +1 -1
  275. package/src/table/model-column.jsx +12 -6
  276. package/src/table/model-row.jsx +11 -7
  277. package/src/table/{select-calculator.mjs → select-calculator.js} +1 -1
  278. package/src/table/settings/column-row.jsx +4 -3
  279. package/src/table/settings/download-action.jsx +3 -3
  280. package/src/table/settings/index.jsx +3 -3
  281. package/src/table/table-settings.js +5 -4
  282. package/src/table/table.jsx +149 -71
  283. package/src/table/{use-sorting.mjs → use-sorting.js} +1 -1
  284. package/src/table/{widths.mjs → widths.jsx} +11 -2
  285. package/src/table/worker-plugins-check-all-checkbox.jsx +2 -2
  286. package/src/table/worker-plugins-checkbox.jsx +2 -2
  287. package/src/{translated-collections.mjs → translated-collections.js} +1 -1
  288. package/src/updated-attribute.jsx +1 -1
  289. package/src/{use-breakpoint.mjs → use-breakpoint.js} +2 -2
  290. package/src/use-can-can.js +55 -0
  291. package/src/{use-collection.mjs → use-collection.js} +4 -4
  292. package/src/{use-created-event.mjs → use-created-event.js} +2 -2
  293. package/src/{use-current-user.mjs → use-current-user.js} +6 -5
  294. package/src/{use-destroyed-event.mjs → use-destroyed-event.js} +2 -2
  295. package/src/{use-input.mjs → use-input.js} +5 -5
  296. package/src/use-model-event.js +2 -2
  297. package/src/{use-model.mjs → use-model.js} +4 -4
  298. package/src/{use-resize-observer.mjs → use-resize-observer.js} +1 -1
  299. package/src/use-router.jsx +2 -2
  300. package/src/{use-updated-event.mjs → use-updated-event.js} +2 -2
  301. package/src/{use-validation-errors.mjs → use-validation-errors.js} +3 -3
  302. package/src/utils/checkbox.jsx +2 -2
  303. package/src/{validation-error.mjs → validation-error.js} +1 -1
  304. package/src/{validation-errors.mjs → validation-errors.js} +1 -1
  305. package/src/with-current-user.jsx +1 -1
  306. package/src/with-model.jsx +1 -1
  307. package/__tests__/base-model.test.mjs +0 -71
  308. package/__tests__/cable-connection-pool.test.mjs +0 -227
  309. package/__tests__/cable-subscription-pool.test.mjs +0 -27
  310. package/__tests__/can-can.test.mjs +0 -34
  311. package/__tests__/collection.test.mjs +0 -51
  312. package/__tests__/custom-error.test.mjs +0 -13
  313. package/__tests__/model-name.test.mjs +0 -34
  314. package/__tests__/model-prop-type.test.mjs +0 -113
  315. package/__tests__/params.test.mjs +0 -40
  316. package/__tests__/routes-native.test.mjs +0 -104
  317. package/__tests__/routes.test.mjs +0 -47
  318. package/__tests__/serializer.test.mjs +0 -30
  319. package/__tests__/support/task.mjs +0 -27
  320. package/__tests__/support/user.mjs +0 -32
  321. package/index.js +0 -1
  322. package/jest.config.js +0 -9
  323. package/src/event-created.jsx +0 -12
  324. package/src/event-destroyed.jsx +0 -25
  325. package/src/event-emitter-listener.jsx +0 -10
  326. package/src/event-listener.jsx +0 -25
  327. package/src/event-updated.jsx +0 -27
  328. package/src/super-admin/layout/menu/menu-item/style.scss +0 -10
  329. package/src/use-can-can.mjs +0 -48
  330. package/src/with-can-can.jsx +0 -12
  331. package/webpack.config.js +0 -15
  332. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  333. /package/src/base-model/{column.mjs → column.js} +0 -0
  334. /package/src/base-model/{scope.mjs → scope.js} +0 -0
  335. /package/src/{cache-key-generator.mjs → cache-key-generator.js} +0 -0
  336. /package/src/{channels-consumer.mjs → channels-consumer.js} +0 -0
  337. /package/src/{command-submit-data.mjs → command-submit-data.js} +0 -0
  338. /package/src/{config.mjs → config.js} +0 -0
  339. /package/src/{data-set-to-attributes.mjs → data-set-to-attributes.js} +0 -0
  340. /package/src/{error-messages.mjs → error-messages.js} +0 -0
  341. /package/src/{events.mjs → events.js} +0 -0
  342. /package/src/inputs/{auto-submit.mjs → auto-submit.js} +0 -0
  343. /package/src/inputs/{id-for-component.mjs → id-for-component.js} +0 -0
  344. /package/src/inputs/{name-for-component.mjs → name-for-component.js} +0 -0
  345. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  346. /package/src/{logger.mjs → logger.js} +0 -0
  347. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  348. /package/src/{money-formatter.mjs → money-formatter.js} +0 -0
  349. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  350. /package/src/{result.mjs → result.js} +0 -0
  351. /package/src/{routes.mjs → routes.js} +0 -0
  352. /package/src/{run-last.mjs → run-last.js} +0 -0
  353. /package/src/{serializer.mjs → serializer.js} +0 -0
  354. /package/src/table/{column-identifier.mjs → column-identifier.js} +0 -0
  355. /package/src/table/{column-visible.mjs → column-visible.js} +0 -0
  356. /package/src/table/{model-callback-args.mjs → model-callback-args.js} +0 -0
  357. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
  358. /package/src/{url-encode.mjs → url-encode.js} +0 -0
  359. /package/src/{use-event-emitter.mjs → use-event-emitter.js} +0 -0
  360. /package/src/{use-event-listener.mjs → use-event-listener.js} +0 -0
  361. /package/src/{use-screen-layout.mjs → use-screen-layout.js} +0 -0
@@ -0,0 +1,32 @@
1
+ import ModelEvents from "./model-events";
2
+ import PropTypes from "prop-types";
3
+ import propTypesExact from "prop-types-exact";
4
+ import React from "react";
5
+ export default class ApiMakerEventConnection extends React.PureComponent {
6
+ static defaultProps = {
7
+ active: true
8
+ };
9
+ static propTypes = propTypesExact({
10
+ active: PropTypes.bool.isRequired,
11
+ model: PropTypes.object.isRequired,
12
+ event: PropTypes.string.isRequired,
13
+ onCall: PropTypes.func.isRequired
14
+ });
15
+ componentDidMount() {
16
+ this.subscription = ModelEvents.connect(this.props.model, this.props.event, (...args) => this.onCall(...args));
17
+ }
18
+ componentWillUnmount() {
19
+ if (this.subscription) {
20
+ this.subscription.unsubscribe();
21
+ }
22
+ }
23
+ render() {
24
+ return null;
25
+ }
26
+ onCall(...args) {
27
+ if (this.props.active) {
28
+ this.props.onCall(...args);
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlbEV2ZW50cyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJBcGlNYWtlckV2ZW50Q29ubmVjdGlvbiIsIlB1cmVDb21wb25lbnQiLCJkZWZhdWx0UHJvcHMiLCJhY3RpdmUiLCJwcm9wVHlwZXMiLCJib29sIiwiaXNSZXF1aXJlZCIsIm1vZGVsIiwib2JqZWN0IiwiZXZlbnQiLCJzdHJpbmciLCJvbkNhbGwiLCJmdW5jIiwiY29tcG9uZW50RGlkTW91bnQiLCJzdWJzY3JpcHRpb24iLCJjb25uZWN0IiwicHJvcHMiLCJhcmdzIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJ1bnN1YnNjcmliZSIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1jb25uZWN0aW9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckV2ZW50Q29ubmVjdGlvbiBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGFjdGl2ZTogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG9uQ2FsbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9KVxuXG4gIGNvbXBvbmVudERpZE1vdW50ICgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IE1vZGVsRXZlbnRzLmNvbm5lY3QodGhpcy5wcm9wcy5tb2RlbCwgdGhpcy5wcm9wcy5ldmVudCwgKC4uLmFyZ3MpID0+IHRoaXMub25DYWxsKC4uLmFyZ3MpKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQgKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIG9uQ2FsbCAoLi4uYXJncykge1xuICAgIGlmICh0aGlzLnByb3BzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNhbGwoLi4uYXJncylcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsV0FBVyxNQUFNLGdCQUFnQjtBQUN4QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBRXpCLGVBQWUsTUFBTUMsdUJBQXVCLFNBQVNELEtBQUssQ0FBQ0UsYUFBYSxDQUFDO0VBQ3ZFLE9BQU9DLFlBQVksR0FBRztJQUNwQkMsTUFBTSxFQUFFO0VBQ1YsQ0FBQztFQUVELE9BQU9DLFNBQVMsR0FBR04sY0FBYyxDQUFDO0lBQ2hDSyxNQUFNLEVBQUVOLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDQyxVQUFVO0lBQ2pDQyxLQUFLLEVBQUVWLFNBQVMsQ0FBQ1csTUFBTSxDQUFDRixVQUFVO0lBQ2xDRyxLQUFLLEVBQUVaLFNBQVMsQ0FBQ2EsTUFBTSxDQUFDSixVQUFVO0lBQ2xDSyxNQUFNLEVBQUVkLFNBQVMsQ0FBQ2UsSUFBSSxDQUFDTjtFQUN6QixDQUFDLENBQUM7RUFFRk8saUJBQWlCQSxDQUFBLEVBQUk7SUFDbkIsSUFBSSxDQUFDQyxZQUFZLEdBQUdsQixXQUFXLENBQUNtQixPQUFPLENBQUMsSUFBSSxDQUFDQyxLQUFLLENBQUNULEtBQUssRUFBRSxJQUFJLENBQUNTLEtBQUssQ0FBQ1AsS0FBSyxFQUFFLENBQUMsR0FBR1EsSUFBSSxLQUFLLElBQUksQ0FBQ04sTUFBTSxDQUFDLEdBQUdNLElBQUksQ0FBQyxDQUFDO0VBQ2hIO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFJO0lBQ3RCLElBQUksSUFBSSxDQUFDSixZQUFZLEVBQUU7TUFDckIsSUFBSSxDQUFDQSxZQUFZLENBQUNLLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDO0VBQ0Y7RUFFQUMsTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsT0FBTyxJQUFJO0VBQ2I7RUFFQVQsTUFBTUEsQ0FBRSxHQUFHTSxJQUFJLEVBQUU7SUFDZixJQUFJLElBQUksQ0FBQ0QsS0FBSyxDQUFDYixNQUFNLEVBQUU7TUFDckIsSUFBSSxDQUFDYSxLQUFLLENBQUNMLE1BQU0sQ0FBQyxHQUFHTSxJQUFJLENBQUM7SUFDNUI7RUFDRjtBQUNGIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,24 @@
1
+ import ModelEvents from "./model-events";
2
+ import PropTypes from "prop-types";
3
+ import propTypesExact from "prop-types-exact";
4
+ import React from "react";
5
+ export default class ApiMakerEventModelClass extends React.PureComponent {
6
+ static propTypes = propTypesExact({
7
+ event: PropTypes.string.isRequired,
8
+ modelClass: PropTypes.func.isRequired,
9
+ onCall: PropTypes.func.isRequired
10
+ });
11
+ componentDidMount() {
12
+ this.connect();
13
+ }
14
+ componentWillUnmount() {
15
+ if (this.connection) {
16
+ this.connection.unsubscribe();
17
+ }
18
+ }
19
+ connect() {
20
+ this.connection = ModelEvents.connectModelClass(this.props.modelClass, this.props.event, this.props.onCall);
21
+ }
22
+ render = () => null;
23
+ }
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlbEV2ZW50cyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJBcGlNYWtlckV2ZW50TW9kZWxDbGFzcyIsIlB1cmVDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJldmVudCIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJtb2RlbENsYXNzIiwiZnVuYyIsIm9uQ2FsbCIsImNvbXBvbmVudERpZE1vdW50IiwiY29ubmVjdCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY29ubmVjdGlvbiIsInVuc3Vic2NyaWJlIiwiY29ubmVjdE1vZGVsQ2xhc3MiLCJwcm9wcyIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1tb2RlbC1jbGFzcy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50c1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJFdmVudE1vZGVsQ2xhc3MgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DYWxsOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgY29tcG9uZW50RGlkTW91bnQgKCkge1xuICAgIHRoaXMuY29ubmVjdCgpXG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbikge1xuICAgICAgdGhpcy5jb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBjb25uZWN0ICgpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBNb2RlbEV2ZW50cy5jb25uZWN0TW9kZWxDbGFzcyh0aGlzLnByb3BzLm1vZGVsQ2xhc3MsIHRoaXMucHJvcHMuZXZlbnQsIHRoaXMucHJvcHMub25DYWxsKVxuICB9XG5cbiAgcmVuZGVyID0gKCkgPT4gbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLE1BQU0sZ0JBQWdCO0FBQ3hDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFFekIsZUFBZSxNQUFNQyx1QkFBdUIsU0FBU0QsS0FBSyxDQUFDRSxhQUFhLENBQUM7RUFDdkUsT0FBT0MsU0FBUyxHQUFHSixjQUFjLENBQUM7SUFDaENLLEtBQUssRUFBRU4sU0FBUyxDQUFDTyxNQUFNLENBQUNDLFVBQVU7SUFDbENDLFVBQVUsRUFBRVQsU0FBUyxDQUFDVSxJQUFJLENBQUNGLFVBQVU7SUFDckNHLE1BQU0sRUFBRVgsU0FBUyxDQUFDVSxJQUFJLENBQUNGO0VBQ3pCLENBQUMsQ0FBQztFQUVGSSxpQkFBaUJBLENBQUEsRUFBSTtJQUNuQixJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO0VBQ2hCO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFJO0lBQ3RCLElBQUksSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbkIsSUFBSSxDQUFDQSxVQUFVLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CO0VBQ0Y7RUFFQUgsT0FBT0EsQ0FBQSxFQUFJO0lBQ1QsSUFBSSxDQUFDRSxVQUFVLEdBQUdoQixXQUFXLENBQUNrQixpQkFBaUIsQ0FBQyxJQUFJLENBQUNDLEtBQUssQ0FBQ1QsVUFBVSxFQUFFLElBQUksQ0FBQ1MsS0FBSyxDQUFDWixLQUFLLEVBQUUsSUFBSSxDQUFDWSxLQUFLLENBQUNQLE1BQU0sQ0FBQztFQUM3RztFQUVBUSxNQUFNLEdBQUdBLENBQUEsS0FBTSxJQUFJO0FBQ3JCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,5 @@
1
+ import EventEmitter from "events";
2
+ const events = new EventEmitter();
3
+ events.setMaxListeners(1000);
4
+ export default events;
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJldmVudHMiLCJzZXRNYXhMaXN0ZW5lcnMiXSwic291cmNlcyI6WyIuLi9zcmMvZXZlbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5cbmNvbnN0IGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKDEwMDApXG5cbmV4cG9ydCBkZWZhdWx0IGV2ZW50c1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLE1BQU0sUUFBUTtBQUVqQyxNQUFNQyxNQUFNLEdBQUcsSUFBSUQsWUFBWSxDQUFDLENBQUM7QUFFakNDLE1BQU0sQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQztBQUU1QixlQUFlRCxNQUFNIiwiaWdub3JlTGlzdCI6W119
package/build/form.js ADDED
@@ -0,0 +1,83 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { createContext, useContext, useMemo } from "react";
3
+ import BaseComponent from "./base-component";
4
+ import FormDataObjectizer from "form-data-objectizer";
5
+ import memo from "set-state-compare/src/memo";
6
+ import { Platform } from "react-native";
7
+ import PropTypes from "prop-types";
8
+ import { shapeComponent } from "set-state-compare/src/shape-component";
9
+ const FormContext = /*#__PURE__*/createContext(null);
10
+ class FormInputs {
11
+ constructor(props) {
12
+ this.inputs = {};
13
+ this.onSubmit = props?.onSubmit;
14
+ }
15
+ asObject() {
16
+ const result = {};
17
+ const formDataObjectizer = new FormDataObjectizer();
18
+ for (const key in this.inputs) {
19
+ const value = this.inputs[key];
20
+ formDataObjectizer.treatInitial(key, value, result);
21
+ }
22
+ return result;
23
+ }
24
+ setValue(name, value) {
25
+ if (!name) throw new Error("'name' is required");
26
+ this.inputs[name] = value;
27
+ }
28
+ setValueWithHidden(name, value) {
29
+ this.setValue(name, value);
30
+ if (Platform.OS == "web") {
31
+ return /*#__PURE__*/React.createElement("input", {
32
+ name: name,
33
+ type: "hidden",
34
+ value: value !== null && value !== undefined ? value : ""
35
+ });
36
+ }
37
+ }
38
+ submit() {
39
+ if (this.onSubmit) {
40
+ this.onSubmit();
41
+ }
42
+ }
43
+ }
44
+ const Form = memo(shapeComponent(class Form extends BaseComponent {
45
+ static propTypes = {
46
+ children: PropTypes.node,
47
+ formRef: PropTypes.object,
48
+ onSubmit: PropTypes.func,
49
+ setForm: PropTypes.func
50
+ };
51
+ render() {
52
+ const {
53
+ children,
54
+ formRef,
55
+ onSubmit,
56
+ setForm,
57
+ ...restProps
58
+ } = this.props;
59
+ const form = useMemo(() => new FormInputs({
60
+ onSubmit
61
+ }), []);
62
+ useMemo(() => {
63
+ if (setForm) {
64
+ setForm(form);
65
+ }
66
+ }, [setForm]);
67
+ return /*#__PURE__*/React.createElement(FormContext.Provider, {
68
+ value: form
69
+ }, Platform.OS == "web" && /*#__PURE__*/React.createElement("form", _extends({
70
+ ref: formRef,
71
+ onSubmit: this.tt.onFormSubmit
72
+ }, restProps), children), Platform.OS != "web" && this.props.children);
73
+ }
74
+ onFormSubmit = e => {
75
+ e.preventDefault();
76
+ if (this.props.onSubmit) {
77
+ this.props.onSubmit();
78
+ }
79
+ };
80
+ }));
81
+ const useForm = () => useContext(FormContext);
82
+ export { Form, FormContext, FormInputs, useForm };
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ29udGV4dCIsInVzZU1lbW8iLCJCYXNlQ29tcG9uZW50IiwiRm9ybURhdGFPYmplY3RpemVyIiwibWVtbyIsIlBsYXRmb3JtIiwiUHJvcFR5cGVzIiwic2hhcGVDb21wb25lbnQiLCJGb3JtQ29udGV4dCIsIkZvcm1JbnB1dHMiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiaW5wdXRzIiwib25TdWJtaXQiLCJhc09iamVjdCIsInJlc3VsdCIsImZvcm1EYXRhT2JqZWN0aXplciIsImtleSIsInZhbHVlIiwidHJlYXRJbml0aWFsIiwic2V0VmFsdWUiLCJuYW1lIiwiRXJyb3IiLCJzZXRWYWx1ZVdpdGhIaWRkZW4iLCJPUyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJ1bmRlZmluZWQiLCJzdWJtaXQiLCJGb3JtIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJub2RlIiwiZm9ybVJlZiIsIm9iamVjdCIsImZ1bmMiLCJzZXRGb3JtIiwicmVuZGVyIiwicmVzdFByb3BzIiwiZm9ybSIsIlByb3ZpZGVyIiwiX2V4dGVuZHMiLCJyZWYiLCJ0dCIsIm9uRm9ybVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUZvcm0iXSwic291cmNlcyI6WyIuLi9zcmMvZm9ybS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEZvcm1EYXRhT2JqZWN0aXplciBmcm9tIFwiZm9ybS1kYXRhLW9iamVjdGl6ZXJcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmNvbnN0IEZvcm1Db250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuXG5jbGFzcyBGb3JtSW5wdXRzIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICB0aGlzLmlucHV0cyA9IHt9XG4gICAgdGhpcy5vblN1Ym1pdCA9IHByb3BzPy5vblN1Ym1pdFxuICB9XG5cbiAgYXNPYmplY3QoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge31cbiAgICBjb25zdCBmb3JtRGF0YU9iamVjdGl6ZXIgPSBuZXcgRm9ybURhdGFPYmplY3RpemVyKClcblxuICAgIGZvcihjb25zdCBrZXkgaW4gdGhpcy5pbnB1dHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dHNba2V5XVxuXG4gICAgICBmb3JtRGF0YU9iamVjdGl6ZXIudHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBzZXRWYWx1ZShuYW1lLCB2YWx1ZSkge1xuICAgIGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiJ25hbWUnIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLmlucHV0c1tuYW1lXSA9IHZhbHVlXG4gIH1cblxuICBzZXRWYWx1ZVdpdGhIaWRkZW4obmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKG5hbWUsIHZhbHVlKVxuXG4gICAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIpIHtcbiAgICAgIHJldHVybiA8aW5wdXQgbmFtZT17bmFtZX0gdHlwZT1cImhpZGRlblwiIHZhbHVlPXt2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBcIlwifSAvPlxuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5vblN1Ym1pdCkge1xuICAgICAgdGhpcy5vblN1Ym1pdCgpXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IEZvcm0gPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEZvcm0gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgZm9ybVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvblN1Ym1pdDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2V0Rm9ybTogUHJvcFR5cGVzLmZ1bmNcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGZvcm1SZWYsIG9uU3VibWl0LCBzZXRGb3JtLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGZvcm0gPSB1c2VNZW1vKCgpID0+IG5ldyBGb3JtSW5wdXRzKHtvblN1Ym1pdH0pLCBbXSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHNldEZvcm0pIHtcbiAgICAgICAgc2V0Rm9ybShmb3JtKVxuICAgICAgfVxuICAgIH0sIFtzZXRGb3JtXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2Zvcm19PlxuICAgICAgICB7UGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJlxuICAgICAgICAgIDxmb3JtIHJlZj17Zm9ybVJlZn0gb25TdWJtaXQ9e3RoaXMudHQub25Gb3JtU3VibWl0fSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIH1cbiAgICAgICAge1BsYXRmb3JtLk9TICE9IFwid2ViXCIgJiYgdGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgb25Gb3JtU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmICh0aGlzLnByb3BzLm9uU3VibWl0KSB7XG4gICAgICB0aGlzLnByb3BzLm9uU3VibWl0KClcbiAgICB9XG4gIH1cbn0pKVxuXG5jb25zdCB1c2VGb3JtID0gKCkgPT4gdXNlQ29udGV4dChGb3JtQ29udGV4dClcblxuZXhwb3J0IHtGb3JtLCBGb3JtQ29udGV4dCwgRm9ybUlucHV0cywgdXNlRm9ybX1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLFFBQU8sT0FBTztBQUN4RCxPQUFPQyxhQUFhLE1BQU0sa0JBQWtCO0FBQzVDLE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLFNBQVFDLFFBQVEsUUFBTyxjQUFjO0FBQ3JDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsTUFBTUMsV0FBVyxnQkFBR1QsYUFBYSxDQUFDLElBQUksQ0FBQztBQUV2QyxNQUFNVSxVQUFVLENBQUM7RUFDZkMsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLElBQUksQ0FBQ0MsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUNDLFFBQVEsR0FBR0YsS0FBSyxFQUFFRSxRQUFRO0VBQ2pDO0VBRUFDLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSWIsa0JBQWtCLENBQUMsQ0FBQztJQUVuRCxLQUFJLE1BQU1jLEdBQUcsSUFBSSxJQUFJLENBQUNMLE1BQU0sRUFBRTtNQUM1QixNQUFNTSxLQUFLLEdBQUcsSUFBSSxDQUFDTixNQUFNLENBQUNLLEdBQUcsQ0FBQztNQUU5QkQsa0JBQWtCLENBQUNHLFlBQVksQ0FBQ0YsR0FBRyxFQUFFQyxLQUFLLEVBQUVILE1BQU0sQ0FBQztJQUNyRDtJQUVBLE9BQU9BLE1BQU07RUFDZjtFQUVBSyxRQUFRQSxDQUFDQyxJQUFJLEVBQUVILEtBQUssRUFBRTtJQUNwQixJQUFJLENBQUNHLElBQUksRUFBRSxNQUFNLElBQUlDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztJQUVoRCxJQUFJLENBQUNWLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDLEdBQUdILEtBQUs7RUFDM0I7RUFFQUssa0JBQWtCQSxDQUFDRixJQUFJLEVBQUVILEtBQUssRUFBRTtJQUM5QixJQUFJLENBQUNFLFFBQVEsQ0FBQ0MsSUFBSSxFQUFFSCxLQUFLLENBQUM7SUFFMUIsSUFBSWIsUUFBUSxDQUFDbUIsRUFBRSxJQUFJLEtBQUssRUFBRTtNQUN4QixvQkFBT0MsS0FBQSxDQUFBQyxhQUFBO1FBQU9MLElBQUksRUFBRUEsSUFBSztRQUFDTSxJQUFJLEVBQUMsUUFBUTtRQUFDVCxLQUFLLEVBQUVBLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS1UsU0FBUyxHQUFHVixLQUFLLEdBQUc7TUFBRyxDQUFFLENBQUM7SUFDdkc7RUFDRjtFQUVBVyxNQUFNQSxDQUFBLEVBQUc7SUFDUCxJQUFJLElBQUksQ0FBQ2hCLFFBQVEsRUFBRTtNQUNqQixJQUFJLENBQUNBLFFBQVEsQ0FBQyxDQUFDO0lBQ2pCO0VBQ0Y7QUFDRjtBQUVBLE1BQU1pQixJQUFJLEdBQUcxQixJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNdUIsSUFBSSxTQUFTNUIsYUFBYSxDQUFDO0VBQ2hFLE9BQU82QixTQUFTLEdBQUc7SUFDakJDLFFBQVEsRUFBRTFCLFNBQVMsQ0FBQzJCLElBQUk7SUFDeEJDLE9BQU8sRUFBRTVCLFNBQVMsQ0FBQzZCLE1BQU07SUFDekJ0QixRQUFRLEVBQUVQLFNBQVMsQ0FBQzhCLElBQUk7SUFDeEJDLE9BQU8sRUFBRS9CLFNBQVMsQ0FBQzhCO0VBQ3JCLENBQUM7RUFFREUsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDTixRQUFRO01BQUVFLE9BQU87TUFBRXJCLFFBQVE7TUFBRXdCLE9BQU87TUFBRSxHQUFHRTtJQUFTLENBQUMsR0FBRyxJQUFJLENBQUM1QixLQUFLO0lBQ3ZFLE1BQU02QixJQUFJLEdBQUd2QyxPQUFPLENBQUMsTUFBTSxJQUFJUSxVQUFVLENBQUM7TUFBQ0k7SUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFFMURaLE9BQU8sQ0FBQyxNQUFNO01BQ1osSUFBSW9DLE9BQU8sRUFBRTtRQUNYQSxPQUFPLENBQUNHLElBQUksQ0FBQztNQUNmO0lBQ0YsQ0FBQyxFQUFFLENBQUNILE9BQU8sQ0FBQyxDQUFDO0lBRWIsb0JBQ0VaLEtBQUEsQ0FBQUMsYUFBQSxDQUFDbEIsV0FBVyxDQUFDaUMsUUFBUTtNQUFDdkIsS0FBSyxFQUFFc0I7SUFBSyxHQUMvQm5DLFFBQVEsQ0FBQ21CLEVBQUUsSUFBSSxLQUFLLGlCQUNuQkMsS0FBQSxDQUFBQyxhQUFBLFNBQUFnQixRQUFBO01BQU1DLEdBQUcsRUFBRVQsT0FBUTtNQUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQytCLEVBQUUsQ0FBQ0M7SUFBYSxHQUFLTixTQUFTLEdBQzlEUCxRQUNHLENBQUMsRUFFUjNCLFFBQVEsQ0FBQ21CLEVBQUUsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDYixLQUFLLENBQUNxQixRQUNoQixDQUFDO0VBRTNCO0VBRUFhLFlBQVksR0FBSUMsQ0FBQyxJQUFLO0lBQ3BCQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO0lBRWxCLElBQUksSUFBSSxDQUFDcEMsS0FBSyxDQUFDRSxRQUFRLEVBQUU7TUFDdkIsSUFBSSxDQUFDRixLQUFLLENBQUNFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTW1DLE9BQU8sR0FBR0EsQ0FBQSxLQUFNaEQsVUFBVSxDQUFDUSxXQUFXLENBQUM7QUFFN0MsU0FBUXNCLElBQUksRUFBRXRCLFdBQVcsRUFBRUMsVUFBVSxFQUFFdUMsT0FBTyIsImlnbm9yZUxpc3QiOltdfQ==
package/build/index.js ADDED
@@ -0,0 +1,3 @@
1
+ const stub = "Hello World";
2
+ export { stub };
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHViIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHN0dWIgPSBcIkhlbGxvIFdvcmxkXCJcblxuZXhwb3J0IHtzdHVifVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxJQUFJLEdBQUcsYUFBYTtBQUUxQixTQUFRQSxJQUFJIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,121 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import BaseComponent from "../base-component";
3
+ import { Input as ApiMakerInput } from "@kaspernj/api-maker/build/inputs/input";
4
+ import Checkbox from "./checkbox";
5
+ import memo from "set-state-compare/src/memo";
6
+ import { shapeComponent } from "set-state-compare/src/shape-component";
7
+ export default memo(shapeComponent(class ApiMakerInputsAttachment extends BaseComponent {
8
+ static propTypes = {
9
+ className: PropTypes.string,
10
+ model: PropTypes.object.isRequired,
11
+ onPurgeChanged: PropTypes.func,
12
+ purgeName: PropTypes.string
13
+ };
14
+ setup() {
15
+ const {
16
+ inputProps
17
+ } = useInput({
18
+ props: this.props
19
+ });
20
+ this.setInstance({
21
+ inputProps
22
+ });
23
+ this.useStates({
24
+ purgeChecked: false
25
+ });
26
+ }
27
+ render() {
28
+ const {
29
+ inputProps
30
+ } = this.tt;
31
+ const {
32
+ attribute,
33
+ checkboxComponent,
34
+ className,
35
+ label,
36
+ model,
37
+ name,
38
+ onPurgeChanged,
39
+ purgeName,
40
+ wrapperOpts,
41
+ ...restProps
42
+ } = this.props;
43
+ const CheckboxComponent = checkboxComponent || Checkbox;
44
+ const newInputProps = Object.assign({}, inputProps, {
45
+ type: "file"
46
+ });
47
+ return /*#__PURE__*/React.createElement("div", _extends({
48
+ className: classNames("api-maker--inputs--attachment", "components--inputs--input", className)
49
+ }, restProps), this.isImage() && /*#__PURE__*/React.createElement("a", {
50
+ href: this.getUrl(),
51
+ target: "_blank"
52
+ }, /*#__PURE__*/React.createElement("img", {
53
+ src: this.getUrl(),
54
+ style: {
55
+ maxWidth: "200px",
56
+ maxHeight: "200px"
57
+ }
58
+ })), this.getUrl() && /*#__PURE__*/React.createElement("div", {
59
+ className: "input-checkbox",
60
+ style: {
61
+ paddingTop: "15px",
62
+ paddingBottom: "15px"
63
+ }
64
+ }, /*#__PURE__*/React.createElement(CheckboxComponent, {
65
+ id: this.getPurgeInputId(),
66
+ name: this.getPurgeInputName(),
67
+ onChange: this.props.onPurgeChanged
68
+ }), /*#__PURE__*/React.createElement("label", {
69
+ className: "checkbox-label",
70
+ htmlFor: this.getPurgeInputId()
71
+ }, I18n.t("js.shared.delete"))), !this.s.purgeChecked && /*#__PURE__*/React.createElement(ApiMakerInput, {
72
+ defaultValue: null,
73
+ inputProps: newInputProps,
74
+ model: model
75
+ }));
76
+ }
77
+ getContentType() {
78
+ const {
79
+ attribute,
80
+ model
81
+ } = this.p;
82
+ const attributeName = `${attribute}ContentType`;
83
+ if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
84
+ return model[attributeName]();
85
+ }
86
+ getPurgeInputId() {
87
+ const {
88
+ inputProps
89
+ } = this.tt;
90
+ return `${inputProps.id}_purge`;
91
+ }
92
+ getPurgeInputName() {
93
+ if ("purgeName" in this.props) return this.props.purgeName;
94
+ const {
95
+ inputProps
96
+ } = this.tt;
97
+ if (!inputProps.name) return null;
98
+ const match = inputProps.name.match(/^(.+)\[(.+?)\]$/);
99
+ const purgeInputName = `${match[1]}[${match[2]}_purge]`;
100
+ return purgeInputName;
101
+ }
102
+ getUrl() {
103
+ const {
104
+ attribute,
105
+ model
106
+ } = this.p;
107
+ const attributeName = `${attribute}Url`;
108
+ if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
109
+ return model[attributeName]();
110
+ }
111
+ isImage() {
112
+ return this.getContentType()?.startsWith("image/");
113
+ }
114
+ onPurgeChanged = e => {
115
+ this.setState({
116
+ purgeChecked: digg(e, "target", "checked")
117
+ });
118
+ if (this.props.onPurgeChanged) this.props.onPurgeChanged(e);
119
+ };
120
+ }));
121
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiSW5wdXQiLCJBcGlNYWtlcklucHV0IiwiQ2hlY2tib3giLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQiLCJwcm9wVHlwZXMiLCJjbGFzc05hbWUiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJtb2RlbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJvblB1cmdlQ2hhbmdlZCIsImZ1bmMiLCJwdXJnZU5hbWUiLCJzZXR1cCIsImlucHV0UHJvcHMiLCJ1c2VJbnB1dCIsInByb3BzIiwic2V0SW5zdGFuY2UiLCJ1c2VTdGF0ZXMiLCJwdXJnZUNoZWNrZWQiLCJyZW5kZXIiLCJ0dCIsImF0dHJpYnV0ZSIsImNoZWNrYm94Q29tcG9uZW50IiwibGFiZWwiLCJuYW1lIiwid3JhcHBlck9wdHMiLCJyZXN0UHJvcHMiLCJDaGVja2JveENvbXBvbmVudCIsIm5ld0lucHV0UHJvcHMiLCJPYmplY3QiLCJhc3NpZ24iLCJ0eXBlIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJjbGFzc05hbWVzIiwiaXNJbWFnZSIsImhyZWYiLCJnZXRVcmwiLCJ0YXJnZXQiLCJzcmMiLCJzdHlsZSIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJpZCIsImdldFB1cmdlSW5wdXRJZCIsImdldFB1cmdlSW5wdXROYW1lIiwib25DaGFuZ2UiLCJodG1sRm9yIiwiSTE4biIsInQiLCJzIiwiZGVmYXVsdFZhbHVlIiwiZ2V0Q29udGVudFR5cGUiLCJwIiwiYXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJtYXRjaCIsInB1cmdlSW5wdXROYW1lIiwic3RhcnRzV2l0aCIsImUiLCJzZXRTdGF0ZSIsImRpZ2ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL2F0dGFjaG1lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge0lucHV0IGFzIEFwaU1ha2VySW5wdXR9IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4vY2hlY2tib3hcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBvblB1cmdlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcHVyZ2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wc30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHN9KVxuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7aW5wdXRQcm9wc30pXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgcHVyZ2VDaGVja2VkOiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNoZWNrYm94Q29tcG9uZW50LCBjbGFzc05hbWUsIGxhYmVsLCBtb2RlbCwgbmFtZSwgb25QdXJnZUNoYW5nZWQsIHB1cmdlTmFtZSwgd3JhcHBlck9wdHMsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgQ2hlY2tib3hDb21wb25lbnQgPSBjaGVja2JveENvbXBvbmVudCB8fCBDaGVja2JveFxuICAgIGNvbnN0IG5ld0lucHV0UHJvcHMgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7dHlwZTogXCJmaWxlXCJ9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS1pbnB1dHMtLWF0dGFjaG1lbnRcIiwgXCJjb21wb25lbnRzLS1pbnB1dHMtLWlucHV0XCIsIGNsYXNzTmFtZSl9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICB7dGhpcy5pc0ltYWdlKCkgJiZcbiAgICAgICAgICA8YSBocmVmPXt0aGlzLmdldFVybCgpfSB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPXt0aGlzLmdldFVybCgpfSBzdHlsZT17e21heFdpZHRoOiBcIjIwMHB4XCIsIG1heEhlaWdodDogXCIyMDBweFwifX0gLz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgICAge3RoaXMuZ2V0VXJsKCkgJiZcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWNoZWNrYm94XCIgc3R5bGU9e3twYWRkaW5nVG9wOiBcIjE1cHhcIiwgcGFkZGluZ0JvdHRvbTogXCIxNXB4XCJ9fT5cbiAgICAgICAgICAgIDxDaGVja2JveENvbXBvbmVudCBpZD17dGhpcy5nZXRQdXJnZUlucHV0SWQoKX0gbmFtZT17dGhpcy5nZXRQdXJnZUlucHV0TmFtZSgpfSBvbkNoYW5nZT17dGhpcy5wcm9wcy5vblB1cmdlQ2hhbmdlZH0gLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjaGVja2JveC1sYWJlbFwiIGh0bWxGb3I9e3RoaXMuZ2V0UHVyZ2VJbnB1dElkKCl9PlxuICAgICAgICAgICAgICB7STE4bi50KFwianMuc2hhcmVkLmRlbGV0ZVwiKX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgeyF0aGlzLnMucHVyZ2VDaGVja2VkICYmXG4gICAgICAgICAgPEFwaU1ha2VySW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bnVsbH1cbiAgICAgICAgICAgIGlucHV0UHJvcHM9e25ld0lucHV0UHJvcHN9XG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgZ2V0Q29udGVudFR5cGUoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGAke2F0dHJpYnV0ZX1Db250ZW50VHlwZWBcblxuICAgIGlmICghKGF0dHJpYnV0ZU5hbWUgaW4gbW9kZWwpKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kIG9uICR7bW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfTogJHthdHRyaWJ1dGVOYW1lfWApXG5cbiAgICByZXR1cm4gbW9kZWxbYXR0cmlidXRlTmFtZV0oKVxuICB9XG5cbiAgZ2V0UHVyZ2VJbnB1dElkKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzfSA9IHRoaXMudHRcblxuICAgIHJldHVybiBgJHtpbnB1dFByb3BzLmlkfV9wdXJnZWBcbiAgfVxuXG4gIGdldFB1cmdlSW5wdXROYW1lKCkge1xuICAgIGlmIChcInB1cmdlTmFtZVwiIGluIHRoaXMucHJvcHMpIHJldHVybiB0aGlzLnByb3BzLnB1cmdlTmFtZVxuXG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuXG4gICAgaWYgKCFpbnB1dFByb3BzLm5hbWUpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBtYXRjaCA9IGlucHV0UHJvcHMubmFtZS5tYXRjaCgvXiguKylcXFsoLis/KVxcXSQvKVxuICAgIGNvbnN0IHB1cmdlSW5wdXROYW1lID0gYCR7bWF0Y2hbMV19WyR7bWF0Y2hbMl19X3B1cmdlXWBcblxuICAgIHJldHVybiBwdXJnZUlucHV0TmFtZVxuICB9XG5cbiAgZ2V0VXJsKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBgJHthdHRyaWJ1dGV9VXJsYFxuXG4gICAgaWYgKCEoYXR0cmlidXRlTmFtZSBpbiBtb2RlbCkpIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBtZXRob2Qgb24gJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9OiAke2F0dHJpYnV0ZU5hbWV9YClcblxuICAgIHJldHVybiBtb2RlbFthdHRyaWJ1dGVOYW1lXSgpXG4gIH1cblxuICBpc0ltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbnRlbnRUeXBlKCk/LnN0YXJ0c1dpdGgoXCJpbWFnZS9cIilcbiAgfVxuXG4gIG9uUHVyZ2VDaGFuZ2VkID0gKGUpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtwdXJnZUNoZWNrZWQ6IGRpZ2coZSwgXCJ0YXJnZXRcIiwgXCJjaGVja2VkXCIpfSlcblxuICAgIGlmICh0aGlzLnByb3BzLm9uUHVyZ2VDaGFuZ2VkKSB0aGlzLnByb3BzLm9uUHVyZ2VDaGFuZ2VkKGUpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxTQUFRQyxLQUFLLElBQUlDLGFBQWEsUUFBTyx3Q0FBd0M7QUFDN0UsT0FBT0MsUUFBUSxNQUFNLFlBQVk7QUFDakMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBRXBFLGVBQWVELElBQUksQ0FBQ0MsY0FBYyxDQUFDLE1BQU1DLHdCQUF3QixTQUFTTixhQUFhLENBQUM7RUFDdEYsT0FBT08sU0FBUyxHQUFHO0lBQ2pCQyxTQUFTLEVBQUVDLFNBQVMsQ0FBQ0MsTUFBTTtJQUMzQkMsS0FBSyxFQUFFRixTQUFTLENBQUNHLE1B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
@@ -0,0 +1,36 @@
1
+ import { digg } from "diggerize";
2
+ import * as inflection from "inflection";
3
+ export default class ApiMakerInputsAutoSubmit {
4
+ constructor({
5
+ component
6
+ }) {
7
+ this.component = component;
8
+ }
9
+ autoSubmit() {
10
+ const {
11
+ attribute,
12
+ model
13
+ } = this.component.props;
14
+ const updateAttributeName = inflection.underscore(attribute);
15
+ const updateParams = {};
16
+ updateParams[updateAttributeName] = this.value();
17
+ model.update(updateParams);
18
+ }
19
+ value() {
20
+ const inputRef = this.component.props.inputRef || this.component.props.inputProps?.ref || this.component.inputProps?.ref || this.component.inputRef;
21
+ const input = digg(inputRef, "current");
22
+ if (input.type == "checkbox") {
23
+ if (input.checked) {
24
+ if (input.value !== undefined) {
25
+ return input.value;
26
+ } else {
27
+ return 1;
28
+ }
29
+ } else {
30
+ return 0;
31
+ }
32
+ }
33
+ return digg(input, "value");
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiaW5mbGVjdGlvbiIsIkFwaU1ha2VySW5wdXRzQXV0b1N1Ym1pdCIsImNvbnN0cnVjdG9yIiwiY29tcG9uZW50IiwiYXV0b1N1Ym1pdCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwicHJvcHMiLCJ1cGRhdGVBdHRyaWJ1dGVOYW1lIiwidW5kZXJzY29yZSIsInVwZGF0ZVBhcmFtcyIsInZhbHVlIiwidXBkYXRlIiwiaW5wdXRSZWYiLCJpbnB1dFByb3BzIiwicmVmIiwiaW5wdXQiLCJ0eXBlIiwiY2hlY2tlZCIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvYXV0by1zdWJtaXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlcklucHV0c0F1dG9TdWJtaXQge1xuICBjb25zdHJ1Y3RvciAoe2NvbXBvbmVudH0pIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudFxuICB9XG5cbiAgYXV0b1N1Ym1pdCAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5jb21wb25lbnQucHJvcHNcbiAgICBjb25zdCB1cGRhdGVBdHRyaWJ1dGVOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGF0dHJpYnV0ZSlcbiAgICBjb25zdCB1cGRhdGVQYXJhbXMgPSB7fVxuXG4gICAgdXBkYXRlUGFyYW1zW3VwZGF0ZUF0dHJpYnV0ZU5hbWVdID0gdGhpcy52YWx1ZSgpXG5cbiAgICBtb2RlbC51cGRhdGUodXBkYXRlUGFyYW1zKVxuICB9XG5cbiAgdmFsdWUgKCkge1xuICAgIGNvbnN0IGlucHV0UmVmID0gdGhpcy5jb21wb25lbnQucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5jb21wb25lbnQucHJvcHMuaW5wdXRQcm9wcz8ucmVmIHx8IHRoaXMuY29tcG9uZW50LmlucHV0UHJvcHM/LnJlZiB8fCB0aGlzLmNvbXBvbmVudC5pbnB1dFJlZlxuICAgIGNvbnN0IGlucHV0ID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIpXG5cbiAgICBpZiAoaW5wdXQudHlwZSA9PSBcImNoZWNrYm94XCIpIHtcbiAgICAgIGlmIChpbnB1dC5jaGVja2VkKSB7XG4gICAgICAgIGlmIChpbnB1dC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGlucHV0LnZhbHVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIDFcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGlnZyhpbnB1dCwgXCJ2YWx1ZVwiKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFFeEMsZUFBZSxNQUFNQyx3QkFBd0IsQ0FBQztFQUM1Q0MsV0FBV0EsQ0FBRTtJQUFDQztFQUFTLENBQUMsRUFBRTtJQUN4QixJQUFJLENBQUNBLFNBQVMsR0FBR0EsU0FBUztFQUM1QjtFQUVBQyxVQUFVQSxDQUFBLEVBQUk7SUFDWixNQUFNO01BQUNDLFNBQVM7TUFBRUM7SUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDSCxTQUFTLENBQUNJLEtBQUs7SUFDL0MsTUFBTUMsbUJBQW1CLEdBQUdSLFVBQVUsQ0FBQ1MsVUFBVSxDQUFDSixTQUFTLENBQUM7SUFDNUQsTUFBTUssWUFBWSxHQUFHLENBQUMsQ0FBQztJQUV2QkEsWUFBWSxDQUFDRixtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQ0csS0FBSyxDQUFDLENBQUM7SUFFaERMLEtBQUssQ0FBQ00sTUFBTSxDQUFDRixZQUFZLENBQUM7RUFDNUI7RUFFQUMsS0FBS0EsQ0FBQSxFQUFJO0lBQ1AsTUFBTUUsUUFBUSxHQUFHLElBQUksQ0FBQ1YsU0FBUyxDQUFDSSxLQUFLLENBQUNNLFFBQVEsSUFBSSxJQUFJLENBQUNWLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDTyxVQUFVLEVBQUVDLEdBQUcsSUFBSSxJQUFJLENBQUNaLFNBQVMsQ0FBQ1csVUFBVSxFQUFFQyxHQUFHLElBQUksSUFBSSxDQUFDWixTQUFTLENBQUNVLFFBQVE7SUFDbkosTUFBTUcsS0FBSyxHQUFHakIsSUFBSSxDQUFDYyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBRXZDLElBQUlHLEtBQUssQ0FBQ0MsSUFBSSxJQUFJLFVBQVUsRUFBRTtNQUM1QixJQUFJRCxLQUFLLENBQUNFLE9BQU8sRUFBRTtRQUNqQixJQUFJRixLQUFLLENBQUNMLEtBQUssS0FBS1EsU0FBUyxFQUFFO1VBQzdCLE9BQU9ILEtBQUssQ0FBQ0wsS0FBSztRQUNwQixDQUFDLE1BQU07VUFDTCxPQUFPLENBQUM7UUFDVjtNQUNGLENBQUMsTUFBTTtRQUNMLE9BQU8sQ0FBQztNQUNWO0lBQ0Y7SUFFQSxPQUFPWixJQUFJLENBQUNpQixLQUFLLEVBQUUsT0FBTyxDQUFDO0VBQzdCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,145 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import AutoSubmit from "./auto-submit";
3
+ import BaseComponent from "../base-component";
4
+ import { digg } from "diggerize";
5
+ import PropTypes from "prop-types";
6
+ import memo from "set-state-compare/src/memo";
7
+ import { shapeComponent } from "set-state-compare/src/shape-component";
8
+ import useInput from "../use-input";
9
+ import { useForm } from "../form";
10
+ import { useMemo } from "react";
11
+ import useUpdatedEvent from "../use-updated-event";
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
19
+ };
20
+ static propTypes = {
21
+ attribute: PropTypes.string,
22
+ autoRefresh: PropTypes.bool.isRequired,
23
+ autoSubmit: PropTypes.bool.isRequired,
24
+ defaultChecked: PropTypes.bool,
25
+ defaultValue: PropTypes.node,
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
33
+ };
34
+ setup() {
35
+ const {
36
+ autoRefresh,
37
+ model
38
+ } = this.p;
39
+ const {
40
+ inputProps,
41
+ restProps: useInputRestProps
42
+ } = useInput({
43
+ props: this.props,
44
+ wrapperOptions: {
45
+ type: "checkbox"
46
+ }
47
+ });
48
+ const {
49
+ defaultValue,
50
+ name
51
+ } = inputProps;
52
+ this.setInstance({
53
+ form: useForm(),
54
+ inputProps,
55
+ useInputRestProps
56
+ });
57
+ useMemo(() => {
58
+ if (name) {
59
+ this.tt.form?.setValue(name, defaultValue);
60
+ }
61
+ }, []);
62
+ useUpdatedEvent(model, this.tt.onModelUpdated, {
63
+ active: Boolean(autoRefresh && model)
64
+ });
65
+ }
66
+ render() {
67
+ const {
68
+ inputProps,
69
+ useInputRestProps
70
+ } = this.tt;
71
+ const {
72
+ attribute,
73
+ autoRefresh,
74
+ autoSubmit,
75
+ checked,
76
+ defaultChecked,
77
+ defaultValue,
78
+ id,
79
+ inputRef,
80
+ model,
81
+ name,
82
+ onChange,
83
+ zeroInput,
84
+ ...restProps
85
+ } = useInputRestProps;
86
+ return /*#__PURE__*/React.createElement(React.Fragment, null, zeroInput && inputProps.name && /*#__PURE__*/React.createElement("input", {
87
+ defaultValue: "0",
88
+ name: inputProps.name,
89
+ type: "hidden"
90
+ }), /*#__PURE__*/React.createElement("input", _extends({}, inputProps, {
91
+ "data-auto-refresh": autoRefresh,
92
+ "data-auto-submit": autoSubmit,
93
+ defaultValue: defaultValue,
94
+ onChange: this.tt.onChanged,
95
+ type: "checkbox"
96
+ }, restProps)));
97
+ }
98
+ onChanged = (...args) => {
99
+ const {
100
+ form,
101
+ inputProps
102
+ } = this.tt;
103
+ const {
104
+ attribute,
105
+ autoSubmit,
106
+ model,
107
+ onChange
108
+ } = this.props;
109
+ const {
110
+ name
111
+ } = inputProps;
112
+ if (attribute && autoSubmit && model) new AutoSubmit({
113
+ component: this
114
+ }).autoSubmit();
115
+ console.log("onChanged", {
116
+ form,
117
+ name
118
+ });
119
+ if (form && name) {
120
+ const checked = args[0].target.checked;
121
+ console.log("Checkbox onChanged", {
122
+ checked
123
+ });
124
+ form.setValue(name, checked);
125
+ }
126
+ if (onChange) onChange(...args);
127
+ };
128
+ onModelUpdated = args => {
129
+ const inputRef = digg(this.tt.inputProps, "ref");
130
+ if (!inputRef.current) {
131
+ // This can happen if the component is being unmounted
132
+ return;
133
+ }
134
+ const {
135
+ attribute
136
+ } = this.p;
137
+ const newModel = digg(args, "model");
138
+ const currentChecked = digg(inputRef, "current", "checked");
139
+ const newValue = newModel.readAttribute(attribute);
140
+ if (currentChecked != newValue) {
141
+ inputRef.current.checked = newValue;
142
+ }
143
+ };
144
+ }));
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdXRvU3VibWl0IiwiQmFzZUNvbXBvbmVudCIsImRpZ2ciLCJQcm9wVHlwZXMiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJ1c2VJbnB1dCIsInVzZUZvcm0iLCJ1c2VNZW1vIiwidXNlVXBkYXRlZEV2ZW50IiwiQXBpTWFrZXJJbnB1dHNDaGVja2JveCIsImRlZmF1bHRQcm9wcyIsImF1dG9SZWZyZXNoIiwiYXV0b1N1Ym1pdCIsImRlZmF1bHRWYWx1ZSIsIm1vZGVsIiwiemVyb0lucHV0IiwicHJvcFR5cGVzIiwiYXR0cmlidXRlIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJkZWZhdWx0Q2hlY2tlZCIsIm5vZGUiLCJpZCIsImlucHV0UmVmIiwib2JqZWN0IiwibmFtZSIsIm9uRXJyb3JzIiwiZnVuYyIsIm9uTWF0Y2hWYWxpZGF0aW9uRXJyb3IiLCJzZXR1cCIsInAiLCJpbnB1dFByb3BzIiwicmVzdFByb3BzIiwidXNlSW5wdXRSZXN0UHJvcHMiLCJwcm9wcyIsIndyYXBwZXJPcHRpb25zIiwidHlwZSIsInNldEluc3RhbmNlIiwiZm9ybSIsInR0Iiwic2V0VmFsdWUiLCJvbk1vZGVsVXBkYXRlZCIsImFjdGl2ZSIsIkJvb2xlYW4iLCJyZW5kZXIiLCJjaGVja2VkIiwib25DaGFuZ2UiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIl9leHRlbmRzIiwib25DaGFuZ2VkIiwiYXJncyIsImNvbXBvbmVudCIsImNvbnNvbGUiLCJsb2ciLCJ0YXJnZXQiLCJjdXJyZW50IiwibmV3TW9kZWwiLCJjdXJyZW50Q2hlY2tlZCIsIm5ld1ZhbHVlIiwicmVhZEF0dHJpYnV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvY2hlY2tib3guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbW9kZWw6IG51bGwsXG4gICAgemVyb0lucHV0OiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBhdXRvU3VibWl0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25FcnJvcnM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHthdXRvUmVmcmVzaCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHJlc3RQcm9wczogdXNlSW5wdXRSZXN0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzLCB3cmFwcGVyT3B0aW9uczoge3R5cGU6IFwiY2hlY2tib3hcIn19KVxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgdXNlSW5wdXRSZXN0UHJvcHNcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnR0LmZvcm0/LnNldFZhbHVlKG5hbWUsIGRlZmF1bHRWYWx1ZSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZVVwZGF0ZWRFdmVudChtb2RlbCwgdGhpcy50dC5vbk1vZGVsVXBkYXRlZCwge2FjdGl2ZTogQm9vbGVhbihhdXRvUmVmcmVzaCAmJiBtb2RlbCl9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIGF1dG9SZWZyZXNoLFxuICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIHplcm9JbnB1dCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB1c2VJbnB1dFJlc3RQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt6ZXJvSW5wdXQgJiYgaW5wdXRQcm9wcy5uYW1lICYmXG4gICAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT1cIjBcIiBuYW1lPXtpbnB1dFByb3BzLm5hbWV9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICAgIGRhdGEtYXV0by1yZWZyZXNoPXthdXRvUmVmcmVzaH1cbiAgICAgICAgICBkYXRhLWF1dG8tc3VibWl0PXthdXRvU3VibWl0fVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uQ2hhbmdlZH1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBvbkNoYW5nZWQgPSAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IHtmb3JtLCBpbnB1dFByb3BzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBhdXRvU3VibWl0LCBtb2RlbCwgb25DaGFuZ2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gICAgY29uc29sZS5sb2coXCJvbkNoYW5nZWRcIiwge2Zvcm0sIG5hbWV9KVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgY29uc3QgY2hlY2tlZCA9IGFyZ3NbMF0udGFyZ2V0LmNoZWNrZWRcblxuICAgICAgY29uc29sZS5sb2coXCJDaGVja2JveCBvbkNoYW5nZWRcIiwge2NoZWNrZWR9KVxuXG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGNoZWNrZWQpXG4gICAgfVxuXG4gICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSguLi5hcmdzKVxuICB9XG5cbiAgb25Nb2RlbFVwZGF0ZWQgPSAoYXJncykgPT4ge1xuICAgIGNvbnN0IGlucHV0UmVmID0gZGlnZyh0aGlzLnR0LmlucHV0UHJvcHMsIFwicmVmXCIpXG5cbiAgICBpZiAoIWlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIHVubW91bnRlZFxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge2F0dHJpYnV0ZX0gPSB0aGlzLnBcbiAgICBjb25zdCBuZXdNb2RlbCA9IGRpZ2coYXJncywgXCJtb2RlbFwiKVxuICAgIGNvbnN0IGN1cnJlbnRDaGVja2VkID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwiY2hlY2tlZFwiKVxuICAgIGNvbnN0IG5ld1ZhbHVlID0gbmV3TW9kZWwucmVhZEF0dHJpYnV0ZShhdHRyaWJ1dGUpXG5cbiAgICBpZiAoY3VycmVudENoZWNrZWQgIT0gbmV3VmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQuY2hlY2tlZCA9IG5ld1ZhbHVlXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFVBQVUsTUFBTSxlQUFlO0FBQ3RDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVD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
@@ -0,0 +1,111 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import BaseComponent from "../base-component";
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";
8
+ import PropTypes from "prop-types";
9
+ import propTypesExact from "prop-types-exact";
10
+ import memo from "set-state-compare/src/memo";
11
+ import { shapeComponent } from "set-state-compare/src/shape-component";
12
+ const ApiMakerInputsCheckboxes = memo(shapeComponent(class ApiMakerInputsCheckboxes extends BaseComponent {
13
+ static propTypes = propTypesExact({
14
+ attribute: PropTypes.string,
15
+ defaultValue: PropTypes.array,
16
+ id: PropTypes.string,
17
+ inputProps: PropTypes.object.isRequired,
18
+ label: PropTypes.node,
19
+ model: PropTypes.object,
20
+ name: PropTypes.string,
21
+ onChange: PropTypes.func,
22
+ options: PropTypes.array.isRequired,
23
+ wrapperOpts: PropTypes.object
24
+ });
25
+ render() {
26
+ const {
27
+ className,
28
+ inputProps,
29
+ label,
30
+ wrapperOpts,
31
+ ...restProps
32
+ } = this.props;
33
+ return /*#__PURE__*/React.createElement("div", _extends({
34
+ className: classNames("component-bootstrap-check-boxes", className)
35
+ }, restProps), /*#__PURE__*/React.createElement("input", {
36
+ name: this.inputName(),
37
+ ref: this.props.inputProps.ref,
38
+ type: "hidden",
39
+ value: ""
40
+ }), this.props.options.map((option, index) => this.optionElement(option, index)));
41
+ }
42
+ inputDefaultValue() {
43
+ const {
44
+ attribute,
45
+ defaultValue,
46
+ model
47
+ } = this.props;
48
+ if (defaultValue) {
49
+ return defaultValue;
50
+ } else if (attribute && model) {
51
+ if (!model[attribute]) throw `No such attribute: ${attribute}`;
52
+ return this.props.model[attribute]();
53
+ }
54
+ }
55
+ inputCheckboxClassName() {
56
+ const classNames = [];
57
+ if (this.props.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
58
+ return classNames.join(" ");
59
+ }
60
+ inputName() {
61
+ if (this.props.name) {
62
+ return `${this.props.name}[]`;
63
+ } else if (this.props.model) {
64
+ return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
65
+ }
66
+ }
67
+ isDefaultSelected(option) {
68
+ let defaultValue = this.inputDefaultValue();
69
+ if (!defaultValue) return false;
70
+ if (defaultValue.constructor === Array) {
71
+ return defaultValue.includes(option);
72
+ } else {
73
+ return defaultValue == option;
74
+ }
75
+ }
76
+ generatedId() {
77
+ if (!this.generatedIdValue) this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
78
+ return this.generatedIdValue;
79
+ }
80
+ optionElement(option, index) {
81
+ const {
82
+ onChange,
83
+ options,
84
+ wrapperOpts
85
+ } = this.props;
86
+ const {
87
+ errors
88
+ } = digs(wrapperOpts, "errors");
89
+ const id = `${this.generatedId()}-${index}`;
90
+ return /*#__PURE__*/React.createElement("div", {
91
+ className: "checkboxes-option",
92
+ key: `option-${option[1]}`
93
+ }, /*#__PURE__*/React.createElement("input", {
94
+ className: this.inputCheckboxClassName(),
95
+ "data-option-value": option[1],
96
+ defaultChecked: this.isDefaultSelected(option[1]),
97
+ id: id,
98
+ name: this.inputName(),
99
+ onChange: onChange,
100
+ type: "checkbox",
101
+ value: option[1]
102
+ }), /*#__PURE__*/React.createElement("label", {
103
+ className: "ml-1",
104
+ htmlFor: id
105
+ }, option[0]), index + 1 == options.length && errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
106
+ errors: errors
107
+ }));
108
+ }
109
+ }));
110
+ export default inputWrapper(ApiMakerInputsCheckboxes);
111
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ3MiLCJpbnB1dFdyYXBwZXIiLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJhcnJheSIsImlkIiwiaW5wdXRQcm9wcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJsYWJlbCIsIm5vZGUiLCJtb2RlbCIsIm5hbWUiLCJvbkNoYW5nZSIsImZ1bmMiLCJvcHRpb25zIiwid3JhcHBlck9wdHMiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJyZXN0UHJvcHMiLCJwcm9wcyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaW5wdXROYW1lIiwicmVmIiwidHlwZSIsInZhbHVlIiwibWFwIiwib3B0aW9uIiwiaW5kZXgiLCJvcHRpb25FbGVtZW50IiwiaW5wdXREZWZhdWx0VmFsdWUiLCJpbnB1dENoZWNrYm94Q2xhc3NOYW1lIiwiZXJyb3JzIiwibGVuZ3RoIiwicHVzaCIsImpvaW4iLCJtb2RlbENsYXNzRGF0YSIsInBhcmFtS2V5IiwidW5kZXJzY29yZSIsImlzRGVmYXVsdFNlbGVjdGVkIiwiY29uc3RydWN0b3IiLCJBcnJheSIsImluY2x1ZGVzIiwiZ2VuZXJhdGVkSWQiLCJnZW5lcmF0ZWRJZFZhbHVlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwia2V5IiwiZGVmYXVsdENoZWNrZWQiLCJodG1sRm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveGVzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4uL2Jvb3RzdHJhcC9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmNvbnN0IEFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcyA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UHJvcHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgd3JhcHBlck9wdHM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtjbGFzc05hbWUsIGlucHV0UHJvcHMsIGxhYmVsLCB3cmFwcGVyT3B0cywgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImNvbXBvbmVudC1ib290c3RyYXAtY2hlY2stYm94ZXNcIiwgY2xhc3NOYW1lKX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxpbnB1dCBuYW1lPXt0aGlzLmlucHV0TmFtZSgpfSByZWY9e3RoaXMucHJvcHMuaW5wdXRQcm9wcy5yZWZ9IHR5cGU9XCJoaWRkZW5cIiB2YWx1ZT1cIlwiIC8+XG4gICAgICAgIHt0aGlzLnByb3BzLm9wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiB0aGlzLm9wdGlvbkVsZW1lbnQob3B0aW9uLCBpbmRleCkpfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaW5wdXREZWZhdWx0VmFsdWUgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGRlZmF1bHRWYWx1ZSwgbW9kZWx9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxuICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSB7XG4gICAgICBpZiAoIW1vZGVsW2F0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IGBObyBzdWNoIGF0dHJpYnV0ZTogJHthdHRyaWJ1dGV9YFxuXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbFthdHRyaWJ1dGVdKClcbiAgICB9XG4gIH1cblxuICBpbnB1dENoZWNrYm94Q2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW11cblxuICAgIGlmICh0aGlzLnByb3BzLndyYXBwZXJPcHRzLmVycm9ycy5sZW5ndGggPiAwKSBjbGFzc05hbWVzLnB1c2goXCJpcy1pbnZhbGlkXCIpXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG5cbiAgaW5wdXROYW1lICgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5uYW1lKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5uYW1lfVtdYFxuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5tb2RlbCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV1gXG4gICAgfVxuICB9XG5cbiAgaXNEZWZhdWx0U2VsZWN0ZWQgKG9wdGlvbikge1xuICAgIGxldCBkZWZhdWx0VmFsdWUgPSB0aGlzLmlucHV0RGVmYXVsdFZhbHVlKClcblxuICAgIGlmICghZGVmYXVsdFZhbHVlKSByZXR1cm4gZmFsc2VcblxuICAgIGlmIChkZWZhdWx0VmFsdWUuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlLmluY2x1ZGVzKG9wdGlvbilcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSA9PSBvcHRpb25cbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZWRJZCAoKSB7XG4gICAgaWYgKCF0aGlzLmdlbmVyYXRlZElkVmFsdWUpXG4gICAgICB0aGlzLmdlbmVyYXRlZElkVmFsdWUgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KVxuXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVkSWRWYWx1ZVxuICB9XG5cbiAgb3B0aW9uRWxlbWVudCAob3B0aW9uLCBpbmRleCkge1xuICAgIGNvbnN0IHtvbkNoYW5nZSwgb3B0aW9ucywgd3JhcHBlck9wdHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtlcnJvcnN9ID0gZGlncyh3cmFwcGVyT3B0cywgXCJlcnJvcnNcIilcbiAgICBjb25zdCBpZCA9IGAke3RoaXMuZ2VuZXJhdGVkSWQoKX0tJHtpbmRleH1gXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaGVja2JveGVzLW9wdGlvblwiIGtleT17YG9wdGlvbi0ke29wdGlvblsxXX1gfT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLmlucHV0Q2hlY2tib3hDbGFzc05hbWUoKX1cbiAgICAgICAgICBkYXRhLW9wdGlvbi12YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAgIGRlZmF1bHRDaGVja2VkPXt0aGlzLmlzRGVmYXVsdFNlbGVjdGVkKG9wdGlvblsxXSl9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgdmFsdWU9e29wdGlvblsxXX1cbiAgICAgICAgLz5cblxuICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwibWwtMVwiIGh0bWxGb3I9e2lkfT5cbiAgICAgICAgICB7b3B0aW9uWzBdfVxuICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgIHsoaW5kZXggKyAxKSA9PSBvcHRpb25zLmxlbmd0aCAmJiBlcnJvcnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIDxJbnZhbGlkRmVlZGJhY2sgZXJyb3JzPXtlcnJvcnN9IC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IGlucHV0V3JhcHBlcihBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLFNBQVFDLElBQUksUUFBTyxXQUFX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