@cratis/arc.react.mvvm 18.0.0

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 (238) hide show
  1. package/Bindings.ts +18 -0
  2. package/IHandleParams.ts +14 -0
  3. package/IHandleProps.ts +14 -0
  4. package/IHandleQueryParams.ts +14 -0
  5. package/IViewModelDetached.ts +12 -0
  6. package/MVVMContext.tsx +27 -0
  7. package/MobxOptions.ts +20 -0
  8. package/README.md +65 -0
  9. package/WellKnownBindings.ts +11 -0
  10. package/browser/ILocalStorage.ts +11 -0
  11. package/browser/INavigation.ts +9 -0
  12. package/browser/Navigation.ts +29 -0
  13. package/browser/index.ts +6 -0
  14. package/dialogs/BusyIndicator.ts +24 -0
  15. package/dialogs/DialogMediator.tsx +51 -0
  16. package/dialogs/DialogMediatorHandler.ts +67 -0
  17. package/dialogs/DialogRegistration.ts +25 -0
  18. package/dialogs/Dialogs.ts +58 -0
  19. package/dialogs/IDialogMediatorHandler.ts +40 -0
  20. package/dialogs/IDialogs.ts +37 -0
  21. package/dialogs/index.ts +12 -0
  22. package/dialogs/useDialog.tsx +34 -0
  23. package/dist/cjs/Bindings.d.ts +4 -0
  24. package/dist/cjs/Bindings.d.ts.map +1 -0
  25. package/dist/cjs/Bindings.js +21 -0
  26. package/dist/cjs/Bindings.js.map +1 -0
  27. package/dist/cjs/IHandleParams.d.ts +4 -0
  28. package/dist/cjs/IHandleParams.d.ts.map +1 -0
  29. package/dist/cjs/IHandleProps.d.ts +4 -0
  30. package/dist/cjs/IHandleProps.d.ts.map +1 -0
  31. package/dist/cjs/IHandleQueryParams.d.ts +4 -0
  32. package/dist/cjs/IHandleQueryParams.d.ts.map +1 -0
  33. package/dist/cjs/IViewModelDetached.d.ts +4 -0
  34. package/dist/cjs/IViewModelDetached.d.ts.map +1 -0
  35. package/dist/cjs/MVVMContext.d.ts +9 -0
  36. package/dist/cjs/MVVMContext.d.ts.map +1 -0
  37. package/dist/cjs/MVVMContext.js +21 -0
  38. package/dist/cjs/MVVMContext.js.map +1 -0
  39. package/dist/cjs/MobxOptions.d.ts +12 -0
  40. package/dist/cjs/MobxOptions.d.ts.map +1 -0
  41. package/dist/cjs/WellKnownBindings.d.ts +6 -0
  42. package/dist/cjs/WellKnownBindings.d.ts.map +1 -0
  43. package/dist/cjs/WellKnownBindings.js +10 -0
  44. package/dist/cjs/WellKnownBindings.js.map +1 -0
  45. package/dist/cjs/browser/ILocalStorage.d.ts +9 -0
  46. package/dist/cjs/browser/ILocalStorage.d.ts.map +1 -0
  47. package/dist/cjs/browser/ILocalStorage.js +7 -0
  48. package/dist/cjs/browser/ILocalStorage.js.map +1 -0
  49. package/dist/cjs/browser/INavigation.d.ts +5 -0
  50. package/dist/cjs/browser/INavigation.d.ts.map +1 -0
  51. package/dist/cjs/browser/INavigation.js +7 -0
  52. package/dist/cjs/browser/INavigation.js.map +1 -0
  53. package/dist/cjs/browser/Navigation.d.ts +7 -0
  54. package/dist/cjs/browser/Navigation.d.ts.map +1 -0
  55. package/dist/cjs/browser/Navigation.js +25 -0
  56. package/dist/cjs/browser/Navigation.js.map +1 -0
  57. package/dist/cjs/browser/index.d.ts +4 -0
  58. package/dist/cjs/browser/index.d.ts.map +1 -0
  59. package/dist/cjs/browser/index.js +12 -0
  60. package/dist/cjs/browser/index.js.map +1 -0
  61. package/dist/cjs/dialogs/BusyIndicator.d.ts +7 -0
  62. package/dist/cjs/dialogs/BusyIndicator.d.ts.map +1 -0
  63. package/dist/cjs/dialogs/BusyIndicator.js +16 -0
  64. package/dist/cjs/dialogs/BusyIndicator.js.map +1 -0
  65. package/dist/cjs/dialogs/DialogMediator.d.ts +11 -0
  66. package/dist/cjs/dialogs/DialogMediator.d.ts.map +1 -0
  67. package/dist/cjs/dialogs/DialogMediator.js +17 -0
  68. package/dist/cjs/dialogs/DialogMediator.js.map +1 -0
  69. package/dist/cjs/dialogs/DialogMediatorHandler.d.ts +14 -0
  70. package/dist/cjs/dialogs/DialogMediatorHandler.d.ts.map +1 -0
  71. package/dist/cjs/dialogs/DialogMediatorHandler.js +46 -0
  72. package/dist/cjs/dialogs/DialogMediatorHandler.js.map +1 -0
  73. package/dist/cjs/dialogs/DialogRegistration.d.ts +8 -0
  74. package/dist/cjs/dialogs/DialogRegistration.d.ts.map +1 -0
  75. package/dist/cjs/dialogs/DialogRegistration.js +13 -0
  76. package/dist/cjs/dialogs/DialogRegistration.js.map +1 -0
  77. package/dist/cjs/dialogs/Dialogs.d.ts +13 -0
  78. package/dist/cjs/dialogs/Dialogs.d.ts.map +1 -0
  79. package/dist/cjs/dialogs/Dialogs.js +40 -0
  80. package/dist/cjs/dialogs/Dialogs.js.map +1 -0
  81. package/dist/cjs/dialogs/IDialogMediatorHandler.d.ts +10 -0
  82. package/dist/cjs/dialogs/IDialogMediatorHandler.d.ts.map +1 -0
  83. package/dist/cjs/dialogs/IDialogMediatorHandler.js +7 -0
  84. package/dist/cjs/dialogs/IDialogMediatorHandler.js.map +1 -0
  85. package/dist/cjs/dialogs/IDialogs.d.ts +9 -0
  86. package/dist/cjs/dialogs/IDialogs.d.ts.map +1 -0
  87. package/dist/cjs/dialogs/IDialogs.js +7 -0
  88. package/dist/cjs/dialogs/IDialogs.js.map +1 -0
  89. package/dist/cjs/dialogs/index.d.ts +10 -0
  90. package/dist/cjs/dialogs/index.d.ts.map +1 -0
  91. package/dist/cjs/dialogs/index.js +24 -0
  92. package/dist/cjs/dialogs/index.js.map +1 -0
  93. package/dist/cjs/dialogs/useDialog.d.ts +5 -0
  94. package/dist/cjs/dialogs/useDialog.d.ts.map +1 -0
  95. package/dist/cjs/dialogs/useDialog.js +23 -0
  96. package/dist/cjs/dialogs/useDialog.js.map +1 -0
  97. package/dist/cjs/index.d.ts +14 -0
  98. package/dist/cjs/index.d.ts.map +1 -0
  99. package/dist/cjs/index.js +22 -0
  100. package/dist/cjs/index.js.map +1 -0
  101. package/dist/cjs/messaging/IMessenger.d.ts +8 -0
  102. package/dist/cjs/messaging/IMessenger.d.ts.map +1 -0
  103. package/dist/cjs/messaging/IMessenger.js +7 -0
  104. package/dist/cjs/messaging/IMessenger.js.map +1 -0
  105. package/dist/cjs/messaging/Message.d.ts +7 -0
  106. package/dist/cjs/messaging/Message.d.ts.map +1 -0
  107. package/dist/cjs/messaging/Message.js +13 -0
  108. package/dist/cjs/messaging/Message.js.map +1 -0
  109. package/dist/cjs/messaging/Messenger.d.ts +9 -0
  110. package/dist/cjs/messaging/Messenger.d.ts.map +1 -0
  111. package/dist/cjs/messaging/Messenger.js +20 -0
  112. package/dist/cjs/messaging/Messenger.js.map +1 -0
  113. package/dist/cjs/messaging/index.d.ts +4 -0
  114. package/dist/cjs/messaging/index.d.ts.map +1 -0
  115. package/dist/cjs/messaging/index.js +12 -0
  116. package/dist/cjs/messaging/index.js.map +1 -0
  117. package/dist/cjs/withViewModel.d.ts +8 -0
  118. package/dist/cjs/withViewModel.d.ts.map +1 -0
  119. package/dist/cjs/withViewModel.js +125 -0
  120. package/dist/cjs/withViewModel.js.map +1 -0
  121. package/dist/esm/Bindings.d.ts +4 -0
  122. package/dist/esm/Bindings.d.ts.map +1 -0
  123. package/dist/esm/Bindings.js +19 -0
  124. package/dist/esm/Bindings.js.map +1 -0
  125. package/dist/esm/IHandleParams.d.ts +4 -0
  126. package/dist/esm/IHandleParams.d.ts.map +1 -0
  127. package/dist/esm/IHandleParams.js +2 -0
  128. package/dist/esm/IHandleParams.js.map +1 -0
  129. package/dist/esm/IHandleProps.d.ts +4 -0
  130. package/dist/esm/IHandleProps.d.ts.map +1 -0
  131. package/dist/esm/IHandleProps.js +2 -0
  132. package/dist/esm/IHandleProps.js.map +1 -0
  133. package/dist/esm/IHandleQueryParams.d.ts +4 -0
  134. package/dist/esm/IHandleQueryParams.d.ts.map +1 -0
  135. package/dist/esm/IHandleQueryParams.js +2 -0
  136. package/dist/esm/IHandleQueryParams.js.map +1 -0
  137. package/dist/esm/IViewModelDetached.d.ts +4 -0
  138. package/dist/esm/IViewModelDetached.d.ts.map +1 -0
  139. package/dist/esm/IViewModelDetached.js +2 -0
  140. package/dist/esm/IViewModelDetached.js.map +1 -0
  141. package/dist/esm/MVVMContext.d.ts +9 -0
  142. package/dist/esm/MVVMContext.d.ts.map +1 -0
  143. package/dist/esm/MVVMContext.js +18 -0
  144. package/dist/esm/MVVMContext.js.map +1 -0
  145. package/dist/esm/MobxOptions.d.ts +12 -0
  146. package/dist/esm/MobxOptions.d.ts.map +1 -0
  147. package/dist/esm/MobxOptions.js +2 -0
  148. package/dist/esm/MobxOptions.js.map +1 -0
  149. package/dist/esm/WellKnownBindings.d.ts +6 -0
  150. package/dist/esm/WellKnownBindings.d.ts.map +1 -0
  151. package/dist/esm/WellKnownBindings.js +8 -0
  152. package/dist/esm/WellKnownBindings.js.map +1 -0
  153. package/dist/esm/browser/ILocalStorage.d.ts +9 -0
  154. package/dist/esm/browser/ILocalStorage.d.ts.map +1 -0
  155. package/dist/esm/browser/ILocalStorage.js +5 -0
  156. package/dist/esm/browser/ILocalStorage.js.map +1 -0
  157. package/dist/esm/browser/INavigation.d.ts +5 -0
  158. package/dist/esm/browser/INavigation.d.ts.map +1 -0
  159. package/dist/esm/browser/INavigation.js +5 -0
  160. package/dist/esm/browser/INavigation.js.map +1 -0
  161. package/dist/esm/browser/Navigation.d.ts +7 -0
  162. package/dist/esm/browser/Navigation.d.ts.map +1 -0
  163. package/dist/esm/browser/Navigation.js +23 -0
  164. package/dist/esm/browser/Navigation.js.map +1 -0
  165. package/dist/esm/browser/index.d.ts +4 -0
  166. package/dist/esm/browser/index.d.ts.map +1 -0
  167. package/dist/esm/browser/index.js +4 -0
  168. package/dist/esm/browser/index.js.map +1 -0
  169. package/dist/esm/dialogs/BusyIndicator.d.ts +7 -0
  170. package/dist/esm/dialogs/BusyIndicator.d.ts.map +1 -0
  171. package/dist/esm/dialogs/BusyIndicator.js +14 -0
  172. package/dist/esm/dialogs/BusyIndicator.js.map +1 -0
  173. package/dist/esm/dialogs/DialogMediator.d.ts +11 -0
  174. package/dist/esm/dialogs/DialogMediator.d.ts.map +1 -0
  175. package/dist/esm/dialogs/DialogMediator.js +13 -0
  176. package/dist/esm/dialogs/DialogMediator.js.map +1 -0
  177. package/dist/esm/dialogs/DialogMediatorHandler.d.ts +14 -0
  178. package/dist/esm/dialogs/DialogMediatorHandler.d.ts.map +1 -0
  179. package/dist/esm/dialogs/DialogMediatorHandler.js +44 -0
  180. package/dist/esm/dialogs/DialogMediatorHandler.js.map +1 -0
  181. package/dist/esm/dialogs/DialogRegistration.d.ts +8 -0
  182. package/dist/esm/dialogs/DialogRegistration.d.ts.map +1 -0
  183. package/dist/esm/dialogs/DialogRegistration.js +11 -0
  184. package/dist/esm/dialogs/DialogRegistration.js.map +1 -0
  185. package/dist/esm/dialogs/Dialogs.d.ts +13 -0
  186. package/dist/esm/dialogs/Dialogs.d.ts.map +1 -0
  187. package/dist/esm/dialogs/Dialogs.js +38 -0
  188. package/dist/esm/dialogs/Dialogs.js.map +1 -0
  189. package/dist/esm/dialogs/IDialogMediatorHandler.d.ts +10 -0
  190. package/dist/esm/dialogs/IDialogMediatorHandler.d.ts.map +1 -0
  191. package/dist/esm/dialogs/IDialogMediatorHandler.js +5 -0
  192. package/dist/esm/dialogs/IDialogMediatorHandler.js.map +1 -0
  193. package/dist/esm/dialogs/IDialogs.d.ts +9 -0
  194. package/dist/esm/dialogs/IDialogs.d.ts.map +1 -0
  195. package/dist/esm/dialogs/IDialogs.js +5 -0
  196. package/dist/esm/dialogs/IDialogs.js.map +1 -0
  197. package/dist/esm/dialogs/index.d.ts +10 -0
  198. package/dist/esm/dialogs/index.d.ts.map +1 -0
  199. package/dist/esm/dialogs/index.js +9 -0
  200. package/dist/esm/dialogs/index.js.map +1 -0
  201. package/dist/esm/dialogs/useDialog.d.ts +5 -0
  202. package/dist/esm/dialogs/useDialog.d.ts.map +1 -0
  203. package/dist/esm/dialogs/useDialog.js +21 -0
  204. package/dist/esm/dialogs/useDialog.js.map +1 -0
  205. package/dist/esm/index.d.ts +14 -0
  206. package/dist/esm/index.d.ts.map +1 -0
  207. package/dist/esm/index.js +12 -0
  208. package/dist/esm/index.js.map +1 -0
  209. package/dist/esm/messaging/IMessenger.d.ts +8 -0
  210. package/dist/esm/messaging/IMessenger.d.ts.map +1 -0
  211. package/dist/esm/messaging/IMessenger.js +5 -0
  212. package/dist/esm/messaging/IMessenger.js.map +1 -0
  213. package/dist/esm/messaging/Message.d.ts +7 -0
  214. package/dist/esm/messaging/Message.d.ts.map +1 -0
  215. package/dist/esm/messaging/Message.js +11 -0
  216. package/dist/esm/messaging/Message.js.map +1 -0
  217. package/dist/esm/messaging/Messenger.d.ts +9 -0
  218. package/dist/esm/messaging/Messenger.d.ts.map +1 -0
  219. package/dist/esm/messaging/Messenger.js +18 -0
  220. package/dist/esm/messaging/Messenger.js.map +1 -0
  221. package/dist/esm/messaging/index.d.ts +4 -0
  222. package/dist/esm/messaging/index.d.ts.map +1 -0
  223. package/dist/esm/messaging/index.js +4 -0
  224. package/dist/esm/messaging/index.js.map +1 -0
  225. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  226. package/dist/esm/withViewModel.d.ts +8 -0
  227. package/dist/esm/withViewModel.d.ts.map +1 -0
  228. package/dist/esm/withViewModel.js +123 -0
  229. package/dist/esm/withViewModel.js.map +1 -0
  230. package/global.d.ts +11 -0
  231. package/index.ts +21 -0
  232. package/messaging/IMessenger.ts +28 -0
  233. package/messaging/Message.ts +18 -0
  234. package/messaging/Messenger.ts +26 -0
  235. package/messaging/for_Messenger/when_publishing_message_with_subscriber.ts +27 -0
  236. package/messaging/index.ts +6 -0
  237. package/package.json +71 -0
  238. package/withViewModel.tsx +181 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bindings.js","sources":["../../Bindings.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { container } from 'tsyringe';\nimport { IMessenger, Messenger } from './messaging';\nimport { Constructor } from '@cratis/fundamentals';\nimport { ILocalStorage, INavigation, Navigation } from './browser';\nimport { IdentityProvider, IIdentityProvider } from '@cratis/arc/identity';\n\nexport class Bindings {\n static initialize() {\n container.registerSingleton(IMessenger as Constructor<IMessenger>, Messenger);\n container.registerSingleton(INavigation as Constructor<INavigation>, Navigation);\n container.registerSingleton(IIdentityProvider as Constructor<IIdentityProvider>, IdentityProvider);\n container.registerInstance(ILocalStorage as Constructor<ILocalStorage>, localStorage);\n }\n}\n\n"],"names":["container","IMessenger","Messenger","INavigation","Navigation","IIdentityProvider","IdentityProvider","ILocalStorage"],"mappings":";;;;;;;;;;MASa,QAAQ,CAAA;AACjB,IAAA,OAAO,UAAU,GAAA;AACb,QAAAA,kBAAS,CAAC,iBAAiB,CAACC,qBAAqC,EAAEC,mBAAS,CAAC;AAC7E,QAAAF,kBAAS,CAAC,iBAAiB,CAACG,uBAAuC,EAAEC,qBAAU,CAAC;AAChF,QAAAJ,kBAAS,CAAC,iBAAiB,CAACK,0BAAmD,EAAEC,yBAAgB,CAAC;AAClG,QAAAN,kBAAS,CAAC,gBAAgB,CAACO,2BAA2C,EAAE,YAAY,CAAC;IACzF;AACH;;;;"}
