@kaspernj/api-maker 1.0.2055 → 1.0.2057

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 (399) hide show
  1. package/build/api.js +22 -16
  2. package/build/attribute-not-loaded-error.js +5 -2
  3. package/build/base-component.js +6 -3
  4. package/build/base-error.js +15 -9
  5. package/build/base-model/attribute.js +10 -4
  6. package/build/base-model/column.js +5 -2
  7. package/build/base-model/reflection.js +49 -10
  8. package/build/base-model/scope.js +41 -5
  9. package/build/base-model.js +115 -76
  10. package/build/bootstrap/attribute-row.js +71 -33
  11. package/build/bootstrap/attribute-rows.js +20 -15
  12. package/build/bootstrap/card.js +72 -34
  13. package/build/bootstrap/checkbox.js +35 -30
  14. package/build/bootstrap/checkboxes.js +69 -31
  15. package/build/bootstrap/index.d.ts +1 -0
  16. package/build/bootstrap/index.js +3 -1
  17. package/build/bootstrap/input.js +48 -43
  18. package/build/bootstrap/invalid-feedback.js +17 -11
  19. package/build/bootstrap/paginate.js +73 -35
  20. package/build/bootstrap/radio-buttons.js +33 -28
  21. package/build/bootstrap/select.js +34 -29
  22. package/build/bootstrap/sort-link.js +68 -30
  23. package/build/cable-connection-pool.js +18 -12
  24. package/build/cable-subscription-pool.js +58 -19
  25. package/build/cable-subscription.d.ts +2 -2
  26. package/build/cable-subscription.d.ts.map +1 -1
  27. package/build/cable-subscription.js +12 -6
  28. package/build/cache-key-generator.js +11 -5
  29. package/build/can-can.d.ts +2 -2
  30. package/build/can-can.d.ts.map +1 -1
  31. package/build/can-can.js +56 -17
  32. package/build/channels-consumer.js +10 -5
  33. package/build/collection-loader.js +36 -31
  34. package/build/collection.d.ts.map +1 -1
  35. package/build/collection.js +58 -20
  36. package/build/command-submit-data.d.ts +1 -1
  37. package/build/command-submit-data.d.ts.map +1 -1
  38. package/build/command-submit-data.js +10 -4
  39. package/build/commands-pool.js +39 -33
  40. package/build/compose.js +5 -2
  41. package/build/config.d.ts +3 -3
  42. package/build/config.d.ts.map +1 -1
  43. package/build/config.js +40 -6
  44. package/build/custom-error.js +9 -4
  45. package/build/data-set-to-attributes.js +39 -3
  46. package/build/deserializer.js +57 -18
  47. package/build/destroy-error.js +9 -4
  48. package/build/devise.d.ts +1 -1
  49. package/build/devise.d.ts.map +1 -1
  50. package/build/devise.js +55 -16
  51. package/build/draggable-sort/controller.js +14 -11
  52. package/build/draggable-sort/index.js +69 -31
  53. package/build/draggable-sort/item.js +70 -32
  54. package/build/error-logger.js +14 -8
  55. package/build/error-messages.js +8 -5
  56. package/build/event-connection.js +18 -12
  57. package/build/event-emitter-listener.js +9 -4
  58. package/build/event-model-class.js +17 -11
  59. package/build/events.d.ts +2 -2
  60. package/build/events.d.ts.map +1 -1
  61. package/build/events.js +6 -5
  62. package/build/form.js +69 -27
  63. package/build/history-expo.js +11 -6
  64. package/build/history-react-native.js +14 -9
  65. package/build/history.js +5 -3
  66. package/build/index.js +5 -2
  67. package/build/inputs/attachment.js +29 -24
  68. package/build/inputs/auto-submit.js +42 -6
  69. package/build/inputs/checkbox.js +73 -35
  70. package/build/inputs/checkboxes.js +68 -30
  71. package/build/inputs/id-for-component.js +39 -3
  72. package/build/inputs/input-wrapper.js +12 -7
  73. package/build/inputs/input.js +101 -62
  74. package/build/inputs/money.js +85 -47
  75. package/build/inputs/name-for-component.js +39 -3
  76. package/build/inputs/select.js +32 -26
  77. package/build/instance-of-class-name.js +7 -5
  78. package/build/is-expo.js +8 -6
  79. package/build/key-value-store.js +10 -4
  80. package/build/link.js +21 -16
  81. package/build/logger.js +5 -2
  82. package/build/merge-styles.js +7 -4
  83. package/build/modal.js +15 -10
  84. package/build/model-class-require.js +39 -4
  85. package/build/model-events.js +20 -14
  86. package/build/model-name.js +44 -5
  87. package/build/model-prop-type.js +15 -9
  88. package/build/model-recipes-loader.js +14 -8
  89. package/build/model-recipes-model-loader.d.ts +1 -1
  90. package/build/model-recipes-model-loader.js +57 -18
  91. package/build/models-response-reader.js +46 -7
  92. package/build/models.js +10 -5
  93. package/build/money-formatter.d.ts +2 -2
  94. package/build/money-formatter.d.ts.map +1 -1
  95. package/build/money-formatter.js +19 -13
  96. package/build/not-loaded-error.js +5 -2
  97. package/build/params.js +19 -13
  98. package/build/preloaded.js +44 -5
  99. package/build/resize-observer.js +11 -6
  100. package/build/rest-props-validator.js +4 -2
  101. package/build/result.js +5 -2
  102. package/build/router/route.js +82 -40
  103. package/build/router/switch.js +56 -17
  104. package/build/router.js +59 -21
  105. package/build/routes-native.js +54 -15
  106. package/build/routes.js +49 -13
  107. package/build/run-last.js +5 -2
  108. package/build/serializer.js +8 -5
  109. package/build/services.js +10 -4
  110. package/build/session-status-updater.js +53 -14
  111. package/build/source-maps-loader.js +50 -11
  112. package/build/super-admin/config-reader.d.ts +2 -2
  113. package/build/super-admin/config-reader.js +45 -9
  114. package/build/super-admin/edit-page/edit-attribute-checkbox.js +61 -23
  115. package/build/super-admin/edit-page/edit-attribute-content.js +21 -16
  116. package/build/super-admin/edit-page/edit-attribute-input.js +59 -21
  117. package/build/super-admin/edit-page/edit-attribute.js +65 -27
  118. package/build/super-admin/edit-page.js +72 -34
  119. package/build/super-admin/has-edit-config.js +9 -4
  120. package/build/super-admin/index-page.js +17 -12
  121. package/build/super-admin/index.js +84 -46
  122. package/build/super-admin/layout/header/index.js +63 -25
  123. package/build/super-admin/layout/index.js +78 -40
  124. package/build/super-admin/layout/menu/index.js +47 -42
  125. package/build/super-admin/layout/menu/menu-content.js +60 -22
  126. package/build/super-admin/layout/menu/menu-item.js +23 -18
  127. package/build/super-admin/layout/no-access.js +20 -15
  128. package/build/super-admin/model-class-table.js +64 -26
  129. package/build/super-admin/models.js +38 -3
  130. package/build/super-admin/show-nav.js +61 -23
  131. package/build/super-admin/show-page/belongs-to-attribute-row.js +52 -14
  132. package/build/super-admin/show-page/index.js +63 -25
  133. package/build/super-admin/show-reflection-actions.js +62 -24
  134. package/build/super-admin/show-reflection-link.js +19 -14
  135. package/build/super-admin/show-reflection-page.js +63 -25
  136. package/build/table/column-content.js +54 -15
  137. package/build/table/column-identifier.js +5 -2
  138. package/build/table/column-visible.js +5 -2
  139. package/build/table/components/column.js +14 -9
  140. package/build/table/components/flat-list.js +14 -9
  141. package/build/table/components/header.js +16 -11
  142. package/build/table/components/row.js +16 -11
  143. package/build/table/filters/attribute-element.js +26 -21
  144. package/build/table/filters/filter-form.js +109 -71
  145. package/build/table/filters/filter.js +29 -24
  146. package/build/table/filters/index.js +43 -38
  147. package/build/table/filters/load-search-modal.js +64 -26
  148. package/build/table/filters/reflection-element.js +22 -17
  149. package/build/table/filters/save-search-modal.js +27 -22
  150. package/build/table/filters/scope-element.js +19 -14
  151. package/build/table/header-column-content.js +27 -22
  152. package/build/table/header-column.js +71 -33
  153. package/build/table/header-select.js +29 -24
  154. package/build/table/model-callback-args.js +39 -3
  155. package/build/table/model-column.js +75 -37
  156. package/build/table/model-row.js +79 -41
  157. package/build/table/select-calculator.js +52 -13
  158. package/build/table/settings/column-row.js +57 -19
  159. package/build/table/settings/download-action.js +31 -26
  160. package/build/table/settings/index.js +61 -23
  161. package/build/table/table-settings.js +70 -31
  162. package/build/table/table.js +196 -158
  163. package/build/table/use-sorting.js +12 -6
  164. package/build/table/widths.js +12 -9
  165. package/build/table/worker-plugins-check-all-checkbox.js +64 -26
  166. package/build/table/worker-plugins-checkbox.js +61 -23
  167. package/build/translated-attributes.js +5 -2
  168. package/build/translated-collections.js +14 -8
  169. package/build/updated-attribute.js +21 -15
  170. package/build/url-encode.js +10 -4
  171. package/build/use-breakpoint.js +58 -20
  172. package/build/use-can-can.js +21 -15
  173. package/build/use-collection.js +70 -32
  174. package/build/use-created-event.js +27 -22
  175. package/build/use-current-user-context.js +74 -36
  176. package/build/use-current-user.d.ts +2 -2
  177. package/build/use-current-user.d.ts.map +1 -1
  178. package/build/use-current-user.js +17 -11
  179. package/build/use-destroyed-event.js +18 -13
  180. package/build/use-event-emitter.d.ts +1 -2
  181. package/build/use-event-emitter.d.ts.map +1 -1
  182. package/build/use-event-emitter.js +14 -9
  183. package/build/use-event-listener.js +12 -7
  184. package/build/use-input.js +33 -28
  185. package/build/use-model-event.js +18 -13
  186. package/build/use-model.js +65 -27
  187. package/build/use-resize-observer.js +13 -8
  188. package/build/use-router.js +62 -24
  189. package/build/use-screen-layout.js +7 -5
  190. package/build/use-styles.js +52 -13
  191. package/build/use-updated-event.js +18 -13
  192. package/build/use-validation-errors.js +14 -9
  193. package/build/utils/button.js +33 -28
  194. package/build/utils/card.js +61 -23
  195. package/build/utils/checkbox.js +60 -22
  196. package/build/utils/checkboxes.js +78 -40
  197. package/build/utils/default-style.js +56 -15
  198. package/build/utils/header.js +12 -7
  199. package/build/utils/icon.js +61 -23
  200. package/build/utils/invalid-feedback.js +17 -12
  201. package/build/utils/modal.js +55 -17
  202. package/build/utils/text.js +14 -9
  203. package/build/validation-error.js +45 -6
  204. package/build/validation-errors.js +59 -19
  205. package/build/with-api-maker.js +52 -12
  206. package/build/with-collection.js +50 -12
  207. package/build/with-current-user.js +12 -7
  208. package/build/with-model.js +14 -9
  209. package/build/with-router.js +12 -7
  210. package/package.json +5 -3
  211. package/build/api.js.map +0 -1
  212. package/build/attribute-not-loaded-error.js.map +0 -1
  213. package/build/base-component.js.map +0 -1
  214. package/build/base-error.js.map +0 -1
  215. package/build/base-model/attribute.js.map +0 -1
  216. package/build/base-model/column.js.map +0 -1
  217. package/build/base-model/reflection.js.map +0 -1
  218. package/build/base-model/scope.js.map +0 -1
  219. package/build/base-model.js.map +0 -1
  220. package/build/bootstrap/attribute-row.js.map +0 -1
  221. package/build/bootstrap/attribute-rows.js.map +0 -1
  222. package/build/bootstrap/card.js.map +0 -1
  223. package/build/bootstrap/checkbox.js.map +0 -1
  224. package/build/bootstrap/checkboxes.js.map +0 -1
  225. package/build/bootstrap/index.js.map +0 -1
  226. package/build/bootstrap/input.js.map +0 -1
  227. package/build/bootstrap/invalid-feedback.js.map +0 -1
  228. package/build/bootstrap/paginate.js.map +0 -1
  229. package/build/bootstrap/radio-buttons.js.map +0 -1
  230. package/build/bootstrap/select.js.map +0 -1
  231. package/build/bootstrap/sort-link.js.map +0 -1
  232. package/build/cable-connection-pool.js.map +0 -1
  233. package/build/cable-subscription-pool.js.map +0 -1
  234. package/build/cable-subscription.js.map +0 -1
  235. package/build/cache-key-generator.js.map +0 -1
  236. package/build/can-can.js.map +0 -1
  237. package/build/channels-consumer.js.map +0 -1
  238. package/build/collection-loader.js.map +0 -1
  239. package/build/collection.js.map +0 -1
  240. package/build/command-submit-data.js.map +0 -1
  241. package/build/commands-pool.js.map +0 -1
  242. package/build/compose.js.map +0 -1
  243. package/build/config.js.map +0 -1
  244. package/build/custom-error.js.map +0 -1
  245. package/build/data-set-to-attributes.js.map +0 -1
  246. package/build/deserializer.js.map +0 -1
  247. package/build/destroy-error.js.map +0 -1
  248. package/build/devise.js.map +0 -1
  249. package/build/draggable-sort/controller.js.map +0 -1
  250. package/build/draggable-sort/index.js.map +0 -1
  251. package/build/draggable-sort/item.js.map +0 -1
  252. package/build/error-logger.js.map +0 -1
  253. package/build/error-messages.js.map +0 -1
  254. package/build/event-connection.js.map +0 -1
  255. package/build/event-emitter-listener.js.map +0 -1
  256. package/build/event-model-class.js.map +0 -1
  257. package/build/events.js.map +0 -1
  258. package/build/form.js.map +0 -1
  259. package/build/history-expo.js.map +0 -1
  260. package/build/history-react-native.js.map +0 -1
  261. package/build/history.js.map +0 -1
  262. package/build/index.js.map +0 -1
  263. package/build/inputs/attachment.js.map +0 -1
  264. package/build/inputs/auto-submit.js.map +0 -1
  265. package/build/inputs/checkbox.js.map +0 -1
  266. package/build/inputs/checkboxes.js.map +0 -1
  267. package/build/inputs/id-for-component.js.map +0 -1
  268. package/build/inputs/input-wrapper.js.map +0 -1
  269. package/build/inputs/input.js.map +0 -1
  270. package/build/inputs/money.js.map +0 -1
  271. package/build/inputs/name-for-component.js.map +0 -1
  272. package/build/inputs/select.js.map +0 -1
  273. package/build/instance-of-class-name.js.map +0 -1
  274. package/build/is-expo.js.map +0 -1
  275. package/build/key-value-store.js.map +0 -1
  276. package/build/link.js.map +0 -1
  277. package/build/logger.js.map +0 -1
  278. package/build/merge-styles.js.map +0 -1
  279. package/build/modal.js.map +0 -1
  280. package/build/model-class-require.js.map +0 -1
  281. package/build/model-events.js.map +0 -1
  282. package/build/model-name.js.map +0 -1
  283. package/build/model-prop-type.js.map +0 -1
  284. package/build/model-recipes-loader.js.map +0 -1
  285. package/build/model-recipes-model-loader.js.map +0 -1
  286. package/build/models-response-reader.js.map +0 -1
  287. package/build/models.js.map +0 -1
  288. package/build/money-formatter.js.map +0 -1
  289. package/build/not-loaded-error.js.map +0 -1
  290. package/build/params.js.map +0 -1
  291. package/build/preloaded.js.map +0 -1
  292. package/build/resize-observer.js.map +0 -1
  293. package/build/rest-props-validator.js.map +0 -1
  294. package/build/result.js.map +0 -1
  295. package/build/router/route.js.map +0 -1
  296. package/build/router/switch.js.map +0 -1
  297. package/build/router.js.map +0 -1
  298. package/build/routes-native.js.map +0 -1
  299. package/build/routes.js.map +0 -1
  300. package/build/run-last.js.map +0 -1
  301. package/build/serializer.js.map +0 -1
  302. package/build/services.js.map +0 -1
  303. package/build/session-status-updater.js.map +0 -1
  304. package/build/source-maps-loader.d.ts +0 -37
  305. package/build/source-maps-loader.d.ts.map +0 -1
  306. package/build/source-maps-loader.js.map +0 -1
  307. package/build/super-admin/config-reader.js.map +0 -1
  308. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  309. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  310. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  311. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  312. package/build/super-admin/edit-page.js.map +0 -1
  313. package/build/super-admin/has-edit-config.js.map +0 -1
  314. package/build/super-admin/index-page.js.map +0 -1
  315. package/build/super-admin/index.js.map +0 -1
  316. package/build/super-admin/layout/header/index.js.map +0 -1
  317. package/build/super-admin/layout/index.js.map +0 -1
  318. package/build/super-admin/layout/menu/index.js.map +0 -1
  319. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  320. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  321. package/build/super-admin/layout/no-access.js.map +0 -1
  322. package/build/super-admin/model-class-table.js.map +0 -1
  323. package/build/super-admin/models.js.map +0 -1
  324. package/build/super-admin/show-nav.js.map +0 -1
  325. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  326. package/build/super-admin/show-page/index.js.map +0 -1
  327. package/build/super-admin/show-reflection-actions.js.map +0 -1
  328. package/build/super-admin/show-reflection-link.js.map +0 -1
  329. package/build/super-admin/show-reflection-page.js.map +0 -1
  330. package/build/table/column-content.js.map +0 -1
  331. package/build/table/column-identifier.js.map +0 -1
  332. package/build/table/column-visible.js.map +0 -1
  333. package/build/table/components/column.js.map +0 -1
  334. package/build/table/components/flat-list.js.map +0 -1
  335. package/build/table/components/header.js.map +0 -1
  336. package/build/table/components/row.js.map +0 -1
  337. package/build/table/filters/attribute-element.js.map +0 -1
  338. package/build/table/filters/filter-form.js.map +0 -1
  339. package/build/table/filters/filter.js.map +0 -1
  340. package/build/table/filters/index.js.map +0 -1
  341. package/build/table/filters/load-search-modal.js.map +0 -1
  342. package/build/table/filters/reflection-element.js.map +0 -1
  343. package/build/table/filters/save-search-modal.js.map +0 -1
  344. package/build/table/filters/scope-element.js.map +0 -1
  345. package/build/table/header-column-content.js.map +0 -1
  346. package/build/table/header-column.js.map +0 -1
  347. package/build/table/header-select.js.map +0 -1
  348. package/build/table/model-callback-args.js.map +0 -1
  349. package/build/table/model-column.js.map +0 -1
  350. package/build/table/model-row.js.map +0 -1
  351. package/build/table/select-calculator.js.map +0 -1
  352. package/build/table/settings/column-row.js.map +0 -1
  353. package/build/table/settings/download-action.js.map +0 -1
  354. package/build/table/settings/index.js.map +0 -1
  355. package/build/table/table-settings.js.map +0 -1
  356. package/build/table/table.js.map +0 -1
  357. package/build/table/use-sorting.js.map +0 -1
  358. package/build/table/widths.js.map +0 -1
  359. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  360. package/build/table/worker-plugins-checkbox.js.map +0 -1
  361. package/build/translated-attributes.js.map +0 -1
  362. package/build/translated-collections.js.map +0 -1
  363. package/build/updated-attribute.js.map +0 -1
  364. package/build/url-encode.js.map +0 -1
  365. package/build/use-breakpoint.js.map +0 -1
  366. package/build/use-can-can.js.map +0 -1
  367. package/build/use-collection.js.map +0 -1
  368. package/build/use-created-event.js.map +0 -1
  369. package/build/use-current-user-context.js.map +0 -1
  370. package/build/use-current-user.js.map +0 -1
  371. package/build/use-destroyed-event.js.map +0 -1
  372. package/build/use-event-emitter.js.map +0 -1
  373. package/build/use-event-listener.js.map +0 -1
  374. package/build/use-input.js.map +0 -1
  375. package/build/use-model-event.js.map +0 -1
  376. package/build/use-model.js.map +0 -1
  377. package/build/use-resize-observer.js.map +0 -1
  378. package/build/use-router.js.map +0 -1
  379. package/build/use-screen-layout.js.map +0 -1
  380. package/build/use-styles.js.map +0 -1
  381. package/build/use-updated-event.js.map +0 -1
  382. package/build/use-validation-errors.js.map +0 -1
  383. package/build/utils/button.js.map +0 -1
  384. package/build/utils/card.js.map +0 -1
  385. package/build/utils/checkbox.js.map +0 -1
  386. package/build/utils/checkboxes.js.map +0 -1
  387. package/build/utils/default-style.js.map +0 -1
  388. package/build/utils/header.js.map +0 -1
  389. package/build/utils/icon.js.map +0 -1
  390. package/build/utils/invalid-feedback.js.map +0 -1
  391. package/build/utils/modal.js.map +0 -1
  392. package/build/utils/text.js.map +0 -1
  393. package/build/validation-error.js.map +0 -1
  394. package/build/validation-errors.js.map +0 -1
  395. package/build/with-api-maker.js.map +0 -1
  396. package/build/with-collection.js.map +0 -1
  397. package/build/with-current-user.js.map +0 -1
  398. package/build/with-model.js.map +0 -1
  399. package/build/with-router.js.map +0 -1
