studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.1

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 (390) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.d.ts +2 -2
  4. package/lib/components/ActionList.js +87 -166
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +18 -133
  7. package/lib/components/AlertWithIcon.js +52 -93
  8. package/lib/components/ConnectedModal.d.ts +2 -1
  9. package/lib/components/ConnectedModal.js +37 -43
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
  14. package/lib/components/Dropdowns/UserDropdown.js +70 -109
  15. package/lib/components/Dropdowns/index.js +11 -27
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +60 -52
  18. package/lib/components/Error.js +27 -107
  19. package/lib/components/ErrorBoundary.js +94 -133
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +14 -44
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +95 -63
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +108 -84
  26. package/lib/components/Forms/index.js +13 -27
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
  30. package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
  31. package/lib/components/Groups/ExternalGroups/Table.js +76 -183
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
  33. package/lib/components/Groups/RosterSyncInfo.js +49 -140
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +124 -101
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +129 -53
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +96 -59
  42. package/lib/components/HOC/CollectionComponent.d.ts +12 -12
  43. package/lib/components/HOC/CollectionComponent.js +171 -171
  44. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
  45. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -52
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +168 -169
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +140 -110
  50. package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
  51. package/lib/components/HOC/DataDependentComponent.js +79 -30
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +112 -74
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +185 -165
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +68 -29
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +216 -243
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +11 -12
  70. package/lib/components/Icons/IconAlphaList.js +20 -34
  71. package/lib/components/Icons/IconExternalUser.js +20 -34
  72. package/lib/components/Icons/IconImpersonation.js +20 -34
  73. package/lib/components/Icons/IconStopImpersonating.js +20 -34
  74. package/lib/components/Icons/IconTable.js +21 -35
  75. package/lib/components/Icons/IconTableDeleteCol.js +20 -34
  76. package/lib/components/Icons/IconTableDeleteRow.js +20 -34
  77. package/lib/components/Icons/IconTableInsertCol.js +20 -34
  78. package/lib/components/Icons/IconTableInsertRow.js +20 -34
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +56 -76
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +53 -76
  83. package/lib/components/Impersonation/UserDetail.css +22 -22
  84. package/lib/components/Impersonation/UserDetail.d.ts +2 -2
  85. package/lib/components/Impersonation/UserDetail.js +17 -66
  86. package/lib/components/Loading.js +21 -27
  87. package/lib/components/LockDownBrowser/Check.js +107 -194
  88. package/lib/components/LockDownBrowser/ExitButton.js +14 -27
  89. package/lib/components/LockDownBrowser/Launch.js +85 -70
  90. package/lib/components/Lti/Confirm.js +33 -152
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
  93. package/lib/components/Lti/Launch.js +49 -105
  94. package/lib/components/Lti/LaunchGroup.js +39 -85
  95. package/lib/components/ManageTable.d.ts +2 -1
  96. package/lib/components/ManageTable.js +104 -309
  97. package/lib/components/ManageTableNoDataComponent.js +22 -42
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +91 -82
  100. package/lib/components/NotFound.js +28 -87
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +169 -187
  103. package/lib/components/PaginationNextButton.js +21 -33
  104. package/lib/components/PaginationPreviousButton.js +21 -33
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +257 -432
  107. package/lib/components/Quill/Formats/Image.d.ts +25 -10
  108. package/lib/components/Quill/Formats/Image.js +86 -80
  109. package/lib/components/Quill/Formats/List.d.ts +3 -6
  110. package/lib/components/Quill/Formats/List.js +74 -52
  111. package/lib/components/Quill/Formats/Video.d.ts +1 -2
  112. package/lib/components/Quill/Formats/Video.js +45 -31
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +122 -149
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +32 -45
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
  118. package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
  131. package/lib/components/Quill/TableModule/constants.js +41 -45
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +5 -14
  134. package/lib/components/Quill/TableModule/index.js +313 -373
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +1 -0
  137. package/lib/components/Quill/accessibilityFix.js +251 -235
  138. package/lib/components/Quill/index.js +32 -36
  139. package/lib/components/RefreshIndicator/Bordered.js +32 -48
  140. package/lib/components/RefreshIndicator/Inline.js +33 -48
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +113 -263
  143. package/lib/components/SearchControls.js +31 -216
  144. package/lib/components/SentryRoute.js +23 -10
  145. package/lib/components/Tables/RoleFilter.d.ts +4 -3
  146. package/lib/components/Tables/RoleFilter.js +46 -71
  147. package/lib/components/Tables/TextFilter.d.ts +3 -2
  148. package/lib/components/Tables/TextFilter.js +20 -62
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +161 -199
  151. package/lib/components/UserRoles/Context.js +9 -11
  152. package/lib/components/UserRoles/RoleCell.js +100 -180
  153. package/lib/components/UserRoles/Select.js +54 -157
  154. package/lib/components/UserRoles/Table.js +102 -221
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +466 -537
  157. package/lib/config/eslint/index.cjs +21 -0
  158. package/lib/config/eslint/lib/order.cjs +22 -0
  159. package/lib/config/eslint/lib/prettier.cjs +18 -0
  160. package/lib/config/eslint/lib/typescript.cjs +86 -0
  161. package/lib/config/eslint/react.cjs +9 -0
  162. package/lib/constants/baseActivity.js +26 -30
  163. package/lib/constants/baseRole.js +10 -14
  164. package/lib/constants/configuration.d.ts +1 -1
  165. package/lib/constants/configuration.js +39 -43
  166. package/lib/constants/externalProviderType.js +6 -10
  167. package/lib/constants/fetchErrorData.js +11 -15
  168. package/lib/constants/index.js +23 -137
  169. package/lib/constants/lockDownBrowser.js +24 -28
  170. package/lib/constants/mockData.d.ts +6 -4
  171. package/lib/constants/mockData.js +326 -385
  172. package/lib/constants/modelStatus.js +11 -15
  173. package/lib/constants/notificationType.js +8 -12
  174. package/lib/constants/operatingSystem.js +8 -12
  175. package/lib/constants/shard.js +7 -11
  176. package/lib/constants/table.js +21 -21
  177. package/lib/constants/tier.js +8 -12
  178. package/lib/constants/userRole.d.ts +2 -1
  179. package/lib/constants/userRole.js +17 -15
  180. package/lib/css/base/_base.css +98 -98
  181. package/lib/css/base/_typography.css +130 -130
  182. package/lib/css/components/_alert.css +86 -86
  183. package/lib/css/components/_bootstrap-grid.css +28 -28
  184. package/lib/css/components/_buttons.css +397 -397
  185. package/lib/css/components/_forms.css +101 -101
  186. package/lib/css/components/_menu.css +56 -56
  187. package/lib/css/components/_modals.css +46 -46
  188. package/lib/css/components/_quill.css +315 -315
  189. package/lib/css/components/_tables.css +497 -497
  190. package/lib/css/components/_tags.css +12 -12
  191. package/lib/css/index-with-variables.css +15 -15
  192. package/lib/css/index.css +14 -14
  193. package/lib/css/utils/_border.css +463 -463
  194. package/lib/css/utils/_color.css +317 -317
  195. package/lib/css/utils/_display.css +312 -305
  196. package/lib/css/utils/_general.css +48 -48
  197. package/lib/css/utils/_icon.css +16 -16
  198. package/lib/css/utils/_text.css +24 -25
  199. package/lib/css/utils/_width.css +60 -60
  200. package/lib/css/variables.css +84 -84
  201. package/lib/endpointMappings.js +193 -197
  202. package/lib/hooks/useCollection.js +65 -83
  203. package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
  204. package/lib/hooks/useCollectionConfiguration.js +88 -185
  205. package/lib/hooks/useCollectionItem.js +58 -155
  206. package/lib/hooks/useGuid.js +10 -21
  207. package/lib/hooks/usePrevious.d.ts +1 -24
  208. package/lib/hooks/usePrevious.js +14 -84
  209. package/lib/index.js +36 -156
  210. package/lib/redux/actionCreator.d.ts +6 -6
  211. package/lib/redux/actionCreator.js +40 -51
  212. package/lib/redux/actions/AuthAction.js +31 -44
  213. package/lib/redux/actions/ModalAction.d.ts +1 -1
  214. package/lib/redux/actions/ModalAction.js +6 -10
  215. package/lib/redux/actions/ModelAction.d.ts +1 -1
  216. package/lib/redux/actions/ModelAction.js +49 -77
  217. package/lib/redux/actions/NotificationAction.js +6 -10
  218. package/lib/redux/actions/SearchAction.js +5 -9
  219. package/lib/redux/actions/index.js +16 -60
  220. package/lib/redux/configureReducers.d.ts +5 -2
  221. package/lib/redux/configureReducers.js +78 -67
  222. package/lib/redux/configureStore.d.ts +2 -2
  223. package/lib/redux/configureStore.js +115 -83
  224. package/lib/redux/helpers.js +2 -7
  225. package/lib/redux/reducers/authReducer.js +46 -52
  226. package/lib/redux/reducers/index.js +15 -41
  227. package/lib/redux/reducers/modalsReducer.js +52 -49
  228. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  229. package/lib/redux/reducers/modelsReducer.js +182 -183
  230. package/lib/redux/reducers/notificationsReducer.js +21 -26
  231. package/lib/redux/reducers/searchReducer.js +20 -26
  232. package/lib/redux/sagas/appInsightsSaga.js +62 -24
  233. package/lib/redux/sagas/authSaga.js +414 -287
  234. package/lib/redux/sagas/caliperSaga.js +263 -169
  235. package/lib/redux/sagas/clockOffsetSaga.js +77 -36
  236. package/lib/redux/sagas/configurationSaga.js +46 -13
  237. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
  238. package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
  239. package/lib/redux/sagas/errorSaga.d.ts +1 -0
  240. package/lib/redux/sagas/errorSaga.js +63 -29
  241. package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
  242. package/lib/redux/sagas/identityProviderSaga.js +69 -24
  243. package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
  244. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
  245. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
  246. package/lib/redux/sagas/modelFetchSaga.js +459 -379
  247. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  248. package/lib/redux/sagas/noStoreSaga.js +101 -68
  249. package/lib/redux/sagas/postLoginDataSaga.js +79 -47
  250. package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
  251. package/lib/redux/sagas/rootSaga.js +137 -85
  252. package/lib/redux/sagas/sentrySaga.js +85 -29
  253. package/lib/redux/sagas/userIdSaga.js +54 -18
  254. package/lib/services/codeProviderService.js +29 -25
  255. package/lib/services/dateService.js +12 -14
  256. package/lib/services/documentService.js +13 -18
  257. package/lib/services/fetchService.js +168 -134
  258. package/lib/services/persistenceService.d.ts +4 -4
  259. package/lib/services/persistenceService.js +43 -45
  260. package/lib/services/ticketProviderService.js +33 -29
  261. package/lib/services/tokenPersistenceService.js +9 -13
  262. package/lib/services/windowService.js +17 -21
  263. package/lib/startup.d.ts +1 -1
  264. package/lib/startup.js +135 -132
  265. package/lib/types/AppConfiguration.js +1 -5
  266. package/lib/types/Artifact.js +7 -11
  267. package/lib/types/BaseReduxState.js +1 -5
  268. package/lib/types/Client.js +1 -5
  269. package/lib/types/Collection.d.ts +3 -3
  270. package/lib/types/Collection.js +1 -5
  271. package/lib/types/Configuration.js +1 -5
  272. package/lib/types/DeepLinkingResponseRequest.js +1 -5
  273. package/lib/types/DeletableModel.js +1 -5
  274. package/lib/types/Event.js +1 -5
  275. package/lib/types/ExternalGroup.js +1 -5
  276. package/lib/types/ExternalProvider.js +1 -5
  277. package/lib/types/ExternalTerm.js +1 -5
  278. package/lib/types/Group.js +1 -5
  279. package/lib/types/IdentityProvider.js +1 -5
  280. package/lib/types/LtiLaunch.js +1 -5
  281. package/lib/types/NameOnlyEntity.js +1 -5
  282. package/lib/types/Notification.d.ts +2 -2
  283. package/lib/types/Notification.js +1 -5
  284. package/lib/types/OptionalRecord.d.ts +1 -1
  285. package/lib/types/OptionalRecord.js +1 -5
  286. package/lib/types/OwnerSchedule.d.ts +1 -3
  287. package/lib/types/OwnerSchedule.js +1 -5
  288. package/lib/types/PropertyOfType.d.ts +3 -3
  289. package/lib/types/PropertyOfType.js +1 -5
  290. package/lib/types/Quill.js +1 -5
  291. package/lib/types/RoleDescription.d.ts +1 -0
  292. package/lib/types/RoleDescription.js +1 -5
  293. package/lib/types/Search.js +1 -5
  294. package/lib/types/SimpleLocation.js +1 -5
  295. package/lib/types/UniTime.js +1 -5
  296. package/lib/types/User.js +1 -5
  297. package/lib/types/UserRole.js +1 -5
  298. package/lib/types/auth/AuthState.js +1 -5
  299. package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
  300. package/lib/types/auth/ClientCredentials.js +1 -5
  301. package/lib/types/auth/CodeProviderService.js +1 -5
  302. package/lib/types/auth/LocalLoginRequestBody.js +1 -5
  303. package/lib/types/auth/TicketProviderService.js +1 -5
  304. package/lib/types/auth/TokenPersistenceService.js +1 -5
  305. package/lib/types/auth/index.js +18 -82
  306. package/lib/types/index.js +39 -313
  307. package/lib/types/net/EndpointConfig.js +1 -5
  308. package/lib/types/net/EndpointMapping.js +1 -5
  309. package/lib/types/net/EndpointMappings.js +1 -5
  310. package/lib/types/net/ErrorHandler.d.ts +1 -1
  311. package/lib/types/net/ErrorHandler.js +1 -5
  312. package/lib/types/net/FetchConfig.d.ts +1 -1
  313. package/lib/types/net/FetchConfig.js +1 -5
  314. package/lib/types/net/FetchErrorData.js +6 -10
  315. package/lib/types/net/FetchResult.d.ts +2 -2
  316. package/lib/types/net/FetchResult.js +1 -5
  317. package/lib/types/net/HTTPMethod.d.ts +1 -1
  318. package/lib/types/net/HTTPMethod.js +1 -5
  319. package/lib/types/net/HTTPStatusCode.js +12 -16
  320. package/lib/types/net/Metadata.js +1 -5
  321. package/lib/types/net/Model.js +1 -5
  322. package/lib/types/net/ModelCollection.js +1 -5
  323. package/lib/types/net/ModelsState.js +1 -5
  324. package/lib/types/net/OAuthToken.js +1 -5
  325. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  326. package/lib/types/net/OAuthTokenOrNull.js +1 -5
  327. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  328. package/lib/types/net/TokenAccessFunction.js +1 -5
  329. package/lib/types/net/index.js +27 -181
  330. package/lib/utils/baseActivity.d.ts +2 -2
  331. package/lib/utils/baseActivity.js +136 -138
  332. package/lib/utils/baseRole.js +33 -37
  333. package/lib/utils/collection.js +310 -432
  334. package/lib/utils/cookies.js +37 -22
  335. package/lib/utils/date.js +320 -320
  336. package/lib/utils/dom.js +174 -186
  337. package/lib/utils/domainIdentifier.js +9 -9
  338. package/lib/utils/entityUserRole.js +2 -6
  339. package/lib/utils/error.d.ts +1 -1
  340. package/lib/utils/error.js +16 -18
  341. package/lib/utils/events.js +33 -40
  342. package/lib/utils/externalGroup.js +21 -25
  343. package/lib/utils/externalProviders.js +4 -8
  344. package/lib/utils/externalTerms.js +6 -9
  345. package/lib/utils/fetch.d.ts +1 -1
  346. package/lib/utils/fetch.js +185 -188
  347. package/lib/utils/group.js +9 -17
  348. package/lib/utils/groupDates.d.ts +1 -1
  349. package/lib/utils/groupDates.js +39 -43
  350. package/lib/utils/groupRoles.js +28 -28
  351. package/lib/utils/lockDownBrowser.js +12 -16
  352. package/lib/utils/logger.js +25 -30
  353. package/lib/utils/lti.js +5 -10
  354. package/lib/utils/model.d.ts +2 -2
  355. package/lib/utils/model.js +48 -39
  356. package/lib/utils/number.js +26 -23
  357. package/lib/utils/promise.d.ts +1 -6
  358. package/lib/utils/promise.js +15 -34
  359. package/lib/utils/quill.js +77 -66
  360. package/lib/utils/route.d.ts +2 -2
  361. package/lib/utils/route.js +60 -61
  362. package/lib/utils/search.d.ts +1 -1
  363. package/lib/utils/search.js +85 -78
  364. package/lib/utils/shard.js +41 -38
  365. package/lib/utils/sort.d.ts +3 -3
  366. package/lib/utils/sort.js +58 -62
  367. package/lib/utils/string.js +10 -14
  368. package/lib/utils/table.d.ts +3 -3
  369. package/lib/utils/table.js +36 -39
  370. package/lib/utils/timezone.js +26 -12
  371. package/lib/utils/url.d.ts +1 -2
  372. package/lib/utils/url.js +201 -146
  373. package/lib/utils/user.js +61 -59
  374. package/lib/utils/userAgent.js +11 -11
  375. package/lib/utils/userRole.d.ts +3 -3
  376. package/lib/utils/userRole.js +56 -58
  377. package/package.json +207 -226
  378. package/lib/config/eslint/index.d.ts +0 -2
  379. package/lib/config/eslint/index.js +0 -36
  380. package/lib/config/eslint/lib/order.d.ts +0 -3
  381. package/lib/config/eslint/lib/order.js +0 -30
  382. package/lib/config/eslint/lib/prettier.d.ts +0 -3
  383. package/lib/config/eslint/lib/prettier.js +0 -23
  384. package/lib/config/eslint/lib/typescript.d.ts +0 -2
  385. package/lib/config/eslint/lib/typescript.js +0 -98
  386. package/lib/config/eslint/react.d.ts +0 -2
  387. package/lib/config/eslint/react.js +0 -30
  388. package/lib/hooks/useEventCalback.d.ts +0 -14
  389. package/lib/hooks/useEventCalback.js +0 -51
  390. package/lib/types/externals.d.js +0 -2
