@kaspernj/api-maker 1.0.2011 → 1.0.2012

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 (410) hide show
  1. package/{.eslintrc.cjs → .eslintrc.js} +10 -1
  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.js +135 -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 +129 -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 +131 -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 +9 -0
  34. package/build/collection-loader.js +48 -0
  35. package/build/collection.js +280 -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 +62 -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 +112 -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-emitter-listener.js +15 -0
  52. package/build/event-model-class.js +24 -0
  53. package/build/events.js +5 -0
  54. package/build/flash-message.js +79 -0
  55. package/build/form.js +83 -0
  56. package/build/history-expo.js +20 -0
  57. package/build/history-react-native.js +20 -0
  58. package/build/history.js +3 -0
  59. package/build/index.js +3 -0
  60. package/build/inputs/attachment.js +133 -0
  61. package/build/inputs/auto-submit.js +36 -0
  62. package/build/inputs/checkbox.js +138 -0
  63. package/build/inputs/checkboxes.js +112 -0
  64. package/build/inputs/id-for-component.js +15 -0
  65. package/build/inputs/input-wrapper.js +19 -0
  66. package/build/inputs/input.js +243 -0
  67. package/build/inputs/money.js +179 -0
  68. package/build/inputs/name-for-component.js +13 -0
  69. package/build/inputs/select.js +93 -0
  70. package/build/instance-of-class-name.js +23 -0
  71. package/build/key-value-store.js +53 -0
  72. package/build/link.js +73 -0
  73. package/build/logger.js +30 -0
  74. package/build/modal.js +38 -0
  75. package/build/model-class-require.js +13 -0
  76. package/build/model-events.js +30 -0
  77. package/build/model-name.js +28 -0
  78. package/build/model-prop-type.js +101 -0
  79. package/build/model-recipes-loader.js +32 -0
  80. package/build/model-recipes-model-loader.js +357 -0
  81. package/build/models-response-reader.js +40 -0
  82. package/build/models.js +8 -0
  83. package/build/money-formatter.js +78 -0
  84. package/build/not-loaded-error.js +2 -0
  85. package/build/params.js +61 -0
  86. package/build/preloaded.js +38 -0
  87. package/build/resize-observer.js +11 -0
  88. package/build/result.js +13 -0
  89. package/build/router/route.js +270 -0
  90. package/build/router/switch.js +72 -0
  91. package/build/router.js +59 -0
  92. package/build/routes-native.js +202 -0
  93. package/build/routes.js +50 -0
  94. package/build/run-last.js +35 -0
  95. package/build/serializer.js +63 -0
  96. package/build/services.js +20 -0
  97. package/build/session-status-updater.js +134 -0
  98. package/build/source-maps-loader.js +184 -0
  99. package/build/super-admin/config-reader.js +85 -0
  100. package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
  101. package/build/super-admin/edit-page/edit-attribute-content.js +55 -0
  102. package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
  103. package/build/super-admin/edit-page/edit-attribute.js +77 -0
  104. package/build/super-admin/edit-page.js +123 -0
  105. package/build/super-admin/has-edit-config.js +12 -0
  106. package/build/super-admin/index-page.js +25 -0
  107. package/build/super-admin/index.js +181 -0
  108. package/build/super-admin/layout/header/index.js +161 -0
  109. package/build/super-admin/layout/index.js +164 -0
  110. package/build/super-admin/layout/menu/index.js +206 -0
  111. package/build/super-admin/layout/menu/menu-content.js +46 -0
  112. package/build/super-admin/layout/menu/menu-item.js +84 -0
  113. package/build/super-admin/layout/no-access.js +27 -0
  114. package/build/super-admin/model-class-table.js +61 -0
  115. package/build/super-admin/models.js +8 -0
  116. package/build/super-admin/show-nav.js +51 -0
  117. package/build/super-admin/show-page/belongs-to-attribute-row.js +29 -0
  118. package/build/super-admin/show-page/index.js +141 -0
  119. package/build/super-admin/show-reflection-actions.js +47 -0
  120. package/build/super-admin/show-reflection-link.js +48 -0
  121. package/build/super-admin/show-reflection-page.js +48 -0
  122. package/build/table/column-content.js +117 -0
  123. package/build/table/column-identifier.js +18 -0
  124. package/build/table/column-visible.js +7 -0
  125. package/build/table/components/column.js +21 -0
  126. package/build/table/components/flat-list.js +21 -0
  127. package/build/table/components/header.js +26 -0
  128. package/build/table/components/row.js +26 -0
  129. package/build/table/filters/attribute-element.js +44 -0
  130. package/build/table/filters/filter-form.js +402 -0
  131. package/build/table/filters/filter.js +90 -0
  132. package/build/table/filters/index.js +184 -0
  133. package/build/table/filters/load-search-modal.js +175 -0
  134. package/build/table/filters/reflection-element.js +37 -0
  135. package/build/table/filters/save-search-modal.js +88 -0
  136. package/build/table/filters/scope-element.js +42 -0
  137. package/build/table/header-column-content.js +68 -0
  138. package/build/table/header-column.js +144 -0
  139. package/build/table/header-select.js +105 -0
  140. package/build/table/model-callback-args.js +10 -0
  141. package/build/table/model-column.js +97 -0
  142. package/build/table/model-row.js +193 -0
  143. package/build/table/select-calculator.js +63 -0
  144. package/build/table/settings/column-row.js +97 -0
  145. package/build/table/settings/download-action.js +79 -0
  146. package/build/table/settings/index.js +92 -0
  147. package/build/table/table-settings.js +219 -0
  148. package/build/table/table.js +972 -0
  149. package/build/table/use-sorting.js +34 -0
  150. package/build/table/widths.js +75 -0
  151. package/build/table/worker-plugins-check-all-checkbox.js +125 -0
  152. package/build/table/worker-plugins-checkbox.js +115 -0
  153. package/build/translated-attributes.js +10 -0
  154. package/build/translated-collections.js +12 -0
  155. package/build/updated-attribute.js +76 -0
  156. package/build/url-encode.js +15 -0
  157. package/build/use-breakpoint.js +62 -0
  158. package/build/use-can-can.js +55 -0
  159. package/build/use-collection.js +225 -0
  160. package/build/use-created-event.js +52 -0
  161. package/build/use-current-user.js +76 -0
  162. package/build/use-destroyed-event.js +60 -0
  163. package/build/use-event-emitter.js +13 -0
  164. package/build/use-event-listener.js +16 -0
  165. package/build/use-input.js +137 -0
  166. package/build/use-model-event.js +60 -0
  167. package/build/use-model.js +169 -0
  168. package/build/use-resize-observer.js +23 -0
  169. package/build/use-router.js +104 -0
  170. package/build/use-screen-layout.js +39 -0
  171. package/build/use-updated-event.js +60 -0
  172. package/build/use-validation-errors.js +30 -0
  173. package/build/utils/card.js +51 -0
  174. package/build/utils/checkbox.js +78 -0
  175. package/build/utils/checkboxes.js +163 -0
  176. package/build/utils/default-style.js +18 -0
  177. package/build/utils/icon.js +23 -0
  178. package/build/utils/invalid-feedback.js +19 -0
  179. package/build/utils/modal.js +62 -0
  180. package/build/utils/text.js +19 -0
  181. package/build/validation-error.js +28 -0
  182. package/build/validation-errors.js +98 -0
  183. package/build/with-api-maker.js +29 -0
  184. package/build/with-collection.js +14 -0
  185. package/build/with-current-user.js +10 -0
  186. package/build/with-model.js +15 -0
  187. package/build/with-router.js +22 -0
  188. package/expo-module.config.json +17 -0
  189. package/ios/ApiMaker.podspec +29 -0
  190. package/ios/ApiMakerModule.swift +48 -0
  191. package/ios/ApiMakerView.swift +38 -0
  192. package/link.sh +8 -0
  193. package/package.json +49 -46
  194. package/src/{api.mjs → api.js} +38 -37
  195. package/src/base-component.jsx +5 -0
  196. package/src/{base-error.mjs → base-error.js} +4 -6
  197. package/src/base-model/attribute.js +33 -0
  198. package/src/base-model/column.js +13 -0
  199. package/src/base-model/reflection.js +15 -0
  200. package/src/base-model/scope.js +12 -0
  201. package/src/{base-model.mjs → base-model.js} +302 -144
  202. package/src/bootstrap/attribute-row.jsx +135 -0
  203. package/src/bootstrap/attribute-rows.jsx +27 -0
  204. package/src/bootstrap/card.jsx +149 -0
  205. package/src/bootstrap/checkbox.jsx +86 -0
  206. package/src/bootstrap/checkboxes.jsx +185 -0
  207. package/src/bootstrap/index.js +0 -0
  208. package/src/bootstrap/input.jsx +173 -0
  209. package/src/bootstrap/invalid-feedback.jsx +31 -0
  210. package/src/bootstrap/paginate.jsx +187 -0
  211. package/src/bootstrap/radio-buttons.jsx +87 -0
  212. package/src/bootstrap/select.jsx +110 -0
  213. package/src/bootstrap/sort-link.jsx +106 -0
  214. package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +16 -36
  215. package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +26 -21
  216. package/src/{cable-subscription.mjs → cable-subscription.js} +6 -4
  217. package/src/cache-key-generator.js +100 -0
  218. package/src/{can-can.mjs → can-can.js} +13 -12
  219. package/src/channels-consumer.js +10 -0
  220. package/src/collection-loader.jsx +58 -224
  221. package/src/{collection.mjs → collection.js} +98 -44
  222. package/src/{command-submit-data.mjs → command-submit-data.js} +2 -7
  223. package/src/{commands-pool.mjs → commands-pool.js} +57 -41
  224. package/src/compose.js +11 -0
  225. package/src/{config.mjs → config.js} +6 -2
  226. package/src/{custom-error.mjs → custom-error.js} +1 -1
  227. package/src/data-set-to-attributes.js +13 -0
  228. package/src/{deserializer.mjs → deserializer.js} +3 -3
  229. package/src/destroy-error.js +7 -0
  230. package/src/devise.js +129 -0
  231. package/src/draggable-sort/controller.js +137 -0
  232. package/src/draggable-sort/index.jsx +108 -0
  233. package/src/draggable-sort/item.jsx +174 -0
  234. package/src/{error-logger.mjs → error-logger.js} +12 -7
  235. package/src/{error-messages.mjs → error-messages.js} +1 -0
  236. package/src/event-connection.jsx +1 -1
  237. package/src/event-emitter-listener.jsx +8 -27
  238. package/src/event-model-class.jsx +2 -4
  239. package/src/events.js +7 -0
  240. package/src/flash-message.js +70 -0
  241. package/src/form.jsx +91 -0
  242. package/src/history-expo.js +23 -0
  243. package/src/history-react-native.js +25 -0
  244. package/src/history.js +3 -0
  245. package/src/index.js +3 -0
  246. package/src/inputs/attachment.jsx +108 -0
  247. package/src/inputs/auto-submit.js +37 -0
  248. package/src/inputs/checkbox.jsx +125 -0
  249. package/src/inputs/checkboxes.jsx +116 -0
  250. package/src/inputs/id-for-component.js +15 -0
  251. package/src/inputs/input-wrapper.jsx +16 -0
  252. package/src/inputs/input.jsx +260 -0
  253. package/src/inputs/money.jsx +187 -0
  254. package/src/inputs/name-for-component.js +15 -0
  255. package/src/inputs/select.jsx +104 -0
  256. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  257. package/src/link.jsx +54 -9
  258. package/src/logger.js +38 -0
  259. package/src/modal.jsx +37 -0
  260. package/src/model-class-require.js +17 -0
  261. package/src/{model-events.mjs → model-events.js} +1 -1
  262. package/src/{model-name.mjs → model-name.js} +8 -8
  263. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  264. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +5 -5
  265. package/src/{models-response-reader.mjs → models-response-reader.js} +3 -4
  266. package/src/models.js +7 -0
  267. package/src/{models.mjs.erb → models.js.erb} +6 -3
  268. package/src/{money-formatter.mjs → money-formatter.js} +5 -4
  269. package/src/{params.mjs → params.js} +17 -7
  270. package/src/{preloaded.mjs → preloaded.js} +2 -2
  271. package/src/resize-observer.jsx +10 -0
  272. package/src/result.js +13 -0
  273. package/src/router/route.jsx +246 -0
  274. package/src/router/switch.jsx +76 -0
  275. package/src/router.jsx +23 -21
  276. package/src/{routes-native.mjs → routes-native.js} +12 -6
  277. package/src/{routes.mjs → routes.js} +1 -1
  278. package/src/run-last.js +39 -0
  279. package/src/{serializer.mjs → serializer.js} +2 -2
  280. package/src/{services.mjs → services.js} +1 -1
  281. package/src/session-status-updater.js +172 -0
  282. package/src/{source-maps-loader.mjs → source-maps-loader.js} +54 -28
  283. package/src/super-admin/config-reader.jsx +93 -0
  284. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +81 -0
  285. package/src/super-admin/edit-page/edit-attribute-content.jsx +57 -0
  286. package/src/super-admin/edit-page/edit-attribute-input.jsx +71 -0
  287. package/src/super-admin/edit-page/edit-attribute.jsx +81 -0
  288. package/src/super-admin/edit-page.jsx +117 -0
  289. package/src/super-admin/has-edit-config.js +15 -0
  290. package/src/super-admin/index-page.jsx +23 -0
  291. package/src/super-admin/index.jsx +197 -0
  292. package/src/super-admin/layout/header/index.jsx +144 -0
  293. package/src/super-admin/layout/header/style.scss +45 -0
  294. package/src/super-admin/layout/index.jsx +154 -0
  295. package/src/super-admin/layout/menu/index.jsx +171 -0
  296. package/src/super-admin/layout/menu/menu-content.jsx +43 -0
  297. package/src/super-admin/layout/menu/menu-item.jsx +70 -0
  298. package/src/super-admin/layout/menu/style.scss +11 -0
  299. package/src/super-admin/layout/no-access.jsx +26 -0
  300. package/src/super-admin/model-class-table.jsx +66 -0
  301. package/src/super-admin/models.js +11 -0
  302. package/src/super-admin/show-nav.jsx +44 -0
  303. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +30 -0
  304. package/src/super-admin/show-page/index.jsx +141 -0
  305. package/src/super-admin/show-reflection-actions.jsx +49 -0
  306. package/src/super-admin/show-reflection-link.jsx +40 -0
  307. package/src/super-admin/show-reflection-page.jsx +47 -0
  308. package/src/super-admin/stylesheets/variables.scss +11 -0
  309. package/src/table/column-content.jsx +122 -0
  310. package/src/table/column-identifier.js +23 -0
  311. package/src/table/column-visible.js +7 -0
  312. package/src/table/components/column.jsx +19 -0
  313. package/src/table/components/flat-list.jsx +19 -0
  314. package/src/table/components/header.jsx +21 -0
  315. package/src/table/components/row.jsx +23 -0
  316. package/src/table/filters/attribute-element.jsx +47 -0
  317. package/src/table/filters/filter-form.jsx +407 -0
  318. package/src/table/filters/filter.jsx +70 -0
  319. package/src/table/filters/index.jsx +170 -0
  320. package/src/table/filters/load-search-modal.jsx +146 -0
  321. package/src/table/filters/reflection-element.jsx +38 -0
  322. package/src/table/filters/save-search-modal.jsx +74 -0
  323. package/src/table/filters/scope-element.jsx +44 -0
  324. package/src/table/header-column-content.jsx +55 -0
  325. package/src/table/header-column.jsx +129 -0
  326. package/src/table/header-select.jsx +73 -0
  327. package/src/table/model-callback-args.js +10 -0
  328. package/src/table/model-column.jsx +82 -0
  329. package/src/table/model-row.jsx +136 -0
  330. package/src/table/select-calculator.js +65 -0
  331. package/src/table/settings/column-row.jsx +93 -0
  332. package/src/table/settings/download-action.jsx +68 -0
  333. package/src/table/settings/index.jsx +65 -0
  334. package/src/table/table-settings.js +263 -0
  335. package/src/table/table.jsx +950 -0
  336. package/src/table/use-sorting.js +35 -0
  337. package/src/table/variables.scss +11 -0
  338. package/src/table/widths.jsx +87 -0
  339. package/src/table/worker-plugins-check-all-checkbox.jsx +112 -0
  340. package/src/table/worker-plugins-checkbox.jsx +104 -0
  341. package/src/translated-attributes.js +11 -0
  342. package/src/{translated-collections.mjs → translated-collections.js} +3 -2
  343. package/src/updated-attribute.jsx +1 -1
  344. package/src/url-encode.js +18 -0
  345. package/src/use-breakpoint.js +76 -0
  346. package/src/use-can-can.js +55 -0
  347. package/src/use-collection.js +280 -0
  348. package/src/use-created-event.js +55 -0
  349. package/src/use-current-user.js +88 -0
  350. package/src/use-destroyed-event.js +60 -0
  351. package/src/use-event-emitter.js +15 -0
  352. package/src/use-event-listener.js +19 -0
  353. package/src/use-input.js +157 -0
  354. package/src/use-model-event.js +60 -0
  355. package/src/use-model.js +189 -0
  356. package/src/use-resize-observer.js +24 -0
  357. package/src/use-router.jsx +128 -0
  358. package/src/use-screen-layout.js +49 -0
  359. package/src/use-updated-event.js +60 -0
  360. package/src/use-validation-errors.js +33 -0
  361. package/src/utils/card.jsx +49 -0
  362. package/src/utils/checkbox.jsx +80 -0
  363. package/src/utils/checkboxes.jsx +158 -0
  364. package/src/utils/default-style.jsx +25 -0
  365. package/src/utils/icon.jsx +21 -0
  366. package/src/utils/invalid-feedback.jsx +20 -0
  367. package/src/utils/modal.jsx +60 -0
  368. package/src/utils/text.jsx +16 -0
  369. package/src/{validation-error.mjs → validation-error.js} +9 -5
  370. package/src/{validation-errors.mjs → validation-errors.js} +15 -27
  371. package/src/with-api-maker.jsx +31 -0
  372. package/src/with-collection.jsx +17 -0
  373. package/src/with-current-user.jsx +7 -25
  374. package/src/with-model.jsx +16 -0
  375. package/src/with-router.jsx +7 -129
  376. package/__tests__/base-model.test.js +0 -71
  377. package/__tests__/cable-connection-pool.test.js +0 -227
  378. package/__tests__/cable-subscription-pool.test.js +0 -26
  379. package/__tests__/can-can.test.js +0 -34
  380. package/__tests__/collection.test.js +0 -51
  381. package/__tests__/custom-error.test.js +0 -13
  382. package/__tests__/model-name.test.js +0 -34
  383. package/__tests__/model-prop-type.test.js +0 -113
  384. package/__tests__/params.test.js +0 -40
  385. package/__tests__/routes-native.test.js +0 -103
  386. package/__tests__/routes.test.js +0 -46
  387. package/__tests__/serializer.test.js +0 -30
  388. package/__tests__/support/task.js +0 -27
  389. package/__tests__/support/user.js +0 -32
  390. package/index.js +0 -1
  391. package/jest.config.js +0 -4
  392. package/src/can-can-loader.jsx +0 -54
  393. package/src/channels-consumer.mjs +0 -3
  394. package/src/destroy-error.mjs +0 -7
  395. package/src/devise.mjs +0 -122
  396. package/src/event-created.jsx +0 -65
  397. package/src/event-destroyed.jsx +0 -29
  398. package/src/event-listener.jsx +0 -38
  399. package/src/event-updated.jsx +0 -74
  400. package/src/logger.mjs +0 -25
  401. package/src/model-class-require.mjs +0 -10
  402. package/src/model-load-wrapper.jsx +0 -116
  403. package/src/result.mjs +0 -29
  404. package/src/session-status-updater.mjs +0 -116
  405. package/webpack.config.js +0 -15
  406. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  407. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  408. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  409. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  410. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