@@ -1,7 +1,12 @@
1
- import { useCallback, useLayoutEffect, useMemo } from "react";
2
- import debounceFunction from "debounce";
3
- import ModelEvents from "./model-events.js";
4
- import useShape from "set-state-compare/build/use-shape.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = require("react");
7
+ const debounce_1 = __importDefault(require("debounce"));
8
+ const model_events_js_1 = __importDefault(require("./model-events.js"));
9
+ const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
5
10
  /**
6
11
  * @param {import("./base-model.js").default} model
7
12
  * @param {string} event
@@ -17,17 +22,17 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
17
22
  if (Object.keys(restProps).length > 0) {
18
23
  throw new Error(`Unknown props given to apiMakerUseModelEvent: ${Object.keys(restProps).join(", ")}`);
19
24
  }
20
- const s = useShape({ active, debounce, model, onCallback });
21
- const debounceCallback = useMemo(() => {
25
+ const s = (0, use_shape_js_1.default)({ active, debounce, model, onCallback });
26
+ const debounceCallback = (0, react_1.useMemo)(() => {
22
27
  if (typeof debounce == "number") {
23
- return debounceFunction(s.p.onCallback, debounce);
28
+ return (0, debounce_1.default)(s.p.onCallback, debounce);
24
29
  }
25
30
  else {
26
- return debounceFunction(s.p.onCallback);
31
+ return (0, debounce_1.default)(s.p.onCallback);
27
32
  }
28
33
  }, [debounce]);
29
34
  s.updateMeta({ debounceCallback });
30
- const onCallbackCallback = useCallback((...args) => {
35
+ const onCallbackCallback = (0, react_1.useCallback)((...args) => {
31
36
  if (!s.p.active) {
32
37
  return;
33
38
  }
@@ -38,10 +43,10 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
38
43
  s.p.onCallback(...args);
39
44
  }
40
45
  }, []);
41
- useLayoutEffect(() => {
46
+ (0, react_1.useLayoutEffect)(() => {
42
47
  let connectEvent, onConnectedListener;
43
48
  if (model) {
44
- connectEvent = ModelEvents.connect(model, event, onCallbackCallback);
49
+ connectEvent = model_events_js_1.default.connect(model, event, onCallbackCallback);
45
50
  if (onConnected) {
46
51
  onConnectedListener = connectEvent.events.addListener("connected", onConnected);
47
52
  }
@@ -56,5 +61,5 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
56
61
  };
57
62
  }, [model?.id()]);
58
63
  };
59
- export default apiMakerUseModelEvent;
60
- //# sourceMappingURL=use-model-event.js.map
64
+ exports.default = apiMakerUseModelEvent;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBMkQ7QUFDM0Qsd0RBQXVDO0FBQ3ZDLHdFQUEyQztBQUMzQyx3RkFBMkQ7QUFFM0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2hFLE1BQU0sRUFBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFBO0lBRXhFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZHLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxJQUFBLHNCQUFRLEVBQUMsRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFBO0lBRXpELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxlQUFPLEVBQUMsR0FBRyxFQUFFO1FBQ3BDLElBQUksT0FBTyxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFBLGtCQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ25ELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFBLGtCQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFFZCxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUMsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO0lBRWhDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSxtQkFBVyxFQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtRQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixJQUFBLHVCQUFlLEVBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksWUFBWSxFQUFFLG1CQUFtQixDQUFBO1FBRXJDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixZQUFZLEdBQUcseUJBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1lBRXBFLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNqRixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO2dCQUN4QixZQUFZLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDOUQsQ0FBQztZQUVELElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxrQkFBZSxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBkZWJvdW5jZUZ1bmN0aW9uIGZyb20gXCJkZWJvdW5jZVwiXG5pbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzLmpzXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvdXNlLXNoYXBlLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNhbGxiYWNrXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcy5hY3RpdmVcbiAqIEBwYXJhbSB7bnVtYmVyfSBwcm9wcy5kZWJvdW5jZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gcHJvcHMub25Db25uZWN0ZWRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbmNvbnN0IGFwaU1ha2VyVXNlTW9kZWxFdmVudCA9IChtb2RlbCwgZXZlbnQsIG9uQ2FsbGJhY2ssIHByb3BzKSA9PiB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBwcm9wcyB8fCB7fVxuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gYXBpTWFrZXJVc2VNb2RlbEV2ZW50OiAke09iamVjdC5rZXlzKHJlc3RQcm9wcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUoe2FjdGl2ZSwgZGVib3VuY2UsIG1vZGVsLCBvbkNhbGxiYWNrfSlcblxuICBjb25zdCBkZWJvdW5jZUNhbGxiYWNrID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBkZWJvdW5jZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbihzLnAub25DYWxsYmFjaywgZGVib3VuY2UpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vbkNhbGxiYWNrKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlXSlcblxuICBzLnVwZGF0ZU1ldGEoe2RlYm91bmNlQ2FsbGJhY2t9KVxuXG4gIGNvbnN0IG9uQ2FsbGJhY2tDYWxsYmFjayA9IHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgaWYgKCFzLnAuYWN0aXZlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAocy5wLmRlYm91bmNlKSB7XG4gICAgICBzLm0uZGVib3VuY2VDYWxsYmFjayguLi5hcmdzKVxuICAgIH0gZWxzZSB7XG4gICAgICBzLnAub25DYWxsYmFjayguLi5hcmdzKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdEV2ZW50LCBvbkNvbm5lY3RlZExpc3RlbmVyXG5cbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIGNvbm5lY3RFdmVudCA9IE1vZGVsRXZlbnRzLmNvbm5lY3QobW9kZWwsIGV2ZW50LCBvbkNhbGxiYWNrQ2FsbGJhY2spXG5cbiAgICAgIGlmIChvbkNvbm5lY3RlZCkge1xuICAgICAgICBvbkNvbm5lY3RlZExpc3RlbmVyID0gY29ubmVjdEV2ZW50LmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKG9uQ29ubmVjdGVkTGlzdGVuZXIpIHtcbiAgICAgICAgY29ubmVjdEV2ZW50LmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbm5lY3RFdmVudCkge1xuICAgICAgICBjb25uZWN0RXZlbnQudW5zdWJzY3JpYmUoKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW21vZGVsPy5pZCgpXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJVc2VNb2RlbEV2ZW50XG4iXX0=
@@ -1,9 +1,47 @@
1
- import { useCallback, useLayoutEffect, useMemo } from "react";
2
- import Devise from "./devise.js";
3
- import * as inflection from "inflection";
4
- import ModelEvents from "./model-events.js";
5
- import useQueryParams from "on-location-changed/build/use-query-params.js";
6
- import useShape from "set-state-compare/build/use-shape.js";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = require("react");
40
+ const devise_js_1 = __importDefault(require("./devise.js"));
41
+ const inflection = __importStar(require("inflection"));
42
+ const model_events_js_1 = __importDefault(require("./model-events.js"));
43
+ const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
44
+ const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
7
45
  /**
8
46
  * @param {function|object} modelClassArg
9
47
  * @param {object} argsArg
@@ -16,7 +54,7 @@ import useShape from "set-state-compare/build/use-shape.js";
16
54
  * @param {import("./collection.js").default} argsArg.query
17
55
  */