@@ -1,190 +1,93 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useCollectionConfiguration = useCollectionConfiguration;
7
- var _reactCompilerRuntime = require("react-compiler-runtime");
8
- var _lodash = require("lodash");
9
- var _react = require("react");
10
- var _reactRedux = require("react-redux");
11
- var _reactRouter = require("react-router");
12
- var _modelStatus = require("../constants/modelStatus");
13
- var _model = require("../utils/model");
14
- var _useGuid = require("./useGuid");
15
- var _usePrevious = require("./usePrevious");
16
- /** Configuration returned by `useCollectionConfiguration` for use in `useCollection` and `useCollectionItem` */
17
-
18
- /**
19
- * `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
20
- * handling most of the state, route, and redux configuration.
21
- *
22
- * @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
23
- * @param selectorFunction The function that will be used to select the `model` from redux.
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCollectionConfiguration = void 0;
4
+ var lodash_1 = require("lodash");
5
+ var react_1 = require("react");
6
+ var react_redux_1 = require("react-redux");
7
+ var react_router_1 = require("react-router");
8
+ var modelStatus_1 = require("../constants/modelStatus");
9
+ var model_1 = require("../utils/model");
10
+ var route_1 = require("../utils/route");
11
+ var useGuid_1 = require("./useGuid");
12
+ var usePrevious_1 = require("./usePrevious");
13
+ /**
14
+ * `useCollectionConfiguration` shares common logic between `useCollection` and `useCollectionItem`,
15
+ * handling most of the state, route, and redux configuration.
16
+ *
17
+ * @param props The props used to call the outer hook, `useCollection` or `useCollectionItem`
18
+ * @param selectorFunction The function that will be used to select the `model` from redux.
24
19
  */
