@kaspernj/api-maker 1.0.446 → 1.0.448

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 (357) 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 -16
  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/index.jsx +3 -3
  209. package/src/draggable-sort/item.jsx +2 -2
  210. package/src/{error-logger.mjs → error-logger.js} +1 -1
  211. package/src/event-connection.jsx +1 -1
  212. package/src/event-model-class.jsx +1 -1
  213. package/src/form.jsx +1 -1
  214. package/src/index.js +3 -0
  215. package/src/inputs/attachment.jsx +2 -2
  216. package/src/inputs/checkbox.jsx +7 -6
  217. package/src/inputs/checkboxes.jsx +1 -1
  218. package/src/inputs/input-wrapper.jsx +1 -1
  219. package/src/inputs/input.jsx +8 -7
  220. package/src/inputs/money.jsx +3 -3
  221. package/src/inputs/select.jsx +1 -1
  222. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  223. package/src/link.jsx +2 -2
  224. package/src/modal.jsx +1 -1
  225. package/src/{model-class-require.mjs → model-class-require.js} +4 -2
  226. package/src/{model-events.mjs → model-events.js} +1 -1
  227. package/src/{model-name.mjs → model-name.js} +1 -1
  228. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  229. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +2 -2
  230. package/src/{models-response-reader.mjs → models-response-reader.js} +2 -2
  231. package/src/models.js +7 -0
  232. package/src/{models.mjs.erb → models.js.erb} +1 -1
  233. package/src/{params.mjs → params.js} +2 -2
  234. package/src/{preloaded.mjs → preloaded.js} +1 -1
  235. package/src/resize-observer.jsx +1 -1
  236. package/src/router/route.jsx +1 -1
  237. package/src/router/switch.jsx +1 -1
  238. package/src/router.jsx +1 -1
  239. package/src/{routes-native.mjs → routes-native.js} +1 -1
  240. package/src/{services.mjs → services.js} +1 -1
  241. package/src/{session-status-updater.mjs → session-status-updater.js} +3 -3
  242. package/src/{source-maps-loader.mjs → source-maps-loader.js} +1 -1
  243. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +1 -1
  244. package/src/super-admin/edit-page/edit-attribute-content.jsx +1 -1
  245. package/src/super-admin/edit-page/edit-attribute-input.jsx +1 -1
  246. package/src/super-admin/edit-page/edit-attribute.jsx +1 -1
  247. package/src/super-admin/edit-page.jsx +2 -2
  248. package/src/super-admin/has-edit-config.js +1 -1
  249. package/src/super-admin/index-page.jsx +1 -1
  250. package/src/super-admin/index.jsx +7 -7
  251. package/src/super-admin/layout/header/index.jsx +2 -2
  252. package/src/super-admin/layout/index.jsx +3 -3
  253. package/src/super-admin/layout/menu/index.jsx +3 -3
  254. package/src/super-admin/layout/menu/menu-content.jsx +2 -2
  255. package/src/super-admin/layout/menu/{menu-item/index.jsx → menu-item.jsx} +5 -6
  256. package/src/super-admin/layout/no-access.jsx +2 -2
  257. package/src/super-admin/model-class-table.jsx +3 -3
  258. package/src/super-admin/models.js +1 -1
  259. package/src/super-admin/show-nav.jsx +2 -2
  260. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +1 -1
  261. package/src/super-admin/show-page/index.jsx +2 -2
  262. package/src/super-admin/show-reflection-actions.jsx +1 -1
  263. package/src/super-admin/show-reflection-link.jsx +1 -1
  264. package/src/super-admin/show-reflection-page.jsx +1 -1
  265. package/src/table/column-content.jsx +1 -1
  266. package/src/table/filters/filter-form.jsx +1 -1
  267. package/src/table/filters/index.jsx +5 -3
  268. package/src/table/filters/load-search-modal.jsx +6 -4
  269. package/src/table/filters/save-search-modal.jsx +4 -4
  270. package/src/table/header-select.jsx +1 -1
  271. package/src/table/model-column.jsx +1 -1
  272. package/src/table/model-row.jsx +2 -2
  273. package/src/table/{select-calculator.mjs → select-calculator.js} +1 -1
  274. package/src/table/settings/column-row.jsx +2 -2
  275. package/src/table/settings/download-action.jsx +3 -3
  276. package/src/table/settings/index.jsx +3 -3
  277. package/src/table/table-settings.js +5 -4
  278. package/src/table/table.jsx +8 -8
  279. package/src/table/{use-sorting.mjs → use-sorting.js} +1 -1
  280. package/src/table/worker-plugins-check-all-checkbox.jsx +2 -2
  281. package/src/table/worker-plugins-checkbox.jsx +2 -2
  282. package/src/{translated-collections.mjs → translated-collections.js} +1 -1
  283. package/src/updated-attribute.jsx +1 -1
  284. package/src/{use-breakpoint.mjs → use-breakpoint.js} +2 -2
  285. package/src/use-can-can.js +55 -0
  286. package/src/{use-collection.mjs → use-collection.js} +4 -4
  287. package/src/{use-created-event.mjs → use-created-event.js} +2 -2
  288. package/src/{use-current-user.mjs → use-current-user.js} +6 -5
  289. package/src/{use-destroyed-event.mjs → use-destroyed-event.js} +2 -2
  290. package/src/{use-input.mjs → use-input.js} +5 -5
  291. package/src/use-model-event.js +2 -2
  292. package/src/{use-model.mjs → use-model.js} +4 -4
  293. package/src/{use-resize-observer.mjs → use-resize-observer.js} +1 -1
  294. package/src/use-router.jsx +2 -2
  295. package/src/{use-updated-event.mjs → use-updated-event.js} +2 -2
  296. package/src/{use-validation-errors.mjs → use-validation-errors.js} +3 -3
  297. package/src/utils/checkbox.jsx +2 -2
  298. package/src/{validation-error.mjs → validation-error.js} +1 -1
  299. package/src/{validation-errors.mjs → validation-errors.js} +1 -1
  300. package/src/with-current-user.jsx +1 -1
  301. package/src/with-model.jsx +1 -1
  302. package/__tests__/base-model.test.mjs +0 -71
  303. package/__tests__/cable-connection-pool.test.mjs +0 -227
  304. package/__tests__/cable-subscription-pool.test.mjs +0 -27
  305. package/__tests__/can-can.test.mjs +0 -34
  306. package/__tests__/collection.test.mjs +0 -51
  307. package/__tests__/custom-error.test.mjs +0 -13
  308. package/__tests__/model-name.test.mjs +0 -34
  309. package/__tests__/model-prop-type.test.mjs +0 -113
  310. package/__tests__/params.test.mjs +0 -40
  311. package/__tests__/routes-native.test.mjs +0 -104
  312. package/__tests__/routes.test.mjs +0 -47
  313. package/__tests__/serializer.test.mjs +0 -30
  314. package/__tests__/support/task.mjs +0 -27
  315. package/__tests__/support/user.mjs +0 -32
  316. package/index.js +0 -1
  317. package/jest.config.js +0 -9
  318. package/src/event-created.jsx +0 -12
  319. package/src/event-destroyed.jsx +0 -25
  320. package/src/event-emitter-listener.jsx +0 -10
  321. package/src/event-listener.jsx +0 -25
  322. package/src/event-updated.jsx +0 -27
  323. package/src/super-admin/layout/menu/menu-item/style.scss +0 -10
  324. package/src/use-can-can.mjs +0 -48
  325. package/src/with-can-can.jsx +0 -12
  326. package/webpack.config.js +0 -15
  327. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  328. /package/src/base-model/{column.mjs → column.js} +0 -0
  329. /package/src/base-model/{scope.mjs → scope.js} +0 -0
  330. /package/src/{cache-key-generator.mjs → cache-key-generator.js} +0 -0
  331. /package/src/{channels-consumer.mjs → channels-consumer.js} +0 -0
  332. /package/src/{command-submit-data.mjs → command-submit-data.js} +0 -0
  333. /package/src/{config.mjs → config.js} +0 -0
  334. /package/src/{data-set-to-attributes.mjs → data-set-to-attributes.js} +0 -0
  335. /package/src/draggable-sort/{controller.mjs → controller.js} +0 -0
  336. /package/src/{error-messages.mjs → error-messages.js} +0 -0
  337. /package/src/{events.mjs → events.js} +0 -0
  338. /package/src/inputs/{auto-submit.mjs → auto-submit.js} +0 -0
  339. /package/src/inputs/{id-for-component.mjs → id-for-component.js} +0 -0
  340. /package/src/inputs/{name-for-component.mjs → name-for-component.js} +0 -0
  341. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  342. /package/src/{logger.mjs → logger.js} +0 -0
  343. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  344. /package/src/{money-formatter.mjs → money-formatter.js} +0 -0
  345. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  346. /package/src/{result.mjs → result.js} +0 -0
  347. /package/src/{routes.mjs → routes.js} +0 -0
  348. /package/src/{run-last.mjs → run-last.js} +0 -0
  349. /package/src/{serializer.mjs → serializer.js} +0 -0
  350. /package/src/table/{column-identifier.mjs → column-identifier.js} +0 -0
  351. /package/src/table/{column-visible.mjs → column-visible.js} +0 -0
  352. /package/src/table/{model-callback-args.mjs → model-callback-args.js} +0 -0
  353. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
  354. /package/src/{url-encode.mjs → url-encode.js} +0 -0
  355. /package/src/{use-event-emitter.mjs → use-event-emitter.js} +0 -0
  356. /package/src/{use-event-listener.mjs → use-event-listener.js} +0 -0
  357. /package/src/{use-screen-layout.mjs → use-screen-layout.js} +0 -0