18
56
  const useModel = (modelClassArg, argsArg = {}) => {
19
- const queryParams = useQueryParams();
57
+ const queryParams = (0, use_query_params_js_1.default)();
20
58
  let args, modelClass;
21
59
  if (typeof argsArg == "function") {
22
60
  args = argsArg({ modelClass });
@@ -24,7 +62,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
24
62
  else {
25
63
  args = argsArg;
26
64
  }
27
- const s = useShape(args);
65
+ const s = (0, use_shape_js_1.default)(args);
28
66
  s.useStates({
29
67
  model: undefined,
30
68
  notFound: undefined
@@ -53,7 +91,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
53
91
  }
54
92
  const modelVariableName = inflection.camelize(modelClass.modelClassData().name, true);
55
93
  const cacheArgs = [modelId];
56
- const loadExistingModel = useCallback(async () => {
94
+ const loadExistingModel = (0, react_1.useCallback)(async () => {
57
95
  let query;
58
96
  if (s.m.modelId) {
59
97
  query = modelClass.ransack({ id_eq: s.m.modelId });
@@ -73,7 +111,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
73
111
  const model = await query.first();
74
112
  s.set({ model, notFound: !model });
75
113
  }, []);
76
- const loadNewModel = useCallback(async () => {
114
+ const loadNewModel = (0, react_1.useCallback)(async () => {
77
115
  const ModelClass = modelClass;
78
116
  const paramKey = ModelClass.modelName().paramKey();
79
117
  const modelDataFromParams = s.m.queryParams[paramKey] || {};
@@ -88,7 +126,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
88
126
  });
89
127
  s.set({ model });
90
128
  }, []);
91
- const loadModel = useCallback(async () => {
129
+ const loadModel = (0, react_1.useCallback)(async () => {
92
130
  if (!s.m.active) {
93
131
  // Not active - don't do anything
94
132
  }
@@ -99,23 +137,23 @@ const useModel = (modelClassArg, argsArg = {}) => {
99
137
  return await loadExistingModel();
100
138
  }
101
139
  }, []);
102
- const onDestroyed = useCallback(({ model }) => {
140
+ const onDestroyed = (0, react_1.useCallback)(({ model }) => {
103
141
  const forwardArgs = { model };
104
142
  forwardArgs[s.m.modelVariableName] = model;
105
143
  s.p.onDestroyed(forwardArgs);
106
144
  }, []);
107
- const onSignedIn = useCallback(() => {
145
+ const onSignedIn = (0, react_1.useCallback)(() => {
108
146
  loadModel();
109
147
  }, []);
110
- const onSignedOut = useCallback(() => {
148
+ const onSignedOut = (0, react_1.useCallback)(() => {
111
149
  loadModel();
112
150
  }, []);
113
151
  if (args.cacheArgs) {
114
152
  cacheArgs.push(...args.cacheArgs);
115
153
  }
116
154
  s.updateMeta({ args, modelId, modelVariableName, queryParams });
117
- useMemo(() => { loadModel(); }, cacheArgs);
118
- useLayoutEffect(() => {
155
+ (0, react_1.useMemo)(() => { loadModel(); }, cacheArgs);
156
+ (0, react_1.useLayoutEffect)(() => {
119
157
  let reloadModelCallback;
120
158
  if (args.events) {
121
159
  reloadModelCallback = args.events.addListener("reloadModel", loadModel);
@@ -126,27 +164,27 @@ const useModel = (modelClassArg, argsArg = {}) => {
126
164
  }
127
165
  };
128
166
  }, [args.events]);
129
- useLayoutEffect(() => {
167
+ (0, react_1.useLayoutEffect)(() => {
130
168
  let connectUpdated;
131
169
  if (s.s.model && args.eventUpdated) {
132
- connectUpdated = ModelEvents.connectUpdated(s.s.model, loadModel);
170
+ connectUpdated = model_events_js_1.default.connectUpdated(s.s.model, loadModel);
133
171
  }
134
172
  return () => {
135
173
  connectUpdated?.unsubscribe();
136
174
  };
137
175
  }, [args.eventUpdated, s.s.model?.id()]);
138
- useLayoutEffect(() => {
139
- Devise.events().addListener("onDeviseSignIn", onSignedIn);
140
- Devise.events().addListener("onDeviseSignOut", onSignedOut);
176
+ (0, react_1.useLayoutEffect)(() => {
177
+ devise_js_1.default.events().addListener("onDeviseSignIn", onSignedIn);
178
+ devise_js_1.default.events().addListener("onDeviseSignOut", onSignedOut);
141
179
  return () => {
142
- Devise.events().removeListener("onDeviseSignIn", onSignedIn);
143
- Devise.events().removeListener("onDeviseSignOut", onSignedOut);
180
+ devise_js_1.default.events().removeListener("onDeviseSignIn", onSignedIn);
181
+ devise_js_1.default.events().removeListener("onDeviseSignOut", onSignedOut);
144
182
  };
145
183
  });
146
- useLayoutEffect(() => {
184
+ (0, react_1.useLayoutEffect)(() => {
147
185
  let connectDestroyed;
148
186
  if (s.s.model && args.onDestroyed) {
149
- connectDestroyed = ModelEvents.connectDestroyed(s.s.model, onDestroyed);
187
+ connectDestroyed = model_events_js_1.default.connectDestroyed(s.s.model, onDestroyed);
150
188
  }
151
189
  return () => {
152
190
  connectDestroyed?.unsubscribe();
@@ -162,5 +200,5 @@ const useModel = (modelClassArg, argsArg = {}) => {
162
200
  result[`${modelVariableName}NotFound`] = s.s.notFound;
163
201
  return result;
164
202
  };
165
- export default useModel;
166
- //# sourceMappingURL=use-model.js.map
203
+ exports.default = useModel;
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBMkQ7QUFDM0QsNERBQWdDO0FBQ2hDLHVEQUF3QztBQUN4Qyx3RUFBMkM7QUFDM0Msd0dBQTBFO0FBQzFFLHdGQUEyRDtBQUUzRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxFQUFFO0lBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUEsNkJBQWMsR0FBRSxDQUFBO0lBQ3BDLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQTtJQUVwQixJQUFJLE9BQU8sT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksR0FBRyxPQUFPLENBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxDQUFBO0lBQzlCLENBQUM7U0FBTSxDQUFDO1FBQ04sSUFBSSxHQUFHLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsSUFBQSxzQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBRXhCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDVixLQUFLLEVBQUUsU0FBUztRQUNoQixRQUFRLEVBQUUsU0FBUztLQUNwQixDQUFDLENBQUE7SUFFRixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFDdkIsQ0FBQztTQUFNLENBQUM7UUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELElBQUksT0FBTyxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7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c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7ZnVuY3Rpb258b2JqZWN0fSBtb2RlbENsYXNzQXJnXG4gKiBAcGFyYW0ge29iamVjdH0gYXJnc0FyZ1xuICogQHBhcmFtIHsoYXJnOiBvYmplY3QpID0+IGZ1bmN0aW9ufSBhcmdzQXJnLmNhbGxiYWNrXG4gKiBAcGFyYW0geyhhcmc6IG9iamVjdCkgPT4gb2JqZWN0fSBhcmdzQXJnLmFyZ3NcbiAqIEBwYXJhbSB7KCkgPT4gbnVtYmVyfHN0cmluZ30gYXJnc0FyZy5sb2FkQnlRdWVyeVBhcmFtXG4gKiBAcGFyYW0ge2FueVtdfSBhcmdzQXJnLmNhY2hlQXJnc1xuICogQHBhcmFtIHt7cGFyYW1zOiBvYmplY3R9fSBhcmdzQXJnLm1hdGNoXG4gKiBAcGFyYW0geyhjdHg6IHsgbW9kZWw6IGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0IH0pID0+IHZvaWR9IGFyZ3NBcmcub25EZXN0cm95ZWRcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb2xsZWN0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3NBcmcucXVlcnlcbiAqL1xuY29uc3QgdXNlTW9kZWwgPSAobW9kZWxDbGFzc0FyZywgYXJnc0FyZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuICBsZXQgYXJncywgbW9kZWxDbGFzc1xuXG4gIGlmICh0eXBlb2YgYXJnc0FyZyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBhcmdzID0gYXJnc0FyZyh7bW9kZWxDbGFzc30pXG4gIH0gZWxzZSB7XG4gICAgYXJncyA9IGFyZ3NBcmdcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZShhcmdzKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBtb2RlbDogdW5kZWZpbmVkLFxuICAgIG5vdEZvdW5kOiB1bmRlZmluZWRcbiAgfSlcblxuICBpZiAoXCJhY3RpdmVcIiBpbiBzLnByb3BzICYmICFzLnByb3BzLmFjdGl2ZSkge1xuICAgIHMubWV0YS5hY3RpdmUgPSBmYWxzZVxuICB9IGVsc2Uge1xuICAgIHMubWV0YS5hY3RpdmUgPSB0cnVlXG4gIH1cblxuICBpZiAodHlwZW9mIG1vZGVsQ2xhc3NBcmcgPT0gXCJvYmplY3RcIikge1xuICAgIG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzQXJnLmNhbGxiYWNrKHtxdWVyeVBhcmFtc30pXG4gIH0gZWxzZSB7XG4gICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NBcmdcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1ZhcmlhYmxlTmFtZSA9IGAke21vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKX1faWRgXG4gIGxldCBtb2RlbElkXG5cbiAgaWYgKGFyZ3MubG9hZEJ5UXVlcnlQYXJhbSkge1xuICAgIG1vZGVsSWQgPSBhcmdzLmxvYWRCeVF1ZXJ5UGFyYW0oe3F1ZXJ5UGFyYW1zfSlcbiAgfSBlbHNlIGlmICghYXJncy5xdWVyeSkge1xuICAgIGlmICghYXJncy5tYXRjaCkgdGhyb3cgbmV3IEVycm9yKFwiQm90aCAnbG9hZEJ5UXVlcnlQYXJhbScgYW5kICdtYXRjaCcgd2Fzbid0IGdpdmVuXCIpXG5cbiAgICBtb2RlbElkID0gYXJncy5tYXRjaC5wYXJhbXNbcGFyYW1zVmFyaWFibGVOYW1lXSB8fCBhcmdzLm1hdGNoLnBhcmFtcy5pZFxuICB9XG5cbiAgY29uc3QgbW9kZWxWYXJpYWJsZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuICBjb25zdCBjYWNoZUFyZ3MgPSBbbW9kZWxJZF1cblxuICBjb25zdCBsb2FkRXhpc3RpbmdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBsZXQgcXVlcnlcblxuICAgIGlmIChzLm0ubW9kZWxJZCkge1xuICAgICAgcXVlcnkgPSBtb2RlbENsYXNzLnJhbnNhY2soe2lkX2VxOiBzLm0ubW9kZWxJZH0pXG4gICAgfSBlbHNlIGlmIChzLm0uYXJncy5xdWVyeSkge1xuICAgICAgcXVlcnkgPSBzLm0uYXJncy5xdWVyeS5jbG9uZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgSUQgd2FzIGdpdmVuOiAke3MubS5tb2RlbElkfSBieSAnJHtwYXJhbXNWYXJpYWJsZU5hbWV9JyBpbiBxdWVyeSBwYXJhbXM6ICR7T2JqZWN0LmtleXMocy5wcm9wcy5tYXRjaC5wYXJhbXMpLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cblxuICAgIGlmIChzLnByb3BzLmFiaWxpdGllcykgcXVlcnkuYWJpbGl0aWVzKHMucC5hYmlsaXRpZXMpXG4gICAgaWYgKHMucHJvcHMucHJlbG9hZCkgcXVlcnkucHJlbG9hZChzLnAucHJlbG9hZClcbiAgICBpZiAocy5wcm9wcy5zZWxlY3QpIHF1ZXJ5LnNlbGVjdChzLnAuc2VsZWN0KVxuXG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBxdWVyeS5maXJzdCgpXG5cbiAgICBzLnNldCh7bW9kZWwsIG5vdEZvdW5kOiAhbW9kZWx9KVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTmV3TW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICBjb25zdCBwYXJhbUtleSA9IE1vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKVxuICAgIGNvbnN0IG1vZGVsRGF0YUZyb21QYXJhbXMgPSBzLm0ucXVlcnlQYXJhbXNbcGFyYW1LZXldIHx8IHt9XG5cbiAgICBsZXQgZGVmYXVsdHMgPSB7fVxuXG4gICAgaWYgKHMucHJvcHMubmV3SWZOb0lkPy5kZWZhdWx0cykge1xuICAgICAgZGVmYXVsdHMgPSBhd2FpdCBzLnByb3BzLm5ld0lmTm9JZC5kZWZhdWx0cygpXG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxEYXRhID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0cywgcy5wcm9wcy5uZXdBdHRyaWJ1dGVzLCBtb2RlbERhdGFGcm9tUGFyYW1zKVxuICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe1xuICAgICAgaXNOZXdSZWNvcmQ6IHRydWUsXG4gICAgICBkYXRhOiB7YTogbW9kZWxEYXRhfVxuICAgIH0pXG5cbiAgICBzLnNldCh7bW9kZWx9KVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFzLm0uYWN0aXZlKSB7XG4gICAgICAvLyBOb3QgYWN0aXZlIC0gZG9uJ3QgZG8gYW55dGhpbmdcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubmV3SWZOb0lkICYmICFzLm0ubW9kZWxJZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGxvYWROZXdNb2RlbCgpXG4gICAgfSBlbHNlIGlmICghcy5wcm9wcy5vcHRpb25hbCB8fCBzLm0ubW9kZWxJZCB8IHMubS5hcmdzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbG9hZEV4aXN0aW5nTW9kZWwoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgb25EZXN0cm95ZWQgPSB1c2VDYWxsYmFjaygoe21vZGVsfSkgPT4ge1xuICAgIGNvbnN0IGZvcndhcmRBcmdzID0ge21vZGVsfVxuXG4gICAgZm9yd2FyZEFyZ3Nbcy5tLm1vZGVsVmFyaWFibGVOYW1lXSA9IG1vZGVsXG5cbiAgICBzLnAub25EZXN0cm95ZWQoZm9yd2FyZEFyZ3MpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uU2lnbmVkSW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgY29uc3Qgb25TaWduZWRPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgaWYgKGFyZ3MuY2FjaGVBcmdzKSB7XG4gICAgY2FjaGVBcmdzLnB1c2goLi4uYXJncy5jYWNoZUFyZ3MpXG4gIH1cblxuICBzLnVwZGF0ZU1ldGEoe2FyZ3MsIG1vZGVsSWQsIG1vZGVsVmFyaWFibGVOYW1lLCBxdWVyeVBhcmFtc30pXG5cbiAgdXNlTWVtbyhcbiAgICAoKSA9PiB7IGxvYWRNb2RlbCgpIH0sXG4gICAgY2FjaGVBcmdzXG4gIClcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZWxvYWRNb2RlbENhbGxiYWNrXG5cbiAgICBpZiAoYXJncy5ldmVudHMpIHtcbiAgICAgIHJlbG9hZE1vZGVsQ2FsbGJhY2sgPSBhcmdzLmV2ZW50cy5hZGRMaXN0ZW5lcihcInJlbG9hZE1vZGVsXCIsIGxvYWRNb2RlbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlbG9hZE1vZGVsQ2FsbGJhY2spIHtcbiAgICAgICAgYXJncy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJyZWxvYWRNb2RlbFwiLCBsb2FkTW9kZWwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJncy5ldmVudHNdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNvbm5lY3RVcGRhdGVkXG5cbiAgICBpZiAocy5zLm1vZGVsICYmIGFyZ3MuZXZlbnRVcGRhdGVkKSB7XG4gICAgICBjb25uZWN0VXBkYXRlZCA9IE1vZGVsRXZlbnRzLmNvbm5lY3RVcGRhdGVkKHMucy5tb2RlbCwgbG9hZE1vZGVsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0VXBkYXRlZD8udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfSwgW2FyZ3MuZXZlbnRVcGRhdGVkLCBzLnMubW9kZWw/LmlkKCldKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgRGV2aXNlLmV2ZW50cygpLmFkZExpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICBEZXZpc2UuZXZlbnRzKCkuYWRkTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25PdXRcIiwgb25TaWduZWRPdXQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgRGV2aXNlLmV2ZW50cygpLnJlbW92ZUxpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICAgIERldmlzZS5ldmVudHMoKS5yZW1vdmVMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbk91dFwiLCBvblNpZ25lZE91dClcbiAgICB9XG4gIH0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdERlc3Ryb3llZFxuXG4gICAgaWYgKHMucy5tb2RlbCAmJiBhcmdzLm9uRGVzdHJveWVkKSB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkID0gTW9kZWxFdmVudHMuY29ubmVjdERlc3Ryb3llZChzLnMubW9kZWwsIG9uRGVzdHJveWVkKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9LCBbYXJncy5vbkRlc3Ryb3llZCwgcy5zLm1vZGVsPy5pZCgpXSlcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgbW9kZWw6IHMucy5tb2RlbCxcbiAgICBtb2RlbElkLFxuICAgIG5vdEZvdW5kOiBzLnMubm90Rm91bmRcbiAgfVxuXG4gIHJlc3VsdFttb2RlbFZhcmlhYmxlTmFtZV0gPSBzLnMubW9kZWxcbiAgcmVzdWx0W2Ake21vZGVsVmFyaWFibGVOYW1lfUlkYF0gPSBtb2RlbElkXG4gIHJlc3VsdFtgJHttb2RlbFZhcmlhYmxlTmFtZX1Ob3RGb3VuZGBdID0gcy5zLm5vdEZvdW5kXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VNb2RlbFxuIl19
@@ -1,17 +1,22 @@
1
- import { useCallback, useLayoutEffect, useMemo } from "react";
2
- import useShape from "set-state-compare/build/use-shape.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = require("react");
7
+ const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
3
8
  /**
4
9
  * @param {object} element
5
10
  * @param {function} callback
6
11
  * @return {void}
7
12
  */
8
13
  const useResizeObserver = (element, callback) => {
9
- const s = useShape({ callback });
10
- const onResize = useCallback((...args) => {
14
+ const s = (0, use_shape_js_1.default)({ callback });
15
+ const onResize = (0, react_1.useCallback)((...args) => {
11
16
  s.p.callback(...args);
12
17
  }, []);
13
- const observer = useMemo(() => new ResizeObserver(onResize), []);
14
- useLayoutEffect(() => {
18
+ const observer = (0, react_1.useMemo)(() => new ResizeObserver(onResize), []);
19
+ (0, react_1.useLayoutEffect)(() => {
15
20
  if (element) {
16
21
  observer.observe(element);
17
22
  }
@@ -22,5 +27,5 @@ const useResizeObserver = (element, callback) => {
22
27
  };
23
28
  }, [element]);
24
29
  };
25
- export default useResizeObserver;
26
- //# sourceMappingURL=use-resize-observer.js.map
30
+ exports.default = useResizeObserver;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUEyRDtBQUMzRCx3RkFBMkQ7QUFFM0Q7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDOUMsTUFBTSxDQUFDLEdBQUcsSUFBQSxzQkFBUSxFQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFBLG1CQUFXLEVBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ04sTUFBTSxRQUFRLEdBQUcsSUFBQSxlQUFPLEVBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFaEUsSUFBQSx1QkFBZSxFQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtZQUN2QixDQUFDO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELGtCQUFlLGlCQUFpQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7dm9pZH1cbiAqL1xuY29uc3QgdXNlUmVzaXplT2JzZXJ2ZXIgPSAoZWxlbWVudCwgY2FsbGJhY2spID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHtjYWxsYmFja30pXG4gIGNvbnN0IG9uUmVzaXplID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICBzLnAuY2FsbGJhY2soLi4uYXJncylcbiAgfSwgW10pXG4gIGNvbnN0IG9ic2VydmVyID0gdXNlTWVtbygoKSA9PiBuZXcgUmVzaXplT2JzZXJ2ZXIob25SZXNpemUpLCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VsZW1lbnRdKVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VSZXNpemVPYnNlcnZlclxuIl19
@@ -1,20 +1,58 @@
1
- import config from "./config.js";
2
- import escapeStringRegexp from "escape-string-regexp";
3
- import * as inflection from "inflection";
4
- import PropTypes from "prop-types";
5
- import propTypesExact from "prop-types-exact";
6
- import { useCallback, useMemo } from "react";
7
- import useShape from "set-state-compare/build/use-shape.js";
8
- const useRouterPropTypes = propTypesExact({
9
- locales: PropTypes.array.isRequired,
10
- path: PropTypes.string,
11
- routeDefinitions: PropTypes.object.isRequired,
12
- routes: PropTypes.object.isRequired
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const config_js_1 = __importDefault(require("./config.js"));
40
+ const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
41
+ const inflection = __importStar(require("inflection"));
42
+ const prop_types_1 = __importDefault(require("prop-types"));
43
+ const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
44
+ const react_1 = require("react");
45
+ const use_shape_js_1 = __importDefault(require("set-state-compare/build/use-shape.js"));
46
+ const useRouterPropTypes = (0, prop_types_exact_1.default)({
47
+ locales: prop_types_1.default.array.isRequired,
48
+ path: prop_types_1.default.string,
49
+ routeDefinitions: prop_types_1.default.object.isRequired,
50
+ routes: prop_types_1.default.object.isRequired
13
51
  });
14
52
  const useRouter = (props) => {
15
- PropTypes.checkPropTypes(useRouterPropTypes, props, "prop", "useRouter");
16
- const s = useShape(props);
17
- const findRouteParams = useCallback((routeDefinition) => {
53
+ prop_types_1.default.checkPropTypes(useRouterPropTypes, props, "prop", "useRouter");
54
+ const s = (0, use_shape_js_1.default)(props);
55
+ const findRouteParams = (0, react_1.useCallback)((routeDefinition) => {
18
56
  const result = [];
19
57
  const parts = routeDefinition.path.split("/");
20
58
  for (const part of parts) {
@@ -23,14 +61,14 @@ const useRouter = (props) => {
23
61
  }
24
62
  return result;
25
63
  }, []);
26
- const getPath = useCallback(() => {
64
+ const getPath = (0, react_1.useCallback)(() => {
27
65
  let path = s.p.path || window.location.pathname;
28
66
  path = path.replace(/[/]+$/, "");
29
67
  return path;
30
68
  }, []);
31
- const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), []);
32
- const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), []);
33
- const parseRouteDefinitions = useCallback(() => {
69
+ const getRouteDefinitions = (0, react_1.useCallback)(() => s.p.routeDefinitions || config_js_1.default.getRouteDefinitions(), []);
70
+ const getRoutes = (0, react_1.useCallback)(() => s.p.routes || config_js_1.default.getRoutes(), []);
71
+ const parseRouteDefinitions = (0, react_1.useCallback)(() => {
34
72
  const routeDefinitions = getRouteDefinitions();
35
73
  const routes = getRoutes();
36
74
  const regex = /:([A-z\d_]+)/;
@@ -45,7 +83,7 @@ const useRouter = (props) => {
45
83
  const routePath = routes[routePathName](...params).replace(/[/]+$/, "");
46
84
  const groups = [];
47
85
  let pathRegexString = "^";
48
- pathRegexString += escapeStringRegexp(routePath);
86
+ pathRegexString += (0, escape_string_regexp_1.default)(routePath);
49
87
  while (true) {
50
88
  const match = pathRegexString.match(regex);
51
89
  if (!match)
@@ -61,9 +99,9 @@ const useRouter = (props) => {
61
99
  }
62
100
  return parsedRouteDefinitions;
63
101
  }, []);
64
- const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), []);
102
+ const parsedRouteDefinitions = (0, react_1.useMemo)(() => parseRouteDefinitions(), []);
65
103
  s.updateMeta({ parsedRouteDefinitions });
66
- const findMatchingRoute = useCallback(() => {
104
+ const findMatchingRoute = (0, react_1.useCallback)(() => {
67
105
  const path = getPath();
68
106
  for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {
69
107
  const match = path.match(parsedRouteDefinition.pathRegex);
@@ -91,5 +129,5 @@ const useRouter = (props) => {
91
129
  };
92
130
  return { match };
93
131
  };
94
- export default useRouter;
95
- //# sourceMappingURL=use-router.js.map
132
+ exports.default = useRouter;
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJvdXRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBZ0M7QUFDaEMsZ0ZBQXFEO0FBQ3JELHVEQUF3QztBQUN4Qyw0REFBa0M7QUFDbEMsd0VBQTZDO0FBQzdDLGlDQUEwQztBQUMxQyx3RkFBMkQ7QUFFM0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFjLEVBQUM7SUFDeEMsT0FBTyxFQUFFLG9CQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7SUFDbkMsSUFBSSxFQUFFLG9CQUFTLENBQUMsTUFBTTtJQUN0QixnQkFBZ0IsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0lBQzdDLE1BQU0sRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0NBQ3BDLENBQUMsQ0FBQTtBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDMUIsb0JBQVMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUV4RSxNQUFNLENBQUMsR0FBRyxJQUFBLHNCQUFRLEVBQUMsS0FBSyxDQUFDLENBQUE7SUFFekIsTUFBTSxlQUFlLEdBQUcsSUFBQSxtQkFBVyxFQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRTdDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztnQkFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNy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LEVBQUUsQ0FBQztnQkFDWixPQUFPLEVBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFDLENBQUE7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFBO0lBQzFDLE1BQU0sS0FBSyxHQUFHO1FBQ1osYUFBYTtRQUNiLE1BQU07S0FDUCxDQUFBO0lBRUQsT0FBTyxFQUFDLEtBQUssRUFBQyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQUVELGtCQUFlLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvdXNlLXNoYXBlLmpzXCJcblxuY29uc3QgdXNlUm91dGVyUHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICBsb2NhbGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgcGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcm91dGVEZWZpbml0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICByb3V0ZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxufSlcblxuY29uc3QgdXNlUm91dGVyID0gKHByb3BzKSA9PiB7XG4gIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyh1c2VSb3V0ZXJQcm9wVHlwZXMsIHByb3BzLCBcInByb3BcIiwgXCJ1c2VSb3V0ZXJcIilcblxuICBjb25zdCBzID0gdXNlU2hhcGUocHJvcHMpXG5cbiAgY29uc3QgZmluZFJvdXRlUGFyYW1zID0gdXNlQ2FsbGJhY2soKHJvdXRlRGVmaW5pdGlvbikgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgY29uc3QgcGFydHMgPSByb3V0ZURlZmluaXRpb24ucGF0aC5zcGxpdChcIi9cIilcblxuICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgICAgaWYgKHBhcnQubWF0Y2goL146KFthLXpfXSspJC8pKVxuICAgICAgICByZXN1bHQucHVzaChwYXJ0KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfSwgW10pXG5cbiAgY29uc3QgZ2V0UGF0aCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsZXQgcGF0aCA9IHMucC5wYXRoIHx8IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZVxuXG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvWy9dKyQvLCBcIlwiKVxuXG4gICAgcmV0dXJuIHBhdGhcbiAgfSwgW10pXG5cbiAgY29uc3QgZ2V0Um91dGVEZWZpbml0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHMucC5yb3V0ZURlZmluaXRpb25zIHx8IGNvbmZpZy5nZXRSb3V0ZURlZmluaXRpb25zKCksIFtdKVxuICBjb25zdCBnZXRSb3V0ZXMgPSB1c2VDYWxsYmFjaygoKSA9PiBzLnAucm91dGVzIHx8IGNvbmZpZy5nZXRSb3V0ZXMoKSwgW10pXG5cbiAgY29uc3QgcGFyc2VSb3V0ZURlZmluaXRpb25zID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHJvdXRlRGVmaW5pdGlvbnMgPSBnZXRSb3V0ZURlZmluaXRpb25zKClcbiAgICBjb25zdCByb3V0ZXMgPSBnZXRSb3V0ZXMoKVxuICAgIGNvbnN0IHJlZ2V4ID0gLzooW0EtelxcZF9dKykvXG4gICAgY29uc3QgcGFyc2VkUm91dGVEZWZpbml0aW9ucyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGxvY2FsZSBvZiBzLnAubG9jYWxlcykge1xuICAgICAgZm9yIChjb25zdCByb3V0ZURlZmluaXRpb24gb2Ygcm91dGVEZWZpbml0aW9ucy5yb3V0ZXMpIHtcbiAgICAgICAgY29uc3Qgcm91dGVQYXRoTmFtZSA9IGAke2luZmxlY3Rpb24uY2FtZWxpemUocm91dGVEZWZpbml0aW9uLm5hbWUsIHRydWUpfVBhdGhgXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGZpbmRSb3V0ZVBhcmFtcyhyb3V0ZURlZmluaXRpb24pXG5cbiAgICAgICAgcGFyYW1zLnB1c2goe2xvY2FsZX0pXG5cbiAgICAgICAgaWYgKCEocm91dGVQYXRoTmFtZSBpbiByb3V0ZXMpKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtyb3V0ZVBhdGhOYW1lfSBub3QgZm91bmQgaW4gcm91dGVzOiAke09iamVjdC5rZXlzKHJvdXRlcywgXCIsIFwiKX1gKVxuXG4gICAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHJvdXRlc1tyb3V0ZVBhdGhOYW1lXSguLi5wYXJhbXMpLnJlcGxhY2UoL1svXSskLywgXCJcIilcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gW11cbiAgICAgICAgbGV0IHBhdGhSZWdleFN0cmluZyA9IFwiXlwiXG5cbiAgICAgICAgcGF0aFJlZ2V4U3RyaW5nICs9IGVzY2FwZVN0cmluZ1JlZ2V4cChyb3V0ZVBhdGgpXG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICBjb25zdCBtYXRjaCA9IHBhdGhSZWdleFN0cmluZy5tYXRjaChyZWdleClcblxuICAgICAgICAgIGlmICghbWF0Y2gpIGJyZWFrXG5cbiAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBtYXRjaFsxXVxuXG4gICAgICAgICAgZ3JvdXBzLnB1c2godmFyaWFibGVOYW1lKVxuXG4gICAgICAgICAgcGF0aFJlZ2V4U3RyaW5nID0gcGF0aFJlZ2V4U3RyaW5nLnJlcGxhY2UobWF0Y2hbMF0sIFwiKFteL10rKVwiKVxuICAgICAgICB9XG5cbiAgICAgICAgcGF0aFJlZ2V4U3RyaW5nICs9IFwiJFwiXG5cbiAgICAgICAgY29uc3QgcGF0aFJlZ2V4ID0gbmV3IFJlZ0V4cChwYXRoUmVnZXhTdHJpbmcpXG5cbiAgICAgICAgcGFyc2VkUm91dGVEZWZpbml0aW9ucy5wdXNoKHtncm91cHMsIHBhdGhSZWdleCwgcm91dGVEZWZpbml0aW9ufSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VkUm91dGVEZWZpbml0aW9uc1xuICB9LCBbXSlcblxuICBjb25zdCBwYXJzZWRSb3V0ZURlZmluaXRpb25zID0gdXNlTWVtbygoKSA9PiBwYXJzZVJvdXRlRGVmaW5pdGlvbnMoKSwgW10pXG5cbiAgcy51cGRhdGVNZXRhKHtwYXJzZWRSb3V0ZURlZmluaXRpb25zfSlcblxuICBjb25zdCBmaW5kTWF0Y2hpbmdSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gZ2V0UGF0aCgpXG5cbiAgICBmb3IgKGNvbnN0IHBhcnNlZFJvdXRlRGVmaW5pdGlvbiBvZiBzLm0ucGFyc2VkUm91dGVEZWZpbml0aW9ucykge1xuICAgICAgY29uc3QgbWF0Y2ggPSBwYXRoLm1hdGNoKHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5wYXRoUmVnZXgpXG4gICAgICBsZXQgbWF0Y2hlZCwgcGFyYW1zXG5cbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBtYXRjaGVkID0gdHJ1ZVxuICAgICAgICBwYXJhbXMgPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBLZXkgaW4gcGFyc2VkUm91dGVEZWZpbml0aW9uLmdyb3Vwcykge1xuICAgICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5ncm91cHNbZ3JvdXBLZXldXG5cbiAgICAgICAgICBwYXJhbXNbZ3JvdXBOYW1lXSA9IG1hdGNoW051bWJlcihncm91cEtleSkgKyAxXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXRoID09IFwiXCIgJiYgcGFyc2VkUm91dGVEZWZpbml0aW9uLnJvdXRlRGVmaW5pdGlvbi5wYXRoID09IFwiL1wiKSBtYXRjaGVkID0gdHJ1ZVxuICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgcmV0dXJuIHtwYXJhbXMsIHBhcnNlZFJvdXRlRGVmaW5pdGlvbn1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG1hdGNoaW5nUm91dGUgPSBmaW5kTWF0Y2hpbmdSb3V0ZSgpXG4gIGNvbnN0IHBhcmFtcyA9IG1hdGNoaW5nUm91dGU/LnBhcmFtcyB8fCB7fVxuICBjb25zdCBtYXRjaCA9IHtcbiAgICBtYXRjaGluZ1JvdXRlLFxuICAgIHBhcmFtc1xuICB9XG5cbiAgcmV0dXJuIHttYXRjaH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlUm91dGVyXG4iXX0=
@@ -1,4 +1,6 @@
1
- import { Platform, useWindowDimensions } from "react-native";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_native_1 = require("react-native");
2
4
  const getWindowLayout = (width) => {
3
5
  if (width <= 575) {
4
6
  return "xs";
@@ -23,7 +25,7 @@ const getWindowLayout = (width) => {
23
25
  }
24
26
  };
25
27
  const useScreenLayout = () => {
26
- if (Platform.OS == "web") {
28
+ if (react_native_1.Platform.OS == "web") {
27
29
  const shared = useMemo(() => ({}));
28
30
  shared.width = window.innerWidth;
29
31
  const [screenLayout, setScreenLayout] = useState(() => getWindowLayout(shared.width));
@@ -38,9 +40,9 @@ const useScreenLayout = () => {
38
40
  return shared.screenLayout;
39
41
  }
40
42
  else {
41
- const windowDimensions = useWindowDimensions();
43
+ const windowDimensions = (0, react_native_1.useWindowDimensions)();
42
44
  return getWindowLayout(windowDimensions.width);
43
45
  }
44
46
  };
45
- export default useScreenLayout;
46
- //# sourceMappingURL=use-screen-layout.js.map
47
+ exports.default = useScreenLayout;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXNjcmVlbi1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInVzZS1zY3JlZW4tbGF5b3V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQTBEO0FBRTFELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDaEMsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELEtBQUssRUFBRSxDQUFDLENBQUE7SUFDeEUsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUMzQixJQUFJLHVCQUFRLENBQUMsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFFbEMsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFBO1FBRWhDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUVyRixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7WUFFMUQsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUMzQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDbEMsQ0FBQztRQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVOLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7UUFFbEMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFBO0lBQzVCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLGtDQUFtQixHQUFFLENBQUE7UUFFOUMsT0FBTyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELGtCQUFlLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGxhdGZvcm0sIHVzZVdpbmRvd0RpbWVuc2lvbnN9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5jb25zdCBnZXRXaW5kb3dMYXlvdXQgPSAod2lkdGgpID0+IHtcbiAgaWYgKHdpZHRoIDw9IDU3NSkge1xuICAgIHJldHVybiBcInhzXCJcbiAgfSBlbHNlIGlmICh3aWR0aCA8PSA3NjcpIHtcbiAgICByZXR1cm4gXCJzbVwiXG4gIH0gZWxzZSBpZiAod2lkdGggPD0gOTkxKSB7XG4gICAgcmV0dXJuIFwibWRcIlxuICB9IGVsc2UgaWYgKHdpZHRoIDw9IDExOTkpIHtcbiAgICByZXR1cm4gXCJsZ1wiXG4gIH0gZWxzZSBpZiAod2lkdGggPD0gMTM5OSkge1xuICAgIHJldHVybiBcInhsXCJcbiAgfSBlbHNlIGlmICh3aWR0aCA+PSAxNDAwKSB7XG4gICAgcmV0dXJuIFwieHhsXCJcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKGBDb3VsZG4ndCBkZXRlcm1pbmUgd2luZG93IGxheW91dCBmcm9tIHdpZHRoOiAke3dpZHRofWApXG4gIH1cbn1cblxuY29uc3QgdXNlU2NyZWVuTGF5b3V0ID0gKCkgPT4ge1xuICBpZiAoUGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIikge1xuICAgIGNvbnN0IHNoYXJlZCA9IHVzZU1lbW8oKCkgPT4gKHt9KSlcblxuICAgIHNoYXJlZC53aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoXG5cbiAgICBjb25zdCBbc2NyZWVuTGF5b3V0LCBzZXRTY3JlZW5MYXlvdXRdID0gdXNlU3RhdGUoKCkgPT4gZ2V0V2luZG93TGF5b3V0KHNoYXJlZC53aWR0aCkpXG5cbiAgICBjb25zdCBvblJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGNvbnN0IG5ld1dpbmRvd0xheW91dCA9IGdldFdpbmRvd0xheW91dCh3aW5kb3cuaW5uZXJXaWR0aClcblxuICAgICAgaWYgKHNoYXJlZC5zY3JlZW5sYXlvdXQgIT0gbmV3V2luZG93TGF5b3V0KSB7XG4gICAgICAgIHNldFNjcmVlbkxheW91dChuZXdXaW5kb3dMYXlvdXQpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJyZXNpemVcIiwgb25SZXNpemUpXG5cbiAgICBzaGFyZWQuc2NyZWVuTGF5b3V0ID0gc2NyZWVuTGF5b3V0XG5cbiAgICByZXR1cm4gc2hhcmVkLnNjcmVlbkxheW91dFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHdpbmRvd0RpbWVuc2lvbnMgPSB1c2VXaW5kb3dEaW1lbnNpb25zKClcblxuICAgIHJldHVybiBnZXRXaW5kb3dMYXlvdXQod2luZG93RGltZW5zaW9ucy53aWR0aClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTY3JlZW5MYXlvdXRcbiJdfQ==
@@ -1,8 +1,47 @@
1
- import config from "./config.js";
2
- import { digg } from "diggerize";
3
- import * as inflection from "inflection";
4
- import useBreakpoint from "./use-breakpoint.js";
5
- import { useMemo } from "react";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = useStyles;
40
+ const config_js_1 = __importDefault(require("./config.js"));
41
+ const diggerize_1 = require("diggerize");
42
+ const inflection = __importStar(require("inflection"));
43
+ const use_breakpoint_js_1 = __importDefault(require("./use-breakpoint.js"));
44
+ const react_1 = require("react");
6
45
  function handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse, arg) {
7
46
  if (!(arg in styles)) {
8
47
  throw new Error(`No such styling '${arg}' in given styles: ${Object.keys(styles).join(", ")}`);
@@ -12,8 +51,8 @@ function handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse,
12
51
  const breakpointName = breakpointData[0];
13
52
  const breakpointStyleNameUp = `${arg}${inflection.camelize(breakpointName)}Up`;
14
53
  const breakpointStyleNameDown = `${arg}${inflection.camelize(breakpointName)}Down`;
15
- const breakpointIsUp = digg(breakpoint, `${breakpointName}Up`);
16
- const breakpointIsDown = digg(breakpoint, `${breakpointName}Down`);
54
+ const breakpointIsUp = (0, diggerize_1.digg)(breakpoint, `${breakpointName}Up`);
55
+ const breakpointIsDown = (0, diggerize_1.digg)(breakpoint, `${breakpointName}Down`);
17
56
  if (breakpointStyleNameUp in styles && breakpointIsUp) {
18
57
  listOfStyles.push(styles[breakpointStyleNameUp]);
19
58
  }
@@ -22,13 +61,13 @@ function handleStringStyle(styles, listOfStyles, breakpoint, breakpointsReverse,
22
61
  }
23
62
  }
24
63
  }
25
- export default function useStyles(styles, args, dependencies = []) {
26
- const breakpoint = useBreakpoint();
27
- const breakpointName = digg(breakpoint, "name");
64
+ function useStyles(styles, args, dependencies = []) {
65
+ const breakpoint = (0, use_breakpoint_js_1.default)();
66
+ const breakpointName = (0, diggerize_1.digg)(breakpoint, "name");
28
67
  const actualDependencies = [...dependencies, breakpointName];
29
- const listOfStyles = useMemo(() => {
68
+ const listOfStyles = (0, react_1.useMemo)(() => {
30
69
  const listOfStyles = [];
31
- const breakpointsReverse = [...config.getBreakpoints()].reverse();
70
+ const breakpointsReverse = [...config_js_1.default.getBreakpoints()].reverse();
32
71
  if (!Array.isArray(args)) {
33
72
  args = [args];
34
73
  }
@@ -52,4 +91,4 @@ export default function useStyles(styles, args, dependencies = []) {
52
91
  }, actualDependencies);
53
92
  return listOfStyles;
54
93
  }
55
- //# sourceMappingURL=use-styles.js.map
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSw0QkFpQ0M7QUEvREQsNERBQWdDO0FBQ2hDLHlDQUE4QjtBQUM5Qix1REFBd0M7QUFDeEMsNEVBQStDO0FBQy9DLGlDQUE2QjtBQUU3QixTQUFTLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLEdBQUc7SUFDbEYsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxzQkFBc0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2hHLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBRTlCLEtBQUssTUFBTSxjQUFjLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDeEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUE7UUFDOUUsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUE7UUFDbEYsTUFBTSxjQUFjLEdBQUcsSUFBQSxnQkFBSSxFQUFDLFVBQVUsRUFBRSxHQUFHLGNBQWMsSUFBSSxDQUFDLENBQUE7UUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLGdCQUFJLEVBQUMsVUFBVSxFQUFFLEdBQUcsY0FBYyxNQUFNLENBQUMsQ0FBQTtRQUVsRSxJQUFJLHFCQUFxQixJQUFJLE1BQU0sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUN0RCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUVELElBQUksdUJBQXVCLElBQUksTUFBTSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDMUQsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQXdCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksR0FBRyxFQUFFO0lBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUEsMkJBQWEsR0FBRSxDQUFBO0lBQ2xDLE1BQU0sY0FBYyxHQUFHLElBQUEsZ0JBQUksRUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRTVELE1BQU0sWUFBWSxHQUFHLElBQUEsZUFBTyxFQUFDLEdBQUcsRUFBRTtRQUNoQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUE7UUFDdkIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsbUJBQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRWpFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZixDQUFDO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUM5RSxDQUFDO2lCQUFNLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3RCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQzt3QkFDVixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtvQkFDOUUsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQTtZQUNsRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFBO0lBQ3JCLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBRXRCLE9BQU8sWUFBWSxDQUFBO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgdXNlQnJlYWtwb2ludCBmcm9tIFwiLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5cbmZ1bmN0aW9uIGhhbmRsZVN0cmluZ1N0eWxlKHN0eWxlcywgbGlzdE9mU3R5bGVzLCBicmVha3BvaW50LCBicmVha3BvaW50c1JldmVyc2UsIGFyZykge1xuICBpZiAoIShhcmcgaW4gc3R5bGVzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBzdHlsaW5nICcke2FyZ30nIGluIGdpdmVuIHN0eWxlczogJHtPYmplY3Qua2V5cyhzdHlsZXMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgbGlzdE9mU3R5bGVzLnB1c2goc3R5bGVzW2FyZ10pXG5cbiAgZm9yIChjb25zdCBicmVha3BvaW50RGF0YSBvZiBicmVha3BvaW50c1JldmVyc2UpIHtcbiAgICBjb25zdCBicmVha3BvaW50TmFtZSA9IGJyZWFrcG9pbnREYXRhWzBdXG4gICAgY29uc3QgYnJlYWtwb2ludFN0eWxlTmFtZVVwID0gYCR7YXJnfSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShicmVha3BvaW50TmFtZSl9VXBgXG4gICAgY29uc3QgYnJlYWtwb2ludFN0eWxlTmFtZURvd24gPSBgJHthcmd9JHtpbmZsZWN0aW9uLmNhbWVsaXplKGJyZWFrcG9pbnROYW1lKX1Eb3duYFxuICAgIGNvbnN0IGJyZWFrcG9pbnRJc1VwID0gZGlnZyhicmVha3BvaW50LCBgJHticmVha3BvaW50TmFtZX1VcGApXG4gICAgY29uc3QgYnJlYWtwb2ludElzRG93biA9IGRpZ2coYnJlYWtwb2ludCwgYCR7YnJlYWtwb2ludE5hbWV9RG93bmApXG5cbiAgICBpZiAoYnJlYWtwb2ludFN0eWxlTmFtZVVwIGluIHN0eWxlcyAmJiBicmVha3BvaW50SXNVcCkge1xuICAgICAgbGlzdE9mU3R5bGVzLnB1c2goc3R5bGVzW2JyZWFrcG9pbnRTdHlsZU5hbWVVcF0pXG4gICAgfVxuXG4gICAgaWYgKGJyZWFrcG9pbnRTdHlsZU5hbWVEb3duIGluIHN0eWxlcyAmJiBicmVha3BvaW50SXNEb3duKSB7XG4gICAgICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYnJlYWtwb2ludFN0eWxlTmFtZURvd25dKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTdHlsZXMoc3R5bGVzLCBhcmdzLCBkZXBlbmRlbmNpZXMgPSBbXSkge1xuICBjb25zdCBicmVha3BvaW50ID0gdXNlQnJlYWtwb2ludCgpXG4gIGNvbnN0IGJyZWFrcG9pbnROYW1lID0gZGlnZyhicmVha3BvaW50LCBcIm5hbWVcIilcbiAgY29uc3QgYWN0dWFsRGVwZW5kZW5jaWVzID0gWy4uLmRlcGVuZGVuY2llcywgYnJlYWtwb2ludE5hbWVdXG5cbiAgY29uc3QgbGlzdE9mU3R5bGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbGlzdE9mU3R5bGVzID0gW11cbiAgICBjb25zdCBicmVha3BvaW50c1JldmVyc2UgPSBbLi4uY29uZmlnLmdldEJyZWFrcG9pbnRzKCldLnJldmVyc2UoKVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3MpKSB7XG4gICAgICBhcmdzID0gW2FyZ3NdXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xuICAgICAgaWYgKHR5cGVvZiBhcmcgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBoYW5kbGVTdHJpbmdTdHlsZShzdHlsZXMsIGxpc3RPZlN0eWxlcywgYnJlYWtwb2ludCwgYnJlYWtwb2ludHNSZXZlcnNlLCBhcmcpXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhcmcpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldXG5cbiAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGhhbmRsZVN0cmluZ1N0eWxlKHN0eWxlcywgbGlzdE9mU3R5bGVzLCBicmVha3BvaW50LCBicmVha3BvaW50c1JldmVyc2UsIGtleSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHR5cGU6ICR7dHlwZW9mIGFyZ31gKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsaXN0T2ZTdHlsZXNcbiAgfSwgYWN0dWFsRGVwZW5kZW5jaWVzKVxuXG4gIHJldHVybiBsaXN0T2ZTdHlsZXNcbn1cbiJdfQ==