25
20
  function useCollectionConfiguration(props, selectorFunction) {
26
- const $ = (0, _reactCompilerRuntime.c)(43);
27
- const {
28
- modelName,
29
- pathParams: propPathParams,
30
- queryParams: incomingQueryParams,
31
- disableAutoLoad
32
- } = props;
33
- const guid = (0, _useGuid.useGuid)();
34
- const routeMatchParams = (0, _reactRouter.useParams)();
35
- const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
36
- const [modelStatus, setModelStatus] = (0, _react.useState)(_modelStatus.MODEL_STATUS.UNINITIALIZED);
37
- const [fetchingId, setFetchingId] = (0, _react.useState)();
38
- const [persistedPathParams, setPersistedPathParams] = (0, _react.useState)(propPathParams);
39
- const [persistedQueryParams, setPersistedQueryParams] = (0, _react.useState)(incomingQueryParams);
40
- let t0;
41
- if ($[0] !== persistedPathParams || $[1] !== propPathParams) {
42
- t0 = (0, _lodash.isEqual)(propPathParams, persistedPathParams) ? persistedPathParams : propPathParams;
43
- $[0] = persistedPathParams;
44
- $[1] = propPathParams;
45
- $[2] = t0;
46
- } else {
47
- t0 = $[2];
48
- }
49
- const pathParams = t0;
50
- let t1;
51
- if ($[3] !== incomingQueryParams || $[4] !== persistedQueryParams) {
52
- t1 = (0, _lodash.isEqual)(incomingQueryParams, persistedQueryParams) ? persistedQueryParams : incomingQueryParams;
53
- $[3] = incomingQueryParams;
54
- $[4] = persistedQueryParams;
55
- $[5] = t1;
56
- } else {
57
- t1 = $[5];
58
- }
59
- const queryParams = t1;
60
- if (!(0, _lodash.isEqual)(persistedPathParams, pathParams)) {
61
- setPersistedPathParams(pathParams);
62
- }
63
- if (!(0, _lodash.isEqual)(persistedQueryParams, queryParams)) {
64
- setPersistedQueryParams(queryParams);
65
- }
66
- let t2;
67
- if ($[6] !== guid || $[7] !== modelName || $[8] !== pathParams || $[9] !== routeMatchParams || $[10] !== selectorFunction) {
68
- t2 = state => selectorFunction({
69
- guid,
70
- modelName,
71
- pathParams,
72
- routeMatchParams,
73
- state
74
- });
75
- $[6] = guid;
76
- $[7] = modelName;
77
- $[8] = pathParams;
78
- $[9] = routeMatchParams;
79
- $[10] = selectorFunction;
80
- $[11] = t2;
81
- } else {
82
- t2 = $[11];
83
- }
84
- const {
85
- model,
86
- isCollectionItem
87
- } = (0, _reactRedux.useSelector)(t2);
88
- const previousModel = (0, _usePrevious.usePreviousValue)(model);
89
- const previousModelName = (0, _usePrevious.usePreviousValue)(modelName);
90
- const previousModelStatus = (0, _usePrevious.usePreviousValue)(modelStatus);
91
- const previousPathParams = (0, _usePrevious.usePreviousValue)(pathParams);
92
- const previousQueryParams = (0, _usePrevious.usePreviousValue)(queryParams);
93
- let t3;
94
- if ($[12] !== guid || $[13] !== isCollectionItem || $[14] !== model) {
95
- t3 = !isCollectionItem ? (0, _model.getModelArray)(model, guid) : undefined;
96
- $[12] = guid;
97
- $[13] = isCollectionItem;
98
- $[14] = model;
99
- $[15] = t3;
100
- } else {
101
- t3 = $[15];
102
- }
103
- const modelArray = t3;
104
- let t4;
105
- if ($[16] !== isCollectionItem || $[17] !== model) {
106
- t4 = isCollectionItem ? (0, _model.getModelMinusRelations)(model) : undefined;
107
- $[16] = isCollectionItem;
108
- $[17] = model;
109
- $[18] = t4;
110
- } else {
111
- t4 = $[18];
112
- }
113
- const modelMinusRelations = t4;
114
- let t5;
115
- if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
116
- t5 = (newModelStatus, newFetchingId) => {
117
- setFetchingId(newFetchingId);
118
- setModelStatus(newModelStatus);
119
- };
120
- $[19] = t5;
121
- } else {
122
- t5 = $[19];
123
- }
124
- const changeModelStatus = t5;
125
- let t6;
126
- if ($[20] !== disableAutoLoad || $[21] !== guid || $[22] !== isInitialized || $[23] !== modelName || $[24] !== pathParams || $[25] !== queryParams) {
127
- t6 = {
128
- modelName,
129
- pathParams,
130
- queryParams,
131
- guid,
132
- isInitialized,
133
- changeModelStatus,
134
- disableAutoLoad
21
+ var modelName = props.modelName, propPathParams = props.pathParams, incomingQueryParams = props.queryParams, disableAutoLoad = props.disableAutoLoad;
22
+ var guid = useGuid_1.useGuid();
23
+ var routeMatchParams = react_router_1.useParams();
24
+ var _a = react_1.useState(false), isInitialized = _a[0], setIsInitialized = _a[1];
25
+ var _b = react_1.useState(modelStatus_1.MODEL_STATUS.UNINITIALIZED), modelStatus = _b[0], setModelStatus = _b[1];
26
+ var previousModelStatus = usePrevious_1.usePrevious(modelStatus);
27
+ var _c = react_1.useState(), fetchingId = _c[0], setFetchingId = _c[1];
28
+ var incomingPathParams = react_1.useMemo(function () { return propPathParams || route_1.getPathParamsFromRouteMatchParams(routeMatchParams, modelName); }, [propPathParams, modelName, routeMatchParams]);
29
+ // keep track of pathParams and queryParams values in state
30
+ // the prop/calculated values will almost always be a new array or object, which causes issues for hook deps
31
+ var _d = react_1.useState(incomingPathParams), persistedPathParams = _d[0], setPersistedPathParams = _d[1];
32
+ var _e = react_1.useState(incomingQueryParams), persistedQueryParams = _e[0], setPersistedQueryParams = _e[1];
33
+ // immediately use the incoming value if it is different than the persisted value
34
+ // this allows components using this hook to avoid waiting for another state update before using the new values
35
+ var pathParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingPathParams, persistedPathParams) ? persistedPathParams : incomingPathParams); }, [incomingPathParams, persistedPathParams]);
36
+ var queryParams = react_1.useMemo(function () { return (lodash_1.isEqual(incomingQueryParams, persistedQueryParams) ? persistedQueryParams : incomingQueryParams); }, [incomingQueryParams, persistedQueryParams]);
37
+ // update the persisted pathParams and queryParams if they have changed for later comparisons with incoming values
38
+ react_1.useEffect(function () {
39
+ if (!lodash_1.isEqual(persistedPathParams, pathParams)) {
40
+ setPersistedPathParams(pathParams);
41
+ }
42
+ }, [persistedPathParams, pathParams]);
43
+ react_1.useEffect(function () {
44
+ if (!lodash_1.isEqual(persistedQueryParams, queryParams)) {
45
+ setPersistedQueryParams(queryParams);
46
+ }
47
+ }, [persistedQueryParams, queryParams]);
48
+ var _f = react_redux_1.useSelector(function (state) {
49
+ return selectorFunction({ guid: guid, modelName: modelName, pathParams: pathParams, routeMatchParams: routeMatchParams, state: state });
50
+ }), model = _f.model, isCollectionItem = _f.isCollectionItem;
51
+ var previousModelName = usePrevious_1.usePrevious(modelName);
52
+ var previousModel = usePrevious_1.usePrevious(model);
53
+ var previousPathParams = usePrevious_1.usePrevious(pathParams);
54
+ var previousQueryParams = usePrevious_1.usePrevious(queryParams);
55
+ var modelArray = react_1.useMemo(function () { return (!isCollectionItem ? model_1.getModelArray(model, guid) : undefined); }, [guid, isCollectionItem, model]);
56
+ var modelMinusRelations = react_1.useMemo(function () { return (isCollectionItem ? model_1.getModelMinusRelations(model) : undefined); }, [isCollectionItem, model]);
57
+ var changeModelStatus = react_1.useCallback(function (newModelStatus, newFetchingId) {
58
+ setFetchingId(newFetchingId);
59
+ setModelStatus(newModelStatus);
60
+ }, []);
61
+ var methodConfig = react_1.useMemo(function () { return ({
62
+ modelName: modelName,
63
+ pathParams: pathParams,
64
+ queryParams: queryParams,
65
+ guid: guid,
66
+ isInitialized: isInitialized,
67
+ changeModelStatus: changeModelStatus,
68
+ disableAutoLoad: disableAutoLoad
69
+ }); }, [modelName, pathParams, queryParams, guid, isInitialized, changeModelStatus, disableAutoLoad]);
70
+ // update `modelStatus` when `model` fetch finishes
71
+ react_1.useEffect(function () {
72
+ model_1.handleModelFetchFinish(model, previousModel, fetchingId, changeModelStatus);
73
+ }, [fetchingId, model, previousModel, changeModelStatus]);
74
+ return {
75
+ previousModelName: previousModelName,
76
+ guid: guid,
77
+ model: model,
78
+ modelArray: modelArray,
79
+ modelMinusRelations: modelMinusRelations,
80
+ previousModel: previousModel,
81
+ pathParams: pathParams,
82
+ previousPathParams: previousPathParams,
83
+ queryParams: queryParams,
84
+ previousQueryParams: previousQueryParams,
85
+ modelStatus: modelStatus,
86
+ previousModelStatus: previousModelStatus,
87
+ fetchingId: fetchingId,
88
+ methodConfig: methodConfig,
89
+ isInitialized: isInitialized,
90
+ setIsInitialized: setIsInitialized
135
91
  };