@@ -0,0 +1,20 @@
1
+ import parse from "url-parse";
2
+ import qs from "qs";
3
+ class HistoryExpo {
4
+ push(path, ...params) {
5
+ const url = parse(path, {});
6
+ const actualParams = Object.assign({}, params);
7
+ if (url.query) {
8
+ Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)));
9
+ url.set("query", null);
10
+ }
11
+ const actualPath = url.href;
12
+ router.push({
13
+ pathname: actualPath,
14
+ params: actualParams
15
+ });
16
+ }
17
+ }
18
+ const historyExpo = new HistoryExpo();
19
+ export default historyExpo;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZSIsInFzIiwiSGlzdG9yeUV4cG8iLCJwdXNoIiwicGF0aCIsInBhcmFtcyIsInVybCIsImFjdHVhbFBhcmFtcyIsIk9iamVjdCIsImFzc2lnbiIsInF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiLCJzZXQiLCJhY3R1YWxQYXRoIiwiaHJlZiIsInJvdXRlciIsInBhdGhuYW1lIiwiaGlzdG9yeUV4cG8iXSwic291cmNlcyI6WyIuLi9zcmMvaGlzdG9yeS1leHBvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXJzZSBmcm9tIFwidXJsLXBhcnNlXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuXG5jbGFzcyBIaXN0b3J5RXhwbyB7XG4gIHB1c2gocGF0aCwgLi4ucGFyYW1zKSB7XG4gICAgY29uc3QgdXJsID0gcGFyc2UocGF0aCwge30pXG4gICAgY29uc3QgYWN0dWFsUGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKVxuXG4gICAgaWYgKHVybC5xdWVyeSkge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY3R1YWxQYXJhbXMsIHFzLnBhcnNlKHVybC5xdWVyeS5zbGljZSgxLCB1cmwucXVlcnkubGVuZ3RoKSkpXG5cbiAgICAgIHVybC5zZXQoXCJxdWVyeVwiLCBudWxsKVxuICAgIH1cblxuICAgIGNvbnN0IGFjdHVhbFBhdGggPSB1cmwuaHJlZlxuXG4gICAgcm91dGVyLnB1c2goe3BhdGhuYW1lOiBhY3R1YWxQYXRoLCBwYXJhbXM6IGFjdHVhbFBhcmFtc30pXG4gIH1cbn1cblxuY29uc3QgaGlzdG9yeUV4cG8gPSBuZXcgSGlzdG9yeUV4cG8oKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5RXhwb1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLE1BQU0sV0FBVztBQUM3QixPQUFPQyxFQUFFLE1BQU0sSUFBSTtBQUVuQixNQUFNQyxXQUFXLENBQUM7RUFDaEJDLElBQUlBLENBQUNDLElBQUksRUFBRSxHQUFHQyxNQUFNLEVBQUU7SUFDcEIsTUFBTUMsR0FBRyxHQUFHTixLQUFLLENBQUNJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNRyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFSixNQUFNLENBQUM7SUFFOUMsSUFBSUMsR0FBRyxDQUFDSSxLQUFLLEVBQUU7TUFDYkYsTUFBTSxDQUFDQyxNQUFNLENBQUNGLFlBQVksRUFBRU4sRUFBRSxDQUFDRCxLQUFLLENBQUNNLEdBQUcsQ0FBQ0ksS0FBSyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxFQUFFTCxHQUFHLENBQUNJLEtBQUssQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUUzRU4sR0FBRyxDQUFDTyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUN4QjtJQUVBLE1BQU1DLFVBQVUsR0FBR1IsR0FBRyxDQUFDUyxJQUFJO0lBRTNCQyxNQUFNLENBQUNiLElBQUksQ0FBQztNQUFDYyxRQUFRLEVBQUVILFVBQVU7TUFBRVQsTUFBTSxFQUFFRTtJQUFZLENBQUMsQ0FBQztFQUMzRDtBQUNGO0FBRUEsTUFBTVcsV0FBVyxHQUFHLElBQUloQixXQUFXLENBQUMsQ0FBQztBQUVyQyxlQUFlZ0IsV0FBVyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,20 @@
1
+ import Config from "./config";
2
+ import parse from "url-parse";
3
+ import qs from "qs";
4
+ class HistoryReactNative {
5
+ push(path, ...params) {
6
+ const url = parse(path, {});
7
+ if (url.query) {
8
+ const actualParams = Object.assign({}, params);
9
+ Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)));
10
+ url.set("query", qs.stringify(actualParams));
11
+ }
12
+ const {
13
+ linkTo
14
+ } = Config.getLinkTo();
15
+ linkTo(url.href);
16
+ }
17
+ }
18
+ const historyReactNative = new HistoryReactNative();
19
+ export default historyReactNative;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb25maWciLCJwYXJzZSIsInFzIiwiSGlzdG9yeVJlYWN0TmF0aXZlIiwicHVzaCIsInBhdGgiLCJwYXJhbXMiLCJ1cmwiLCJxdWVyeSIsImFjdHVhbFBhcmFtcyIsIk9iamVjdCIsImFzc2lnbiIsInNsaWNlIiwibGVuZ3RoIiwic2V0Iiwic3RyaW5naWZ5IiwibGlua1RvIiwiZ2V0TGlua1RvIiwiaHJlZiIsImhpc3RvcnlSZWFjdE5hdGl2ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oaXN0b3J5LXJlYWN0LW5hdGl2ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29uZmlnIGZyb20gXCIuL2NvbmZpZ1wiXG5pbXBvcnQgcGFyc2UgZnJvbSBcInVybC1wYXJzZVwiXG5pbXBvcnQgcXMgZnJvbSBcInFzXCJcblxuY2xhc3MgSGlzdG9yeVJlYWN0TmF0aXZlIHtcbiAgcHVzaChwYXRoLCAuLi5wYXJhbXMpIHtcbiAgICBjb25zdCB1cmwgPSBwYXJzZShwYXRoLCB7fSlcblxuICAgIGlmICh1cmwucXVlcnkpIHtcbiAgICAgIGNvbnN0IGFjdHVhbFBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHBhcmFtcylcblxuICAgICAgT2JqZWN0LmFzc2lnbihhY3R1YWxQYXJhbXMsIHFzLnBhcnNlKHVybC5xdWVyeS5zbGljZSgxLCB1cmwucXVlcnkubGVuZ3RoKSkpXG5cbiAgICAgIHVybC5zZXQoXCJxdWVyeVwiLCBxcy5zdHJpbmdpZnkoYWN0dWFsUGFyYW1zKSlcbiAgICB9XG5cbiAgICBjb25zdCB7bGlua1RvfSA9IENvbmZpZy5nZXRMaW5rVG8oKVxuXG4gICAgbGlua1RvKHVybC5ocmVmKVxuICB9XG59XG5cbmNvbnN0IGhpc3RvcnlSZWFjdE5hdGl2ZSA9IG5ldyBIaXN0b3J5UmVhY3ROYXRpdmUoKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5UmVhY3ROYXRpdmVcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFVBQVU7QUFDN0IsT0FBT0MsS0FBSyxNQUFNLFdBQVc7QUFDN0IsT0FBT0MsRUFBRSxNQUFNLElBQUk7QUFFbkIsTUFBTUMsa0JBQWtCLENBQUM7RUFDdkJDLElBQUlBLENBQUNDLElBQUksRUFBRSxHQUFHQyxNQUFNLEVBQUU7SUFDcEIsTUFBTUMsR0FBRyxHQUFHTixLQUFLLENBQUNJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUzQixJQUFJRSxHQUFHLENBQUNDLEtBQUssRUFBRTtNQUNiLE1BQU1DLFlBQVksR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVMLE1BQU0sQ0FBQztNQUU5Q0ksTUFBTSxDQUFDQyxNQUFNLENBQUNGLFlBQVksRUFBRVAsRUFBRSxDQUFDRCxLQUFLLENBQUNNLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDSSxLQUFLLENBQUMsQ0FBQyxFQUFFTCxHQUFHLENBQUNDLEtBQUssQ0FBQ0ssTUFBTSxDQUFDLENBQUMsQ0FBQztNQUUzRU4sR0FBRyxDQUFDTyxHQUFHLENBQUMsT0FBTyxFQUFFWixFQUFFLENBQUNhLFNBQVMsQ0FBQ04sWUFBWSxDQUFDLENBQUM7SUFDOUM7SUFFQSxNQUFNO01BQUNPO0lBQU0sQ0FBQyxHQUFHaEIsTUFBTSxDQUFDaUIsU0FBUyxDQUFDLENBQUM7SUFFbkNELE1BQU0sQ0FBQ1QsR0FBRyxDQUFDVyxJQUFJLENBQUM7RUFDbEI7QUFDRjtBQUVBLE1BQU1DLGtCQUFrQixHQUFHLElBQUloQixrQkFBa0IsQ0FBQyxDQUFDO0FBRW5ELGVBQWVnQixrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,3 @@
1
+ import { createBrowserHistory } from "history";
2
+ export default createBrowserHistory();
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVCcm93c2VySGlzdG9yeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oaXN0b3J5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlQnJvd3Nlckhpc3Rvcnl9IGZyb20gXCJoaXN0b3J5XCJcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQnJvd3Nlckhpc3RvcnkoKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxvQkFBb0IsUUFBTyxTQUFTO0FBRTVDLGVBQWVBLG9CQUFvQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
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,133 @@
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 { Input as ApiMakerInput } from "@kaspernj/api-maker/build/inputs/input";
5
+ import Checkbox from "./checkbox";
6
+ import memo from "set-state-compare/src/memo";
7
+ import PropTypes from "prop-types";
8
+ import React from "react";
9
+ import { shapeComponent } from "set-state-compare/src/shape-component";
10
+ import useI18n from "i18n-on-steroids/src/use-i18n";
11
+ import useInput from "../use-input";
12
+ export default memo(shapeComponent(class ApiMakerInputsAttachment extends BaseComponent {
13
+ static propTypes = {
14
+ className: PropTypes.string,
15
+ model: PropTypes.object.isRequired,
16
+ onPurgeChanged: PropTypes.func,
17
+ purgeName: PropTypes.string
18
+ };
19
+ setup() {
20
+ const {
21
+ t
22
+ } = useI18n({
23
+ namespace: "js.api_maker.inputs.attachment"
24
+ });
25
+ const {
26
+ inputProps
27
+ } = useInput({
28
+ props: this.props
29
+ });
30
+ this.setInstance({
31
+ inputProps,
32
+ t
33
+ });
34
+ this.useStates({
35
+ purgeChecked: false
36
+ });
37
+ }
38
+ render() {
39
+ const {
40
+ inputProps,
41
+ t
42
+ } = this.tt;
43
+ const {
44
+ attribute,
45
+ checkboxComponent,
46
+ className,
47
+ label,
48
+ model,
49
+ name,
50
+ onPurgeChanged,
51
+ purgeName,
52
+ wrapperOpts,
53
+ ...restProps
54
+ } = this.props;
55
+ const CheckboxComponent = checkboxComponent || Checkbox;
56
+ const newInputProps = Object.assign({}, inputProps, {
57
+ type: "file"
58
+ });
59
+ return /*#__PURE__*/React.createElement("div", _extends({
60
+ className: classNames("api-maker--inputs--attachment", "components--inputs--input", className)
61
+ }, restProps), this.isImage() && /*#__PURE__*/React.createElement("a", {
62
+ href: this.getUrl(),
63
+ target: "_blank"
64
+ }, /*#__PURE__*/React.createElement("img", {
65
+ src: this.getUrl(),
66
+ style: {
67
+ maxWidth: "200px",
68
+ maxHeight: "200px"
69
+ }
70
+ })), this.getUrl() && /*#__PURE__*/React.createElement("div", {
71
+ className: "input-checkbox",
72
+ style: {
73
+ paddingTop: "15px",
74
+ paddingBottom: "15px"
75
+ }
76
+ }, /*#__PURE__*/React.createElement(CheckboxComponent, {
77
+ id: this.getPurgeInputId(),
78
+ name: this.getPurgeInputName(),
79
+ onChange: this.props.onPurgeChanged
80
+ }), /*#__PURE__*/React.createElement("label", {
81
+ className: "checkbox-label",
82
+ htmlFor: this.getPurgeInputId()
83
+ }, t("js.shared.delete"))), !this.s.purgeChecked && /*#__PURE__*/React.createElement(ApiMakerInput, {
84
+ defaultValue: null,
85
+ inputProps: newInputProps,
86
+ model: model
87
+ }));
88
+ }
89
+ getContentType() {
90
+ const {
91
+ attribute,
92
+ model
93
+ } = this.p;
94
+ const attributeName = `${attribute}ContentType`;
95
+ if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
96
+ return model[attributeName]();
97
+ }
98
+ getPurgeInputId() {
99
+ const {
100
+ inputProps
101
+ } = this.tt;
102
+ return `${inputProps.id}_purge`;
103
+ }
104
+ getPurgeInputName() {
105
+ if ("purgeName" in this.props) return this.props.purgeName;
106
+ const {
107
+ inputProps
108
+ } = this.tt;
109
+ if (!inputProps.name) return null;
110
+ const match = inputProps.name.match(/^(.+)\[(.+?)\]$/);
111
+ const purgeInputName = `${match[1]}[${match[2]}_purge]`;
112
+ return purgeInputName;
113
+ }
114
+ getUrl() {
115
+ const {
116
+ attribute,
117
+ model
118
+ } = this.p;
119
+ const attributeName = `${attribute}Url`;
120
+ if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
121
+ return model[attributeName]();
122
+ }
123
+ isImage() {
124
+ return this.getContentType()?.startsWith("image/");
125
+ }
126
+ onPurgeChanged = e => {
127
+ this.setState({
128
+ purgeChecked: digg(e, "target", "checked")
129
+ });
130
+ if (this.props.onPurgeChanged) this.props.onPurgeChanged(e);
131
+ };
132
+ }));
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsIklucHV0IiwiQXBpTWFrZXJJbnB1dCIsIkNoZWNrYm94IiwibWVtbyIsIlByb3BUeXBlcyIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJ1c2VJMThuIiwidXNlSW5wdXQiLCJBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQiLCJwcm9wVHlwZXMiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJtb2RlbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJvblB1cmdlQ2hhbmdlZCIsImZ1bmMiLCJwdXJnZU5hbWUiLCJzZXR1cCIsInQiLCJuYW1lc3BhY2UiLCJpbnB1dFByb3BzIiwicHJvcHMiLCJzZXRJbnN0YW5jZSIsInVzZVN0YXRlcyIsInB1cmdlQ2hlY2tlZCIsInJlbmRlciIsInR0IiwiYXR0cmlidXRlIiwiY2hlY2tib3hDb21wb25lbnQiLCJsYWJlbCIsIm5hbWUiLCJ3cmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsIkNoZWNrYm94Q29tcG9uZW50IiwibmV3SW5wdXRQcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInR5cGUiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJpc0ltYWdlIiwiaHJlZiIsImdldFVybCIsInRhcmdldCIsInNyYyIsInN0eWxlIiwibWF4V2lkdGgiLCJtYXhIZWlnaHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsImlkIiwiZ2V0UHVyZ2VJbnB1dElkIiwiZ2V0UHVyZ2VJbnB1dE5hbWUiLCJvbkNoYW5nZSIsImh0bWxGb3IiLCJzIiwiZGVmYXVsdFZhbHVlIiwiZ2V0Q29udGVudFR5cGUiLCJwIiwiYXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJtYXRjaCIsInB1cmdlSW5wdXROYW1lIiwic3RhcnRzV2l0aCIsImUiLCJzZXRTdGF0ZSIsImRpZ2ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL2F0dGFjaG1lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge0lucHV0IGFzIEFwaU1ha2VySW5wdXR9IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4vY2hlY2tib3hcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VySW5wdXRzQXR0YWNobWVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uUHVyZ2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwdXJnZU5hbWU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuaW5wdXRzLmF0dGFjaG1lbnRcIn0pXG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzfSlcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2lucHV0UHJvcHMsIHR9KVxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIHB1cmdlQ2hlY2tlZDogZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja2JveENvbXBvbmVudCwgY2xhc3NOYW1lLCBsYWJlbCwgbW9kZWwsIG5hbWUsIG9uUHVyZ2VDaGFuZ2VkLCBwdXJnZU5hbWUsIHdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IENoZWNrYm94Q29tcG9uZW50ID0gY2hlY2tib3hDb21wb25lbnQgfHwgQ2hlY2tib3hcbiAgICBjb25zdCBuZXdJbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgaW5wdXRQcm9wcywge3R5cGU6IFwiZmlsZVwifSlcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0taW5wdXRzLS1hdHRhY2htZW50XCIsIFwiY29tcG9uZW50cy0taW5wdXRzLS1pbnB1dFwiLCBjbGFzc05hbWUpfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAge3RoaXMuaXNJbWFnZSgpICYmXG4gICAgICAgICAgPGEgaHJlZj17dGhpcy5nZXRVcmwoKX0gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz17dGhpcy5nZXRVcmwoKX0gc3R5bGU9e3ttYXhXaWR0aDogXCIyMDBweFwiLCBtYXhIZWlnaHQ6IFwiMjAwcHhcIn19IC8+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICAgIHt0aGlzLmdldFVybCgpICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1jaGVja2JveFwiIHN0eWxlPXt7cGFkZGluZ1RvcDogXCIxNXB4XCIsIHBhZGRpbmdCb3R0b206IFwiMTVweFwifX0+XG4gICAgICAgICAgICA8Q2hlY2tib3hDb21wb25lbnQgaWQ9e3RoaXMuZ2V0UHVyZ2VJbnB1dElkKCl9IG5hbWU9e3RoaXMuZ2V0UHVyZ2VJbnB1dE5hbWUoKX0gb25DaGFuZ2U9e3RoaXMucHJvcHMub25QdXJnZUNoYW5nZWR9IC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY2hlY2tib3gtbGFiZWxcIiBodG1sRm9yPXt0aGlzLmdldFB1cmdlSW5wdXRJZCgpfT5cbiAgICAgICAgICAgICAge3QoXCJqcy5zaGFyZWQuZGVsZXRlXCIpfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICB7IXRoaXMucy5wdXJnZUNoZWNrZWQgJiZcbiAgICAgICAgICA8QXBpTWFrZXJJbnB1dFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtudWxsfVxuICAgICAgICAgICAgaW5wdXRQcm9wcz17bmV3SW5wdXRQcm9wc31cbiAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBnZXRDb250ZW50VHlwZSgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBtb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gYCR7YXR0cmlidXRlfUNvbnRlbnRUeXBlYFxuXG4gICAgaWYgKCEoYXR0cmlidXRlTmFtZSBpbiBtb2RlbCkpIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBtZXRob2Qgb24gJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9OiAke2F0dHJpYnV0ZU5hbWV9YClcblxuICAgIHJldHVybiBtb2RlbFthdHRyaWJ1dGVOYW1lXSgpXG4gIH1cblxuICBnZXRQdXJnZUlucHV0SWQoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuXG4gICAgcmV0dXJuIGAke2lucHV0UHJvcHMuaWR9X3B1cmdlYFxuICB9XG5cbiAgZ2V0UHVyZ2VJbnB1dE5hbWUoKSB7XG4gICAgaWYgKFwicHVyZ2VOYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMucHVyZ2VOYW1lXG5cbiAgICBjb25zdCB7aW5wdXRQcm9wc30gPSB0aGlzLnR0XG5cbiAgICBpZiAoIWlucHV0UHJvcHMubmFtZSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IG1hdGNoID0gaW5wdXRQcm9wcy5uYW1lLm1hdGNoKC9eKC4rKVxcWyguKz8pXFxdJC8pXG4gICAgY29uc3QgcHVyZ2VJbnB1dE5hbWUgPSBgJHttYXRjaFsxXX1bJHttYXRjaFsyXX1fcHVyZ2VdYFxuXG4gICAgcmV0dXJuIHB1cmdlSW5wdXROYW1lXG4gIH1cblxuICBnZXRVcmwoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGAke2F0dHJpYnV0ZX1VcmxgXG5cbiAgICBpZiAoIShhdHRyaWJ1dGVOYW1lIGluIG1vZGVsKSkgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBvbiAke21vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX06ICR7YXR0cmlidXRlTmFtZX1gKVxuXG4gICAgcmV0dXJuIG1vZGVsW2F0dHJpYnV0ZU5hbWVdKClcbiAgfVxuXG4gIGlzSW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29udGVudFR5cGUoKT8uc3RhcnRzV2l0aChcImltYWdlL1wiKVxuICB9XG5cbiAgb25QdXJnZUNoYW5nZWQgPSAoZSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe3B1cmdlQ2hlY2tlZDogZGlnZyhlLCBcInRhcmdldFwiLCBcImNoZWNrZWRcIil9KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25QdXJnZUNoYW5nZWQpIHRoaXMucHJvcHMub25QdXJnZUNoYW5nZWQoZSlcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxh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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,138 @@
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 React, { useMemo } from "react";
3
+ import AutoSubmit from "./auto-submit";
4
+ import BaseComponent from "../base-component";
5
+ import { digg } from "diggerize";
6
+ import PropTypes from "prop-types";
7
+ import memo from "set-state-compare/src/memo";
8
+ import { shapeComponent } from "set-state-compare/src/shape-component";
9
+ import useInput from "../use-input";
10
+ import { useForm } from "../form";
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
+ if (form && name) {
116
+ const checked = args[0].target.checked;
117
+ form.setValue(name, checked);
118
+ }
119
+ if (onChange) onChange(...args);
120
+ };
121
+ onModelUpdated = args => {
122
+ const inputRef = digg(this.tt.inputProps, "ref");
123
+ if (!inputRef.current) {
124
+ // This can happen if the component is being unmounted
125
+ return;
126
+ }
127
+ const {
128
+ attribute
129
+ } = this.p;
130
+ const newModel = digg(args, "model");
131
+ const currentChecked = digg(inputRef, "current", "checked");
132
+ const newValue = newModel.readAttribute(attribute);
133
+ if (currentChecked != newValue) {
134
+ inputRef.current.checked = newValue;
135
+ }
136
+ };
137
+ }));
138
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJBdXRvU3VibWl0IiwiQmFzZUNvbXBvbmVudCIsImRpZ2ciLCJQcm9wVHlwZXMiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJ1c2VJbnB1dCIsInVzZUZvcm0iLCJ1c2VVcGRhdGVkRXZlbnQiLCJBcGlNYWtlcklucHV0c0NoZWNrYm94IiwiZGVmYXVsdFByb3BzIiwiYXV0b1JlZnJlc2giLCJhdXRvU3VibWl0IiwiZGVmYXVsdFZhbHVlIiwibW9kZWwiLCJ6ZXJvSW5wdXQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJib29sIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRDaGVja2VkIiwibm9kZSIsImlkIiwiaW5wdXRSZWYiLCJvYmplY3QiLCJuYW1lIiwib25FcnJvcnMiLCJmdW5jIiwib25NYXRjaFZhbGlkYXRpb25FcnJvciIsInNldHVwIiwicCIsImlucHV0UHJvcHMiLCJyZXN0UHJvcHMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ0eXBlIiwic2V0SW5zdGFuY2UiLCJmb3JtIiwidHQiLCJzZXRWYWx1ZSIsIm9uTW9kZWxVcGRhdGVkIiwiYWN0aXZlIiwiQm9vbGVhbiIsInJlbmRlciIsImNoZWNrZWQiLCJvbkNoYW5nZSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIl9leHRlbmRzIiwib25DaGFuZ2VkIiwiYXJncyIsImNvbXBvbmVudCIsInRhcmdldCIsImN1cnJlbnQiLCJuZXdNb2RlbCIsImN1cnJlbnRDaGVja2VkIiwibmV3VmFsdWUiLCJyZWFkQXR0cmlidXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbW9kZWw6IG51bGwsXG4gICAgemVyb0lucHV0OiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBhdXRvU3VibWl0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25FcnJvcnM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHthdXRvUmVmcmVzaCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHJlc3RQcm9wczogdXNlSW5wdXRSZXN0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzLCB3cmFwcGVyT3B0aW9uczoge3R5cGU6IFwiY2hlY2tib3hcIn19KVxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgdXNlSW5wdXRSZXN0UHJvcHNcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnR0LmZvcm0/LnNldFZhbHVlKG5hbWUsIGRlZmF1bHRWYWx1ZSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZVVwZGF0ZWRFdmVudChtb2RlbCwgdGhpcy50dC5vbk1vZGVsVXBkYXRlZCwge2FjdGl2ZTogQm9vbGVhbihhdXRvUmVmcmVzaCAmJiBtb2RlbCl9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIGF1dG9SZWZyZXNoLFxuICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIHplcm9JbnB1dCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB1c2VJbnB1dFJlc3RQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt6ZXJvSW5wdXQgJiYgaW5wdXRQcm9wcy5uYW1lICYmXG4gICAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT1cIjBcIiBuYW1lPXtpbnB1dFByb3BzLm5hbWV9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICAgIGRhdGEtYXV0by1yZWZyZXNoPXthdXRvUmVmcmVzaH1cbiAgICAgICAgICBkYXRhLWF1dG8tc3VibWl0PXthdXRvU3VibWl0fVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uQ2hhbmdlZH1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBvbkNoYW5nZWQgPSAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IHtmb3JtLCBpbnB1dFByb3BzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBhdXRvU3VibWl0LCBtb2RlbCwgb25DaGFuZ2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgY29uc3QgY2hlY2tlZCA9IGFyZ3NbMF0udGFyZ2V0LmNoZWNrZWRcblxuICAgICAgZm9ybS5zZXRWYWx1ZShuYW1lLCBjaGVja2VkKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoLi4uYXJncylcbiAgfVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IGRpZ2codGhpcy50dC5pbnB1dFByb3BzLCBcInJlZlwiKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gdGhpcy5wXG4gICAgY29uc3QgbmV3TW9kZWwgPSBkaWdnKGFyZ3MsIFwibW9kZWxcIilcbiAgICBjb25zdCBjdXJyZW50Q2hlY2tlZCA9IGRpZ2coaW5wdXRSZWYsIFwiY3VycmVudFwiLCBcImNoZWNrZWRcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuXG4gICAgaWYgKGN1cnJlbnRDaGVja2VkICE9IG5ld1ZhbHVlKSB7XG4gICAgICBpbnB1dFJlZi5jdXJyZW50LmNoZWNrZWQgPSBuZXdWYWx1ZVxuICAgIH1cbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUdDLE9BQU8sUUFBTyxPQUFPO0FBQ3BDLE9BQU9DLFVBQVUsTUFBTSxlQUFlO0FBQ3RDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLFFBQVEsTUFBTSxjQUFjO0FBQ25DLFNBQVFDLE9BQU8sUUFBTyxTQUFTO0FBQy9CLE9BQU9DLGVBQWUsTUFB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
@@ -0,0 +1,112 @@
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 React from "react";
11
+ import memo from "set-state-compare/src/memo";
12
+ import { shapeComponent } from "set-state-compare/src/shape-component";
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.node,
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 {
28
+ className,
29
+ inputProps,
30
+ label,
31
+ wrapperOpts,
32
+ ...restProps
33
+ } = this.props;
34
+ return /*#__PURE__*/React.createElement("div", _extends({
35
+ className: classNames("component-bootstrap-check-boxes", className)
36
+ }, restProps), /*#__PURE__*/React.createElement("input", {
37
+ name: this.inputName(),
38
+ ref: this.props.inputProps.ref,
39
+ type: "hidden",
40
+ value: ""
41
+ }), this.props.options.map((option, index) => this.optionElement(option, index)));
42
+ }
43
+ inputDefaultValue() {
44
+ const {
45
+ attribute,
46
+ defaultValue,
47
+ model
48
+ } = this.props;
49
+ if (defaultValue) {
50
+ return defaultValue;
51
+ } else if (attribute && model) {
52
+ if (!model[attribute]) throw `No such attribute: ${attribute}`;
53
+ return this.props.model[attribute]();
54
+ }
55
+ }
56
+ inputCheckboxClassName() {
57
+ const classNames = [];
58
+ if (this.props.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
59
+ return classNames.join(" ");
60
+ }
61
+ inputName() {
62
+ if (this.props.name) {
63
+ return `${this.props.name}[]`;
64
+ } else if (this.props.model) {
65
+ return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
66
+ }
67
+ }
68
+ isDefaultSelected(option) {
69
+ let defaultValue = this.inputDefaultValue();
70
+ if (!defaultValue) return false;
71
+ if (defaultValue.constructor === Array) {
72
+ return defaultValue.includes(option);
73
+ } else {
74
+ return defaultValue == option;
75
+ }
76
+ }
77
+ generatedId() {
78
+ if (!this.generatedIdValue) this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
79
+ return this.generatedIdValue;
80
+ }
81
+ optionElement(option, index) {
82
+ const {
83
+ onChange,
84
+ options,
85
+ wrapperOpts
86
+ } = this.props;
87
+ const {
88
+ errors
89
+ } = digs(wrapperOpts, "errors");
90
+ const id = `${this.generatedId()}-${index}`;
91
+ return /*#__PURE__*/React.createElement("div", {
92
+ className: "checkboxes-option",
93
+ key: `option-${option[1]}`
94
+ }, /*#__PURE__*/React.createElement("input", {
95
+ className: this.inputCheckboxClassName(),
96
+ "data-option-value": option[1],
97
+ defaultChecked: this.isDefaultSelected(option[1]),
98
+ id: id,
99
+ name: this.inputName(),
100
+ onChange: onChange,
101
+ type: "checkbox",
102
+ value: option[1]
103
+ }), /*#__PURE__*/React.createElement("label", {
104
+ className: "ml-1",
105
+ htmlFor: id
106
+ }, option[0]), index + 1 == options.length && errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
107
+ errors: errors
108
+ }));
109
+ }
110
+ }));
111
+ export default inputWrapper(ApiMakerInputsCheckboxes);
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ3MiLCJpbnB1dFdyYXBwZXIiLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJSZWFjdCIsIm1lbW8iLCJzaGFwZUNvbXBvbmVudCIsIkFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImRlZmF1bHRWYWx1ZSIsImFycmF5IiwiaWQiLCJpbnB1dFByb3BzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImxhYmVsIiwibm9kZSIsIm1vZGVsIiwibmFtZSIsIm9uQ2hhbmdlIiwiZnVuYyIsIm9wdGlvbnMiLCJ3cmFwcGVyT3B0cyIsInJlbmRlciIsImNsYXNzTmFtZSIsInJlc3RQcm9wcyIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaW5wdXROYW1lIiwicmVmIiwidHlwZSIsInZhbHVlIiwibWFwIiwib3B0aW9uIiwiaW5kZXgiLCJvcHRpb25FbGVtZW50IiwiaW5wdXREZWZhdWx0VmFsdWUiLCJpbnB1dENoZWNrYm94Q2xhc3NOYW1lIiwiZXJyb3JzIiwibGVuZ3RoIiwicHVzaCIsImpvaW4iLCJtb2RlbENsYXNzRGF0YSIsInBhcmFtS2V5IiwidW5kZXJzY29yZSIsImlzRGVmYXVsdFNlbGVjdGVkIiwiY29uc3RydWN0b3IiLCJBcnJheSIsImluY2x1ZGVzIiwiZ2VuZXJhdGVkSWQiLCJnZW5lcmF0ZWRJZFZhbHVlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwia2V5IiwiZGVmYXVsdENoZWNrZWQiLCJodG1sRm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveGVzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4uL2Jvb3RzdHJhcC9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuY29uc3QgQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRQcm9wczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICB3cmFwcGVyT3B0czogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge2NsYXNzTmFtZSwgaW5wdXRQcm9wcywgbGFiZWwsIHdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiY29tcG9uZW50LWJvb3RzdHJhcC1jaGVjay1ib3hlc1wiLCBjbGFzc05hbWUpfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPGlucHV0IG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9IHJlZj17dGhpcy5wcm9wcy5pbnB1dFByb3BzLnJlZn0gdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiXCIgLz5cbiAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHRoaXMub3B0aW9uRWxlbWVudChvcHRpb24sIGluZGV4KSl9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgZGVmYXVsdFZhbHVlLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGlmICghbW9kZWxbYXR0cmlidXRlXSlcbiAgICAgICAgdGhyb3cgYE5vIHN1Y2ggYXR0cmlidXRlOiAke2F0dHJpYnV0ZX1gXG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsW2F0dHJpYnV0ZV0oKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hlY2tib3hDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXVxuXG4gICAgaWYgKHRoaXMucHJvcHMud3JhcHBlck9wdHMuZXJyb3JzLmxlbmd0aCA+IDApIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnByb3BzLm5hbWUpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm5hbWV9W11gXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9XWBcbiAgICB9XG4gIH1cblxuICBpc0RlZmF1bHRTZWxlY3RlZCAob3B0aW9uKSB7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuaW5wdXREZWZhdWx0VmFsdWUoKVxuXG4gICAgaWYgKCFkZWZhdWx0VmFsdWUpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUuaW5jbHVkZXMob3B0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlID09IG9wdGlvblxuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlZElkICgpIHtcbiAgICBpZiAoIXRoaXMuZ2VuZXJhdGVkSWRWYWx1ZSlcbiAgICAgIHRoaXMuZ2VuZXJhdGVkSWRWYWx1ZSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxNSkgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpXG5cbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZWRJZFZhbHVlXG4gIH1cblxuICBvcHRpb25FbGVtZW50IChvcHRpb24sIGluZGV4KSB7XG4gICAgY29uc3Qge29uQ2hhbmdlLCBvcHRpb25zLCB3cmFwcGVyT3B0c30gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2Vycm9yc30gPSBkaWdzKHdyYXBwZXJPcHRzLCBcImVycm9yc1wiKVxuICAgIGNvbnN0IGlkID0gYCR7dGhpcy5nZW5lcmF0ZWRJZCgpfS0ke2luZGV4fWBcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94ZXMtb3B0aW9uXCIga2V5PXtgb3B0aW9uLSR7b3B0aW9uWzFdfWB9PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuaW5wdXRDaGVja2JveENsYXNzTmFtZSgpfVxuICAgICAgICAgIGRhdGEtb3B0aW9uLXZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e3RoaXMuaXNEZWZhdWx0U2VsZWN0ZWQob3B0aW9uWzFdKX1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICB2YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJtbC0xXCIgaHRtbEZvcj17aWR9PlxuICAgICAgICAgIHtvcHRpb25bMF19XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgeyhpbmRleCArIDEpID09IG9wdGlvbnMubGVuZ3RoICYmIGVycm9ycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG59KSlcblxuZXhwb3J0IGRlZmF1bHQgaW5wdXRXcmFwcGVyKEFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcylcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsVUFBVSxNQUFNLFlB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
@@ -0,0 +1,15 @@
1
+ import * as inflection from "inflection";
2
+ export default function apiMakerIdForComponent(component) {
3
+ if ("id" in component.props) {
4
+ return component.props.id;
5
+ } else if (component.props.attribute && component.props.model) {
6
+ return `${component.props.model.modelClassData().paramKey}_${inflection.underscore(component.props.attribute)}`;
7
+ } else if (component.generatedInputId) {
8
+ return component.generatedInputId;
9
+ } else {
10
+ const generatedInputId = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
11
+ component.generatedInputId = generatedInputId;
12
+ return generatedInputId;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiYXBpTWFrZXJJZEZvckNvbXBvbmVudCIsImNvbXBvbmVudCIsInByb3BzIiwiaWQiLCJhdHRyaWJ1dGUiLCJtb2RlbCIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiZ2VuZXJhdGVkSW5wdXRJZCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsInN1YnN0cmluZyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXBpTWFrZXJJZEZvckNvbXBvbmVudChjb21wb25lbnQpIHtcbiAgaWYgKFwiaWRcIiBpbiBjb21wb25lbnQucHJvcHMpIHtcbiAgICByZXR1cm4gY29tcG9uZW50LnByb3BzLmlkXG4gIH0gZWxzZSBpZiAoY29tcG9uZW50LnByb3BzLmF0dHJpYnV0ZSAmJiBjb21wb25lbnQucHJvcHMubW9kZWwpIHtcbiAgICByZXR1cm4gYCR7Y29tcG9uZW50LnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9XyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGNvbXBvbmVudC5wcm9wcy5hdHRyaWJ1dGUpfWBcbiAgfSBlbHNlIGlmIChjb21wb25lbnQuZ2VuZXJhdGVkSW5wdXRJZCkge1xuICAgIHJldHVybiBjb21wb25lbnQuZ2VuZXJhdGVkSW5wdXRJZFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdlbmVyYXRlZElucHV0SWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KVxuICAgIGNvbXBvbmVudC5nZW5lcmF0ZWRJbnB1dElkID0gZ2VuZXJhdGVkSW5wdXRJZFxuICAgIHJldHVybiBnZW5lcmF0ZWRJbnB1dElkXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxVQUFVLE1BQU0sWUFBWTtBQUV4QyxlQUFlLFNBQVNDLHNCQUFzQkEsQ0FBQ0MsU0FBUyxFQUFFO0VBQ3hELElBQUksSUFBSSxJQUFJQSxTQUFTLENBQUNDLEtBQUssRUFBRTtJQUMzQixPQUFPRCxTQUFTLENBQUNDLEtBQUssQ0FBQ0MsRUFBRTtFQUMzQixDQUFDLE1BQU0sSUFBSUYsU0FBUyxDQUFDQyxLQUFLLENBQUNFLFNBQVMsSUFBSUgsU0FBUyxDQUFDQyxLQUFLLENBQUNHLEtBQUssRUFBRTtJQUM3RCxPQUFPLEdBQUdKLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDRyxLQUFLLENBQUNDLGNBQWMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsSUFBSVIsVUFBVSxDQUFDUyxVQUFVLENBQUNQLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDRSxTQUFTLENBQUMsRUFBRTtFQUNqSCxDQUFDLE1BQU0sSUFBSUgsU0FBUyxDQUFDUSxnQkFBZ0IsRUFBRTtJQUNyQyxPQUFPUixTQUFTLENBQUNRLGdCQUFnQjtFQUNuQyxDQUFDLE1BQU07SUFDTCxNQUFNQSxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUdILElBQUksQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNsSFosU0FBUyxDQUFDUSxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0lBQzdDLE9BQU9BLGdCQUFnQjtFQUN6QjtBQUNGIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,19 @@
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 React from "react";
3
+ import useInput from "../use-input";
4
+ const inputWrapper = (WrapperComponentClass, wrapperOptions = {}) => props => {
5
+ const {
6
+ inputProps,
7
+ restProps,
8
+ wrapperOpts
9
+ } = useInput({
10
+ props,
11
+ wrapperOptions
12
+ });
13
+ return /*#__PURE__*/React.createElement(WrapperComponentClass, _extends({
14
+ inputProps: inputProps,
15
+ wrapperOpts: wrapperOpts
16
+ }, restProps));
17
+ };
18
+ export default inputWrapper;
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUlucHV0IiwiaW5wdXRXcmFwcGVyIiwiV3JhcHBlckNvbXBvbmVudENsYXNzIiwid3JhcHBlck9wdGlvbnMiLCJwcm9wcyIsImlucHV0UHJvcHMiLCJyZXN0UHJvcHMiLCJ3cmFwcGVyT3B0cyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvaW5wdXQtd3JhcHBlci5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlSW5wdXQgZnJvbSBcIi4uL3VzZS1pbnB1dFwiXG5cbmNvbnN0IGlucHV0V3JhcHBlciA9IChXcmFwcGVyQ29tcG9uZW50Q2xhc3MsIHdyYXBwZXJPcHRpb25zID0ge30pID0+IChwcm9wcykgPT4ge1xuICBjb25zdCB7aW5wdXRQcm9wcywgcmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHMsIHdyYXBwZXJPcHRpb25zfSlcblxuICByZXR1cm4gKFxuICAgIDxXcmFwcGVyQ29tcG9uZW50Q2xhc3NcbiAgICAgIGlucHV0UHJvcHM9e2lucHV0UHJvcHN9XG4gICAgICB3cmFwcGVyT3B0cz17d3JhcHBlck9wdHN9XG4gICAgICB7Li4ucmVzdFByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5wdXRXcmFwcGVyXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPQyxRQUFRLE1BQU0sY0FBYztBQUVuQyxNQUFNQyxZQUFZLEdBQUdBLENBQUNDLHFCQUFxQixFQUFFQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEtBQU1DLEtBQUssSUFBSztFQUM5RSxNQUFNO0lBQUNDLFVBQVU7SUFBRUMsU0FBUztJQUFFQztFQUFXLENBQUMsR0FBR1AsUUFBUSxDQUFDO0lBQUNJLEtBQUs7SUFBRUQ7RUFBYyxDQUFDLENBQUM7RUFFOUUsb0JBQ0VKLEtBQUEsQ0FBQVMsYUFBQSxDQUFDTixxQkFBcUIsRUFBQU8sUUFBQTtJQUNwQkosVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCRSxXQUFXLEVBQUVBO0VBQVksR0FDckJELFNBQVMsQ0FDZCxDQUFDO0FBRU4sQ0FBQztBQUVELGVBQWVMLFlBQVkiLCJpZ25vcmVMaXN0IjpbXX0=