@@ -7,7 +7,7 @@ import InvalidFeedback from "../bootstrap/invalid-feedback"
7
7
  import PropTypes from "prop-types"
8
8
  import propTypesExact from "prop-types-exact"
9
9
  import memo from "set-state-compare/src/memo"
10
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
10
+ import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
 
12
12
  const ApiMakerInputsCheckboxes = memo(shapeComponent(class ApiMakerInputsCheckboxes extends BaseComponent {
13
13
  static propTypes = propTypesExact({
@@ -1,4 +1,4 @@
1
- import useInput from "../use-input.mjs"
1
+ import useInput from "../use-input"
2
2
 
3
3
  const inputWrapper = (WrapperComponentClass, wrapperOptions = {}) => (props) => {
4
4
  const {inputProps, restProps, wrapperOpts} = useInput({props, wrapperOptions})
@@ -1,21 +1,22 @@
1
- import AutoSubmit from "./auto-submit.mjs"
1
+ import AutoSubmit from "./auto-submit"
2
2
  import BaseComponent from "../base-component"
3
3
  import {dig, digg, digs} from "diggerize"
4
- import EventUpdated from "../event-updated"
5
4
  import inputWrapper from "./input-wrapper"
6
5
  import memo from "set-state-compare/src/memo"
7
6
  import Money from "./money"
8
7
  import PropTypes from "prop-types"
9
8
  import {useMemo, useRef} from "react"
10
9
  import replaceall from "replaceall"
11
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
10
+ import {shapeComponent} from "set-state-compare/src/shape-component"
12
11
  import strftime from "strftime"
13
12
  import {useForm} from "../form"
13
+ import useUpdatedEvent from "../use-updated-event"
14
14
 
15
15
  const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extends BaseComponent {
16
16
  static defaultProps = {
17
17
  autoRefresh: false,
18
18
  autoSubmit: false,
19
+ model: null,
19
20
  localizedNumber: false
20
21
  }
21
22
 
@@ -35,7 +36,7 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
35
36
  }
36
37
 
37
38
  setup() {
38
- const {inputProps} = this.p
39
+ const {autoRefresh, inputProps, model} = this.p
39
40
  const {defaultValue, name} = inputProps
40
41
 
41
42
  this.form = useForm()
@@ -44,11 +45,14 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
44
45
  this.useStates({
45
46
  blankInputName: digg(inputProps, "type") == "file"
46
47
  })
48
+
47
49
  useMemo(() => {
48
50
  if (name) {
49
51
  this.tt.form?.setValue(name, defaultValue)
50
52
  }
51
53
  }, [])
54
+
55
+ useUpdatedEvent(model, this.tt.onModelUpdated, {active: Boolean(autoRefresh && model)})
52
56
  }
53
57
 
54
58
  render () {
@@ -81,9 +85,6 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
81
85
 
82
86
  return (
83
87
  <>
84
- {autoRefresh && model &&
85
- <EventUpdated model={model} onUpdated={this.onModelUpdated} />
86
- }
87
88
  {localizedNumber &&
88
89
  <input
89
90
  defaultValue={defaultValue}
@@ -1,14 +1,14 @@
1
1
  import classNames from "classnames"
2
- import Config from "../config.mjs"
2
+ import Config from "../config"
3
3
  import {digg} from "diggerize"
4
- import idForComponent from "./id-for-component.mjs"
4
+ import idForComponent from "./id-for-component"
5
5
  import * as inflection from "inflection"
6
6
  import memo from "set-state-compare/src/memo"
7
7
  import MoneyFormatter from "../money-formatter"
8
8
  import PropTypes from "prop-types"
9
9
  import PropTypesExact from "prop-types-exact"
10
10
  import {useRef} from "react"
11
- import {shapeComponent, ShapeComponent} from "set-state-compare/src/shape-component.js"
11
+ import {shapeComponent, ShapeComponent} from "set-state-compare/src/shape-component"
12
12
 
13
13
  export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeComponent {
14
14
  static defaultProps = {
@@ -2,7 +2,7 @@ import BaseComponent from "../base-component"
2
2
  import inputWrapper from "./input-wrapper"
3
3
  import PropTypes from "prop-types"
4
4
  import memo from "set-state-compare/src/memo"
5
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
5
+ import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import {useForm} from "../form"
7
7
 
8
8
  const ApiMakerInputsSelect = memo(shapeComponent(class ApiMakerInputsSelect extends BaseComponent {
@@ -1,4 +1,4 @@
1
- import Params from "./params.mjs"
1
+ import Params from "./params"
2
2
 
3
3
  const shared = {}
4
4
 
package/src/link.jsx CHANGED
@@ -1,9 +1,9 @@
1
1
  import {Platform, Pressable} from "react-native"
2
2
  import BaseComponent from "./base-component"
3
- import dataSetToAttributes from "./data-set-to-attributes.mjs"
3
+ import dataSetToAttributes from "./data-set-to-attributes"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import PropTypes from "prop-types"
6
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
6
+ import {shapeComponent} from "set-state-compare/src/shape-component"
7
7
 
8
8
  export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
9
9
  static propTypes = {
package/src/modal.jsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import BaseComponent from "./base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
3
+ import {shapeComponent} from "set-state-compare/src/shape-component"
4
4
  import {Modal, Pressable, View} from "react-native"
5
5
 
6
6
  export default memo(shapeComponent(class ApiMakerModal extends BaseComponent {
@@ -1,7 +1,7 @@
1
1
  import * as inflection from "inflection"
2
- import * as models from "./models.mjs.erb"
2
+ import models from "./models"
3
3
 
4
- export default (modelName) => {
4
+ const modelClassRequire = (modelName) => {
5
5
  const requireName = inflection.camelize(modelName)
6
6
  const ModelClass = models[requireName]
7
7
 
@@ -13,3 +13,5 @@ export default (modelName) => {
13
13
 
14
14
  return ModelClass
15
15
  }
16
+
17
+ export default modelClassRequire
@@ -1,4 +1,4 @@
1
- import CableConnectionPool from "./cable-connection-pool.mjs"
1
+ import CableConnectionPool from "./cable-connection-pool"
2
2
  import {digg} from "diggerize"
3
3
 
4
4
  export default class ModelEvents {
@@ -1,4 +1,4 @@
1
- import Config from "./config.mjs"
1
+ import Config from "./config"
2
2
  import * as inflection from "inflection"
3
3
 
4
4
  export default class ModelName {
@@ -1,5 +1,5 @@
1
1
  import {digg, digs} from "diggerize"
2
- import ModelRecipesModelLoader from "./model-recipes-model-loader.mjs"
2
+ import ModelRecipesModelLoader from "./model-recipes-model-loader"
3
3
 
4
4
  export default class ModelRecipesLoader {
5
5
  constructor ({recipes}) {
@@ -1,5 +1,5 @@
1
- import BaseModel from "./base-model.mjs"
2
- import Collection from "./collection.mjs"
1
+ import BaseModel from "./base-model"
2
+ import Collection from "./collection"
3
3
  import {digg, digs} from "diggerize"
4
4
  import * as inflection from "inflection"
5
5
 
@@ -1,6 +1,6 @@
1
1
  import * as inflection from "inflection"
2
- import modelClassRequire from "./model-class-require.mjs"
3
- import Preloaded from "./preloaded.mjs"
2
+ import modelClassRequire from "./model-class-require"
3
+ import Preloaded from "./preloaded"
4
4
 
5
5
  export default class ModelsResponseReader {
6
6
  static first (response) {
package/src/models.js ADDED
@@ -0,0 +1,7 @@
1
+ import modelRecipes from "model-recipes.json"
2
+ import ModelRecipesLoader from "./model-recipes-loader"
3
+
4
+ const loader = new ModelRecipesLoader({recipes: modelRecipes})
5
+ const result = loader.load()
6
+
7
+ export default result
@@ -1,7 +1,7 @@
1
1
  /* rails-erb-loader-dependencies api_maker/resources/ models/ */
2
2
 
3
3
  import {digg} from "diggerize"
4
- import ModelRecipesLoader from "./model-recipes-loader.mjs"
4
+ import ModelRecipesLoader from "./model-recipes-loader"
5
5
 
6
6
  const modelRecipes = <%= ApiMaker::ModelClassesJavaScriptGeneratorService.execute!.to_json %>
7
7
  const loader = new ModelRecipesLoader({recipes: modelRecipes})
@@ -1,8 +1,8 @@
1
- import config from "./config.mjs"
1
+ import config from "./config"
2
2
  import formSerialize from "form-serialize"
3
3
  import Incorporator from "incorporator"
4
4
  import qs from "qs"
5
- import urlEncode from "./url-encode.mjs"
5
+ import urlEncode from "./url-encode"
6
6
 
7
7
  export default class Params {
8
8
  static parse() {
@@ -1,5 +1,5 @@
1
1
  import * as inflection from "inflection"
2
- import modelClassRequire from "./model-class-require.mjs"
2
+ import modelClassRequire from "./model-class-require"
3
3
 
4
4
  export default class ApiMakerPreloaded {
5
5
  constructor (response) {
@@ -1,5 +1,5 @@
1
1
  import memo from "set-state-compare/src/memo"
2
- import useResizeObserver from "./use-resize-observer.mjs"
2
+ import useResizeObserver from "./use-resize-observer"
3
3
 
4
4
  const ApiMakerResizeObserver = memo(({element, onResize}) => {
5
5
  useResizeObserver(element, onResize)
@@ -3,7 +3,7 @@ import {createContext, useContext, useMemo} from "react"
3
3
  import memo from "set-state-compare/src/memo"
4
4
  import PropTypes from "prop-types"
5
5
  import propTypesExact from "prop-types-exact"
6
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
6
+ import {shapeComponent} from "set-state-compare/src/shape-component"
7
7
  import Switch, {CurrentSwitchContext} from "./switch"
8
8
 
9
9
  const CurrentPathContext = createContext([])
@@ -3,7 +3,7 @@ import {createContext} from "react"
3
3
  import memo from "set-state-compare/src/memo"
4
4
  import PropTypes from "prop-types"
5
5
  import propTypesExact from "prop-types-exact"
6
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
6
+ import {shapeComponent} from "set-state-compare/src/shape-component"
7
7
 
8
8
  const CurrentSwitchContext = createContext([])
9
9
 
package/src/router.jsx CHANGED
@@ -2,7 +2,7 @@ import BaseComponent from "./base-component"
2
2
  import PropTypes from "prop-types"
3
3
  import propTypesExact from "prop-types-exact"
4
4
  import React, {memo} from "react"
5
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
5
+ import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import {Suspense} from "react"
7
7
  import useRouter from "./use-router"
8
8
 
@@ -1,7 +1,7 @@
1
1
  import {dig, digg, digs} from "diggerize"
2
2
  import * as inflection from "inflection"
3
3
  import qs from "qs"
4
- import urlEncode from "./url-encode.mjs"
4
+ import urlEncode from "./url-encode"
5
5
 
6
6
  export default class ApiMakerRoutesNative {
7
7
  constructor ({getLocale}) {
@@ -1,4 +1,4 @@
1
- import CommandsPool from "./commands-pool.mjs"
1
+ import CommandsPool from "./commands-pool"
2
2
 
3
3
  const shared = {}
4
4
 
@@ -1,7 +1,7 @@
1
- import config from "./config.mjs"
2
- import Devise from "./devise.mjs"
1
+ import config from "./config"
2
+ import Devise from "./devise"
3
3
  import * as inflection from "inflection"
4
- import Logger from "./logger.mjs"
4
+ import Logger from "./logger"
5
5
  import wakeEvent from "wake-event"
6
6
 
7
7
  const logger = new Logger({name: "ApiMaker / SessionStatusUpdater"})
@@ -1,5 +1,5 @@
1
1
  import * as stackTraceParser from "stacktrace-parser"
2
- import Logger from "./logger.mjs"
2
+ import Logger from "./logger"
3
3
  import {SourceMapConsumer} from "source-map"
4
4
  import uniqunize from "uniqunize"
5
5
 
@@ -5,7 +5,7 @@ import BaseComponent from "../../base-component"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import PropTypes from "prop-types"
7
7
  import propTypesExact from "prop-types-exact"
8
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
8
+ import {shapeComponent} from "set-state-compare/src/shape-component"
9
9
  import {useForm} from "../../form"
10
10
 
11
11
  const styles = StyleSheet.create({
@@ -2,7 +2,7 @@ import BaseComponent from "../../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
3
  import PropTypes from "prop-types"
4
4
  import propTypesExact from "prop-types-exact"
5
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
5
+ import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import {useForm} from "../../form"
7
7
 
8
8
  export default memo(shapeComponent(class EditAttributeContent extends BaseComponent {
@@ -4,7 +4,7 @@ import BaseComponent from "../../base-component"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import PropTypes from "prop-types"
6
6
  import propTypesExact from "prop-types-exact"
7
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
7
+ import {shapeComponent} from "set-state-compare/src/shape-component"
8
8
  import Text from "../../utils/text"
9
9
  import {useForm} from "../../form"
10
10
 
@@ -9,7 +9,7 @@ import memo from "set-state-compare/src/memo"
9
9
  import PropTypes from "prop-types"
10
10
  import propTypesExact from "prop-types-exact"
11
11
  import {View} from "react-native"
12
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
12
+ import {shapeComponent} from "set-state-compare/src/shape-component"
13
13
 
14
14
  export default memo(shapeComponent(class EditAttribute extends BaseComponent {
15
15
  static propTypes = propTypesExact({
@@ -1,6 +1,6 @@
1
1
  import {Pressable, View} from "react-native"
2
2
  import BaseComponent from "../base-component"
3
- import ConfigReader from "./config-reader.jsx"
3
+ import ConfigReader from "./config-reader"
4
4
  import {digg} from "diggerize"
5
5
  import EditAttribute from "./edit-page/edit-attribute"
6
6
  import {Form} from "../form"
@@ -9,7 +9,7 @@ import Locales from "shared/locales"
9
9
  import memo from "set-state-compare/src/memo"
10
10
  import PropTypes from "prop-types"
11
11
  import propTypesExact from "prop-types-exact"
12
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
12
+ import {shapeComponent} from "set-state-compare/src/shape-component"
13
13
  import Text from "../utils/text"
14
14
  import useCurrentUser from "../use-current-user"
15
15
  import useModel from "../use-model"
@@ -1,4 +1,4 @@
1
- import ConfigReader from "./config-reader.jsx"
1
+ import ConfigReader from "./config-reader"
2
2
 
3
3
  const hasEditConfig = (modelClass) => {
4
4
  const configReader = ConfigReader.forModel(modelClass)
@@ -2,7 +2,7 @@ import BaseComponent from "../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
3
  import ModelClassTable from "./model-class-table"
4
4
  import PropTypes from "prop-types"
5
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
5
+ import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import {View} from "react-native"
7
7
 
8
8
  export default memo(shapeComponent(class ApiMakerSuperAdminIndexPage extends BaseComponent {
@@ -1,21 +1,21 @@
1
1
  import {Pressable, View} from "react-native"
2
2
  import BaseComponent from "../base-component"
3
- import ConfigReader from "./config-reader.jsx"
3
+ import ConfigReader from "./config-reader"
4
4
  import EditPage from "./edit-page"
5
- import hasEditConfig from "./has-edit-config.js"
5
+ import hasEditConfig from "./has-edit-config"
6
6
  import IndexPage from "./index-page"
7
- import Layout from "./layout"
7
+ import Layout from "./layout/index"
8
8
  import Link from "../link"
9
9
  import memo from "set-state-compare/src/memo"
10
10
  import {useMemo} from "react"
11
- import * as modelsModule from "@kaspernj/api-maker/src/models.mjs.erb"
12
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
13
- import ShowPage from "./show-page"
11
+ import modelsModule from "@kaspernj/api-maker/build/models"
12
+ import {shapeComponent} from "set-state-compare/src/shape-component"
13
+ import ShowPage from "./show-page/index"
14
14
  import ShowReflectionActions from "./show-reflection-actions"
15
15
  import ShowReflectionPage from "./show-reflection-page"
16
16
  import Text from "../utils/text"
17
17
  import useCanCan from "../use-can-can"
18
- import useCurrentUser from "../use-current-user.mjs"
18
+ import useCurrentUser from "../use-current-user"
19
19
  import useQueryParams from "on-location-changed/src/use-query-params"
20
20
 
21
21
  export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponent {
@@ -1,11 +1,11 @@
1
- import "./style"
1
+ // import "../../../../src/super-admin/layout/header/style"
2
2
  import BaseComponent from "../../../base-component"
3
3
  import FontAwesomeIcon from "react-native-vector-icons/FontAwesome"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import {useRef} from "react"
6
6
  import PropTypes from "prop-types"
7
7
  import PropTypesExact from "prop-types-exact"
8
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
8
+ import {shapeComponent} from "set-state-compare/src/shape-component"
9
9
  import Text from "../../../utils/text"
10
10
  import {Pressable, View} from "react-native"
11
11
  import useBreakpoint from "../../../use-breakpoint"
@@ -1,4 +1,4 @@
1
- import "./style"
1
+ // import "../../../src/super-admin/layout/style"
2
2
  import BaseComponent from "../../base-component"
3
3
  import CommandsPool from "../../commands-pool"
4
4
  import config from "super-admin/config"
@@ -8,9 +8,9 @@ import Menu from "./menu"
8
8
  import PropTypes from "prop-types"
9
9
  import PropTypesExact from "prop-types-exact"
10
10
  import {useMemo} from "react"
11
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
11
+ import {shapeComponent} from "set-state-compare/src/shape-component"
12
12
  import useCurrentUser from "../../use-current-user"
13
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs"
13
+ import useI18n from "i18n-on-steroids/src/use-i18n"
14
14
  import {View} from "react-native"
15
15
 
16
16
  const NoAccess = React.lazy(() => import("./no-access"))
@@ -1,4 +1,4 @@
1
- import "./style"
1
+ // import "../../../../src/super-admin/layout/menu/style"
2
2
  import BaseComponent from "../../../base-component"
3
3
  import memo from "set-state-compare/src/memo"
4
4
  import Link from "../../../link"
@@ -6,10 +6,10 @@ import MenuContent from "./menu-content"
6
6
  import MenuItem from "./menu-item"
7
7
  import PropTypes from "prop-types"
8
8
  import PropTypesExact from "prop-types-exact"
9
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
9
+ import {shapeComponent} from "set-state-compare/src/shape-component"
10
10
  import Text from "../../../utils/text"
11
11
  import useCurrentUser from "../../../use-current-user"
12
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs"
12
+ import useI18n from "i18n-on-steroids/src/use-i18n"
13
13
  import {View} from "react-native"
14
14
 
15
15
  export default memo(shapeComponent(class ComponentsAdminLayoutMenu extends BaseComponent {
@@ -7,7 +7,7 @@ import models from "../../models"
7
7
  import Params from "../../../params"
8
8
  import PropTypes from "prop-types"
9
9
  import PropTypesExact from "prop-types-exact"
10
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
10
+ import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import useCanCan from "../../../use-can-can"
12
12
 
13
13
  export default memo(shapeComponent(class ComponentsAdminLayoutMenuContent extends BaseComponent {
@@ -17,7 +17,7 @@ export default memo(shapeComponent(class ComponentsAdminLayoutMenuContent extend
17
17
 
18
18
  render() {
19
19
  const {active} = this.p
20
- const canCan = useCanCan(() => models.map((model) => [model, ["index"]]))
20
+ const canCan = useCanCan(() => models.map((modelClass) => [modelClass, ["index"]]))
21
21
  const sortedModels = useMemo(
22
22
  () => models.sort((a, b) => a.modelName().human({count: 2}).toLowerCase().localeCompare(b.modelName().human({count: 2}).toLowerCase())),
23
23
  [I18n.locale]
@@ -1,11 +1,10 @@
1
- import "./style"
2
- import BaseComponent from "../../../../base-component"
1
+ import BaseComponent from "../../../base-component"
3
2
  import classNames from "classnames"
4
- import Link from "../../../../link"
3
+ import Link from "../../../link"
5
4
  import memo from "set-state-compare/src/memo"
6
5
  import PropTypes from "prop-types"
7
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
8
- import Text from "../../../../utils/text"
6
+ import {shapeComponent} from "set-state-compare/src/shape-component"
7
+ import Text from "../../../utils/text"
9
8
 
10
9
  export default memo(shapeComponent(class ComponentsAdminLayoutMenuMenuItem extends BaseComponent {
11
10
  static propTypes = {
@@ -59,7 +58,7 @@ export default memo(shapeComponent(class ComponentsAdminLayoutMenuMenuItem exten
59
58
  to={to || "#"}
60
59
  {...restProps}
61
60
  >
62
- <i className={`fa fa-fw fa-${icon} menu-item-icon`} style={{color: textStyle.color}} />
61
+ <i className={`fa fa-fw fa-${icon} menu-item-icon`} style={{color: textStyle.color, marginRight: 4, fontSize: 12}} />
63
62
  {children || <Text style={textStyle}>{label}</Text>}
64
63
  </Link>
65
64
  )
@@ -1,8 +1,8 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
3
+ import {shapeComponent} from "set-state-compare/src/shape-component"
4
4
  import useCurrentUser from "../../use-current-user"
5
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs"
5
+ import useI18n from "i18n-on-steroids/src/use-i18n"
6
6
  import {View} from "react-native"
7
7
 
8
8
  export default memo(shapeComponent(class ComponentsAdminLayoutNoAccess extends BaseComponent {
@@ -1,13 +1,13 @@
1
1
  import BaseComponent from "../base-component"
2
- import ConfigReader from "./config-reader.jsx"
2
+ import ConfigReader from "./config-reader"
3
3
  import {digg} from "diggerize"
4
- import hasEditConfig from "./has-edit-config.js"
4
+ import hasEditConfig from "./has-edit-config"
5
5
  import * as inflection from "inflection"
6
6
  import memo from "set-state-compare/src/memo"
7
7
  import Params from "../params"
8
8
  import PropTypes from "prop-types"
9
9
  import {useMemo} from "react"
10
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
10
+ import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import Table from "../table/table"
12
12
  import useCurrentUser from "../use-current-user"
13
13
 
@@ -1,4 +1,4 @@
1
- import * as modelsModule from "@kaspernj/api-maker/src/models.mjs.erb"
1
+ import modelsModule from "@kaspernj/api-maker/build/models"
2
2
 
3
3
  const models = []
4
4
 
@@ -3,10 +3,10 @@ import Link from "../link"
3
3
  import PropTypes from "prop-types"
4
4
  import PropTypesExact from "prop-types-exact"
5
5
  import memo from "set-state-compare/src/memo"
6
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
6
+ import {shapeComponent} from "set-state-compare/src/shape-component"
7
7
  import ShowReflectionLink from "./show-reflection-link"
8
8
  import Text from "../utils/text"
9
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs"
9
+ import useI18n from "i18n-on-steroids/src/use-i18n"
10
10
  import useQueryParams from "on-location-changed/src/use-query-params"
11
11
  import {View} from "react-native"
12
12
 
@@ -4,7 +4,7 @@ import * as inflection from "inflection"
4
4
  import Link from "../../link"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import Params from "../../params"
7
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
7
+ import {shapeComponent} from "set-state-compare/src/shape-component"
8
8
  import Text from "../../utils/text"
9
9
 
10
10
  export default memo(shapeComponent(class ApiMakerSuperAdminShowPageBelongsToAttributeRow extends BaseComponent {
@@ -1,13 +1,13 @@
1
1
  import AttributeRow from "../../bootstrap/attribute-row"
2
2
  import BaseComponent from "../../base-component"
3
3
  import BelongsToAttributeRow from "./belongs-to-attribute-row"
4
- import ConfigReader from "../config-reader.jsx"
4
+ import ConfigReader from "../config-reader"
5
5
  import {digg} from "diggerize"
6
6
  import memo from "set-state-compare/src/memo"
7
7
  import * as inflection from "inflection"
8
8
  import PropTypes from "prop-types"
9
9
  import {useMemo} from "react"
10
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
10
+ import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import ShowNav from "../show-nav"
12
12
  import useModel from "../../use-model"
13
13
  import {View} from "react-native"
@@ -4,7 +4,7 @@ import memo from "set-state-compare/src/memo"
4
4
  import {useMemo} from "react"
5
5
  import PropTypes from "prop-types"
6
6
  import propTypesExact from "prop-types-exact"
7
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
7
+ import {shapeComponent} from "set-state-compare/src/shape-component"
8
8
 
9
9
  export default memo(shapeComponent(class SuperAdminShowReflectionActions extends BaseComponent {
10
10
  static propTypes = propTypesExact({
@@ -2,7 +2,7 @@ import BaseComponent from "../base-component"
2
2
  import {digg} from "diggerize"
3
3
  import Link from "../link"
4
4
  import memo from "set-state-compare/src/memo"
5
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
5
+ import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import Text from "../utils/text"
7
7
  import {useMemo} from "react"
8
8
 
@@ -4,7 +4,7 @@ import PropTypes from "prop-types"
4
4
  import propTypesExact from "prop-types-exact"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import ModelClassTable from "./model-class-table"
7
- import {shapeComponent} from "set-state-compare/src/shape-component.js"
7
+ import {shapeComponent} from "set-state-compare/src/shape-component"
8
8
  import ShowNav from "./show-nav"
9
9
  import useQueryParams from "on-location-changed/src/use-query-params"
10
10
  import {View} from "react-native"