136
- $[20] = disableAutoLoad;
137
- $[21] = guid;
138
- $[22] = isInitialized;
139
- $[23] = modelName;
140
- $[24] = pathParams;
141
- $[25] = queryParams;
142
- $[26] = t6;
143
- } else {
144
- t6 = $[26];
145
- }
146
- const methodConfig = t6;
147
- const previousRenderModel = (0, _usePrevious.usePreviousRender)(model);
148
- (0, _model.handleModelFetchFinish)(model, previousRenderModel, fetchingId, changeModelStatus);
149
- let t7;
150
- if ($[27] !== fetchingId || $[28] !== guid || $[29] !== isInitialized || $[30] !== methodConfig || $[31] !== model || $[32] !== modelArray || $[33] !== modelMinusRelations || $[34] !== modelStatus || $[35] !== pathParams || $[36] !== previousModel || $[37] !== previousModelName || $[38] !== previousModelStatus || $[39] !== previousPathParams || $[40] !== previousQueryParams || $[41] !== queryParams) {
151
- t7 = {
152
- previousModelName,
153
- guid,
154
- model,
155
- modelArray,
156
- modelMinusRelations,
157
- previousModel,
158
- pathParams,
159
- previousPathParams,
160
- queryParams,
161
- previousQueryParams,
162
- modelStatus,
163
- previousModelStatus,
164
- fetchingId,
165
- methodConfig,
166
- isInitialized,
167
- setIsInitialized
168
- };
169
- $[27] = fetchingId;
170
- $[28] = guid;
171
- $[29] = isInitialized;
172
- $[30] = methodConfig;
173
- $[31] = model;
174
- $[32] = modelArray;
175
- $[33] = modelMinusRelations;
176
- $[34] = modelStatus;
177
- $[35] = pathParams;
178
- $[36] = previousModel;
179
- $[37] = previousModelName;
180
- $[38] = previousModelStatus;
181
- $[39] = previousPathParams;
182
- $[40] = previousQueryParams;
183
- $[41] = queryParams;
184
- $[42] = t7;
185
- } else {
186
- t7 = $[42];
187
- }
188
- return t7;
189
92
  }