@@ -0,0 +1,4 @@
1
+ export interface IHandleParams<T = object> {
2
+ handleParams(params: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleParams.d.ts","sourceRoot":"","sources":["../../IHandleParams.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM;IAMrC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;CACjC"}
@@ -0,0 +1,4 @@
1
+ export interface IHandleProps<T = object> {
2
+ handleProps(props: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleProps.d.ts","sourceRoot":"","sources":["../../IHandleProps.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM;IAMpC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,4 @@
1
+ export interface IHandleQueryParams<T = object> {
2
+ handleQueryParams(queryParams: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleQueryParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleQueryParams.d.ts","sourceRoot":"","sources":["../../IHandleQueryParams.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,MAAM;IAM1C,iBAAiB,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;CAC3C"}
@@ -0,0 +1,4 @@
1
+ export interface IViewModelDetached {
2
+ detached(): void;
3
+ }
4
+ //# sourceMappingURL=IViewModelDetached.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IViewModelDetached.d.ts","sourceRoot":"","sources":["../../IViewModelDetached.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IAI/B,QAAQ,IAAI,IAAI,CAAC;CACpB"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { MobxOptions } from './MobxOptions';
3
+ export interface MVVMProps {
4
+ children?: JSX.Element | JSX.Element[];
5
+ mobx?: MobxOptions;
6
+ }
7
+ export declare const MVVMContext: React.Context<{}>;
8
+ export declare const MVVM: (props: MVVMProps) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=MVVMContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MVVMContext.d.ts","sourceRoot":"","sources":["../../MVVMContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,4CAWpC,CAAC"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var Bindings = require('./Bindings.js');
6
+ var mobx = require('mobx');
7
+
8
+ const MVVMContext = React.createContext({});
9
+ const MVVM = (props) => {
10
+ const options = {
11
+ ...{ enforceActions: 'never' },
12
+ ...(props.mobx || {}),
13
+ };
14
+ mobx.configure(options);
15
+ Bindings.Bindings.initialize();
16
+ return jsxRuntime.jsx(MVVMContext.Provider, { value: {}, children: props.children });
17
+ };
18
+
19
+ exports.MVVM = MVVM;
20
+ exports.MVVMContext = MVVMContext;
21
+ //# sourceMappingURL=MVVMContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MVVMContext.js","sources":["../../MVVMContext.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React from 'react';\nimport { Bindings } from './Bindings';\nimport { configure as configureMobx } from 'mobx';\nimport { MobxOptions } from './MobxOptions';\n\nexport interface MVVMProps {\n children?: JSX.Element | JSX.Element[];\n mobx?: MobxOptions;\n}\n\nexport const MVVMContext = React.createContext({});\n\nexport const MVVM = (props: MVVMProps) => {\n const options: MobxOptions = {\n ...{ enforceActions: 'never' },\n ...(props.mobx || {}),\n };\n\n configureMobx(options);\n\n Bindings.initialize();\n\n return <MVVMContext.Provider value={{}}>{props.children}</MVVMContext.Provider>;\n};\n"],"names":["configureMobx","Bindings","_jsx"],"mappings":";;;;;;;AAaO,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE;AAE1C,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,OAAO,GAAgB;AACzB,QAAA,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE;AAC9B,QAAA,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;KACxB;IAEDA,cAAa,CAAC,OAAO,CAAC;IAEtBC,iBAAQ,CAAC,UAAU,EAAE;AAErB,IAAA,OAAOC,cAAA,CAAC,WAAW,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,EAAA,QAAA,EAAG,KAAK,CAAC,QAAQ,GAAwB;AACnF;;;;;"}
@@ -0,0 +1,12 @@
1
+ export interface MobxOptions {
2
+ enforceActions?: "never" | "always" | "observed";
3
+ computedRequiresReaction?: boolean;
4
+ reactionRequiresObservable?: boolean;
5
+ observableRequiresReaction?: boolean;
6
+ isolateGlobalState?: boolean;
7
+ disableErrorBoundaries?: boolean;
8
+ safeDescriptors?: boolean;
9
+ reactionScheduler?: (f: () => void) => void;
10
+ useProxies?: "always" | "never" | "ifavailable";
11
+ }
12
+ //# sourceMappingURL=MobxOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobxOptions.d.ts","sourceRoot":"","sources":["../../MobxOptions.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IACxB,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAInC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAIrC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;CACnD"}
@@ -0,0 +1,6 @@
1
+ export declare const WellKnownBindings: {
2
+ queryParams: string;
3
+ params: string;
4
+ props: string;
5
+ };
6
+ //# sourceMappingURL=WellKnownBindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownBindings.d.ts","sourceRoot":"","sources":["../../WellKnownBindings.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const WellKnownBindings = {
4
+ queryParams: 'queryParams',
5
+ params: 'params',
6
+ props: 'props'
7
+ };
8
+
9
+ exports.WellKnownBindings = WellKnownBindings;
10
+ //# sourceMappingURL=WellKnownBindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownBindings.js","sources":["../../WellKnownBindings.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Well-known IoC binding constants.\n */\nexport const WellKnownBindings = {\n queryParams: 'queryParams',\n params: 'params',\n props: 'props'\n};\n"],"names":[],"mappings":";;AAMO,MAAM,iBAAiB,GAAG;AAC7B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE;;;;;"}
@@ -0,0 +1,9 @@
1
+ export declare abstract class ILocalStorage implements Storage {
2
+ abstract length: number;
3
+ abstract clear(): void;
4
+ abstract getItem(key: string): string | null;
5
+ abstract key(index: number): string | null;
6
+ abstract removeItem(key: string): void;
7
+ abstract setItem(key: string, value: string): void;
8
+ }
9
+ //# sourceMappingURL=ILocalStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocalStorage.d.ts","sourceRoot":"","sources":["../../../browser/ILocalStorage.ts"],"names":[],"mappings":"AAGA,8BAAsB,aAAc,YAAW,OAAO;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,IAAI,IAAI;IACtB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAC5C,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAC1C,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CACrD"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ class ILocalStorage {
4
+ }
5
+
6
+ exports.ILocalStorage = ILocalStorage;
7
+ //# sourceMappingURL=ILocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocalStorage.js","sources":["../../../browser/ILocalStorage.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nexport abstract class ILocalStorage implements Storage {\n abstract length: number;\n abstract clear(): void;\n abstract getItem(key: string): string | null;\n abstract key(index: number): string | null;\n abstract removeItem(key: string): void;\n abstract setItem(key: string, value: string): void;\n}\n"],"names":[],"mappings":";;MAGsB,aAAa,CAAA;AAOlC;;;;"}
@@ -0,0 +1,5 @@
1
+ export type UrlChangedCallback = (url: string, previousUrl: string) => void;
2
+ export declare abstract class INavigation {
3
+ abstract onUrlChanged(callback: UrlChangedCallback): void;
4
+ }
5
+ //# sourceMappingURL=INavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INavigation.d.ts","sourceRoot":"","sources":["../../../browser/INavigation.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5E,8BAAsB,WAAW;IAC7B,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAC5D"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ class INavigation {
4
+ }
5
+
6
+ exports.INavigation = INavigation;
7
+ //# sourceMappingURL=INavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INavigation.js","sources":["../../../browser/INavigation.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nexport type UrlChangedCallback = (url: string, previousUrl: string) => void;\n\nexport abstract class INavigation {\n abstract onUrlChanged(callback: UrlChangedCallback): void;\n}\n\n"],"names":[],"mappings":";;MAKsB,WAAW,CAAA;AAEhC;;;;"}
@@ -0,0 +1,7 @@
1
+ import { INavigation, UrlChangedCallback } from './INavigation';
2
+ export declare class Navigation implements INavigation {
3
+ private readonly _callbacks;
4
+ constructor();
5
+ onUrlChanged(callback: UrlChangedCallback): void;
6
+ }
7
+ //# sourceMappingURL=Navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../browser/Navigation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEhE,qBAAa,UAAW,YAAW,WAAW;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;;IAmBvD,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAGnD"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ class Navigation {
4
+ _callbacks = [];
5
+ constructor() {
6
+ const previousUrl = location.href;
7
+ const observer = new MutationObserver(() => {
8
+ if (location.href !== previousUrl) {
9
+ for (const callback of this._callbacks) {
10
+ callback(location.href, previousUrl);
11
+ }
12
+ }
13
+ });
14
+ observer.observe(document.body, {
15
+ childList: true,
16
+ subtree: true
17
+ });
18
+ }
19
+ onUrlChanged(callback) {
20
+ this._callbacks.push(callback);
21
+ }
22
+ }
23
+
24
+ exports.Navigation = Navigation;
25
+ //# sourceMappingURL=Navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigation.js","sources":["../../../browser/Navigation.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { INavigation, UrlChangedCallback } from './INavigation';\n\nexport class Navigation implements INavigation {\n private readonly _callbacks: UrlChangedCallback[] = [];\n\n constructor() {\n const previousUrl = location.href;\n const observer = new MutationObserver(() => {\n if (location.href !== previousUrl) {\n for( const callback of this._callbacks ) {\n callback(location.href, previousUrl);\n }\n }\n });\n observer.observe(document.body,\n {\n childList: true,\n subtree: true\n }\n );\n }\n\n onUrlChanged(callback: UrlChangedCallback): void {\n this._callbacks.push(callback);\n }\n}\n"],"names":[],"mappings":";;MAKa,UAAU,CAAA;IACF,UAAU,GAAyB,EAAE;AAEtD,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI;AACjC,QAAA,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAK;AACvC,YAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;AAC/B,gBAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAG;AACrC,oBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBACxC;YACJ;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAC1B;AACI,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE;AACZ,SAAA,CACJ;IACL;AAEA,IAAA,YAAY,CAAC,QAA4B,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClC;AACH;;;;"}
@@ -0,0 +1,4 @@
1
+ export * from './INavigation';
2
+ export * from './Navigation';
3
+ export * from './ILocalStorage';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../browser/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var INavigation = require('./INavigation.js');
4
+ var Navigation = require('./Navigation.js');
5
+ var ILocalStorage = require('./ILocalStorage.js');
6
+
7
+
8
+
9
+ exports.INavigation = INavigation.INavigation;
10
+ exports.Navigation = Navigation.Navigation;
11
+ exports.ILocalStorage = ILocalStorage.ILocalStorage;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import { CloseDialog } from '@cratis/arc.react/dialogs';
2
+ export declare class BusyIndicator {
3
+ private readonly _closeDialog;
4
+ constructor(_closeDialog: CloseDialog<void>);
5
+ close(): void;
6
+ }
7
+ //# sourceMappingURL=BusyIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BusyIndicator.d.ts","sourceRoot":"","sources":["../../../dialogs/BusyIndicator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,2BAA2B,CAAC;AAKtE,qBAAa,aAAa;IAMV,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC;IAM5D,KAAK;CAGR"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var dialogs = require('@cratis/arc.react/dialogs');
4
+
5
+ class BusyIndicator {
6
+ _closeDialog;
7
+ constructor(_closeDialog) {
8
+ this._closeDialog = _closeDialog;
9
+ }
10
+ close() {
11
+ this._closeDialog(dialogs.DialogResult.None);
12
+ }
13
+ }
14
+
15
+ exports.BusyIndicator = BusyIndicator;
16
+ //# sourceMappingURL=BusyIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BusyIndicator.js","sources":["../../../dialogs/BusyIndicator.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CloseDialog, DialogResult } from '@cratis/arc.react/dialogs';\n\n/**\n * Represents a busy indicator dialog.\n */\nexport class BusyIndicator {\n\n /**\n * Initializes a new instance of {@link BusyIndicator}.\n * @param {CloseDialog<void>} _closeDialog The dialog resolver to use for closing the dialog.\n */\n constructor(private readonly _closeDialog: CloseDialog<void>) {\n }\n\n /**\n * Close the busy indicator dialog.\n */\n close() {\n this._closeDialog(DialogResult.None);\n }\n}\n"],"names":["DialogResult"],"mappings":";;;;MAQa,aAAa,CAAA;AAMO,IAAA,YAAA;AAA7B,IAAA,WAAA,CAA6B,YAA+B,EAAA;QAA/B,IAAA,CAAA,YAAY,GAAZ,YAAY;IACzC;IAKA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAACA,oBAAY,CAAC,IAAI,CAAC;IACxC;AACH;;;;"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { IDialogMediatorHandler } from './IDialogMediatorHandler';
3
+ export declare const DialogMediatorContext: React.Context<IDialogMediatorHandler>;
4
+ export interface DialogMediatorProps {
5
+ children?: JSX.Element | JSX.Element[];
6
+ handler: IDialogMediatorHandler;
7
+ parentHandler?: IDialogMediatorHandler;
8
+ }
9
+ export declare const useDialogMediator: () => IDialogMediatorHandler;
10
+ export declare const DialogMediator: (props: DialogMediatorProps) => import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=DialogMediator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogMediator.d.ts","sourceRoot":"","sources":["../../../dialogs/DialogMediator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,eAAO,MAAM,qBAAqB,uCAA0D,CAAC;AAK7F,MAAM,WAAW,mBAAmB;IAIhC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAKvC,OAAO,EAAE,sBAAsB,CAAC;IAKhC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAMD,eAAO,MAAM,iBAAiB,8BAE7B,CAAC;AAOF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,4CAMxD,CAAC"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+
6
+ const DialogMediatorContext = React.createContext(undefined);
7
+ const useDialogMediator = () => {
8
+ return React.useContext(DialogMediatorContext);
9
+ };
10
+ const DialogMediator = (props) => {
11
+ return (jsxRuntime.jsx(DialogMediatorContext.Provider, { value: props.handler, children: props.children }));
12
+ };
13
+
14
+ exports.DialogMediator = DialogMediator;
15
+ exports.DialogMediatorContext = DialogMediatorContext;
16
+ exports.useDialogMediator = useDialogMediator;
17
+ //# sourceMappingURL=DialogMediator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogMediator.js","sources":["../../../dialogs/DialogMediator.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React from 'react';\nimport { IDialogMediatorHandler } from './IDialogMediatorHandler';\n\n/**\n * Context for the dialog mediator.\n */\nexport const DialogMediatorContext = React.createContext<IDialogMediatorHandler>(undefined!);\n\n/**\n * Props for the dialog mediator.\n */\nexport interface DialogMediatorProps {\n /**\n * Children to provide the dialog mediator to.\n */\n children?: JSX.Element | JSX.Element[];\n\n /**\n * The dialog mediator context.\n */\n handler: IDialogMediatorHandler;\n\n /**\n * Parent handler, if any.\n */\n parentHandler?: IDialogMediatorHandler;\n}\n\n/**\n * Use the dialog mediator.\n * @returns The dialog mediator.\n */\nexport const useDialogMediator = () => {\n return React.useContext(DialogMediatorContext);\n};\n\n/**\n * Provide the dialog mediator to the children.\n * @param {DialogMediatorProps} props Props for the dialog mediator.\n * @returns Provider for the dialog mediator.\n */\nexport const DialogMediator = (props: DialogMediatorProps) => {\n return (\n <DialogMediatorContext.Provider value={props.handler}>\n {props.children}\n </DialogMediatorContext.Provider>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;AASO,MAAM,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAyB,SAAU;AA0BpF,MAAM,iBAAiB,GAAG,MAAK;AAClC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC;AAClD;AAOO,MAAM,cAAc,GAAG,CAAC,KAA0B,KAAI;AACzD,IAAA,QACIA,cAAA,CAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAA,QAAA,EAC/C,KAAK,CAAC,QAAQ,EAAA,CACc;AAEzC;;;;;;"}
@@ -0,0 +1,14 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { CloseDialog, DialogResponse } from '@cratis/arc.react/dialogs';
3
+ import { IDialogMediatorHandler } from './IDialogMediatorHandler';
4
+ import { DialogRegistration, DialogRequest } from './DialogRegistration';
5
+ export declare class DialogMediatorHandler extends IDialogMediatorHandler {
6
+ readonly _parent: IDialogMediatorHandler | null;
7
+ private _registrations;
8
+ constructor(_parent?: IDialogMediatorHandler | null);
9
+ subscribe<TRequest extends object, TResponse>(requestType: Constructor<TRequest>, requester: DialogRequest<TRequest, TResponse>, closeDialog: CloseDialog<TResponse>): void;
10
+ hasSubscriber<TRequest extends object>(requestType: Constructor<TRequest>): boolean;
11
+ show<TRequest extends object, TResponse>(request: TRequest): Promise<DialogResponse<TResponse>>;
12
+ getRegistration<TRequest extends object, TResponse>(requestType: Constructor<TRequest>): DialogRegistration<TRequest, TResponse>;
13
+ }
14
+ //# sourceMappingURL=DialogMediatorHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogMediatorHandler.d.ts","sourceRoot":"","sources":["../../../dialogs/DialogMediatorHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKzE,qBAAa,qBAAsB,SAAQ,sBAAsB;IAOjD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAN3D,OAAO,CAAC,cAAc,CAA2E;gBAM5E,OAAO,GAAE,sBAAsB,GAAG,IAAW;IAKlE,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI;IAO3K,aAAa,CAAC,QAAQ,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO;IAKnF,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAoB/F,eAAe,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;CAWnI"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var IDialogMediatorHandler = require('./IDialogMediatorHandler.js');
4
+ var DialogRegistration = require('./DialogRegistration.js');
5
+
6
+ class DialogMediatorHandler extends IDialogMediatorHandler.IDialogMediatorHandler {
7
+ _parent;
8
+ _registrations = new WeakMap();
9
+ constructor(_parent = null) {
10
+ super();
11
+ this._parent = _parent;
12
+ }
13
+ subscribe(requestType, requester, closeDialog) {
14
+ this._registrations.set(requestType, new DialogRegistration.DialogRegistration(requester, closeDialog));
15
+ }
16
+ hasSubscriber(requestType) {
17
+ return this._registrations.has(requestType);
18
+ }
19
+ show(request) {
20
+ if (!this.hasSubscriber(request.constructor)) {
21
+ if (this._parent) {
22
+ return this._parent.show(request);
23
+ }
24
+ return Promise.reject('No registration found for request');
25
+ }
26
+ const promise = new Promise((resolve) => {
27
+ const registration = this._registrations.get(request.constructor);
28
+ registration.requester(request, (result, response) => {
29
+ resolve([result, response]);
30
+ });
31
+ });
32
+ return promise;
33
+ }
34
+ getRegistration(requestType) {
35
+ if (!this.hasSubscriber(requestType)) {
36
+ if (this._parent) {
37
+ return this._parent.getRegistration(requestType);
38
+ }
39
+ throw new Error('No registration found for request');
40
+ }
41
+ return this._registrations.get(requestType);
42
+ }
43
+ }
44
+
45
+ exports.DialogMediatorHandler = DialogMediatorHandler;
46
+ //# sourceMappingURL=DialogMediatorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogMediatorHandler.js","sources":["../../../dialogs/DialogMediatorHandler.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Constructor } from '@cratis/fundamentals';\nimport { CloseDialog, DialogResponse } from '@cratis/arc.react/dialogs';\nimport { IDialogMediatorHandler } from './IDialogMediatorHandler';\nimport { DialogRegistration, DialogRequest } from './DialogRegistration';\n\n/**\n * Represents an implementation of {@link IDialogMediatorHandler}\n */\nexport class DialogMediatorHandler extends IDialogMediatorHandler {\n private _registrations: WeakMap<Constructor, DialogRegistration<object, object>> = new WeakMap();\n\n /**\n * Initializes a new instance of {@link DialogMediatorHandler}\n * @param {IDialogMediatorHandler} _parent Optional parent handler.\n */\n constructor(readonly _parent: IDialogMediatorHandler | null = null) {\n super();\n }\n\n /** @inheritdoc */\n subscribe<TRequest extends object, TResponse>(requestType: Constructor<TRequest>, requester: DialogRequest<TRequest, TResponse>, closeDialog: CloseDialog<TResponse>): void {\n this._registrations.set(\n requestType,\n new DialogRegistration<TRequest, TResponse>(requester, closeDialog) as unknown as DialogRegistration<object, object>);\n }\n\n /** @inheritdoc */\n hasSubscriber<TRequest extends object>(requestType: Constructor<TRequest>): boolean {\n return this._registrations.has(requestType);\n }\n\n /** @inheritdoc */\n show<TRequest extends object, TResponse>(request: TRequest): Promise<DialogResponse<TResponse>> {\n if (!this.hasSubscriber(request.constructor as Constructor)) {\n if (this._parent) {\n return this._parent.show(request);\n }\n\n return Promise.reject('No registration found for request');\n }\n\n const promise = new Promise<DialogResponse<TResponse>>((resolve) => {\n const registration = this._registrations.get(request.constructor as Constructor)!;\n registration.requester(request, (result, response) => {\n resolve([result, response as TResponse]);\n });\n });\n\n return promise;\n }\n\n /** @inheritdoc */\n getRegistration<TRequest extends object, TResponse>(requestType: Constructor<TRequest>): DialogRegistration<TRequest, TResponse> {\n if (!this.hasSubscriber(requestType)) {\n if (this._parent) {\n return this._parent.getRegistration(requestType);\n }\n\n throw new Error('No registration found for request');\n }\n\n return this._registrations.get(requestType)! as unknown as DialogRegistration<TRequest, TResponse>;\n }\n}\n"],"names":["IDialogMediatorHandler","DialogRegistration"],"mappings":";;;;;AAWM,MAAO,qBAAsB,SAAQA,6CAAsB,CAAA;AAOxC,IAAA,OAAA;AANb,IAAA,cAAc,GAA6D,IAAI,OAAO,EAAE;AAMhG,IAAA,WAAA,CAAqB,UAAyC,IAAI,EAAA;AAC9D,QAAA,KAAK,EAAE;QADU,IAAA,CAAA,OAAO,GAAP,OAAO;IAE5B;AAGA,IAAA,SAAS,CAAqC,WAAkC,EAAE,SAA6C,EAAE,WAAmC,EAAA;AAChK,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,WAAW,EACX,IAAIC,qCAAkB,CAAsB,SAAS,EAAE,WAAW,CAAkD,CAAC;IAC7H;AAGA,IAAA,aAAa,CAA0B,WAAkC,EAAA;QACrE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;IAC/C;AAGA,IAAA,IAAI,CAAqC,OAAiB,EAAA;QACtD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAA0B,CAAC,EAAE;AACzD,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC;AAEA,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAAC;QAC9D;QAEA,MAAM,OAAO,GAAG,IAAI,OAAO,CAA4B,CAAC,OAAO,KAAI;AAC/D,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAA0B,CAAE;YACjF,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAI;AACjD,gBAAA,OAAO,CAAC,CAAC,MAAM,EAAE,QAAqB,CAAC,CAAC;AAC5C,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,OAAO;IAClB;AAGA,IAAA,eAAe,CAAqC,WAAkC,EAAA;QAClF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC;YACpD;AAEA,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;QACxD;QAEA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAwD;IACtG;AACH;;;;"}
@@ -0,0 +1,8 @@
1
+ import { CloseDialog } from '@cratis/arc.react/dialogs';
2
+ export type DialogRequest<TRequest extends object, TResponse> = (request: TRequest, closeDialog: CloseDialog<TResponse>) => void;
3
+ export declare class DialogRegistration<TRequest extends object, TResponse> {
4
+ readonly requester: DialogRequest<TRequest, TResponse>;
5
+ readonly resolver: CloseDialog<TResponse>;
6
+ constructor(requester: DialogRequest<TRequest, TResponse>, resolver: CloseDialog<TResponse>);
7
+ }
8
+ //# sourceMappingURL=DialogRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogRegistration.d.ts","sourceRoot":"","sources":["../../../dialogs/DialogRegistration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAKjI,qBAAa,kBAAkB,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS;IAQ1D,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;gBADhC,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,EAC7C,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC;CAEhD"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ class DialogRegistration {
4
+ requester;
5
+ resolver;
6
+ constructor(requester, resolver) {
7
+ this.requester = requester;
8
+ this.resolver = resolver;
9
+ }
10
+ }
11
+
12
+ exports.DialogRegistration = DialogRegistration;
13
+ //# sourceMappingURL=DialogRegistration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogRegistration.js","sources":["../../../dialogs/DialogRegistration.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CloseDialog } from '@cratis/arc.react/dialogs';\n\n/**\n * Represents the delegate for a dialog request.\n */\nexport type DialogRequest<TRequest extends object, TResponse> = (request: TRequest, closeDialog: CloseDialog<TResponse>) => void;\n\n/**\n * Represents the registration of a dialog.\n */\nexport class DialogRegistration<TRequest extends object, TResponse> {\n\n /**\n * Initializes a new instance of {@link DialogRegistration}.\n * @param requester The requester for the dialog.\n * @param resolver The resolver for the dialog.\n */\n constructor(\n readonly requester: DialogRequest<TRequest, TResponse>,\n readonly resolver: CloseDialog<TResponse>) {\n } \n}\n"],"names":[],"mappings":";;MAaa,kBAAkB,CAAA;AAQd,IAAA,SAAA;AACA,IAAA,QAAA;IAFb,WAAA,CACa,SAA6C,EAC7C,QAAgC,EAAA;QADhC,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACrB;AACH;;;;"}
@@ -0,0 +1,13 @@
1
+ import { DialogResponse, DialogResult, IDialogComponents } from '@cratis/arc.react/dialogs';
2
+ import { DialogButtons } from '@cratis/arc.react/dialogs/DialogButtons';
3
+ import { IDialogs } from './IDialogs';
4
+ import { BusyIndicator } from './BusyIndicator';
5
+ import { IDialogMediatorHandler } from './IDialogMediatorHandler';
6
+ export declare class Dialogs extends IDialogs {
7
+ private readonly _dialogMediatorHandler;
8
+ constructor(_dialogMediatorHandler: IDialogMediatorHandler, dialogComponents: IDialogComponents);
9
+ show<TRequest extends object, TResponse = object>(request: TRequest): Promise<DialogResponse<TResponse>>;
10
+ showConfirmation(title: string, message: string, buttons: DialogButtons): Promise<DialogResult>;
11
+ showBusyIndicator(title: string, message: string): BusyIndicator;
12
+ }
13
+ //# sourceMappingURL=Dialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialogs.d.ts","sourceRoot":"","sources":["../../../dialogs/Dialogs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAsE,MAAM,2BAA2B,CAAC;AAChK,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,qBAAa,OAAQ,SAAQ,QAAQ;IAM7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAAtB,sBAAsB,EAAE,sBAAsB,EAC/D,gBAAgB,EAAE,iBAAiB;IAqBvC,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAKlG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;CAMnE"}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var dialogs = require('@cratis/arc.react/dialogs');
4
+ var IDialogs = require('./IDialogs.js');
5
+ var BusyIndicator = require('./BusyIndicator.js');
6
+
7
+ class Dialogs extends IDialogs.IDialogs {
8
+ _dialogMediatorHandler;
9
+ constructor(_dialogMediatorHandler, dialogComponents) {
10
+ super();
11
+ this._dialogMediatorHandler = _dialogMediatorHandler;
12
+ _dialogMediatorHandler.subscribe(dialogs.ConfirmationDialogRequest, async (request, resolver) => {
13
+ const [result] = await dialogComponents.showConfirmation(request);
14
+ resolver(result);
15
+ }, () => { });
16
+ let busyIndicatorResolver = undefined;
17
+ _dialogMediatorHandler.subscribe(dialogs.BusyIndicatorDialogRequest, (request, resolver) => {
18
+ busyIndicatorResolver = resolver;
19
+ return dialogComponents.showBusyIndicator(request);
20
+ }, () => {
21
+ busyIndicatorResolver?.(dialogs.DialogResult.Cancelled, undefined);
22
+ });
23
+ }
24
+ show(request) {
25
+ return this._dialogMediatorHandler.show(request);
26
+ }
27
+ async showConfirmation(title, message, buttons) {
28
+ const [result] = await this.show(new dialogs.ConfirmationDialogRequest(title, message, buttons));
29
+ return result;
30
+ }
31
+ showBusyIndicator(title, message) {
32
+ this.show(new dialogs.BusyIndicatorDialogRequest(title, message));
33
+ const registration = this._dialogMediatorHandler.getRegistration(dialogs.BusyIndicatorDialogRequest);
34
+ const busyIndicator = new BusyIndicator.BusyIndicator(registration.resolver);
35
+ return busyIndicator;
36
+ }
37
+ }
38
+
39
+ exports.Dialogs = Dialogs;
40
+ //# sourceMappingURL=Dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialogs.js","sources":["../../../dialogs/Dialogs.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { DialogResponse, DialogResult, IDialogComponents, ConfirmationDialogRequest, BusyIndicatorDialogRequest, CloseDialog } from '@cratis/arc.react/dialogs';\nimport { DialogButtons } from '@cratis/arc.react/dialogs/DialogButtons';\nimport { IDialogs } from './IDialogs';\nimport { BusyIndicator } from './BusyIndicator';\nimport { IDialogMediatorHandler } from './IDialogMediatorHandler';\n\n/**\n * Represents an implementation of {@link IDialogs}.\n */\nexport class Dialogs extends IDialogs {\n\n /**\n * Initializes a new instance of the {@link Dialogs} class.\n */\n constructor(\n private readonly _dialogMediatorHandler: IDialogMediatorHandler,\n dialogComponents: IDialogComponents) {\n super();\n\n /* eslint-disable @typescript-eslint/no-empty-function */\n _dialogMediatorHandler.subscribe(ConfirmationDialogRequest, async (request, resolver) => {\n const [result] = await dialogComponents.showConfirmation(request as ConfirmationDialogRequest);\n resolver(result);\n }, () => { });\n /* eslint-enable @typescript-eslint/no-empty-function */\n\n let busyIndicatorResolver: CloseDialog<void> | undefined = undefined;\n\n _dialogMediatorHandler.subscribe(BusyIndicatorDialogRequest, (request, resolver) => {\n busyIndicatorResolver = resolver;\n return dialogComponents.showBusyIndicator(request as BusyIndicatorDialogRequest);\n }, () => { \n busyIndicatorResolver?.(DialogResult.Cancelled, undefined);\n });\n }\n\n /** @inheritdoc */\n show<TRequest extends object, TResponse = object>(request: TRequest): Promise<DialogResponse<TResponse>> {\n return this._dialogMediatorHandler.show<TRequest, TResponse>(request);\n }\n\n /** @inheritdoc */\n async showConfirmation(title: string, message: string, buttons: DialogButtons): Promise<DialogResult> {\n const [result] = await this.show<ConfirmationDialogRequest>(new ConfirmationDialogRequest(title, message, buttons));\n return result;\n }\n\n /** @inheritdoc */\n showBusyIndicator(title: string, message: string): BusyIndicator {\n this.show<BusyIndicatorDialogRequest, void>(new BusyIndicatorDialogRequest(title, message));\n const registration = this._dialogMediatorHandler.getRegistration<BusyIndicatorDialogRequest, void>(BusyIndicatorDialogRequest);\n const busyIndicator = new BusyIndicator(registration.resolver);\n return busyIndicator;\n }\n}\n"],"names":["IDialogs","ConfirmationDialogRequest","BusyIndicatorDialogRequest","DialogResult","BusyIndicator"],"mappings":";;;;;;AAYM,MAAO,OAAQ,SAAQA,iBAAQ,CAAA;AAMZ,IAAA,sBAAA;IADrB,WAAA,CACqB,sBAA8C,EAC/D,gBAAmC,EAAA;AACnC,QAAA,KAAK,EAAE;QAFU,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QAKvC,sBAAsB,CAAC,SAAS,CAACC,iCAAyB,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAI;YACpF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,OAAoC,CAAC;YAC9F,QAAQ,CAAC,MAAM,CAAC;AACpB,QAAA,CAAC,EAAE,MAAK,EAAG,CAAC,CAAC;QAGb,IAAI,qBAAqB,GAAkC,SAAS;QAEpE,sBAAsB,CAAC,SAAS,CAACC,kCAA0B,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAI;YAC/E,qBAAqB,GAAG,QAAQ;AAChC,YAAA,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,OAAqC,CAAC;QACpF,CAAC,EAAE,MAAK;YACJ,qBAAqB,GAAGC,oBAAY,CAAC,SAAS,EAAE,SAAS,CAAC;AAC9D,QAAA,CAAC,CAAC;IACN;AAGA,IAAA,IAAI,CAA8C,OAAiB,EAAA;QAC/D,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAsB,OAAO,CAAC;IACzE;AAGA,IAAA,MAAM,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,OAAsB,EAAA;AACzE,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAA4B,IAAIF,iCAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnH,QAAA,OAAO,MAAM;IACjB;IAGA,iBAAiB,CAAC,KAAa,EAAE,OAAe,EAAA;QAC5C,IAAI,CAAC,IAAI,CAAmC,IAAIC,kCAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAmCA,kCAA0B,CAAC;QAC9H,MAAM,aAAa,GAAG,IAAIE,2BAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC9D,QAAA,OAAO,aAAa;IACxB;AACH;;;;"}
@@ -0,0 +1,10 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { CloseDialog, DialogResponse } from '@cratis/arc.react/dialogs';
3
+ import { DialogRegistration, DialogRequest } from './DialogRegistration';
4
+ export declare abstract class IDialogMediatorHandler {
5
+ abstract subscribe<TRequest extends object, TResponse>(requestType: Constructor<TRequest>, requester: DialogRequest<TRequest, TResponse>, closeDialog: CloseDialog<TResponse>): void;
6
+ abstract hasSubscriber<TRequest extends object>(requestType: Constructor<TRequest>): boolean;
7
+ abstract show<TRequest extends object, TResponse>(request: TRequest): Promise<DialogResponse<TResponse>>;
8
+ abstract getRegistration<TRequest extends object, TResponse>(requestType: Constructor<TRequest>): DialogRegistration<TRequest, TResponse>;
9
+ }
10
+ //# sourceMappingURL=IDialogMediatorHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDialogMediatorHandler.d.ts","sourceRoot":"","sources":["../../../dialogs/IDialogMediatorHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKzE,8BAAsB,sBAAsB;IAQxC,QAAQ,CAAC,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI;IAOpL,QAAQ,CAAC,aAAa,CAAC,QAAQ,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO;IAM5F,QAAQ,CAAC,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAOxG,QAAQ,CAAC,eAAe,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC5I"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ class IDialogMediatorHandler {
4
+ }
5
+
6
+ exports.IDialogMediatorHandler = IDialogMediatorHandler;
7
+ //# sourceMappingURL=IDialogMediatorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDialogMediatorHandler.js","sources":["../../../dialogs/IDialogMediatorHandler.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Constructor } from '@cratis/fundamentals';\nimport { CloseDialog, DialogResponse } from '@cratis/arc.react/dialogs';\nimport { DialogRegistration, DialogRequest } from './DialogRegistration';\n\n/**\n * Defines a system that can handle dialog requests and responses.\n */\nexport abstract class IDialogMediatorHandler {\n\n /**\n * Subscribes to a request type.\n * @param {Constructor} requestType Type of request.\n * @param {DialogRequest} requester The delegate that will be called when a request is made.\n * @param {CloseDialog} closeDialog The delegate that will be called when dialog is typically closed and response is resolved.\n */\n abstract subscribe<TRequest extends object, TResponse>(requestType: Constructor<TRequest>, requester: DialogRequest<TRequest, TResponse>, closeDialog: CloseDialog<TResponse>): void;\n\n /**\n * Check if there is a subscriber for a given request type.\n * @param {Constructor} requestType Type of request.\n * @returns {boolean} True if there is a subscriber, false otherwise.\n */\n abstract hasSubscriber<TRequest extends object>(requestType: Constructor<TRequest>): boolean;\n\n /**\n * Show a dialog based on a request.\n * @param {*} request An instance of the dialog request.\n */\n abstract show<TRequest extends object, TResponse>(request: TRequest): Promise<DialogResponse<TResponse>>;\n\n /**\n * Get the registration for a given request type.\n * @param {Constructor} requestType Type of request.\n * @returns {DialogRegistration} The registration for the request type.\n */\n abstract getRegistration<TRequest extends object, TResponse>(requestType: Constructor<TRequest>): DialogRegistration<TRequest, TResponse>;\n}\n"],"names":[],"mappings":";;MAUsB,sBAAsB,CAAA;AA6B3C;;;;"}
@@ -0,0 +1,9 @@
1
+ import { DialogResponse, DialogResult } from '@cratis/arc.react/dialogs';
2
+ import { DialogButtons } from '@cratis/arc.react/dialogs/DialogButtons';
3
+ import { BusyIndicator } from './BusyIndicator';
4
+ export declare abstract class IDialogs {
5
+ abstract show<TRequest extends object, TResponse = object>(input: TRequest): Promise<DialogResponse<TResponse>>;
6
+ abstract showConfirmation(title: string, message: string, buttons: DialogButtons): Promise<DialogResult>;
7
+ abstract showBusyIndicator(title: string, message: string): BusyIndicator;
8
+ }
9
+ //# sourceMappingURL=IDialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDialogs.d.ts","sourceRoot":"","sources":["../../../dialogs/IDialogs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,8BAAsB,QAAQ;IAM1B,QAAQ,CAAC,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAS/G,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAQxG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;CAC5E"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ class IDialogs {
4
+ }
5
+
6
+ exports.IDialogs = IDialogs;
7
+ //# sourceMappingURL=IDialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDialogs.js","sources":["../../../dialogs/IDialogs.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { DialogResponse, DialogResult } from '@cratis/arc.react/dialogs';\nimport { DialogButtons } from '@cratis/arc.react/dialogs/DialogButtons';\nimport { BusyIndicator } from './BusyIndicator';\n\n/**\n * Defines a service for working with dialogs from a view model.\n */\nexport abstract class IDialogs {\n /**\n * Show a dialog in the context of the current view and view model. This requires the view to host the dialog.\n * @param {*} input The input to pass to the dialog.\n * @returns {Promise<*>} The output from the dialog.\n */\n abstract show<TRequest extends object, TResponse = object>(input: TRequest): Promise<DialogResponse<TResponse>>;\n\n /**\n * Show a standard confirmation dialog.\n * @param {String} title Title of the dialog.\n * @param {String} message Message to show inside the dialog.\n * @param {DialogButtons} buttons Buttons to have on the dialog\n * @returns {Promise<DialogResult>} The result of the dialog.\n */\n abstract showConfirmation(title: string, message: string, buttons: DialogButtons): Promise<DialogResult>;\n\n /**\n * Show a standard busy indicator dialog.\n * @param {String} title Title of the dialog.\n * @param {String} message Message to show inside the dialog.\n * @returns {BusyIndicator} The busy indicator instance.\n */\n abstract showBusyIndicator(title: string, message: string): BusyIndicator;\n}\n\n\n"],"names":[],"mappings":";;MAUsB,QAAQ,CAAA;AAwB7B;;;;"}
@@ -0,0 +1,10 @@
1
+ export * from './BusyIndicator';
2
+ export * from './DialogMediator';
3
+ export * from './DialogMediatorHandler';
4
+ export * from './DialogRegistration';
5
+ export * from './Dialogs';
6
+ export * from './IDialogMediatorHandler';
7
+ export * from './IDialogs';
8
+ export * from './Dialogs';
9
+ export * from './useDialog';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../dialogs/index.ts"],"names":[],"mappings":"AAGA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}