190
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyIiwiX21vZGVsU3RhdHVzIiwiX21vZGVsIiwiX3VzZUd1aWQiLCJfdXNlUHJldmlvdXMiLCJ1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiIsInByb3BzIiwic2VsZWN0b3JGdW5jdGlvbiIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInByb3BQYXRoUGFyYW1zIiwicXVlcnlQYXJhbXMiLCJpbmNvbWluZ1F1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwiZ3VpZCIsInVzZUd1aWQiLCJyb3V0ZU1hdGNoUGFyYW1zIiwidXNlUGFyYW1zIiwiaXNJbml0aWFsaXplZCIsInNldElzSW5pdGlhbGl6ZWQiLCJ1c2VTdGF0ZSIsIm1vZGVsU3RhdHVzIiwic2V0TW9kZWxTdGF0dXMiLCJNT0RFTF9TVEFUVVMiLCJVTklOSVRJQUxJWkVEIiwiZmV0Y2hpbmdJZCIsInNldEZldGNoaW5nSWQiLCJwZXJzaXN0ZWRQYXRoUGFyYW1zIiwic2V0UGVyc2lzdGVkUGF0aFBhcmFtcyIsInBlcnNpc3RlZFF1ZXJ5UGFyYW1zIiwic2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMiLCJ0MCIsImlzRXF1YWwiLCJ0MSIsInQyIiwic3RhdGUiLCJtb2RlbCIsImlzQ29sbGVjdGlvbkl0ZW0iLCJ1c2VTZWxlY3RvciIsInByZXZpb3VzTW9kZWwiLCJ1c2VQcmV2aW91c1ZhbHVlIiwicHJldmlvdXNNb2RlbE5hbWUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwicHJldmlvdXNQYXRoUGFyYW1zIiwicHJldmlvdXNRdWVyeVBhcmFtcyIsInQzIiwiZ2V0TW9kZWxBcnJheSIsInVuZGVmaW5lZCIsIm1vZGVsQXJyYXkiLCJ0NCIsImdldE1vZGVsTWludXNSZWxhdGlvbnMiLCJtb2RlbE1pbnVzUmVsYXRpb25zIiwidDUiLCJTeW1ib2wiLCJmb3IiLCJuZXdNb2RlbFN0YXR1cyIsIm5ld0ZldGNoaW5nSWQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInQ2IiwibWV0aG9kQ29uZmlnIiwicHJldmlvdXNSZW5kZXJNb2RlbCIsInVzZVByZXZpb3VzUmVuZGVyIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsInQ3Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXInXHJcbmltcG9ydCB7IE1PREVMX1NUQVRVUyB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2RlbFN0YXR1cydcclxuaW1wb3J0IHtcclxuXHRCYXNlUmVkdXhTdGF0ZSxcclxuXHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXHJcblx0Q29sbGVjdGlvbkNvbW1vblN0YXRlLFxyXG5cdENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uLFxyXG5cdENvbGxlY3Rpb25TZWxlY3Rvck1ldGhvZCxcclxuXHRNb2RlbCxcclxuXHRNb2RlbENvbGxlY3Rpb25cclxufSBmcm9tICcuLi90eXBlcydcclxuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSwgZ2V0TW9kZWxNaW51c1JlbGF0aW9ucywgaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCB9IGZyb20gJy4uL3V0aWxzL21vZGVsJ1xyXG5pbXBvcnQgeyB1c2VHdWlkIH0gZnJvbSAnLi91c2VHdWlkJ1xyXG5pbXBvcnQgeyB1c2VQcmV2aW91c1JlbmRlciwgdXNlUHJldmlvdXNWYWx1ZSB9IGZyb20gJy4vdXNlUHJldmlvdXMnXHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiByZXR1cm5lZCBieSBgdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb25gIGZvciB1c2UgaW4gYHVzZUNvbGxlY3Rpb25gIGFuZCBgdXNlQ29sbGVjdGlvbkl0ZW1gICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgQ29sbGVjdGlvbkNvbW1vblN0YXRlIHtcclxuXHRwcmV2aW91c01vZGVsTmFtZTogc3RyaW5nXHJcblx0Z3VpZDogc3RyaW5nXHJcblx0bW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0bW9kZWxBcnJheT86IFRNb2RlbFtdXHJcblx0bW9kZWxNaW51c1JlbGF0aW9ucz86IFBhcnRpYWw8VE1vZGVsPlxyXG5cdHByZXZpb3VzTW9kZWw6IFRNb2RlbCB8IE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+XHJcblx0cGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHByZXZpb3VzUGF0aFBhcmFtczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPlxyXG5cdHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRwcmV2aW91c1F1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj5cclxuXHRtZXRob2RDb25maWc6IENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uXHJcblx0aXNJbml0aWFsaXplZDogYm9vbGVhblxyXG5cdHNldElzSW5pdGlhbGl6ZWQ6ICh2YWx1ZTogUmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4pID0+IHZvaWRcclxufVxyXG5cclxuLyoqXHJcbiAqIGB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbmAgc2hhcmVzIGNvbW1vbiBsb2dpYyBiZXR3ZWVuIGB1c2VDb2xsZWN0aW9uYCBhbmQgYHVzZUNvbGxlY3Rpb25JdGVtYCxcclxuICogaGFuZGxpbmcgbW9zdCBvZiB0aGUgc3RhdGUsIHJvdXRlLCBhbmQgcmVkdXggY29uZmlndXJhdGlvbi5cclxuICpcclxuICogQHBhcmFtIHByb3BzIFRoZSBwcm9wcyB1c2VkIHRvIGNhbGwgdGhlIG91dGVyIGhvb2ssIGB1c2VDb2xsZWN0aW9uYCBvciBgdXNlQ29sbGVjdGlvbkl0ZW1gXHJcbiAqIEBwYXJhbSBzZWxlY3RvckZ1bmN0aW9uIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBzZWxlY3QgdGhlIGBtb2RlbGAgZnJvbSByZWR1eC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbjxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4oXHJcblx0cHJvcHM6IENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRzZWxlY3RvckZ1bmN0aW9uOiBDb2xsZWN0aW9uU2VsZWN0b3JNZXRob2RcclxuKTogQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPiB7XHJcblx0Y29uc3QgeyBtb2RlbE5hbWUsIHBhdGhQYXJhbXM6IHByb3BQYXRoUGFyYW1zLCBxdWVyeVBhcmFtczogaW5jb21pbmdRdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSBwcm9wc1xyXG5cdGNvbnN0IGd1aWQgPSB1c2VHdWlkKClcclxuXHRjb25zdCByb3V0ZU1hdGNoUGFyYW1zID0gdXNlUGFyYW1zKClcclxuXHJcblx0Y29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlU3RhdGUoZmFsc2UpXHJcblx0Y29uc3QgW21vZGVsU3RhdHVzLCBzZXRNb2RlbFN0YXR1c10gPSB1c2VTdGF0ZTxNT0RFTF9TVEFUVVM+KE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVEKVxyXG5cdGNvbnN0IFtmZXRjaGluZ0lkLCBzZXRGZXRjaGluZ0lkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlcj4oKVxyXG5cclxuXHQvLyBrZWVwIHRyYWNrIG9mIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIHZhbHVlcyBpbiBzdGF0ZVxyXG5cdC8vIHRoZSBwcm9wL2NhbGN1bGF0ZWQgdmFsdWVzIHdpbGwgYWxtb3N0IGFsd2F5cyBiZSBhIG5ldyBhcnJheSBvciBvYmplY3QsIHdoaWNoIGNhdXNlcyBpc3N1ZXMgZm9yIGhvb2sgZGVwc1xyXG5cdGNvbnN0IFtwZXJzaXN0ZWRQYXRoUGFyYW1zLCBzZXRQZXJzaXN0ZWRQYXRoUGFyYW1zXSA9IHVzZVN0YXRlKHByb3BQYXRoUGFyYW1zKVxyXG5cdGNvbnN0IFtwZXJzaXN0ZWRRdWVyeVBhcmFtcywgc2V0UGVyc2lzdGVkUXVlcnlQYXJhbXNdID0gdXNlU3RhdGUoaW5jb21pbmdRdWVyeVBhcmFtcylcclxuXHQvLyBpbW1lZGlhdGVseSB1c2UgdGhlIGluY29taW5nIHZhbHVlIGlmIGl0IGlzIGRpZmZlcmVudCB0aGFuIHRoZSBwZXJzaXN0ZWQgdmFsdWVcclxuXHQvLyB0aGlzIGFsbG93cyBjb21wb25lbnRzIHVzaW5nIHRoaXMgaG9vayB0byBhdm9pZCB3YWl0aW5nIGZvciBhbm90aGVyIHN0YXRlIHVwZGF0ZSBiZWZvcmUgdXNpbmcgdGhlIG5ldyB2YWx1ZXNcclxuXHRjb25zdCBwYXRoUGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKHByb3BQYXRoUGFyYW1zLCBwZXJzaXN0ZWRQYXRoUGFyYW1zKSA/IHBlcnNpc3RlZFBhdGhQYXJhbXMgOiBwcm9wUGF0aFBhcmFtcyksXHJcblx0XHRbcHJvcFBhdGhQYXJhbXMsIHBlcnNpc3RlZFBhdGhQYXJhbXNdXHJcblx0KVxyXG5cdGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlTWVtbyhcclxuXHRcdCgpID0+IChpc0VxdWFsKGluY29taW5nUXVlcnlQYXJhbXMsIHBlcnNpc3RlZFF1ZXJ5UGFyYW1zKSA/IHBlcnNpc3RlZFF1ZXJ5UGFyYW1zIDogaW5jb21pbmdRdWVyeVBhcmFtcyksXHJcblx0XHRbaW5jb21pbmdRdWVyeVBhcmFtcywgcGVyc2lzdGVkUXVlcnlQYXJhbXNdXHJcblx0KVxyXG5cdC8vIHVwZGF0ZSB0aGUgcGVyc2lzdGVkIHBhdGhQYXJhbXMgYW5kIHF1ZXJ5UGFyYW1zIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkIGZvciBsYXRlciBjb21wYXJpc29ucyB3aXRoIGluY29taW5nIHZhbHVlc1xyXG5cdGlmICghaXNFcXVhbChwZXJzaXN0ZWRQYXRoUGFyYW1zLCBwYXRoUGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUGF0aFBhcmFtcyhwYXRoUGFyYW1zKVxyXG5cdH1cclxuXHRpZiAoIWlzRXF1YWwocGVyc2lzdGVkUXVlcnlQYXJhbXMsIHF1ZXJ5UGFyYW1zKSkge1xyXG5cdFx0c2V0UGVyc2lzdGVkUXVlcnlQYXJhbXMocXVlcnlQYXJhbXMpXHJcblx0fVxyXG5cclxuXHRjb25zdCB7IG1vZGVsLCBpc0NvbGxlY3Rpb25JdGVtIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKSA9PiB7XHJcblx0XHRyZXR1cm4gc2VsZWN0b3JGdW5jdGlvbjxUTW9kZWw+KHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCByb3V0ZU1hdGNoUGFyYW1zLCBzdGF0ZSB9KVxyXG5cdH0pXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbCA9IHVzZVByZXZpb3VzVmFsdWUobW9kZWwpXHJcblx0Y29uc3QgcHJldmlvdXNNb2RlbE5hbWUgPSB1c2VQcmV2aW91c1ZhbHVlKG1vZGVsTmFtZSlcclxuXHRjb25zdCBwcmV2aW91c01vZGVsU3RhdHVzID0gdXNlUHJldmlvdXNWYWx1ZShtb2RlbFN0YXR1cylcclxuXHRjb25zdCBwcmV2aW91c1BhdGhQYXJhbXMgPSB1c2VQcmV2aW91c1ZhbHVlKHBhdGhQYXJhbXMpXHJcblx0Y29uc3QgcHJldmlvdXNRdWVyeVBhcmFtcyA9IHVzZVByZXZpb3VzVmFsdWUocXVlcnlQYXJhbXMpXHJcblxyXG5cdGNvbnN0IG1vZGVsQXJyYXkgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKCFpc0NvbGxlY3Rpb25JdGVtID8gZ2V0TW9kZWxBcnJheTxUTW9kZWw+KG1vZGVsIGFzIE1vZGVsQ29sbGVjdGlvbjxUTW9kZWw+LCBndWlkKSA6IHVuZGVmaW5lZCksXHJcblx0XHRbZ3VpZCwgaXNDb2xsZWN0aW9uSXRlbSwgbW9kZWxdXHJcblx0KVxyXG5cdGNvbnN0IG1vZGVsTWludXNSZWxhdGlvbnMgPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKGlzQ29sbGVjdGlvbkl0ZW0gPyBnZXRNb2RlbE1pbnVzUmVsYXRpb25zKG1vZGVsIGFzIFRNb2RlbCkgOiB1bmRlZmluZWQpLFxyXG5cdFx0W2lzQ29sbGVjdGlvbkl0ZW0sIG1vZGVsXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY2hhbmdlTW9kZWxTdGF0dXMgPSB1c2VDYWxsYmFjaygobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUywgbmV3RmV0Y2hpbmdJZD86IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG5cdFx0c2V0RmV0Y2hpbmdJZChuZXdGZXRjaGluZ0lkKVxyXG5cdFx0c2V0TW9kZWxTdGF0dXMobmV3TW9kZWxTdGF0dXMpXHJcblx0fSwgW10pXHJcblxyXG5cdGNvbnN0IG1ldGhvZENvbmZpZzogQ29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24gPSB1c2VNZW1vKFxyXG5cdFx0KCkgPT4gKHtcclxuXHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0Z3VpZCxcclxuXHRcdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdFx0Y2hhbmdlTW9kZWxTdGF0dXMsXHJcblx0XHRcdGRpc2FibGVBdXRvTG9hZFxyXG5cdFx0fSksXHJcblx0XHRbbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZ3VpZCwgaXNJbml0aWFsaXplZCwgY2hhbmdlTW9kZWxTdGF0dXMsIGRpc2FibGVBdXRvTG9hZF1cclxuXHQpXHJcblxyXG5cdGNvbnN0IHByZXZpb3VzUmVuZGVyTW9kZWwgPSB1c2VQcmV2aW91c1JlbmRlcihtb2RlbClcclxuXHQvLyB1cGRhdGUgYG1vZGVsU3RhdHVzYCB3aGVuIGBtb2RlbGAgZmV0Y2ggZmluaXNoZXNcclxuXHRoYW5kbGVNb2RlbEZldGNoRmluaXNoKG1vZGVsLCBwcmV2aW91c1JlbmRlck1vZGVsLCBmZXRjaGluZ0lkLCBjaGFuZ2VNb2RlbFN0YXR1cylcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0Z3VpZCxcclxuXHRcdG1vZGVsLFxyXG5cdFx0bW9kZWxBcnJheSxcclxuXHRcdG1vZGVsTWludXNSZWxhdGlvbnMsXHJcblx0XHRwcmV2aW91c01vZGVsLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzUGF0aFBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdG1vZGVsU3RhdHVzLFxyXG5cdFx0cHJldmlvdXNNb2RlbFN0YXR1cyxcclxuXHRcdGZldGNoaW5nSWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRpc0luaXRpYWxpemVkLFxyXG5cdFx0c2V0SXNJbml0aWFsaXplZFxyXG5cdH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFVQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFFQTs7QUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFBUSwyQkFBQUMsS0FBQSxFQUFBQyxnQkFBQTtFQUFBLE1BQUFDLENBQUEsT0FB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
93
+ exports.useCollectionConfiguration = useCollectionConfiguration;
@@ -1,159 +1,62 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useCollectionItem = useCollectionItem;
7
- var _reactCompilerRuntime = require("react-compiler-runtime");
8
- var _react = require("react");
9
- var _collection = require("../utils/collection");
10
- var _useCollectionConfiguration = require("./useCollectionConfiguration");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCollectionItem = void 0;
4
+ var react_1 = require("react");
5
+ var collection_1 = require("../utils/collection");
6
+ var useCollectionConfiguration_1 = require("./useCollectionConfiguration");
11
7
  function useCollectionItem(props) {
12
- const $ = (0, _reactCompilerRuntime.c)(38);
13
- const {
14
- modelName,
15
- disableAutoLoadOnParamsChange
16
- } = props;
17
- const config = (0, _useCollectionConfiguration.useCollectionConfiguration)(props, _collection.selectCollectionItemFromState);
18
- const {
19
- previousModelName,
20
- guid,
21
- model,
22
- pathParams,
23
- previousPathParams,
24
- queryParams,
25
- previousQueryParams,
26
- modelStatus,
27
- previousModelStatus,
28
- isInitialized,
29
- setIsInitialized,
30
- methodConfig,
31
- modelMinusRelations
32
- } = config;
33
- let t0;
34
- if ($[0] !== methodConfig) {
35
- t0 = t1 => {
36
- const params = t1 === undefined ? {} : t1;
37
- (0, _collection.loadCollectionItem)(methodConfig, params);
38
- };
39
- $[0] = methodConfig;
40
- $[1] = t0;
41
- } else {
42
- t0 = $[1];
43
- }
44
- const load = t0;
45
- let t1;
46
- if ($[2] !== methodConfig || $[3] !== model) {
47
- t1 = params_0 => {
48
- (0, _collection.createCollectionItem)(model, methodConfig, params_0);
49
- };
50
- $[2] = methodConfig;
51
- $[3] = model;
52
- $[4] = t1;
53
- } else {
54
- t1 = $[4];
55
- }
56
- const create = t1;
57
- let t2;
58
- if ($[5] !== methodConfig || $[6] !== model) {
59
- t2 = params_1 => {
60
- (0, _collection.updateCollectionItem)(model, methodConfig, params_1);
61
- };
62
- $[5] = methodConfig;
63
- $[6] = model;
64
- $[7] = t2;
65
- } else {
66
- t2 = $[7];
67
- }
68
- const update = t2;
69
- let t3;
70
- if ($[8] !== methodConfig || $[9] !== model) {
71
- t3 = t4 => {
72
- const params_2 = t4 === undefined ? {} : t4;
73
- (0, _collection.deleteCollectionItem)(model, methodConfig, params_2);
8
+ var modelName = props.modelName, disableAutoLoadOnParamsChange = props.disableAutoLoadOnParamsChange;
9
+ // state, route, and redux
10
+ var config = useCollectionConfiguration_1.useCollectionConfiguration(props, collection_1.selectCollectionItemFromState);
11
+ var previousModelName = config.previousModelName, guid = config.guid, model = config.model, pathParams = config.pathParams, previousPathParams = config.previousPathParams, queryParams = config.queryParams, previousQueryParams = config.previousQueryParams, modelStatus = config.modelStatus, previousModelStatus = config.previousModelStatus, isInitialized = config.isInitialized, setIsInitialized = config.setIsInitialized, methodConfig = config.methodConfig, modelMinusRelations = config.modelMinusRelations;
12
+ // decorated methods
13
+ var load = react_1.useCallback(function (params) {
14
+ if (params === void 0) { params = {}; }
15
+ collection_1.loadCollectionItem(methodConfig, params);
16
+ }, [methodConfig]);
17
+ var create = react_1.useCallback(function (params) {
18
+ collection_1.createCollectionItem(model, methodConfig, params);
19
+ }, [model, methodConfig]);
20
+ var update = react_1.useCallback(function (params) {
21
+ collection_1.updateCollectionItem(model, methodConfig, params);
22
+ }, [model, methodConfig]);
23
+ var deleteItem = react_1.useCallback(function (params) {
24
+ if (params === void 0) { params = {}; }
25
+ collection_1.deleteCollectionItem(model, methodConfig, params);
26
+ }, [model, methodConfig]);
27
+ // initialize and auto-load, if needed (runs once)
28
+ react_1.useEffect(function () {
29
+ if (!isInitialized) {
30
+ collection_1.initializeCollectionItem(model, load, methodConfig);
31
+ setIsInitialized(true);
32
+ }
33
+ }, [isInitialized, load, methodConfig, model, setIsInitialized]);
34
+ // re-load if `pathParams` or `queryParams` change, unless `disableAutoLoadOnParamsChange` is true
35
+ react_1.useEffect(function () {
36
+ if (!disableAutoLoadOnParamsChange) {
37
+ collection_1.handleCollectionItemParamsChange(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
38
+ }
39
+ }, [
40
+ disableAutoLoadOnParamsChange,
41
+ load,
42
+ modelName,
43
+ pathParams,
44
+ previousModelName,
45
+ previousPathParams,
46
+ previousQueryParams,
47
+ queryParams
48
+ ]);
49
+ return {
50
+ guid: guid,
51
+ model: model,
52
+ modelMinusRelations: modelMinusRelations,
53
+ modelStatus: modelStatus,
54
+ previousModelStatus: previousModelStatus,
55
+ load: load,
56
+ stopPeriodicLoad: collection_1.stopCollectionPeriodicLoad,
57
+ create: create,
58
+ update: update,
59
+ delete: deleteItem
74
60
  };
75
- $[8] = methodConfig;
76
- $[9] = model;
77
- $[10] = t3;
78
- } else {
79
- t3 = $[10];
80
- }
81
- const deleteItem = t3;
82
- let t4;
83
- let t5;
84
- if ($[11] !== isInitialized || $[12] !== load || $[13] !== methodConfig || $[14] !== model || $[15] !== setIsInitialized) {
85
- t4 = () => {
86
- if (!isInitialized) {
87
- (0, _collection.initializeCollectionItem)(model, load, methodConfig);
88
- setIsInitialized(true);
89
- }
90
- };
91
- t5 = [isInitialized, load, methodConfig, model, setIsInitialized];
92
- $[11] = isInitialized;
93
- $[12] = load;
94
- $[13] = methodConfig;
95
- $[14] = model;
96
- $[15] = setIsInitialized;
97
- $[16] = t4;
98
- $[17] = t5;
99
- } else {
100
- t4 = $[16];
101
- t5 = $[17];
102
- }
103
- (0, _react.useEffect)(t4, t5);
104
- let t6;
105
- let t7;
106
- if ($[18] !== disableAutoLoadOnParamsChange || $[19] !== load || $[20] !== modelName || $[21] !== pathParams || $[22] !== previousModelName || $[23] !== previousPathParams || $[24] !== previousQueryParams || $[25] !== queryParams) {
107
- t6 = () => {
108
- if (!disableAutoLoadOnParamsChange) {
109
- (0, _collection.handleCollectionItemParamsChange)(modelName, previousModelName, pathParams, previousPathParams, queryParams, previousQueryParams, load);
110
- }
111
- };
112
- t7 = [disableAutoLoadOnParamsChange, load, modelName, pathParams, previousModelName, previousPathParams, previousQueryParams, queryParams];
113
- $[18] = disableAutoLoadOnParamsChange;
114
- $[19] = load;
115
- $[20] = modelName;
116
- $[21] = pathParams;
117
- $[22] = previousModelName;
118
- $[23] = previousPathParams;
119
- $[24] = previousQueryParams;
120
- $[25] = queryParams;
121
- $[26] = t6;
122
- $[27] = t7;
123
- } else {
124
- t6 = $[26];
125
- t7 = $[27];
126
- }
127
- (0, _react.useEffect)(t6, t7);
128
- const t8 = model;
129
- const t9 = modelMinusRelations;
130
- let t10;
131
- if ($[28] !== create || $[29] !== deleteItem || $[30] !== guid || $[31] !== load || $[32] !== modelStatus || $[33] !== previousModelStatus || $[34] !== t8 || $[35] !== t9 || $[36] !== update) {
132
- t10 = {
133
- guid,
134
- model: t8,
135
- modelMinusRelations: t9,
136
- modelStatus,
137
- previousModelStatus,
138
- load,
139
- stopPeriodicLoad: _collection.stopCollectionPeriodicLoad,
140
- create,
141
- update,
142
- delete: deleteItem
143
- };
144
- $[28] = create;
145
- $[29] = deleteItem;
146
- $[30] = guid;
147
- $[31] = load;
148
- $[32] = modelStatus;
149
- $[33] = previousModelStatus;
150
- $[34] = t8;
151
- $[35] = t9;
152
- $[36] = update;
153
- $[37] = t10;
154
- } else {
155
- t10 = $[37];
156
- }
157
- return t10;
158
61
  }
159
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2NvbGxlY3Rpb24iLCJfdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24iLCJ1c2VDb2xsZWN0aW9uSXRlbSIsInByb3BzIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJtb2RlbE5hbWUiLCJkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSIsImNvbmZpZyIsInVzZUNvbGxlY3Rpb25Db25maWd1cmF0aW9uIiwic2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUiLCJwcmV2aW91c01vZGVsTmFtZSIsImd1aWQiLCJtb2RlbCIsInBhdGhQYXJhbXMiLCJwcmV2aW91c1BhdGhQYXJhbXMiLCJxdWVyeVBhcmFtcyIsInByZXZpb3VzUXVlcnlQYXJhbXMiLCJtb2RlbFN0YXR1cyIsInByZXZpb3VzTW9kZWxTdGF0dXMiLCJpc0luaXRpYWxpemVkIiwic2V0SXNJbml0aWFsaXplZCIsIm1ldGhvZENvbmZpZyIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJ0MCIsInQxIiwicGFyYW1zIiwidW5kZWZpbmVkIiwibG9hZENvbGxlY3Rpb25JdGVtIiwibG9hZCIsInBhcmFtc18wIiwiY3JlYXRlQ29sbGVjdGlvbkl0ZW0iLCJjcmVhdGUiLCJ0MiIsInBhcmFtc18xIiwidXBkYXRlQ29sbGVjdGlvbkl0ZW0iLCJ1cGRhdGUiLCJ0MyIsInQ0IiwicGFyYW1zXzIiLCJkZWxldGVDb2xsZWN0aW9uSXRlbSIsImRlbGV0ZUl0ZW0iLCJ0NSIsImluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSIsInVzZUVmZmVjdCIsInQ2IiwidDciLCJoYW5kbGVDb2xsZWN0aW9uSXRlbVBhcmFtc0NoYW5nZSIsInQ4IiwidDkiLCJ0MTAiLCJzdG9wUGVyaW9kaWNMb2FkIiwic3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQiLCJkZWxldGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ29sbGVjdGlvbkl0ZW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQge1xyXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxyXG5cdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcclxuXHRNb2RlbFxyXG59IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQge1xyXG5cdGNyZWF0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxyXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSxcclxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXHJcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXHJcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cclxufSBmcm9tICcuLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyB1c2VDb2xsZWN0aW9uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb24nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZUNvbGxlY3Rpb25JdGVtUmVzcG9uc2U8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XHJcblx0ZXh0ZW5kcyBDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0XHRDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2U8VE1vZGVsPixcclxuXHRcdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzPFRNb2RlbD4sXHJcblx0XHRDb2xsZWN0aW9uSXRlbU1ldGhvZHMge1xyXG5cdGd1aWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29sbGVjdGlvbkl0ZW08VE1vZGVsIGV4dGVuZHMgTW9kZWw+KFxyXG5cdHByb3BzOiBDb2xsZWN0aW9uQ29tbW9uUHJvcHNcclxuKTogVXNlQ29sbGVjdGlvbkl0ZW1SZXNwb25zZTxUTW9kZWw+IHtcclxuXHRjb25zdCB7IG1vZGVsTmFtZSwgZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UgfSA9IHByb3BzXHJcblxyXG5cdC8vIHN0YXRlLCByb3V0ZSwgYW5kIHJlZHV4XHJcblx0Y29uc3QgY29uZmlnID0gdXNlQ29sbGVjdGlvbkNvbmZpZ3VyYXRpb248VE1vZGVsPihwcm9wcywgc2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUpXHJcblx0Y29uc3Qge1xyXG5cdFx0cHJldmlvdXNNb2RlbE5hbWUsXHJcblx0XHRndWlkLFxyXG5cdFx0bW9kZWwsXHJcblx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cXVlcnlQYXJhbXMsXHJcblx0XHRwcmV2aW91c1F1ZXJ5UGFyYW1zLFxyXG5cdFx0bW9kZWxTdGF0dXMsXHJcblx0XHRwcmV2aW91c01vZGVsU3RhdHVzLFxyXG5cdFx0aXNJbml0aWFsaXplZCxcclxuXHRcdHNldElzSW5pdGlhbGl6ZWQsXHJcblx0XHRtZXRob2RDb25maWcsXHJcblx0XHRtb2RlbE1pbnVzUmVsYXRpb25zXHJcblx0fSA9IGNvbmZpZ1xyXG5cclxuXHQvLyBkZWNvcmF0ZWQgbWV0aG9kc1xyXG5cdGNvbnN0IGxvYWQgPSB1c2VDYWxsYmFjayhcclxuXHRcdChwYXJhbXM6IENvbGxlY3Rpb25JdGVtTG9hZFBhcmFtcyA9IHt9KSA9PiB7XHJcblx0XHRcdGxvYWRDb2xsZWN0aW9uSXRlbShtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgY3JlYXRlID0gdXNlQ2FsbGJhY2soXHJcblx0XHQocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNyZWF0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBtZXRob2RDb25maWcsIHBhcmFtcylcclxuXHRcdH0sXHJcblx0XHRbbW9kZWwsIG1ldGhvZENvbmZpZ11cclxuXHQpXHJcblxyXG5cdGNvbnN0IHVwZGF0ZSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1VcGRhdGVQYXJhbXMpID0+IHtcclxuXHRcdFx0dXBkYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIG1ldGhvZENvbmZpZywgcGFyYW1zKVxyXG5cdFx0fSxcclxuXHRcdFttb2RlbCwgbWV0aG9kQ29uZmlnXVxyXG5cdClcclxuXHJcblx0Y29uc3QgZGVsZXRlSXRlbSA9IHVzZUNhbGxiYWNrKFxyXG5cdFx0KHBhcmFtczogQ29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMgPSB7fSkgPT4ge1xyXG5cdFx0XHRkZWxldGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgbWV0aG9kQ29uZmlnLCBwYXJhbXMpXHJcblx0XHR9LFxyXG5cdFx0W21vZGVsLCBtZXRob2RDb25maWddXHJcblx0KVxyXG5cclxuXHQvLyBpbml0aWFsaXplIGFuZCBhdXRvLWxvYWQsIGlmIG5lZWRlZCAocnVucyBvbmNlKVxyXG5cdHVzZUVmZmVjdCgoKSA9PiB7XHJcblx0XHRpZiAoIWlzSW5pdGlhbGl6ZWQpIHtcclxuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCBsb2FkLCBtZXRob2RDb25maWcpXHJcblx0XHRcdHNldElzSW5pdGlhbGl6ZWQodHJ1ZSlcclxuXHRcdH1cclxuXHR9LCBbaXNJbml0aWFsaXplZCwgbG9hZCwgbWV0aG9kQ29uZmlnLCBtb2RlbCwgc2V0SXNJbml0aWFsaXplZF0pXHJcblxyXG5cdC8vIHJlLWxvYWQgaWYgYHBhdGhQYXJhbXNgIG9yIGBxdWVyeVBhcmFtc2AgY2hhbmdlLCB1bmxlc3MgYGRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlYCBpcyB0cnVlXHJcblx0dXNlRWZmZWN0KCgpID0+IHtcclxuXHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcclxuXHRcdFx0aGFuZGxlQ29sbGVjdGlvbkl0ZW1QYXJhbXNDaGFuZ2UoXHJcblx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXMsXHJcblx0XHRcdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdHByZXZpb3VzUXVlcnlQYXJhbXMsXHJcblx0XHRcdFx0bG9hZFxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fSwgW1xyXG5cdFx0ZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UsXHJcblx0XHRsb2FkLFxyXG5cdFx0bW9kZWxOYW1lLFxyXG5cdFx0cGF0aFBhcmFtcyxcclxuXHRcdHByZXZpb3VzTW9kZWxOYW1lLFxyXG5cdFx0cHJldmlvdXNQYXRoUGFyYW1zLFxyXG5cdFx0cHJldmlvdXNRdWVyeVBhcmFtcyxcclxuXHRcdHF1ZXJ5UGFyYW1zXHJcblx0XSlcclxuXHJcblx0cmV0dXJuIHtcclxuXHRcdGd1aWQsXHJcblx0XHRtb2RlbDogbW9kZWwgYXMgVE1vZGVsLFxyXG5cdFx0bW9kZWxNaW51c1JlbGF0aW9uczogbW9kZWxNaW51c1JlbGF0aW9ucyBhcyBQYXJ0aWFsPFRNb2RlbD4sXHJcblx0XHRtb2RlbFN0YXR1cyxcclxuXHRcdHByZXZpb3VzTW9kZWxTdGF0dXMsXHJcblx0XHRsb2FkLFxyXG5cdFx0c3RvcFBlcmlvZGljTG9hZDogc3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0XHRjcmVhdGUsXHJcblx0XHR1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
62
+ exports.useCollectionItem = useCollectionItem;
@@ -1,25 +1,14 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useGuid = useGuid;
7
- var _reactCompilerRuntime = require("react-compiler-runtime");
8
- var _react = require("react");
9
- var _uuid = require("uuid");
10
- /**
11
- * `useGuid` generates and persists a unique guid for the lifetime of the component.
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useGuid = void 0;
4
+ var react_1 = require("react");
5
+ var uuid_1 = require("uuid");
6
+ /**
7
+ * `useGuid` generates and persists a unique guid for the lifetime of the component.
12
8
  */
13
9
  function useGuid() {
14
- const $ = (0, _reactCompilerRuntime.c)(1);
15
- let t0;
16
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17
- t0 = (0, _uuid.v4)();
18
- $[0] = t0;
19
- } else {
20
- t0 = $[0];
21
- }
22
- const [guid] = (0, _react.useState)(t0);
23
- return guid;
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ var _a = react_1.useState(uuid_1.v4()), guid = _a[0], setGuid = _a[1];
12
+ return guid;
24
13
  }
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3V1aWQiLCJ1c2VHdWlkIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJ0MCIsIlN5bWJvbCIsImZvciIsInV1aWR2NCIsImd1aWQiLCJ1c2VTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VHdWlkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnXHJcblxyXG4vKipcclxuICogYHVzZUd1aWRgIGdlbmVyYXRlcyBhbmQgcGVyc2lzdHMgYSB1bmlxdWUgZ3VpZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXNlR3VpZCgpIHtcclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcblx0Y29uc3QgW2d1aWQsIHNldEd1aWRdID0gdXNlU3RhdGU8c3RyaW5nPih1dWlkdjQoKSlcclxuXHRyZXR1cm4gZ3VpZFxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUVBO0FBQ0E7QUFDQTtBQUNPLFNBQUFFLFFBQUE7RUFBQSxNQUFBQyxDQUFBLE9BQUFDLHFCQUFBLENBQUFDLENBQUE7RUFBQSxJQUFBQyxFQUFBO0VBQUEsSUFBQUgsQ0FBQSxRQUFBSSxNQUFBLENBQUFDLEdBQUE7SUFFbUNGLEVBQUEsT0FBQUcsUUFBTSxFQUFDLENBQUM7SUFBQU4sQ0FBQSxNQUFBRyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBSCxDQUFBO0VBQUE7RUFBakQsT0FBQU8sSUFBQSxJQUF3QixJQUFBQyxlQUFRLEVBQVNMLEVBQVEsQ0FBQztFQUFBLE9BQzNDSSxJQUFJO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
14
+ exports.useGuid = useGuid;
@@ -1,28 +1,5 @@
1
1
  /**
2
- * Persists a previous `value` when the `value` changes. This change will not cause a re-render, causing the value to
3
- * 'lag' one render behind the current value.
4
- *
2
+ * `usePrevious` persists a previous `value` when the `value` changes.
5
3
  * @param value A value, e.g. a prop or a value from `useState`.
6
- * @deprecated Reading ref values in render is not recommended. If you want to use the previous value to make a one-time
7
- * calculation based on a change, you probably want to use {@link usePreviousRender} instead. If you want to persist the
8
- * previous value across renders, you probably want to use {@link usePreviousValue} instead.
9
4
  */
10
5
  export declare function usePrevious<T>(value: T): T;
11
- /**
12
- * Persists a previous `value` when the `value` changes. It will continue to return the most recent value before the
13
- * current one. This makes it useful for values used in display logic where the previous value should be remembered.
14
- *
15
- * @param currentValue The variable you to track the previous value of across renders.
16
- */
17
- export declare function usePreviousValue<T>(currentValue: T): T;
18
- /**
19
- * Returns the value from the previous render. This will update to the new value on the next render (and immediately
20
- * re-render your component), making it helpful to make one-time changes based on the difference between an object and
21
- * its previous value.
22
- *
23
- * The immediate re-render caused by this hook will happen **before** calling useEffect hooks or rendering child
24
- * components. Those hooks and child components will **not** see the render with different values.
25
- *
26
- * @param currentValue The variable you want to track the value of in the previous render.
27
- */
28
- export declare function usePreviousRender<T>(currentValue: T): T;